diff --git a/benchmark/createBenchmark.js b/benchmark/createBenchmark.js index 64b0b562379..96d10aee3b9 100644 --- a/benchmark/createBenchmark.js +++ b/benchmark/createBenchmark.js @@ -15,7 +15,7 @@ webpack( }, plugins: [ new webpack.NamedModulesPlugin(), - new webpack.IgnorePlugin(/^(fsevents|uglify-js)$/), + new webpack.IgnorePlugin(/^(fsevents|terser)$/), new webpack.NormalModuleReplacementPlugin( /^.\/loadLoader$/, path.resolve(__dirname, "./createBenchmark/loadLoader") diff --git a/examples/code-splitted-css-bundle/README.md b/examples/code-splitted-css-bundle/README.md index 1552a655f1d..655e620a5d2 100644 --- a/examples/code-splitted-css-bundle/README.md +++ b/examples/code-splitted-css-bundle/README.md @@ -101,7 +101,7 @@ Child extract-text-webpack-plugin ../../node_modules/extract-text-webpack-plugin + 1 hidden module ``` -## Minimized (uglify-js, no zip) +## Minimized (terser, no zip) ``` Hash: edbe0e91ba86d814d855 diff --git a/lib/WebpackOptionsDefaulter.js b/lib/WebpackOptionsDefaulter.js index def82855a43..b6e69ef98f5 100644 --- a/lib/WebpackOptionsDefaulter.js +++ b/lib/WebpackOptionsDefaulter.js @@ -302,10 +302,10 @@ class WebpackOptionsDefaulter extends OptionsDefaulter { this.set("optimization.minimizer", "make", options => [ { apply: compiler => { - // Lazy load the uglifyjs plugin - const UglifyJsPlugin = require("uglifyjs-webpack-plugin"); + // Lazy load the Terser plugin + const TerserPlugin = require("terser-webpack-plugin"); const SourceMapDevToolPlugin = require("./SourceMapDevToolPlugin"); - new UglifyJsPlugin({ + new TerserPlugin({ cache: true, parallel: true, sourceMap: diff --git a/package.json b/package.json index c8a000e1720..7aa95a6fa2f 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "node-libs-browser": "^2.0.0", "schema-utils": "^0.4.4", "tapable": "^1.1.0", - "uglifyjs-webpack-plugin": "^1.2.4", + "terser-webpack-plugin": "^1.1.0", "watchpack": "^1.5.0", "webpack-sources": "^1.3.0" }, diff --git a/test/TestCases.template.js b/test/TestCases.template.js index 622b6e2b934..fbcfc55414f 100644 --- a/test/TestCases.template.js +++ b/test/TestCases.template.js @@ -5,14 +5,14 @@ const path = require("path"); const fs = require("fs"); const vm = require("vm"); const mkdirp = require("mkdirp"); -const UglifyJsPlugin = require("uglifyjs-webpack-plugin"); +const TerserPlugin = require("terser-webpack-plugin"); const checkArrayExpectation = require("./checkArrayExpectation"); const createLazyTestEnv = require("./helpers/createLazyTestEnv"); const Stats = require("../lib/Stats"); const webpack = require("../lib/webpack"); -const uglifyJsForTesting = new UglifyJsPlugin({ +const terserForTesting = new TerserPlugin({ cache: false, parallel: false, sourceMap: true @@ -31,12 +31,12 @@ const DEFAULT_OPTIMIZATIONS = { concatenateModules: false, namedModules: false, hashedModuleIds: false, - minimizer: [uglifyJsForTesting] + minimizer: [terserForTesting] }; const NO_EMIT_ON_ERRORS_OPTIMIZATIONS = { noEmitOnErrors: false, - minimizer: [uglifyJsForTesting] + minimizer: [terserForTesting] }; const casesPath = path.join(__dirname, "cases"); diff --git a/test/__snapshots__/StatsTestCases.test.js.snap b/test/__snapshots__/StatsTestCases.test.js.snap index 37f76f4b387..62b1739f57f 100644 --- a/test/__snapshots__/StatsTestCases.test.js.snap +++ b/test/__snapshots__/StatsTestCases.test.js.snap @@ -777,35 +777,35 @@ Child undefined: bundle.js 2.89 KiB 0 [emitted] main Entrypoint main = bundle.js - WARNING in UglifyJs Plugin: Dropping side-effect-free statement [./index.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping side-effect-free statement [./index.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] in bundle.js -Child UglifyJs: + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] +Child Terser: Hash: 8d381ad7d9791ae0d2ff Time: Xms Built at: Thu Jan 01 1970 00:00:00 GMT Asset Size Chunks Chunk Names bundle.js 2.89 KiB 0 [emitted] main Entrypoint main = bundle.js -Child /UglifyJs/: +Child /Terser/: Hash: 8d381ad7d9791ae0d2ff Time: Xms Built at: Thu Jan 01 1970 00:00:00 GMT @@ -819,14 +819,14 @@ Child warnings => true: Asset Size Chunks Chunk Names bundle.js 2.89 KiB 0 [emitted] main Entrypoint main = bundle.js -Child [UglifyJs]: +Child [Terser]: Hash: 8d381ad7d9791ae0d2ff Time: Xms Built at: Thu Jan 01 1970 00:00:00 GMT Asset Size Chunks Chunk Names bundle.js 2.89 KiB 0 [emitted] main Entrypoint main = bundle.js -Child [/UglifyJs/]: +Child [/Terser/]: Hash: 8d381ad7d9791ae0d2ff Time: Xms Built at: Thu Jan 01 1970 00:00:00 GMT @@ -848,27 +848,27 @@ Child should not filter: bundle.js 2.89 KiB 0 [emitted] main Entrypoint main = bundle.js - WARNING in UglifyJs Plugin: Dropping side-effect-free statement [./index.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping side-effect-free statement [./index.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] Child /should not filter/: Hash: 8d381ad7d9791ae0d2ff Time: Xms @@ -877,27 +877,27 @@ Child /should not filter/: bundle.js 2.89 KiB 0 [emitted] main Entrypoint main = bundle.js - WARNING in UglifyJs Plugin: Dropping side-effect-free statement [./index.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping side-effect-free statement [./index.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] Child warnings => false: Hash: 8d381ad7d9791ae0d2ff Time: Xms @@ -906,27 +906,27 @@ Child warnings => false: bundle.js 2.89 KiB 0 [emitted] main Entrypoint main = bundle.js - WARNING in UglifyJs Plugin: Dropping side-effect-free statement [./index.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping side-effect-free statement [./index.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] Child [should not filter]: Hash: 8d381ad7d9791ae0d2ff Time: Xms @@ -935,27 +935,27 @@ Child [should not filter]: bundle.js 2.89 KiB 0 [emitted] main Entrypoint main = bundle.js - WARNING in UglifyJs Plugin: Dropping side-effect-free statement [./index.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping side-effect-free statement [./index.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] Child [/should not filter/]: Hash: 8d381ad7d9791ae0d2ff Time: Xms @@ -964,27 +964,27 @@ Child [/should not filter/]: bundle.js 2.89 KiB 0 [emitted] main Entrypoint main = bundle.js - WARNING in UglifyJs Plugin: Dropping side-effect-free statement [./index.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping side-effect-free statement [./index.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] Child [warnings => false]: Hash: 8d381ad7d9791ae0d2ff Time: Xms @@ -993,27 +993,27 @@ Child [warnings => false]: bundle.js 2.89 KiB 0 [emitted] main Entrypoint main = bundle.js - WARNING in UglifyJs Plugin: Dropping side-effect-free statement [./index.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping side-effect-free statement [./index.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction1 [./index.js:8,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction2 [./index.js:9,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction3 [./index.js:10,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction4 [./index.js:11,0] - WARNING in UglifyJs Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someUnUsedFunction5 [./index.js:12,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction1 [./a.js:3,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction2 [./a.js:4,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction3 [./a.js:5,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] in bundle.js + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction4 [./a.js:6,0] - WARNING in UglifyJs Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0] in bundle.js" + WARNING in Terser Plugin: Dropping unused function someRemoteUnUsedFunction5 [./a.js:7,0]" `; exports[`StatsTestCases should print correct stats for graph-correctness-entries 1`] = ` @@ -3040,7 +3040,7 @@ Entrypoint main = bundle.js [no exports used]" `; -exports[`StatsTestCases should print correct stats for warnings-uglifyjs 1`] = ` +exports[`StatsTestCases should print correct stats for warnings-terser 1`] = ` "Hash: 5ddef8e3e0b2f2c278c4 Time: Xms Built at: Thu Jan 01 1970 00:00:00 GMT @@ -3051,13 +3051,13 @@ Entrypoint main = bundle.js [1] ./a.js 249 bytes {0} [built] [2] (webpack)/buildin/module.js 497 bytes {0} [built] -WARNING in UglifyJs Plugin: Dropping unused function someUnRemoteUsedFunction1 [./a.js:3,0] in bundle.js +WARNING in Terser Plugin: Dropping unused function someUnRemoteUsedFunction1 [./a.js:3,0] -WARNING in UglifyJs Plugin: Dropping unused function someUnRemoteUsedFunction2 [./a.js:4,0] in bundle.js +WARNING in Terser Plugin: Dropping unused function someUnRemoteUsedFunction2 [./a.js:4,0] -WARNING in UglifyJs Plugin: Dropping unused function someUnRemoteUsedFunction3 [./a.js:5,0] in bundle.js +WARNING in Terser Plugin: Dropping unused function someUnRemoteUsedFunction3 [./a.js:5,0] -WARNING in UglifyJs Plugin: Dropping unused function someUnRemoteUsedFunction4 [./a.js:6,0] in bundle.js +WARNING in Terser Plugin: Dropping unused function someUnRemoteUsedFunction4 [./a.js:6,0] -WARNING in UglifyJs Plugin: Dropping unused function someUnRemoteUsedFunction5 [./a.js:7,0] in bundle.js" +WARNING in Terser Plugin: Dropping unused function someUnRemoteUsedFunction5 [./a.js:7,0]" `; diff --git a/test/cases/parsing/optional-catch-binding/test.filter.js b/test/cases/parsing/optional-catch-binding/test.filter.js index 172fad5af93..a09b8642687 100644 --- a/test/cases/parsing/optional-catch-binding/test.filter.js +++ b/test/cases/parsing/optional-catch-binding/test.filter.js @@ -1,7 +1,7 @@ const supportsOptionalCatchBinding = require("../../../helpers/supportsOptionalCatchBinding"); module.exports = function(config) { - // XXX: Disable this test if UglifyJS is used because it does not support ES 2019 + // XXX: Disable this test if Terser is used because it does not support ES 2019 if (config.mode === "production") { return false; } diff --git a/test/checkArrayExpectation.js b/test/checkArrayExpectation.js index 353f3df780b..4e967de78ba 100644 --- a/test/checkArrayExpectation.js +++ b/test/checkArrayExpectation.js @@ -17,7 +17,7 @@ module.exports = function checkArrayExpectation( } let array = object[`${kind}s`].slice().sort(); if (kind === "warning") - array = array.filter(item => !/from UglifyJs/.test(item)); + array = array.filter(item => !/from Terser/.test(item)); if (fs.existsSync(path.join(testDirectory, `${filename}.js`))) { const expectedFilename = path.join(testDirectory, `${filename}.js`); const expected = require(expectedFilename); diff --git a/test/configCases/plugins/source-map-dev-tool-plugin/webpack.config.js b/test/configCases/plugins/source-map-dev-tool-plugin/webpack.config.js index 1943817ed59..59bb25d2a16 100644 --- a/test/configCases/plugins/source-map-dev-tool-plugin/webpack.config.js +++ b/test/configCases/plugins/source-map-dev-tool-plugin/webpack.config.js @@ -1,5 +1,5 @@ var webpack = require("../../../../"); -var UglifyJsPlugin = require("uglifyjs-webpack-plugin"); +var TerserPlugin = require("terser-webpack-plugin"); module.exports = { node: { __dirname: false, @@ -14,7 +14,7 @@ module.exports = { }, optimization: { minimizer: [ - new UglifyJsPlugin({ + new TerserPlugin({ sourceMap: true }) ] diff --git a/test/configCases/plugins/uglifyjs-plugin/compress.js b/test/configCases/plugins/terser-plugin/compress.js similarity index 100% rename from test/configCases/plugins/uglifyjs-plugin/compress.js rename to test/configCases/plugins/terser-plugin/compress.js diff --git a/test/configCases/plugins/uglifyjs-plugin/extract.js b/test/configCases/plugins/terser-plugin/extract.js similarity index 100% rename from test/configCases/plugins/uglifyjs-plugin/extract.js rename to test/configCases/plugins/terser-plugin/extract.js diff --git a/test/configCases/plugins/uglifyjs-plugin/ie8.js b/test/configCases/plugins/terser-plugin/ie8.js similarity index 100% rename from test/configCases/plugins/uglifyjs-plugin/ie8.js rename to test/configCases/plugins/terser-plugin/ie8.js diff --git a/test/configCases/plugins/uglifyjs-plugin/index.js b/test/configCases/plugins/terser-plugin/index.js similarity index 100% rename from test/configCases/plugins/uglifyjs-plugin/index.js rename to test/configCases/plugins/terser-plugin/index.js diff --git a/test/configCases/plugins/uglifyjs-plugin/test.js b/test/configCases/plugins/terser-plugin/test.js similarity index 100% rename from test/configCases/plugins/uglifyjs-plugin/test.js rename to test/configCases/plugins/terser-plugin/test.js diff --git a/test/configCases/plugins/uglifyjs-plugin/vendors.js b/test/configCases/plugins/terser-plugin/vendors.js similarity index 100% rename from test/configCases/plugins/uglifyjs-plugin/vendors.js rename to test/configCases/plugins/terser-plugin/vendors.js diff --git a/test/configCases/plugins/uglifyjs-plugin/webpack.config.js b/test/configCases/plugins/terser-plugin/webpack.config.js similarity index 80% rename from test/configCases/plugins/uglifyjs-plugin/webpack.config.js rename to test/configCases/plugins/terser-plugin/webpack.config.js index bc737f8e767..8a1d3397503 100644 --- a/test/configCases/plugins/uglifyjs-plugin/webpack.config.js +++ b/test/configCases/plugins/terser-plugin/webpack.config.js @@ -1,4 +1,4 @@ -const UglifyJsPlugin = require("uglifyjs-webpack-plugin"); +const TerserPlugin = require("terser-webpack-plugin"); module.exports = { node: { __dirname: false, @@ -17,21 +17,21 @@ module.exports = { optimization: { minimize: true, minimizer: [ - new UglifyJsPlugin({ + new TerserPlugin({ cache: false, parallel: false, exclude: ["vendors.js", "extract.js"] }), - new UglifyJsPlugin({ + new TerserPlugin({ cache: false, parallel: false, extractComments: true, include: ["extract.js"] }), - new UglifyJsPlugin({ + new TerserPlugin({ cache: false, parallel: false, - uglifyOptions: { + terserOptions: { compress: { passes: 2 } diff --git a/test/statsCases/filter-warnings/webpack.config.js b/test/statsCases/filter-warnings/webpack.config.js index ae23fcd948d..a6d75daffb5 100644 --- a/test/statsCases/filter-warnings/webpack.config.js +++ b/test/statsCases/filter-warnings/webpack.config.js @@ -1,4 +1,4 @@ -const UglifyJsPlugin = require("uglifyjs-webpack-plugin"); +const TerserPlugin = require("terser-webpack-plugin"); const baseConfig = { mode: "production", entry: "./index", @@ -8,9 +8,9 @@ const baseConfig = { optimization: { minimize: true, minimizer: [ - new UglifyJsPlugin({ + new TerserPlugin({ sourceMap: true, - uglifyOptions: { + terserOptions: { compress: { warnings: true }, @@ -34,11 +34,11 @@ const baseConfig = { module.exports = [ undefined, - "UglifyJs", - /UglifyJs/, + "Terser", + /Terser/, warnings => true, - ["UglifyJs"], - [/UglifyJs/], + ["Terser"], + [/Terser/], [warnings => true], "should not filter", /should not filter/, diff --git a/test/statsCases/warnings-uglifyjs/a.js b/test/statsCases/warnings-terser/a.js similarity index 100% rename from test/statsCases/warnings-uglifyjs/a.js rename to test/statsCases/warnings-terser/a.js diff --git a/test/statsCases/warnings-uglifyjs/index.js b/test/statsCases/warnings-terser/index.js similarity index 100% rename from test/statsCases/warnings-uglifyjs/index.js rename to test/statsCases/warnings-terser/index.js diff --git a/test/statsCases/warnings-uglifyjs/webpack.config.js b/test/statsCases/warnings-terser/webpack.config.js similarity index 77% rename from test/statsCases/warnings-uglifyjs/webpack.config.js rename to test/statsCases/warnings-terser/webpack.config.js index 2bdb59940cf..19487004ac8 100644 --- a/test/statsCases/warnings-uglifyjs/webpack.config.js +++ b/test/statsCases/warnings-terser/webpack.config.js @@ -1,4 +1,4 @@ -const UglifyJsPlugin = require("uglifyjs-webpack-plugin"); +const TerserPlugin = require("terser-webpack-plugin"); module.exports = { mode: "production", entry: "./index", @@ -8,9 +8,9 @@ module.exports = { optimization: { minimize: true, minimizer: [ - new UglifyJsPlugin({ + new TerserPlugin({ sourceMap: true, - uglifyOptions: { + terserOptions: { compress: { warnings: true }, @@ -21,7 +21,7 @@ module.exports = { }, warnings: true }, - warningsFilter(filename) { + warningsFilter(message, filename) { return /a\.js$/.test(filename); } }) diff --git a/yarn.lock b/yarn.lock index c2ffa9a6564..43ea066d9e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -344,6 +344,11 @@ acorn@^5.0.3, acorn@^5.6.0, acorn@^5.6.2: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.2.tgz#91fa871883485d06708800318404e72bfb26dcc5" integrity sha512-cJrKCNcr2kv8dlDnbw+JPUGjHZzo4myaxOLmpOX8a+rgX94YeTcTMv/LFJUSByRpc+i4GgVnnhLxvMu/2Y+rqw== +ajv-errors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz#ecf021fa108fd17dfb5e6b383f2dd233e31ffc59" + integrity sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk= + ajv-keywords@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" @@ -892,11 +897,16 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" integrity sha1-RqoXUftqL5PuXmibsQh9SxTGwgU= -bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.x: +bluebird@^3.5.0, bluebird@^3.5.x: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== +bluebird@^3.5.1: + version "3.5.3" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" + integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -1068,22 +1078,23 @@ bundle-loader@~0.5.0: dependencies: loader-utils "^1.1.0" -cacache@^10.0.4: - version "10.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" - integrity sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA== +cacache@^11.0.2: + version "11.3.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.1.tgz#d09d25f6c4aca7a6d305d141ae332613aa1d515f" + integrity sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA== dependencies: bluebird "^3.5.1" chownr "^1.0.1" + figgy-pudding "^3.1.0" glob "^7.1.2" graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^2.0.0" + lru-cache "^4.1.3" + mississippi "^3.0.0" mkdirp "^0.5.1" move-concurrently "^1.0.1" promise-inflight "^1.0.1" rimraf "^2.6.2" - ssri "^5.2.4" + ssri "^6.0.0" unique-filename "^1.1.0" y18n "^4.0.0" @@ -1494,10 +1505,10 @@ commander@^2.14.1, commander@^2.9.0, commander@^2.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== -commander@~2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" - integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== +commander@~2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== commander@~2.6.0: version "2.6.0" @@ -2107,9 +2118,9 @@ domexception@^1.0.0: webidl-conversions "^4.0.2" duplexify@^3.4.2, duplexify@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" - integrity sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ== + version "3.6.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.1.tgz#b1a7a29c4abfd639585efaecce80d666b1e34125" + integrity sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA== dependencies: end-of-stream "^1.0.0" inherits "^2.0.1" @@ -2727,6 +2738,11 @@ fbjs@^0.8.16, fbjs@^0.8.9: setimmediate "^1.0.5" ua-parser-js "^0.7.9" +figgy-pudding@^3.1.0, figgy-pudding@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" + integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== + figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" @@ -2802,14 +2818,14 @@ finalhandler@0.4.1: on-finished "~2.3.0" unpipe "~1.0.0" -find-cache-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" - integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= +find-cache-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.0.0.tgz#4c1faed59f45184530fb9d7fa123a4d04a98472d" + integrity sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA== dependencies: commondir "^1.0.1" make-dir "^1.0.0" - pkg-dir "^2.0.0" + pkg-dir "^3.0.0" find-parent-dir@^0.3.0: version "0.3.0" @@ -5000,7 +5016,7 @@ loose-envify@^1.1.0, loose-envify@^1.3.1: dependencies: js-tokens "^3.0.0" -lru-cache@^4.0.1, lru-cache@^4.1.1: +lru-cache@^4.0.1, lru-cache@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== @@ -5280,10 +5296,10 @@ minizlib@^1.1.0: dependencies: minipass "^2.2.1" -mississippi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" - integrity sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw== +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== dependencies: concat-stream "^1.5.0" duplexify "^3.4.2" @@ -5291,7 +5307,7 @@ mississippi@^2.0.0: flush-write-stream "^1.0.0" from2 "^2.1.0" parallel-transform "^1.1.0" - pump "^2.0.1" + pump "^3.0.0" pumpify "^1.3.3" stream-each "^1.1.0" through2 "^2.0.0" @@ -5807,7 +5823,6 @@ p-try@^1.0.0: p-try@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" - integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== pako@~1.0.5: version "1.0.6" @@ -5973,13 +5988,6 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" @@ -6560,7 +6568,7 @@ pug@^2.0.3: pug-runtime "^2.0.4" pug-strip-comments "^1.0.3" -pump@^2.0.0, pump@^2.0.1: +pump@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== @@ -6571,7 +6579,6 @@ pump@^2.0.0, pump@^2.0.1: pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -6739,7 +6746,7 @@ read-pkg@^4.0.1: parse-json "^4.0.0" pify "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -7156,6 +7163,15 @@ schema-utils@^0.4.0, schema-utils@^0.4.4, schema-utils@^0.4.5: ajv "^6.1.0" ajv-keywords "^3.1.0" +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + script-loader@~0.7.0: version "0.7.2" resolved "https://registry.yarnpkg.com/script-loader/-/script-loader-0.7.2.tgz#2016db6f86f25f5cf56da38915d83378bb166ba7" @@ -7414,6 +7430,14 @@ source-map-support@^0.5.6: buffer-from "^1.0.0" source-map "^0.6.0" +source-map-support@~0.5.6: + version "0.5.9" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" + integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" @@ -7504,12 +7528,12 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" -ssri@^5.2.4: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" - integrity sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ== +ssri@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== dependencies: - safe-buffer "^5.1.1" + figgy-pudding "^3.5.1" stack-utils@^1.0.1: version "1.0.1" @@ -7558,9 +7582,9 @@ stream-browserify@^2.0.1: readable-stream "^2.0.2" stream-each@^1.1.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd" - integrity sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA== + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== dependencies: end-of-stream "^1.1.0" stream-shift "^1.0.0" @@ -7765,6 +7789,29 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" +terser-webpack-plugin@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz#cf7c25a1eee25bf121f4a587bb9e004e3f80e528" + integrity sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA== + dependencies: + cacache "^11.0.2" + find-cache-dir "^2.0.0" + schema-utils "^1.0.0" + serialize-javascript "^1.4.0" + source-map "^0.6.1" + terser "^3.8.1" + webpack-sources "^1.1.0" + worker-farm "^1.5.2" + +terser@^3.8.1: + version "3.10.11" + resolved "https://registry.yarnpkg.com/terser/-/terser-3.10.11.tgz#e063da74b194dde9faf0a561f3a438c549d2da3f" + integrity sha512-iruZ7j14oBbRYJC5cP0/vTU7YOWjN+J1ZskEGoF78tFzXdkK2hbCL/3TRZN8XB+MuvFhvOHMp7WkOCBO4VEL5g== + dependencies: + commander "~2.17.1" + source-map "~0.6.1" + source-map-support "~0.5.6" + test-exclude@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa" @@ -7801,11 +7848,11 @@ throat@^4.0.0: integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4= + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== dependencies: - readable-stream "^2.1.5" + readable-stream "~2.3.6" xtend "~4.0.1" through@^2.3.6: @@ -7980,14 +8027,6 @@ ua-parser-js@^0.7.9: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed" integrity sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA== -uglify-es@^3.3.4: - version "3.3.9" - resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" - integrity sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ== - dependencies: - commander "~2.13.0" - source-map "~0.6.1" - uglify-js@^2.4.19, uglify-js@^2.6, uglify-js@^2.6.1: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" @@ -8011,20 +8050,6 @@ uglify-to-browserify@~1.0.0: resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= -uglifyjs-webpack-plugin@^1.2.4: - version "1.2.7" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz#57638dd99c853a1ebfe9d97b42160a8a507f9d00" - integrity sha512-1VicfKhCYHLS8m1DCApqBhoulnASsEoJ/BvpUpP4zoNAPpKzdH+ghk0olGJMmwX2/jprK2j3hAHdUbczBSy2FA== - dependencies: - cacache "^10.0.4" - find-cache-dir "^1.0.0" - schema-utils "^0.4.5" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - uglify-es "^3.3.4" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - union-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" @@ -8053,16 +8078,16 @@ uniqs@^2.0.0: integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= unique-filename@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" - integrity sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM= + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== dependencies: unique-slug "^2.0.0" unique-slug@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" - integrity sha1-22Z258fMBimHj/GWCXx4hVrp9Ks= + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" + integrity sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg== dependencies: imurmurhash "^0.1.4"