-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathwebpack.prod.js
More file actions
37 lines (36 loc) · 1.12 KB
/
Copy pathwebpack.prod.js
File metadata and controls
37 lines (36 loc) · 1.12 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
const path = require('path');
const { merge } = require('webpack-merge');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const TerserPlugin = require('terser-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const common = require('./webpack.common');
module.exports = merge(common, {
mode: 'production',
plugins: [
new MiniCssExtractPlugin({
filename: '[name].css',
chunkFilename: '[id].css',
}),
// The vanilla flavor is opt-in: its stylesheet is not injected by the JS
// bundle, so ship it as a standalone file consumers can <link> if they want
// the minimal look.
new CopyWebpackPlugin({
patterns: [
{
from: path.resolve(__dirname, 'src/view/vanilla/vanilla.css'),
to: 'rdforms.vanilla.css',
},
],
}),
],
optimization: {
minimizer: [
// only minimize browser bundle files
new TerserPlugin({
test: /rdforms\.(?!node\.).+\.js(\?.*)?$/i,
}),
new OptimizeCSSAssetsPlugin({}),
],
},
});