diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-11-13 16:50:48 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-11-13 16:50:48 +0100 |
| commit | 85a5eedb6042ffb02336a75deba3cd6b5470139e (patch) | |
| tree | 7ac4534dbeb62b887407a673045a7b98e26cde06 /animism-align/webpack.config.site.js | |
| parent | 335c7a32380420166c6754883b103f53e49ad692 (diff) | |
site export config
Diffstat (limited to 'animism-align/webpack.config.site.js')
| -rw-r--r-- | animism-align/webpack.config.site.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/animism-align/webpack.config.site.js b/animism-align/webpack.config.site.js new file mode 100644 index 0000000..35ce715 --- /dev/null +++ b/animism-align/webpack.config.site.js @@ -0,0 +1,67 @@ +require('dotenv').config() + +const webpack = require('webpack') +const path = require('path') +const TerserPlugin = require('terser-webpack-plugin') + +module.exports = { + mode: "production", + entry: { + main: './frontend/site/index.js' + }, + output: { + path: path.resolve(__dirname, 'static/js/dist'), + filename: 'bundle.js' + }, + plugins: [ + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify("production"), + // 'process.env.S3_HOST': JSON.stringify(process.env.S3_HOST || ""), + // 'process.env.API_HOST': JSON.stringify(process.env.API_HOST || ""), + '__REACT_DEVTOOLS_GLOBAL_HOOK__': '({ isDisabled: true })' + }), + new TerserPlugin(), + new webpack.optimize.AggressiveMergingPlugin(), + // new Visualizer({ + // filename: './statistics.html' + // }) + ], + optimization: { + minimize: true, + minimizer: [new TerserPlugin({ + terserOptions: { + compress: { + // drop_console: true, + } + } + })], + }, + resolve: { + alias: { + // "react": "preact/compat", + // "react-dom/test-utils": "preact/test-utils", + // "react-dom": "preact/compat", + } + }, + devtool: 'cheap-module-source-map', + module: { + rules: [ + { + test: /\.css$/, + use: ['style-loader', 'css-loader'] + }, + { + test: /\.js$/, + // include: path.resolve(__dirname, 'client'), + exclude: /(node_modules|bower_components|build)/, + loader: 'babel-loader', + options: { + presets: ['@babel/preset-react'], + plugins: [ + "@babel/plugin-transform-runtime", + ], + } + } + ] + }, +}; |
