diff options
author | Fabio Berger <me@fabioberger.com> | 2018-10-11 20:25:47 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-10-11 20:25:47 +0800 |
commit | 295a8c760a6d5b567a12d6a2d83ae73021ea343c (patch) | |
tree | faf6810a6b5b810869e36c20641fd4fe25e03ddb /packages/dev-tools-pages/webpack.config.js | |
parent | 9b147f14955c5f6a0b38e03ae30ac13b1be183d1 (diff) | |
parent | 1cfcc82ea9869e14c1a1b78e1376c89fdbeb91f4 (diff) | |
download | dexon-sol-tools-295a8c760a6d5b567a12d6a2d83ae73021ea343c.tar dexon-sol-tools-295a8c760a6d5b567a12d6a2d83ae73021ea343c.tar.gz dexon-sol-tools-295a8c760a6d5b567a12d6a2d83ae73021ea343c.tar.bz2 dexon-sol-tools-295a8c760a6d5b567a12d6a2d83ae73021ea343c.tar.lz dexon-sol-tools-295a8c760a6d5b567a12d6a2d83ae73021ea343c.tar.xz dexon-sol-tools-295a8c760a6d5b567a12d6a2d83ae73021ea343c.tar.zst dexon-sol-tools-295a8c760a6d5b567a12d6a2d83ae73021ea343c.zip |
merge dev-section-redesign
Diffstat (limited to 'packages/dev-tools-pages/webpack.config.js')
-rw-r--r-- | packages/dev-tools-pages/webpack.config.js | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/packages/dev-tools-pages/webpack.config.js b/packages/dev-tools-pages/webpack.config.js new file mode 100644 index 000000000..6dfcf74e7 --- /dev/null +++ b/packages/dev-tools-pages/webpack.config.js @@ -0,0 +1,86 @@ +const path = require('path'); +const webpack = require('webpack'); +const TerserPlugin = require('terser-webpack-plugin'); +const childProcess = require('child_process'); + +const config = { + entry: ['./ts/index.tsx'], + output: { + path: path.join(__dirname, '/public'), + filename: 'bundle.js', + chunkFilename: 'bundle-[name].js', + publicPath: '/', + }, + devtool: 'source-map', + resolve: { + modules: [path.join(__dirname, '/ts'), 'node_modules'], + extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], + alias: { + ts: path.join(__dirname, '/ts'), + less: path.join(__dirname, '/less'), + }, + }, + module: { + rules: [ + { + test: /\.js$/, + loader: 'source-map-loader', + exclude: [ + // instead of /\/node_modules\// + path.join(process.cwd(), 'node_modules'), + path.join(process.cwd(), '../..', 'node_modules'), + ], + }, + { + test: /\.tsx?$/, + loader: 'awesome-typescript-loader', + }, + { + test: /\.md$/, + use: 'raw-loader', + }, + { + test: /\.less$/, + loader: 'style-loader!css-loader!less-loader', + exclude: /node_modules/, + }, + { + test: /\.css$/, + loaders: ['style-loader', 'css-loader'], + }, + ], + }, + optimization: { + minimizer: [ + new TerserPlugin({ + sourceMap: true, + }), + ], + }, + devServer: { + port: 3572, + disableHostCheck: true, + }, +}; + +module.exports = (_env, argv) => { + let plugins = []; + if (argv.mode === 'development') { + config.mode = 'development'; + } else { + config.mode = 'production'; + plugins = plugins.concat([ + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify(process.env.NODE_ENV), + }, + }), + ]); + } + console.log('i 「atl」: Mode: ', config.mode); + + config.plugins = plugins; + console.log('i 「atl」: Plugin Count: ', config.plugins.length); + + return config; +}; |