diff --git a/packages/@vue/cli-service/lib/config/prod.js b/packages/@vue/cli-service/lib/config/prod.js index 4b6f335909..4ce77efa9e 100644 --- a/packages/@vue/cli-service/lib/config/prod.js +++ b/packages/@vue/cli-service/lib/config/prod.js @@ -26,10 +26,10 @@ module.exports = (api, options) => { if (process.env.VUE_CLI_TEST) { webpackConfig.optimization.minimize(false) } else { - const UglifyPlugin = require('uglifyjs-webpack-plugin') - const uglifyOptions = require('./uglifyOptions') + const TerserPlugin = require('terser-webpack-plugin') + const terserOptions = require('./terserOptions') webpackConfig.optimization.minimizer([ - new UglifyPlugin(uglifyOptions(options)) + new TerserPlugin(terserOptions(options)) ]) } } diff --git a/packages/@vue/cli-service/lib/config/uglifyOptions.js b/packages/@vue/cli-service/lib/config/terserOptions.js similarity index 98% rename from packages/@vue/cli-service/lib/config/uglifyOptions.js rename to packages/@vue/cli-service/lib/config/terserOptions.js index 2bc7e4f6d4..b8489b7560 100644 --- a/packages/@vue/cli-service/lib/config/uglifyOptions.js +++ b/packages/@vue/cli-service/lib/config/terserOptions.js @@ -1,5 +1,5 @@ module.exports = options => ({ - uglifyOptions: { + terserOptions: { compress: { // turn off flags with small gains to speed up minification arrows: false, diff --git a/packages/@vue/cli-service/package.json b/packages/@vue/cli-service/package.json index 6b67e279dc..c1793b3d67 100644 --- a/packages/@vue/cli-service/package.json +++ b/packages/@vue/cli-service/package.json @@ -60,8 +60,8 @@ "source-map-url": "^0.4.0", "ssri": "^6.0.0", "string.prototype.padend": "^3.0.0", + "terser-webpack-plugin": "^1.1.0", "thread-loader": "^1.1.5", - "uglifyjs-webpack-plugin": "^1.2.7", "url-loader": "^1.1.0", "vue-loader": "^15.4.2", "webpack": "^4.15.1",