Skip to content

Commit da28c3a

Browse files
committed
migrate to terser-webpack-plugin
1 parent 051d581 commit da28c3a

File tree

3 files changed

+244
-53
lines changed

3 files changed

+244
-53
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,12 @@
111111
"sinon": "^7.5.0",
112112
"sinon-chai": "^3.3.0",
113113
"source-map-support": "^0.5.13",
114+
"terser-webpack-plugin": "^2.3.4",
114115
"ts-loader": "^6.2.1",
115116
"ts-node": "^8.4.1",
116117
"tslint": "^5.20.0",
117118
"tslint-config-prettier": "^1.18.0",
118119
"typescript": "^3.6.4",
119-
"uglifyjs-webpack-plugin": "^2.2.0",
120120
"webpack": "^4.41.2",
121121
"webpack-cli": "^3.3.9",
122122
"webpack-dev-server": "^3.9.0"

webpack.config.js

Lines changed: 21 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
const webpack = require("webpack");
22
const path = require("path");
3-
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
3+
const TerserPlugin = require("terser-webpack-plugin");
44

55
module.exports = env => {
6-
76
if (!env) env = { production: false, karma: false };
87

98
let mode = env.production ? "production" : "development";
109
let tsconfig = !env.karma ? "tsconfig.json" : "tsconfig.test.json";
1110
let output = env.production ? "dist" : "dist-test";
12-
let filename = env.karma ? "[name].[hash].js" : (env.production ? "robotlegs-signalcommandmap.min.js" : "robotlegs-signalcommandmap.js");
11+
let filename = env.karma ? "[name].[hash].js" : env.production ? "robotlegs-signalcommandmap.min.js" : "robotlegs-signalcommandmap.js";
1312

1413
return {
1514
mode: mode,
@@ -35,9 +34,7 @@ module.exports = env => {
3534
loader: "ts-loader?configFile=" + tsconfig
3635
},
3736
{
38-
test: ((env.production) /* disable this loader for production builds */
39-
? /^$/
40-
: /^.*(src).*\.ts$/),
37+
test: env.production /* disable this loader for production builds */ ? /^$/ : /^.*(src).*\.ts$/,
4138
loader: "istanbul-instrumenter-loader",
4239
query: {
4340
embedSource: true
@@ -47,34 +44,27 @@ module.exports = env => {
4744
]
4845
},
4946

50-
plugins: (
51-
(env.production)
52-
? []
53-
: [ new webpack.SourceMapDevToolPlugin({ test: /\.ts$/i }) ]
54-
),
47+
plugins: env.production ? [] : [new webpack.SourceMapDevToolPlugin({ test: /\.ts$/i })],
5548

56-
optimization:
57-
(env.production)
58-
? {
59-
concatenateModules: true,
60-
minimize: true,
61-
minimizer: [
62-
new UglifyJsPlugin({
63-
cache: true,
64-
parallel: 4,
65-
uglifyOptions: {
66-
output: {
67-
comments: false
68-
}
49+
optimization: env.production
50+
? {
51+
concatenateModules: true,
52+
minimize: true,
53+
minimizer: [
54+
new TerserPlugin({
55+
cache: true,
56+
parallel: 4,
57+
terserOptions: {
58+
output: {
59+
comments: false
6960
}
70-
})
71-
]
72-
}
73-
: {}
74-
,
75-
61+
}
62+
})
63+
]
64+
}
65+
: {},
7666
resolve: {
7767
extensions: [".ts", ".js", ".json"]
7868
}
79-
}
69+
};
8070
};

0 commit comments

Comments
 (0)