-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathwebpack.config.js
46 lines (43 loc) · 1.2 KB
/
webpack.config.js
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
const path = require('path');
const {CleanWebpackPlugin} = require('clean-webpack-plugin');
// const WebpackBundleAnalyzer = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const config = {
target: 'web',
entry: {
index: './index.js',
},
experiments: {topLevelAwait: true},
output: {
path: path.resolve(__dirname, './dist'),
filename: 'index.js',
library: 'SqlToMongo',
libraryTarget: 'umd',
globalObject: 'this || window',
umdNamedDefine: true,
},
watchOptions: {
aggregateTimeout: 600,
ignored: /node_modules/,
},
plugins: [
new CleanWebpackPlugin({
cleanStaleWebpackAssets: false,
cleanOnceBeforeBuildPatterns: [path.resolve(__dirname, './dist')],
}),
// new WebpackBundleAnalyzer(),
],
resolve: {
extensions: ['.js'],
fallback: {crypto: false},
},
};
module.exports = (env, argv) => {
if (argv.mode === 'development') {
// * add some development rules here
} else if (argv.mode === 'production') {
// * add some prod rules here
} else {
throw new Error('Specify env');
}
return config;
};