Repository navigation
Expand file tree
/
Copy pathwebpack.prod.js
More file actions
49 lines (48 loc) · 1.75 KB
/
Copy pathwebpack.prod.js
File metadata and controls
49 lines (48 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const path = require('path');
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
const nodeExternals = require('webpack-node-externals');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = merge(common, {
entry: {
// Barrel file (all components)
'components/index': './src/components/index.js',
// Partial exports (individual components)
'components/login': './src/components/login',
'components/login-passwordless': './src/components/login-passwordless',
'components/registration-modal': './src/components/registration-modal',
'components/registration-form': './src/components/registration-form',
// Utils
'utils/constants': './src/utils/constants',
// Main entry (backward compat)
'index': './src/components/registration-modal',
},
plugins: [
new CleanWebpackPlugin(),
new MiniCssExtractPlugin({
filename: './[name].css',
}),
],
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist'),
library: 'summit-registration-lite',
libraryTarget: 'umd',
umdNamedDefine: true,
publicPath: '/dist/',
globalObject: 'this'
},
mode: 'production',
devtool: 'source-map',
optimization: {
// minimizer: [
// new TerserJSPlugin({sourceMap: true, parallel: true}),
// new OptimizeCSSAssetsPlugin({})
// ]
minimize: false
},
externals: [nodeExternals({
allowlist: ['react-transition-group']
})]
});