mirror of https://github.com/elisescu/tty-share
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.9 KiB
JavaScript
73 lines
1.9 KiB
JavaScript
const webpack = require("webpack");
|
|
const copyWebpackPlugin = require('copy-webpack-plugin')
|
|
|
|
const develBuild = process.env.TTY_SHARE_ENV === 'development';
|
|
|
|
let mainConfig = {
|
|
entry: {
|
|
'tty-receiver': './tty-receiver/main.js',
|
|
},
|
|
output: {
|
|
path: __dirname + '/public/',
|
|
filename: '[name].js',
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test:/\.(js|jsx)$/,
|
|
use: [{
|
|
loader: 'babel-loader',
|
|
options: {
|
|
babelrc: false,
|
|
presets: ['env', 'react'],
|
|
},
|
|
}],
|
|
},
|
|
{
|
|
test: /\.(tsx|ts)?$/,
|
|
use: ['awesome-typescript-loader']
|
|
},
|
|
{
|
|
test: /node_modules.+xterm.+\.map$/,
|
|
use: ['ignore-loader']
|
|
},
|
|
{
|
|
test: /\.scss$/,
|
|
use: ['style-loader', 'css-loader', 'sass-loader']
|
|
},
|
|
{
|
|
test: /\.css$/,
|
|
use: ['style-loader', 'css-loader']
|
|
},
|
|
{
|
|
test: /\.woff($|\?)|\.woff2($|\?)|\.ttf($|\?)|\.eot($|\?)/,
|
|
use: ['url-loader']
|
|
},
|
|
{
|
|
test: /\.(jpe?g|png|gif|svg)$/i,
|
|
use: ['url-loader', 'image-webpack-loader']
|
|
},
|
|
{
|
|
test: /\.js\.map$/,
|
|
use: ['source-map-loader']
|
|
}
|
|
]
|
|
},
|
|
plugins: [
|
|
new copyWebpackPlugin([
|
|
'static',
|
|
'templates',
|
|
], {
|
|
debug: 'info',
|
|
}),
|
|
],
|
|
};
|
|
|
|
if (develBuild) {
|
|
mainConfig.devtool = 'inline-source-map';
|
|
} else {
|
|
mainConfig.plugins.push(new webpack.optimize.UglifyJsPlugin( { minimize: true }));
|
|
}
|
|
|
|
module.exports = mainConfig;
|