diff options
Diffstat (limited to 'webpack.config.js')
| -rw-r--r-- | webpack.config.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..081a2a1 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,48 @@ +const webpack = require('webpack'); +const path = require('path'); + +const isProduction = process.env.NODE_ENV === 'production'; +const isMock = process.env.NODE_ENV === 'mock'; + +const config = { + entry: { + 'cockpit': './src/cockpit.js', + 'mass-graduation': './src/mass-graduation.js', + 'admin-tools': './src/admin-tools.js', + }, + output: { + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /\.png/, + type: 'asset/inline', + }, + ], + }, + plugins: [ + new webpack.NormalModuleReplacementPlugin( + /-ENV.js/, + (resource) => { + resource.request = resource.request.replace( + /-ENV/, + `-${isMock ? "mock" : "prod"}`, + ); + + if (resource.createData) { + resource.createData.request = resource.request; + } + } + ) + ], +}; + +module.exports = () => { + if (isProduction) { + config.mode = 'production'; + } else { + config.mode = 'development'; + } + return config; +}; |
