diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index d5b00f41..153df5a1 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -964,6 +964,16 @@ "@types/estree": "*" } }, + "@types/terser-webpack-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/terser-webpack-plugin/-/terser-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-ywqEfTm7KdKoX9aYx0zYtiFU1z6IHrIYW9FJqeay2Ea58rTPML1J0hvoztGal2Jow3bkgGKcAmEZNL+8LqUVrA==", + "dev": true, + "requires": { + "@types/webpack": "*", + "terser": "^4.3.9" + } + }, "@types/tmp": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.0.tgz", diff --git a/package.json b/package.json index 55211b15..4f00adb4 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "@types/request": "^2.48.4", "@types/semver": "^7.1.0", "@types/sinon": "^9.0.0", + "@types/terser-webpack-plugin": "^2.2.0", "@types/tmp": "^0.2.0", "@types/webpack-node-externals": "^1.7.0", "bluebird": "^3.7.2", diff --git a/webpack.config.ts b/webpack.config.ts index 1ef69435..da3cea5f 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -23,6 +23,7 @@ import * as os from 'os'; import outdent from 'outdent'; import * as path from 'path'; import * as SimpleProgressWebpackPlugin from 'simple-progress-webpack-plugin'; +import * as TerserPlugin from 'terser-webpack-plugin'; import { BannerPlugin } from 'webpack'; /** @@ -102,7 +103,21 @@ function replace(test: RegExp, ...replacements: ReplacementRule[]) { const commonConfig = { mode: 'production', optimization: { - minimize: false, + minimize: true, + minimizer: [ + new TerserPlugin({ + terserOptions: { + compress: false, + mangle: false, + output: { + beautify: true, + comments: false, + ecma: 2018, + }, + }, + extractComments: false, + }), + ], }, module: { rules: [