From e10b8b4380f3220c9357b9755aaf4dbdd6437e4f Mon Sep 17 00:00:00 2001 From: Alexander Akait <4567934+alexander-akait@users.noreply.github.com> Date: Fri, 8 Jan 2021 21:25:21 +0300 Subject: [PATCH] test: source maps (#372) --- test/TerserPlugin.test.js | 290 +++- test/__snapshots__/TerserPlugin.test.js.snap | 1395 ++++++++++++++++- .../sourceMap-option.test.js.snap | 333 ---- test/sourceMap-option.test.js | 273 ---- 4 files changed, 1662 insertions(+), 629 deletions(-) delete mode 100644 test/__snapshots__/sourceMap-option.test.js.snap delete mode 100644 test/sourceMap-option.test.js diff --git a/test/TerserPlugin.test.js b/test/TerserPlugin.test.js index 4de84e6a..1948fe54 100644 --- a/test/TerserPlugin.test.js +++ b/test/TerserPlugin.test.js @@ -5,7 +5,7 @@ import path from "path"; import { SourceMapConsumer } from "source-map"; import CopyWebpackPlugin from "copy-webpack-plugin"; import RequestShortener from "webpack/lib/RequestShortener"; -import { javascript } from "webpack"; +import { javascript, SourceMapDevToolPlugin } from "webpack"; import TerserPlugin from "../src/index"; @@ -23,6 +23,22 @@ import { jest.setTimeout(10000); +expect.addSnapshotSerializer({ + test: (value) => { + // For string that are valid JSON + if (typeof value !== "string") { + return false; + } + + try { + return typeof JSON.parse(value) === "object"; + } catch (e) { + return false; + } + }, + print: (value) => JSON.stringify(JSON.parse(value), null, 2), +}); + describe("TerserPlugin", () => { const rawSourceMap = { version: 3, @@ -1320,4 +1336,276 @@ describe("TerserPlugin", () => { resolve(); }); }); + + it('should work with the "devtool" option and the "false" value', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: false, + }); + + new TerserPlugin().apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + + it('should work with "devtool" option and the "source-map" value', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: "source-map", + }); + + new TerserPlugin().apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + + it('should work with "devtool" option and the "inline-source-map" value', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: "inline-source-map", + }); + + new TerserPlugin().apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + + it('should work with "devtool" option and the "hidden-source-map" value', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: "hidden-source-map", + }); + + new TerserPlugin().apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + + it('should work with "devtool" option and the "nosources-source-map" value', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: "nosources-source-map", + }); + + new TerserPlugin().apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + + it('should work with "devtool" option and the "eval" value', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: "eval", + }); + + new TerserPlugin().apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + + it('should work with "devtool" option and the "cheap-source-map" value', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: "cheap-source-map", + }); + + new TerserPlugin().apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + + it('should work with the "SourceMapDevToolPlugin" plugin (like "source-map")', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: false, + plugins: [ + new SourceMapDevToolPlugin({ + filename: "[file].map[query]", + module: true, + columns: true, + }), + ], + }); + + new TerserPlugin().apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + + it('should work with the "SourceMapDevToolPlugin" plugin (like "cheap-source-map")', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: false, + plugins: [ + new SourceMapDevToolPlugin({ + filename: "[file].map[query]", + module: false, + columns: false, + }), + ], + }); + + new TerserPlugin().apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + + it("should work with multi compiler mode with source maps", async () => { + const multiCompiler = getCompiler([ + { + mode: "production", + devtool: "eval", + bail: true, + cache: { type: "memory" }, + entry: path.resolve(__dirname, "./fixtures/entry.js"), + output: { + path: path.resolve(__dirname, "./dist"), + filename: "[name]-1.js", + chunkFilename: "[id]-1.[name].js", + }, + optimization: { + minimize: false, + }, + plugins: [new TerserPlugin()], + }, + { + mode: "production", + devtool: "source-map", + bail: true, + cache: { type: "memory" }, + entry: path.resolve(__dirname, "./fixtures/entry.js"), + output: { + path: path.resolve(__dirname, "./dist"), + filename: "[name]-2.js", + chunkFilename: "[id]-2.[name].js", + }, + optimization: { + minimize: false, + }, + plugins: [new TerserPlugin()], + }, + { + mode: "production", + bail: true, + cache: { type: "memory" }, + devtool: false, + entry: path.resolve(__dirname, "./fixtures/entry.js"), + output: { + path: path.resolve(__dirname, "./dist"), + filename: "[name]-3.js", + chunkFilename: "[id]-3.[name].js", + }, + optimization: { + minimize: false, + }, + plugins: [ + new SourceMapDevToolPlugin({ + filename: "[file].map[query]", + module: false, + columns: false, + }), + new TerserPlugin(), + ], + }, + { + mode: "production", + bail: true, + cache: { type: "memory" }, + devtool: false, + entry: path.resolve(__dirname, "./fixtures/entry.js"), + output: { + path: path.resolve(__dirname, "./dist"), + filename: "[name]-4.js", + chunkFilename: "[id]-4.[name].js", + }, + optimization: { + minimize: false, + }, + plugins: [ + new SourceMapDevToolPlugin({ + filename: "[file].map[query]", + module: true, + columns: true, + }), + new TerserPlugin(), + ], + }, + ]); + + const multiStats = await compile(multiCompiler); + + multiStats.stats.forEach((stats, index) => { + expect( + readsAssets(multiCompiler.compilers[index], stats) + ).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + }); + + it('should work with "devtool" option and the "source-map" value (the "parallel" option is "false")', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: "source-map", + }); + + new TerserPlugin({ parallel: false }).apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); + + it('should work with "devtool" option and the "source-map" value (the "parallel" option is "true")', async () => { + const compiler = getCompiler({ + entry: path.resolve(__dirname, "./fixtures/entry.js"), + devtool: "source-map", + }); + + new TerserPlugin({ parallel: true }).apply(compiler); + + const stats = await compile(compiler); + + expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); + expect(getErrors(stats)).toMatchSnapshot("errors"); + expect(getWarnings(stats)).toMatchSnapshot("warnings"); + }); }); diff --git a/test/__snapshots__/TerserPlugin.test.js.snap b/test/__snapshots__/TerserPlugin.test.js.snap index ea494503..eb3a27fb 100644 --- a/test/__snapshots__/TerserPlugin.test.js.snap +++ b/test/__snapshots__/TerserPlugin.test.js.snap @@ -175,7 +175,32 @@ Object { * @license MIT */ ", - "comments.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/comments-4.js\\",\\"webpack://terser-webpack-plugin/webpack/bootstrap\\",\\"webpack://terser-webpack-plugin/webpack/startup\\"],\\"names\\":[\\"module\\",\\"exports\\",\\"Math\\",\\"random\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"__webpack_modules__\\"],\\"mappings\\":\\";qBAKAA,EAAOC,QAAUC,KAAKC,WCJlBC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUL,QAG3C,IAAID,EAASI,EAAyBE,GAAY,CAGjDL,QAAS,IAOV,OAHAM,EAAoBD,GAAUN,EAAQA,EAAOC,QAASI,GAG/CL,EAAOC,QCjBfI,CAAoB,M\\",\\"file\\":\\"comments.js\\",\\"sourcesContent\\":[\\"/**\\\\n * Duplicate comment in difference files.\\\\n * @license MIT\\\\n */\\\\n\\\\nmodule.exports = Math.random();\\\\n\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tif(__webpack_module_cache__[moduleId]) {\\\\n\\\\t\\\\treturn __webpack_module_cache__[moduleId].exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n\\",\\"// startup\\\\n// Load entry module\\\\n// This entry module is referenced by other modules so it can't be inlined\\\\n__webpack_require__(712);\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "comments.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/comments-4.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "Math", + "random", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": ";qBAKAA,EAAOC,QAAUC,KAAKC,WCJlBC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUL,QAG3C,IAAID,EAASI,EAAyBE,GAAY,CAGjDL,QAAS,IAOV,OAHAM,EAAoBD,GAAUN,EAAQA,EAAOC,QAASI,GAG/CL,EAAOC,QCjBfI,CAAoB,M", + "file": "comments.js", + "sourcesContent": [ + "/**\\n * Duplicate comment in difference files.\\n * @license MIT\\n */\\n\\nmodule.exports = Math.random();\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(712);\\n" + ], + "sourceRoot": "" +}, } `; @@ -570,7 +595,33 @@ Object { "extra-file.js": "var a=1;console.log(a);", "main.js": "(()=>{var r={336:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(336)})(); //# sourceMappingURL=main.js.map", - "main.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/entry.js\\",\\"webpack://terser-webpack-plugin/webpack/bootstrap\\",\\"webpack://terser-webpack-plugin/webpack/startup\\"],\\"names\\":[\\"module\\",\\"exports\\",\\"console\\",\\"log\\",\\"b\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"__webpack_modules__\\"],\\"mappings\\":\\"qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M\\",\\"file\\":\\"main.js\\",\\"sourcesContent\\":[\\"// foo\\\\n/* @preserve*/\\\\n// bar\\\\nconst a = 2 + 2;\\\\n\\\\nmodule.exports = function Foo() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2);\\\\n};\\\\n\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tif(__webpack_module_cache__[moduleId]) {\\\\n\\\\t\\\\treturn __webpack_module_cache__[moduleId].exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n\\",\\"// startup\\\\n// Load entry module\\\\n// This entry module is referenced by other modules so it can't be inlined\\\\n__webpack_require__(336);\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "main.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "main.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(336);\\n" + ], + "sourceRoot": "" +}, } `; @@ -589,6 +640,234 @@ exports[`TerserPlugin should work with "asset" module type: errors 1`] = `Array exports[`TerserPlugin should work with "asset" module type: warnings 1`] = `Array []`; +exports[`TerserPlugin should work with "devtool" option and the "cheap-source-map" value: assets 1`] = ` +Object { + "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=main.js.map", + "main.js.map": { + "version": 3, + "file": "main.js", + "sources": [ + "webpack://terser-webpack-plugin/main.js" + ], + "sourcesContent": [ + "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})();" + ], + "mappings": "AAAA", + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with "devtool" option and the "cheap-source-map" value: errors 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "cheap-source-map" value: warnings 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "eval" value: assets 1`] = ` +Object { + "main.js": "(()=>{var __webpack_modules__={791:module=>{eval(\\"// foo\\\\n/* @preserve*/\\\\n// bar\\\\nconst a = (/* unused pure expression or super */ null && (2 + 2));\\\\n\\\\nmodule.exports = function Foo() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2);\\\\n};\\\\n\\\\n\\\\n//# sourceURL=webpack://terser-webpack-plugin/./test/fixtures/entry.js?\\")}},__webpack_module_cache__={};function __webpack_require__(e){if(__webpack_module_cache__[e])return __webpack_module_cache__[e].exports;var _=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](_,_.exports,__webpack_require__),_.exports}__webpack_require__(791)})();", +} +`; + +exports[`TerserPlugin should work with "devtool" option and the "eval" value: errors 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "eval" value: warnings 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "hidden-source-map" value: assets 1`] = ` +Object { + "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})();", + "main.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "main.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with "devtool" option and the "hidden-source-map" value: errors 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "hidden-source-map" value: warnings 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "inline-source-map" value: assets 1`] = ` +Object { + "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90ZXJzZXItd2VicGFjay1wbHVnaW4vLi90ZXN0L2ZpeHR1cmVzL2VudHJ5LmpzIiwid2VicGFjazovL3RlcnNlci13ZWJwYWNrLXBsdWdpbi93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly90ZXJzZXItd2VicGFjay1wbHVnaW4vd2VicGFjay9zdGFydHVwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJjb25zb2xlIiwibG9nIiwiYiIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsIl9fd2VicGFja19tb2R1bGVzX18iXSwibWFwcGluZ3MiOiJxQkFLQUEsRUFBT0MsUUFBVSxXQUVmQyxRQUFRQyxJQUFJQyxNQ05WQyxFQUEyQixJQUcvQixTQUFTQyxFQUFvQkMsR0FFNUIsR0FBR0YsRUFBeUJFLEdBQzNCLE9BQU9GLEVBQXlCRSxHQUFVTixRQUczQyxJQUFJRCxFQUFTSyxFQUF5QkUsR0FBWSxDQUdqRE4sUUFBUyxJQU9WLE9BSEFPLEVBQW9CRCxHQUFVUCxFQUFRQSxFQUFPQyxRQUFTSyxHQUcvQ04sRUFBT0MsUUNqQmZLLENBQW9CLE0iLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGZvb1xuLyogQHByZXNlcnZlKi9cbi8vIGJhclxuY29uc3QgYSA9IDIgKyAyO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIEZvbygpIHtcbiAgY29uc3QgYiA9IDIgKyAyO1xuICBjb25zb2xlLmxvZyhiICsgMSArIDIpO1xufTtcbiIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdGlmKF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0pIHtcblx0XHRyZXR1cm4gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gc3RhcnR1cFxuLy8gTG9hZCBlbnRyeSBtb2R1bGVcbi8vIFRoaXMgZW50cnkgbW9kdWxlIGlzIHJlZmVyZW5jZWQgYnkgb3RoZXIgbW9kdWxlcyBzbyBpdCBjYW4ndCBiZSBpbmxpbmVkXG5fX3dlYnBhY2tfcmVxdWlyZV9fKDc5MSk7XG4iXSwic291cmNlUm9vdCI6IiJ9", +} +`; + +exports[`TerserPlugin should work with "devtool" option and the "inline-source-map" value: errors 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "inline-source-map" value: warnings 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "nosources-source-map" value: assets 1`] = ` +Object { + "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=main.js.map", + "main.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "main.js", + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with "devtool" option and the "nosources-source-map" value: errors 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "nosources-source-map" value: warnings 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "source-map" value (the "parallel" option is "false"): assets 1`] = ` +Object { + "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=main.js.map", + "main.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "main.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with "devtool" option and the "source-map" value (the "parallel" option is "false"): errors 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "source-map" value (the "parallel" option is "false"): warnings 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "source-map" value (the "parallel" option is "true"): assets 1`] = ` +Object { + "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=main.js.map", + "main.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "main.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with "devtool" option and the "source-map" value (the "parallel" option is "true"): errors 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "source-map" value (the "parallel" option is "true"): warnings 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "source-map" value: assets 1`] = ` +Object { + "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=main.js.map", + "main.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "main.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with "devtool" option and the "source-map" value: errors 1`] = `Array []`; + +exports[`TerserPlugin should work with "devtool" option and the "source-map" value: warnings 1`] = `Array []`; + exports[`TerserPlugin should work with "file-loader": assets 1`] = ` Object { "main.js": "(()=>{\\"use strict\\";var t={};t.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(t){if(\\"object\\"==typeof window)return window}}(),(()=>{var r;t.g.importScripts&&(r=t.g.location+\\"\\");var e=t.g.document;if(!r&&e&&(e.currentScript&&(r=e.currentScript.src),!r)){var i=e.getElementsByTagName(\\"script\\");i.length&&(r=i[i.length-1].src)}if(!r)throw new Error(\\"Automatic publicPath is not supported in this browser\\");r=r.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),t.p=r})();const r=t.p+\\"test/fixtures/emitted.js\\";console.log(12,r)})();", @@ -647,23 +926,355 @@ exports[`TerserPlugin should work with child compilation: errors 1`] = `Array [] exports[`TerserPlugin should work with child compilation: warnings 1`] = `Array []`; +exports[`TerserPlugin should work with multi compiler mode with source maps: assets 1`] = ` +Object { + "main-1.js": "(()=>{var __webpack_modules__={791:module=>{eval(\\"// foo\\\\n/* @preserve*/\\\\n// bar\\\\nconst a = (/* unused pure expression or super */ null && (2 + 2));\\\\n\\\\nmodule.exports = function Foo() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2);\\\\n};\\\\n\\\\n\\\\n//# sourceURL=webpack://terser-webpack-plugin/./test/fixtures/entry.js?\\")}},__webpack_module_cache__={};function __webpack_require__(e){if(__webpack_module_cache__[e])return __webpack_module_cache__[e].exports;var _=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](_,_.exports,__webpack_require__),_.exports}__webpack_require__(791)})();", +} +`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: assets 2`] = ` +Object { + "main-2.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=main-2.js.map", + "main-2.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "main-2.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: assets 3`] = ` +Object { + "main-3.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=main-3.js.map", + "main-3.js.map": { + "version": 3, + "file": "main-3.js", + "sources": [ + "webpack:///main-3.js" + ], + "sourcesContent": [ + "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})();" + ], + "mappings": "AAAA", + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: assets 4`] = ` +Object { + "main-4.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=main-4.js.map", + "main-4.js.map": { + "version": 3, + "sources": [ + "webpack:///./test/fixtures/entry.js", + "webpack:///webpack/bootstrap", + "webpack:///webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "main-4.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: errors 1`] = `Array []`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: errors 2`] = `Array []`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: errors 3`] = `Array []`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: errors 4`] = `Array []`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: warnings 1`] = `Array []`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: warnings 2`] = `Array []`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: warnings 3`] = `Array []`; + +exports[`TerserPlugin should work with multi compiler mode with source maps: warnings 4`] = `Array []`; + exports[`TerserPlugin should work with source map and use memory cache when the "cache" option is "true" and the asset has been changed: assets 1`] = ` Object { "598.598.js": "(self.webpackChunkterser_webpack_plugin=self.webpackChunkterser_webpack_plugin||[]).push([[598],{598:(e,s,p)=>{\\"use strict\\";p.r(s),p.d(s,{default:()=>c});const c=\\"async-dep\\"}}]); //# sourceMappingURL=598.598.js.map", - "598.598.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/async-import-export/async-dep.js\\"],\\"names\\":[],\\"mappings\\":\\"0JAAA\\",\\"file\\":\\"598.598.js\\",\\"sourcesContent\\":[\\"export default \\\\\\"async-dep\\\\\\";\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "598.598.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/async-import-export/async-dep.js" + ], + "names": [], + "mappings": "0JAAA", + "file": "598.598.js", + "sourcesContent": [ + "export default \\"async-dep\\";\\n" + ], + "sourceRoot": "" +}, "AsyncImportExport.js": "(()=>{\\"use strict\\";var e,r,t={},o={};function n(e){if(o[e])return o[e].exports;var r=o[e]={exports:{}};return t[e](r,r.exports,n),r.exports}n.m=t,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+\\".\\"+e+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r=\\"terser-webpack-plugin:\\",n.l=(t,o,i,a)=>{if(e[t])e[t].push(o);else{var l,u;if(void 0!==i)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{l.onerror=l.onload=null,clearTimeout(f);var n=e[t];if(delete e[t],l.parentNode&&l.parentNode.removeChild(l),n&&n.forEach((e=>e(o))),r)return r(o)},f=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),u&&document.head.appendChild(l)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");t.length&&(e=t[t.length-1].src)}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={988:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var i=new Promise(((t,n)=>{o=e[r]=[t,n]}));t.push(o[2]=i);var a=n.p+n.u(r),l=new Error;n.l(a,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,o[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{for(var o,i,[a,l,u]=t,c=0,s=[];c{console.log(\\"Good\\")}))})(); //# sourceMappingURL=AsyncImportExport.js.map", - "AsyncImportExport.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/webpack/runtime/load script\\",\\"webpack://terser-webpack-plugin/webpack/bootstrap\\",\\"webpack://terser-webpack-plugin/webpack/runtime/define property getters\\",\\"webpack://terser-webpack-plugin/webpack/runtime/ensure chunk\\",\\"webpack://terser-webpack-plugin/webpack/runtime/get javascript chunk filename\\",\\"webpack://terser-webpack-plugin/webpack/runtime/global\\",\\"webpack://terser-webpack-plugin/webpack/runtime/hasOwnProperty shorthand\\",\\"webpack://terser-webpack-plugin/webpack/runtime/make namespace object\\",\\"webpack://terser-webpack-plugin/webpack/runtime/publicPath\\",\\"webpack://terser-webpack-plugin/webpack/runtime/jsonp chunk loading\\",\\"webpack://terser-webpack-plugin/./test/fixtures/async-import-export/entry.js\\"],\\"names\\":[\\"inProgress\\",\\"dataWebpackPrefix\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"exports\\",\\"module\\",\\"__webpack_modules__\\",\\"m\\",\\"d\\",\\"definition\\",\\"key\\",\\"o\\",\\"Object\\",\\"defineProperty\\",\\"enumerable\\",\\"get\\",\\"f\\",\\"e\\",\\"chunkId\\",\\"Promise\\",\\"all\\",\\"keys\\",\\"reduce\\",\\"promises\\",\\"u\\",\\"g\\",\\"globalThis\\",\\"this\\",\\"Function\\",\\"window\\",\\"obj\\",\\"prop\\",\\"prototype\\",\\"hasOwnProperty\\",\\"call\\",\\"l\\",\\"url\\",\\"done\\",\\"push\\",\\"script\\",\\"needAttach\\",\\"undefined\\",\\"scripts\\",\\"document\\",\\"getElementsByTagName\\",\\"i\\",\\"length\\",\\"s\\",\\"getAttribute\\",\\"createElement\\",\\"charset\\",\\"timeout\\",\\"nc\\",\\"setAttribute\\",\\"src\\",\\"onScriptComplete\\",\\"prev\\",\\"event\\",\\"onerror\\",\\"onload\\",\\"clearTimeout\\",\\"doneFns\\",\\"parentNode\\",\\"removeChild\\",\\"forEach\\",\\"fn\\",\\"setTimeout\\",\\"bind\\",\\"type\\",\\"target\\",\\"head\\",\\"appendChild\\",\\"r\\",\\"Symbol\\",\\"toStringTag\\",\\"value\\",\\"scriptUrl\\",\\"importScripts\\",\\"location\\",\\"currentScript\\",\\"Error\\",\\"replace\\",\\"p\\",\\"installedChunks\\",\\"988\\",\\"j\\",\\"installedChunkData\\",\\"promise\\",\\"resolve\\",\\"reject\\",\\"error\\",\\"errorType\\",\\"realSrc\\",\\"message\\",\\"name\\",\\"request\\",\\"webpackJsonpCallback\\",\\"parentChunkLoadingFunction\\",\\"data\\",\\"chunkIds\\",\\"moreModules\\",\\"runtime\\",\\"resolves\\",\\"shift\\",\\"chunkLoadingGlobal\\",\\"self\\",\\"then\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"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\\",\\"file\\":\\"AsyncImportExport.js\\",\\"sourcesContent\\":[\\"var inProgress = {};\\\\nvar dataWebpackPrefix = \\\\\\"terser-webpack-plugin:\\\\\\";\\\\n// loadScript function to load a script via script tag\\\\n__webpack_require__.l = (url, done, key, chunkId) => {\\\\n\\\\tif(inProgress[url]) { inProgress[url].push(done); return; }\\\\n\\\\tvar script, needAttach;\\\\n\\\\tif(key !== undefined) {\\\\n\\\\t\\\\tvar scripts = document.getElementsByTagName(\\\\\\"script\\\\\\");\\\\n\\\\t\\\\tfor(var i = 0; i < scripts.length; i++) {\\\\n\\\\t\\\\t\\\\tvar s = scripts[i];\\\\n\\\\t\\\\t\\\\tif(s.getAttribute(\\\\\\"src\\\\\\") == url || s.getAttribute(\\\\\\"data-webpack\\\\\\") == dataWebpackPrefix + key) { script = s; break; }\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n\\\\tif(!script) {\\\\n\\\\t\\\\tneedAttach = true;\\\\n\\\\t\\\\tscript = document.createElement('script');\\\\n\\\\n\\\\t\\\\tscript.charset = 'utf-8';\\\\n\\\\t\\\\tscript.timeout = 120;\\\\n\\\\t\\\\tif (__webpack_require__.nc) {\\\\n\\\\t\\\\t\\\\tscript.setAttribute(\\\\\\"nonce\\\\\\", __webpack_require__.nc);\\\\n\\\\t\\\\t}\\\\n\\\\t\\\\tscript.setAttribute(\\\\\\"data-webpack\\\\\\", dataWebpackPrefix + key);\\\\n\\\\t\\\\tscript.src = url;\\\\n\\\\t}\\\\n\\\\tinProgress[url] = [done];\\\\n\\\\tvar onScriptComplete = (prev, event) => {\\\\n\\\\t\\\\t// avoid mem leaks in IE.\\\\n\\\\t\\\\tscript.onerror = script.onload = null;\\\\n\\\\t\\\\tclearTimeout(timeout);\\\\n\\\\t\\\\tvar doneFns = inProgress[url];\\\\n\\\\t\\\\tdelete inProgress[url];\\\\n\\\\t\\\\tscript.parentNode && script.parentNode.removeChild(script);\\\\n\\\\t\\\\tdoneFns && doneFns.forEach((fn) => fn(event));\\\\n\\\\t\\\\tif(prev) return prev(event);\\\\n\\\\t}\\\\n\\\\t;\\\\n\\\\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\\\\n\\\\tscript.onerror = onScriptComplete.bind(null, script.onerror);\\\\n\\\\tscript.onload = onScriptComplete.bind(null, script.onload);\\\\n\\\\tneedAttach && document.head.appendChild(script);\\\\n};\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tif(__webpack_module_cache__[moduleId]) {\\\\n\\\\t\\\\treturn __webpack_module_cache__[moduleId].exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n// expose the modules object (__webpack_modules__)\\\\n__webpack_require__.m = __webpack_modules__;\\\\n\\\\n\\",\\"// define getter functions for harmony exports\\\\n__webpack_require__.d = (exports, definition) => {\\\\n\\\\tfor(var key in definition) {\\\\n\\\\t\\\\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\\\\n\\\\t\\\\t\\\\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n};\\",\\"__webpack_require__.f = {};\\\\n// This file contains only the entry chunk.\\\\n// The chunk loading function for additional chunks\\\\n__webpack_require__.e = (chunkId) => {\\\\n\\\\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\\\\n\\\\t\\\\t__webpack_require__.f[key](chunkId, promises);\\\\n\\\\t\\\\treturn promises;\\\\n\\\\t}, []));\\\\n};\\",\\"// This function allow to reference async chunks\\\\n__webpack_require__.u = (chunkId) => {\\\\n\\\\t// return url for filenames based on template\\\\n\\\\treturn \\\\\\"\\\\\\" + chunkId + \\\\\\".\\\\\\" + chunkId + \\\\\\".js\\\\\\";\\\\n};\\",\\"__webpack_require__.g = (function() {\\\\n\\\\tif (typeof globalThis === 'object') return globalThis;\\\\n\\\\ttry {\\\\n\\\\t\\\\treturn this || new Function('return this')();\\\\n\\\\t} catch (e) {\\\\n\\\\t\\\\tif (typeof window === 'object') return window;\\\\n\\\\t}\\\\n})();\\",\\"__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\\",\\"// define __esModule on exports\\\\n__webpack_require__.r = (exports) => {\\\\n\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n\\\\t}\\\\n\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n};\\",\\"var scriptUrl;\\\\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\\\\\"\\\\\\";\\\\nvar document = __webpack_require__.g.document;\\\\nif (!scriptUrl && document) {\\\\n\\\\tif (document.currentScript)\\\\n\\\\t\\\\tscriptUrl = document.currentScript.src\\\\n\\\\tif (!scriptUrl) {\\\\n\\\\t\\\\tvar scripts = document.getElementsByTagName(\\\\\\"script\\\\\\");\\\\n\\\\t\\\\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\\\\n\\\\t}\\\\n}\\\\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\\\\n// or pass an empty string (\\\\\\"\\\\\\") and set the __webpack_public_path__ variable from your code to use your own logic.\\\\nif (!scriptUrl) throw new Error(\\\\\\"Automatic publicPath is not supported in this browser\\\\\\");\\\\nscriptUrl = scriptUrl.replace(/#.*$/, \\\\\\"\\\\\\").replace(/\\\\\\\\?.*$/, \\\\\\"\\\\\\").replace(/\\\\\\\\/[^\\\\\\\\/]+$/, \\\\\\"/\\\\\\");\\\\n__webpack_require__.p = scriptUrl;\\",\\"// no baseURI\\\\n\\\\n// object to store loaded and loading chunks\\\\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\\\\n// Promise = chunk loading, 0 = chunk loaded\\\\nvar installedChunks = {\\\\n\\\\t988: 0\\\\n};\\\\n\\\\n\\\\n__webpack_require__.f.j = (chunkId, promises) => {\\\\n\\\\t\\\\t// JSONP chunk loading for javascript\\\\n\\\\t\\\\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\\\\n\\\\t\\\\tif(installedChunkData !== 0) { // 0 means \\\\\\"already installed\\\\\\".\\\\n\\\\n\\\\t\\\\t\\\\t// a Promise means \\\\\\"currently loading\\\\\\".\\\\n\\\\t\\\\t\\\\tif(installedChunkData) {\\\\n\\\\t\\\\t\\\\t\\\\tpromises.push(installedChunkData[2]);\\\\n\\\\t\\\\t\\\\t} else {\\\\n\\\\t\\\\t\\\\t\\\\tif(true) { // all chunks have JS\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// setup Promise in chunk cache\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar promise = new Promise((resolve, reject) => {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t});\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tpromises.push(installedChunkData[2] = promise);\\\\n\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// start chunk loading\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// create error before stack unwound to get useful stacktrace later\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar error = new Error();\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar loadingEnded = (event) => {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(__webpack_require__.o(installedChunks, chunkId)) {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData = installedChunks[chunkId];\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(installedChunkData) {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tvar realSrc = event && event.target && event.target.src;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.message = 'Loading chunk ' + chunkId + ' failed.\\\\\\\\n(' + errorType + ': ' + realSrc + ')';\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.name = 'ChunkLoadError';\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.type = errorType;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.request = realSrc;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData[1](error);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t};\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t__webpack_require__.l(url, loadingEnded, \\\\\\"chunk-\\\\\\" + chunkId, chunkId);\\\\n\\\\t\\\\t\\\\t\\\\t} else installedChunks[chunkId] = 0;\\\\n\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t}\\\\n};\\\\n\\\\n// no prefetching\\\\n\\\\n// no preloaded\\\\n\\\\n// no HMR\\\\n\\\\n// no HMR manifest\\\\n\\\\n// no deferred startup\\\\n\\\\n// install a JSONP callback for chunk loading\\\\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\\\\n\\\\tvar [chunkIds, moreModules, runtime] = data;\\\\n\\\\t// add \\\\\\"moreModules\\\\\\" to the modules object,\\\\n\\\\t// then flag all \\\\\\"chunkIds\\\\\\" as loaded and fire callback\\\\n\\\\tvar moduleId, chunkId, i = 0, resolves = [];\\\\n\\\\tfor(;i < chunkIds.length; i++) {\\\\n\\\\t\\\\tchunkId = chunkIds[i];\\\\n\\\\t\\\\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\\\\n\\\\t\\\\t\\\\tresolves.push(installedChunks[chunkId][0]);\\\\n\\\\t\\\\t}\\\\n\\\\t\\\\tinstalledChunks[chunkId] = 0;\\\\n\\\\t}\\\\n\\\\tfor(moduleId in moreModules) {\\\\n\\\\t\\\\tif(__webpack_require__.o(moreModules, moduleId)) {\\\\n\\\\t\\\\t\\\\t__webpack_require__.m[moduleId] = moreModules[moduleId];\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n\\\\tif(runtime) runtime(__webpack_require__);\\\\n\\\\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\\\\n\\\\twhile(resolves.length) {\\\\n\\\\t\\\\tresolves.shift()();\\\\n\\\\t}\\\\n\\\\n}\\\\n\\\\nvar chunkLoadingGlobal = self[\\\\\\"webpackChunkterser_webpack_plugin\\\\\\"] = self[\\\\\\"webpackChunkterser_webpack_plugin\\\\\\"] || [];\\\\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\\\\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\\\\n\\\\n// no deferred startup\\",\\"import(\\\\\\"./async-dep\\\\\\").then(() => {\\\\n console.log('Good')\\\\n});\\\\n\\\\nexport default \\\\\\"Awesome\\\\\\";\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "AsyncImportExport.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/webpack/runtime/load script", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/runtime/define property getters", + "webpack://terser-webpack-plugin/webpack/runtime/ensure chunk", + "webpack://terser-webpack-plugin/webpack/runtime/get javascript chunk filename", + "webpack://terser-webpack-plugin/webpack/runtime/global", + "webpack://terser-webpack-plugin/webpack/runtime/hasOwnProperty shorthand", + "webpack://terser-webpack-plugin/webpack/runtime/make namespace object", + "webpack://terser-webpack-plugin/webpack/runtime/publicPath", + "webpack://terser-webpack-plugin/webpack/runtime/jsonp chunk loading", + "webpack://terser-webpack-plugin/./test/fixtures/async-import-export/entry.js" + ], + "names": [ + "inProgress", + "dataWebpackPrefix", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "exports", + "module", + "__webpack_modules__", + "m", + "d", + "definition", + "key", + "o", + "Object", + "defineProperty", + "enumerable", + "get", + "f", + "e", + "chunkId", + "Promise", + "all", + "keys", + "reduce", + "promises", + "u", + "g", + "globalThis", + "this", + "Function", + "window", + "obj", + "prop", + "prototype", + "hasOwnProperty", + "call", + "l", + "url", + "done", + "push", + "script", + "needAttach", + "undefined", + "scripts", + "document", + "getElementsByTagName", + "i", + "length", + "s", + "getAttribute", + "createElement", + "charset", + "timeout", + "nc", + "setAttribute", + "src", + "onScriptComplete", + "prev", + "event", + "onerror", + "onload", + "clearTimeout", + "doneFns", + "parentNode", + "removeChild", + "forEach", + "fn", + "setTimeout", + "bind", + "type", + "target", + "head", + "appendChild", + "r", + "Symbol", + "toStringTag", + "value", + "scriptUrl", + "importScripts", + "location", + "currentScript", + "Error", + "replace", + "p", + "installedChunks", + "988", + "j", + "installedChunkData", + "promise", + "resolve", + "reject", + "error", + "errorType", + "realSrc", + "message", + "name", + "request", + "webpackJsonpCallback", + "parentChunkLoadingFunction", + "data", + "chunkIds", + "moreModules", + "runtime", + "resolves", + "shift", + "chunkLoadingGlobal", + "self", + "then", + "console", + "log" + ], + "mappings": "uBAAIA,EACAC,E,KCAAC,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUC,QAG3C,IAAIC,EAASJ,EAAyBE,GAAY,CAGjDC,QAAS,IAOV,OAHAE,EAAoBH,GAAUE,EAAQA,EAAOD,QAASF,GAG/CG,EAAOD,QAIfF,EAAoBK,EAAID,ECvBxBJ,EAAoBM,EAAI,CAACJ,EAASK,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEP,EAASM,IAC5EE,OAAOC,eAAeT,EAASM,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3ER,EAAoBc,EAAI,GAGxBd,EAAoBe,EAAKC,GACjBC,QAAQC,IAAIR,OAAOS,KAAKnB,EAAoBc,GAAGM,QAAO,CAACC,EAAUb,KACvER,EAAoBc,EAAEN,GAAKQ,EAASK,GAC7BA,IACL,KCNJrB,EAAoBsB,EAAKN,GAEZA,EAAU,IAAMA,EAAU,MCHvChB,EAAoBuB,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,GACd,MAAOX,GACR,GAAsB,iBAAXY,OAAqB,OAAOA,QALjB,GCAxB3B,EAAoBS,EAAI,CAACmB,EAAKC,IAASnB,OAAOoB,UAAUC,eAAeC,KAAKJ,EAAKC,GNA7EhC,EAAa,GACbC,EAAoB,yBAExBE,EAAoBiC,EAAI,CAACC,EAAKC,EAAM3B,EAAKQ,KACxC,GAAGnB,EAAWqC,GAAQrC,EAAWqC,GAAKE,KAAKD,OAA3C,CACA,IAAIE,EAAQC,EACZ,QAAWC,IAAR/B,EAEF,IADA,IAAIgC,EAAUC,SAASC,qBAAqB,UACpCC,EAAI,EAAGA,EAAIH,EAAQI,OAAQD,IAAK,CACvC,IAAIE,EAAIL,EAAQG,GAChB,GAAGE,EAAEC,aAAa,QAAUZ,GAAOW,EAAEC,aAAa,iBAAmBhD,EAAoBU,EAAK,CAAE6B,EAASQ,EAAG,OAG1GR,IACHC,GAAa,GACbD,EAASI,SAASM,cAAc,WAEzBC,QAAU,QACjBX,EAAOY,QAAU,IACbjD,EAAoBkD,IACvBb,EAAOc,aAAa,QAASnD,EAAoBkD,IAElDb,EAAOc,aAAa,eAAgBrD,EAAoBU,GACxD6B,EAAOe,IAAMlB,GAEdrC,EAAWqC,GAAO,CAACC,GACnB,IAAIkB,EAAmB,CAACC,EAAMC,KAE7BlB,EAAOmB,QAAUnB,EAAOoB,OAAS,KACjCC,aAAaT,GACb,IAAIU,EAAU9D,EAAWqC,GAIzB,UAHOrC,EAAWqC,GAClBG,EAAOuB,YAAcvB,EAAOuB,WAAWC,YAAYxB,GACnDsB,GAAWA,EAAQG,SAASC,GAAOA,EAAGR,KACnCD,EAAM,OAAOA,EAAKC,IAGlBN,EAAUe,WAAWX,EAAiBY,KAAK,UAAM1B,EAAW,CAAE2B,KAAM,UAAWC,OAAQ9B,IAAW,MACtGA,EAAOmB,QAAUH,EAAiBY,KAAK,KAAM5B,EAAOmB,SACpDnB,EAAOoB,OAASJ,EAAiBY,KAAK,KAAM5B,EAAOoB,QACnDnB,GAAcG,SAAS2B,KAAKC,YAAYhC,KOvCzCrC,EAAoBsE,EAAKpE,IACH,oBAAXqE,QAA0BA,OAAOC,aAC1C9D,OAAOC,eAAeT,EAASqE,OAAOC,YAAa,CAAEC,MAAO,WAE7D/D,OAAOC,eAAeT,EAAS,aAAc,CAAEuE,OAAO,K,MCLvD,IAAIC,EACA1E,EAAoBuB,EAAEoD,gBAAeD,EAAY1E,EAAoBuB,EAAEqD,SAAW,IACtF,IAAInC,EAAWzC,EAAoBuB,EAAEkB,SACrC,IAAKiC,GAAajC,IACbA,EAASoC,gBACZH,EAAYjC,EAASoC,cAAczB,MAC/BsB,GAAW,CACf,IAAIlC,EAAUC,EAASC,qBAAqB,UACzCF,EAAQI,SAAQ8B,EAAYlC,EAAQA,EAAQI,OAAS,GAAGQ,KAK7D,IAAKsB,EAAW,MAAM,IAAII,MAAM,yDAChCJ,EAAYA,EAAUK,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KACpF/E,EAAoBgF,EAAIN,G,SCVxB,IAAIO,EAAkB,CACrBC,IAAK,GAINlF,EAAoBc,EAAEqE,EAAI,CAACnE,EAASK,KAElC,IAAI+D,EAAqBpF,EAAoBS,EAAEwE,EAAiBjE,GAAWiE,EAAgBjE,QAAWuB,EACtG,GAA0B,IAAvB6C,EAGF,GAAGA,EACF/D,EAASe,KAAKgD,EAAmB,QAC3B,CAGL,IAAIC,EAAU,IAAIpE,SAAQ,CAACqE,EAASC,KACnCH,EAAqBH,EAAgBjE,GAAW,CAACsE,EAASC,MAE3DlE,EAASe,KAAKgD,EAAmB,GAAKC,GAGtC,IAAInD,EAAMlC,EAAoBgF,EAAIhF,EAAoBsB,EAAEN,GAEpDwE,EAAQ,IAAIV,MAgBhB9E,EAAoBiC,EAAEC,GAfFqB,IACnB,GAAGvD,EAAoBS,EAAEwE,EAAiBjE,KAEf,KAD1BoE,EAAqBH,EAAgBjE,MACRiE,EAAgBjE,QAAWuB,GACrD6C,GAAoB,CACtB,IAAIK,EAAYlC,IAAyB,SAAfA,EAAMW,KAAkB,UAAYX,EAAMW,MAChEwB,EAAUnC,GAASA,EAAMY,QAAUZ,EAAMY,OAAOf,IACpDoC,EAAMG,QAAU,iBAAmB3E,EAAU,cAAgByE,EAAY,KAAOC,EAAU,IAC1FF,EAAMI,KAAO,iBACbJ,EAAMtB,KAAOuB,EACbD,EAAMK,QAAUH,EAChBN,EAAmB,GAAGI,MAIgB,SAAWxE,EAASA,KAiBlE,IAAI8E,EAAuB,CAACC,EAA4BC,KAKvD,IAJA,IAGI/F,EAAUe,GAHTiF,EAAUC,EAAaC,GAAWH,EAGhBrD,EAAI,EAAGyD,EAAW,GACpCzD,EAAIsD,EAASrD,OAAQD,IACzB3B,EAAUiF,EAAStD,GAChB3C,EAAoBS,EAAEwE,EAAiBjE,IAAYiE,EAAgBjE,IACrEoF,EAAShE,KAAK6C,EAAgBjE,GAAS,IAExCiE,EAAgBjE,GAAW,EAE5B,IAAIf,KAAYiG,EACZlG,EAAoBS,EAAEyF,EAAajG,KACrCD,EAAoBK,EAAEJ,GAAYiG,EAAYjG,IAKhD,IAFGkG,GAASA,EAAQnG,GACjB+F,GAA4BA,EAA2BC,GACpDI,EAASxD,QACdwD,EAASC,OAATD,IAKEE,EAAqBC,KAAwC,kCAAIA,KAAwC,mCAAK,GAClHD,EAAmBxC,QAAQgC,EAAqB7B,KAAK,KAAM,IAC3DqC,EAAmBlE,KAAO0D,EAAqB7B,KAAK,KAAMqC,EAAmBlE,KAAK6B,KAAKqC,K,GCzFvF,6BAAsBE,MAAK,KACzBC,QAAQC,IAAI,Y", + "file": "AsyncImportExport.js", + "sourcesContent": [ + "var inProgress = {};\\nvar dataWebpackPrefix = \\"terser-webpack-plugin:\\";\\n// loadScript function to load a script via script tag\\n__webpack_require__.l = (url, done, key, chunkId) => {\\n\\tif(inProgress[url]) { inProgress[url].push(done); return; }\\n\\tvar script, needAttach;\\n\\tif(key !== undefined) {\\n\\t\\tvar scripts = document.getElementsByTagName(\\"script\\");\\n\\t\\tfor(var i = 0; i < scripts.length; i++) {\\n\\t\\t\\tvar s = scripts[i];\\n\\t\\t\\tif(s.getAttribute(\\"src\\") == url || s.getAttribute(\\"data-webpack\\") == dataWebpackPrefix + key) { script = s; break; }\\n\\t\\t}\\n\\t}\\n\\tif(!script) {\\n\\t\\tneedAttach = true;\\n\\t\\tscript = document.createElement('script');\\n\\n\\t\\tscript.charset = 'utf-8';\\n\\t\\tscript.timeout = 120;\\n\\t\\tif (__webpack_require__.nc) {\\n\\t\\t\\tscript.setAttribute(\\"nonce\\", __webpack_require__.nc);\\n\\t\\t}\\n\\t\\tscript.setAttribute(\\"data-webpack\\", dataWebpackPrefix + key);\\n\\t\\tscript.src = url;\\n\\t}\\n\\tinProgress[url] = [done];\\n\\tvar onScriptComplete = (prev, event) => {\\n\\t\\t// avoid mem leaks in IE.\\n\\t\\tscript.onerror = script.onload = null;\\n\\t\\tclearTimeout(timeout);\\n\\t\\tvar doneFns = inProgress[url];\\n\\t\\tdelete inProgress[url];\\n\\t\\tscript.parentNode && script.parentNode.removeChild(script);\\n\\t\\tdoneFns && doneFns.forEach((fn) => fn(event));\\n\\t\\tif(prev) return prev(event);\\n\\t}\\n\\t;\\n\\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\\n\\tscript.onerror = onScriptComplete.bind(null, script.onerror);\\n\\tscript.onload = onScriptComplete.bind(null, script.onload);\\n\\tneedAttach && document.head.appendChild(script);\\n};", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n// expose the modules object (__webpack_modules__)\\n__webpack_require__.m = __webpack_modules__;\\n\\n", + "// define getter functions for harmony exports\\n__webpack_require__.d = (exports, definition) => {\\n\\tfor(var key in definition) {\\n\\t\\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\\n\\t\\t\\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\\n\\t\\t}\\n\\t}\\n};", + "__webpack_require__.f = {};\\n// This file contains only the entry chunk.\\n// The chunk loading function for additional chunks\\n__webpack_require__.e = (chunkId) => {\\n\\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\\n\\t\\t__webpack_require__.f[key](chunkId, promises);\\n\\t\\treturn promises;\\n\\t}, []));\\n};", + "// This function allow to reference async chunks\\n__webpack_require__.u = (chunkId) => {\\n\\t// return url for filenames based on template\\n\\treturn \\"\\" + chunkId + \\".\\" + chunkId + \\".js\\";\\n};", + "__webpack_require__.g = (function() {\\n\\tif (typeof globalThis === 'object') return globalThis;\\n\\ttry {\\n\\t\\treturn this || new Function('return this')();\\n\\t} catch (e) {\\n\\t\\tif (typeof window === 'object') return window;\\n\\t}\\n})();", + "__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)", + "// define __esModule on exports\\n__webpack_require__.r = (exports) => {\\n\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\n\\t\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\n\\t}\\n\\tObject.defineProperty(exports, '__esModule', { value: true });\\n};", + "var scriptUrl;\\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\";\\nvar document = __webpack_require__.g.document;\\nif (!scriptUrl && document) {\\n\\tif (document.currentScript)\\n\\t\\tscriptUrl = document.currentScript.src\\n\\tif (!scriptUrl) {\\n\\t\\tvar scripts = document.getElementsByTagName(\\"script\\");\\n\\t\\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\\n\\t}\\n}\\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\\n// or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic.\\nif (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\");\\nscriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\");\\n__webpack_require__.p = scriptUrl;", + "// no baseURI\\n\\n// object to store loaded and loading chunks\\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\\n// Promise = chunk loading, 0 = chunk loaded\\nvar installedChunks = {\\n\\t988: 0\\n};\\n\\n\\n__webpack_require__.f.j = (chunkId, promises) => {\\n\\t\\t// JSONP chunk loading for javascript\\n\\t\\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\\n\\t\\tif(installedChunkData !== 0) { // 0 means \\"already installed\\".\\n\\n\\t\\t\\t// a Promise means \\"currently loading\\".\\n\\t\\t\\tif(installedChunkData) {\\n\\t\\t\\t\\tpromises.push(installedChunkData[2]);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif(true) { // all chunks have JS\\n\\t\\t\\t\\t\\t// setup Promise in chunk cache\\n\\t\\t\\t\\t\\tvar promise = new Promise((resolve, reject) => {\\n\\t\\t\\t\\t\\t\\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\tpromises.push(installedChunkData[2] = promise);\\n\\n\\t\\t\\t\\t\\t// start chunk loading\\n\\t\\t\\t\\t\\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\\n\\t\\t\\t\\t\\t// create error before stack unwound to get useful stacktrace later\\n\\t\\t\\t\\t\\tvar error = new Error();\\n\\t\\t\\t\\t\\tvar loadingEnded = (event) => {\\n\\t\\t\\t\\t\\t\\tif(__webpack_require__.o(installedChunks, chunkId)) {\\n\\t\\t\\t\\t\\t\\t\\tinstalledChunkData = installedChunks[chunkId];\\n\\t\\t\\t\\t\\t\\t\\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\\n\\t\\t\\t\\t\\t\\t\\tif(installedChunkData) {\\n\\t\\t\\t\\t\\t\\t\\t\\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\\n\\t\\t\\t\\t\\t\\t\\t\\tvar realSrc = event && event.target && event.target.src;\\n\\t\\t\\t\\t\\t\\t\\t\\terror.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')';\\n\\t\\t\\t\\t\\t\\t\\t\\terror.name = 'ChunkLoadError';\\n\\t\\t\\t\\t\\t\\t\\t\\terror.type = errorType;\\n\\t\\t\\t\\t\\t\\t\\t\\terror.request = realSrc;\\n\\t\\t\\t\\t\\t\\t\\t\\tinstalledChunkData[1](error);\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t__webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId);\\n\\t\\t\\t\\t} else installedChunks[chunkId] = 0;\\n\\t\\t\\t}\\n\\t\\t}\\n};\\n\\n// no prefetching\\n\\n// no preloaded\\n\\n// no HMR\\n\\n// no HMR manifest\\n\\n// no deferred startup\\n\\n// install a JSONP callback for chunk loading\\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\\n\\tvar [chunkIds, moreModules, runtime] = data;\\n\\t// add \\"moreModules\\" to the modules object,\\n\\t// then flag all \\"chunkIds\\" as loaded and fire callback\\n\\tvar moduleId, chunkId, i = 0, resolves = [];\\n\\tfor(;i < chunkIds.length; i++) {\\n\\t\\tchunkId = chunkIds[i];\\n\\t\\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\\n\\t\\t\\tresolves.push(installedChunks[chunkId][0]);\\n\\t\\t}\\n\\t\\tinstalledChunks[chunkId] = 0;\\n\\t}\\n\\tfor(moduleId in moreModules) {\\n\\t\\tif(__webpack_require__.o(moreModules, moduleId)) {\\n\\t\\t\\t__webpack_require__.m[moduleId] = moreModules[moduleId];\\n\\t\\t}\\n\\t}\\n\\tif(runtime) runtime(__webpack_require__);\\n\\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\\n\\twhile(resolves.length) {\\n\\t\\tresolves.shift()();\\n\\t}\\n\\n}\\n\\nvar chunkLoadingGlobal = self[\\"webpackChunkterser_webpack_plugin\\"] = self[\\"webpackChunkterser_webpack_plugin\\"] || [];\\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\\n\\n// no deferred startup", + "import(\\"./async-dep\\").then(() => {\\n console.log('Good')\\n});\\n\\nexport default \\"Awesome\\";\\n" + ], + "sourceRoot": "" +}, "importExport.js": "(()=>{\\"use strict\\";function o(){const o=\`baz\${Math.random()}\`;return()=>({a:\\"foobar\\"+o,b:\\"foo\\",baz:o})}console.log(o())})(); //# sourceMappingURL=importExport.js.map", - "importExport.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/import-export/entry.js\\",\\"webpack://terser-webpack-plugin/./test/fixtures/import-export/dep.js\\"],\\"names\\":[\\"Foo\\",\\"baz\\",\\"Math\\",\\"random\\",\\"a\\",\\"b\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"mBAEA,SAASA,IACP,MACMC,EAAM,MAAMC,KAAKC,WACvB,MAAO,KACE,CACLC,EAAGC,SAAUJ,EACbI,ECPN,MDQMJ,QAKNK,QAAQC,IAAIP,M\\",\\"file\\":\\"importExport.js\\",\\"sourcesContent\\":[\\"import foo, { bar } from './dep';\\\\n\\\\nfunction Foo() {\\\\n const b = foo;\\\\n const baz = \`baz\${Math.random()}\`;\\\\n return () => {\\\\n return {\\\\n a: b + bar + baz,\\\\n b,\\\\n baz,\\\\n };\\\\n };\\\\n}\\\\n\\\\nconsole.log(Foo());\\\\n\\\\nexport default Foo;\\\\n\\",\\"export const bar = 'bar';\\\\nexport default 'foo';\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "importExport.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/import-export/entry.js", + "webpack://terser-webpack-plugin/./test/fixtures/import-export/dep.js" + ], + "names": [ + "Foo", + "baz", + "Math", + "random", + "a", + "b", + "console", + "log" + ], + "mappings": "mBAEA,SAASA,IACP,MACMC,EAAM,MAAMC,KAAKC,WACvB,MAAO,KACE,CACLC,EAAGC,SAAUJ,EACbI,ECPN,MDQMJ,QAKNK,QAAQC,IAAIP,M", + "file": "importExport.js", + "sourcesContent": [ + "import foo, { bar } from './dep';\\n\\nfunction Foo() {\\n const b = foo;\\n const baz = \`baz\${Math.random()}\`;\\n return () => {\\n return {\\n a: b + bar + baz,\\n b,\\n baz,\\n };\\n };\\n}\\n\\nconsole.log(Foo());\\n\\nexport default Foo;\\n", + "export const bar = 'bar';\\nexport default 'foo';\\n" + ], + "sourceRoot": "" +}, "js.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); //# sourceMappingURL=js.js.map", - "js.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/entry.js\\",\\"webpack://terser-webpack-plugin/webpack/bootstrap\\",\\"webpack://terser-webpack-plugin/webpack/startup\\"],\\"names\\":[\\"module\\",\\"exports\\",\\"console\\",\\"log\\",\\"b\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"__webpack_modules__\\"],\\"mappings\\":\\"qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M\\",\\"file\\":\\"js.js\\",\\"sourcesContent\\":[\\"// foo\\\\n/* @preserve*/\\\\n// bar\\\\nconst a = 2 + 2;\\\\n\\\\nmodule.exports = function Foo() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2);\\\\n};\\\\n\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tif(__webpack_module_cache__[moduleId]) {\\\\n\\\\t\\\\treturn __webpack_module_cache__[moduleId].exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n\\",\\"// startup\\\\n// Load entry module\\\\n// This entry module is referenced by other modules so it can't be inlined\\\\n__webpack_require__(791);\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "js.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "js.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, "mjs.js": "(()=>{\\"use strict\\";function o(){console.log(11)}o(),module.exports=o})(); //# sourceMappingURL=mjs.js.map", - "mjs.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/entry.mjs\\"],\\"names\\":[\\"test\\",\\"console\\",\\"log\\",\\"b\\",\\"module\\",\\"exports\\"],\\"mappings\\":\\"mBAIA,SAASA,IAEPC,QAAQC,IAAIC,IAGdH,IAEAI,OAAOC,QAAUL,G\\",\\"file\\":\\"mjs.js\\",\\"sourcesContent\\":[\\"// foo\\\\n// bar\\\\nconst a = 2 + 2;\\\\n\\\\nfunction test() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2 + a);\\\\n}\\\\n\\\\ntest();\\\\n\\\\nmodule.exports = test;\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "mjs.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.mjs" + ], + "names": [ + "test", + "console", + "log", + "b", + "module", + "exports" + ], + "mappings": "mBAIA,SAASA,IAEPC,QAAQC,IAAIC,IAGdH,IAEAI,OAAOC,QAAUL,G", + "file": "mjs.js", + "sourcesContent": [ + "// foo\\n// bar\\nconst a = 2 + 2;\\n\\nfunction test() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2 + a);\\n}\\n\\ntest();\\n\\nmodule.exports = test;\\n" + ], + "sourceRoot": "" +}, } `; @@ -671,19 +1282,242 @@ exports[`TerserPlugin should work with source map and use memory cache when the Object { "598.598.js": "(self.webpackChunkterser_webpack_plugin=self.webpackChunkterser_webpack_plugin||[]).push([[598],{598:(e,s,p)=>{\\"use strict\\";p.r(s),p.d(s,{default:()=>c});const c=\\"async-dep\\"}}]); //# sourceMappingURL=598.598.js.map", - "598.598.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/async-import-export/async-dep.js\\"],\\"names\\":[],\\"mappings\\":\\"0JAAA\\",\\"file\\":\\"598.598.js\\",\\"sourcesContent\\":[\\"export default \\\\\\"async-dep\\\\\\";\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "598.598.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/async-import-export/async-dep.js" + ], + "names": [], + "mappings": "0JAAA", + "file": "598.598.js", + "sourcesContent": [ + "export default \\"async-dep\\";\\n" + ], + "sourceRoot": "" +}, "AsyncImportExport.js": "(()=>{\\"use strict\\";var e,r,t={},o={};function n(e){if(o[e])return o[e].exports;var r=o[e]={exports:{}};return t[e](r,r.exports,n),r.exports}n.m=t,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+\\".\\"+e+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r=\\"terser-webpack-plugin:\\",n.l=(t,o,i,a)=>{if(e[t])e[t].push(o);else{var l,u;if(void 0!==i)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{l.onerror=l.onload=null,clearTimeout(f);var n=e[t];if(delete e[t],l.parentNode&&l.parentNode.removeChild(l),n&&n.forEach((e=>e(o))),r)return r(o)},f=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),u&&document.head.appendChild(l)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");t.length&&(e=t[t.length-1].src)}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={988:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var i=new Promise(((t,n)=>{o=e[r]=[t,n]}));t.push(o[2]=i);var a=n.p+n.u(r),l=new Error;n.l(a,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,o[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{for(var o,i,[a,l,u]=t,c=0,s=[];c{console.log(\\"Good\\")}))})(); //# sourceMappingURL=AsyncImportExport.js.map", - "AsyncImportExport.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/webpack/runtime/load script\\",\\"webpack://terser-webpack-plugin/webpack/bootstrap\\",\\"webpack://terser-webpack-plugin/webpack/runtime/define property getters\\",\\"webpack://terser-webpack-plugin/webpack/runtime/ensure chunk\\",\\"webpack://terser-webpack-plugin/webpack/runtime/get javascript chunk filename\\",\\"webpack://terser-webpack-plugin/webpack/runtime/global\\",\\"webpack://terser-webpack-plugin/webpack/runtime/hasOwnProperty shorthand\\",\\"webpack://terser-webpack-plugin/webpack/runtime/make namespace object\\",\\"webpack://terser-webpack-plugin/webpack/runtime/publicPath\\",\\"webpack://terser-webpack-plugin/webpack/runtime/jsonp chunk loading\\",\\"webpack://terser-webpack-plugin/./test/fixtures/async-import-export/entry.js\\"],\\"names\\":[\\"inProgress\\",\\"dataWebpackPrefix\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"exports\\",\\"module\\",\\"__webpack_modules__\\",\\"m\\",\\"d\\",\\"definition\\",\\"key\\",\\"o\\",\\"Object\\",\\"defineProperty\\",\\"enumerable\\",\\"get\\",\\"f\\",\\"e\\",\\"chunkId\\",\\"Promise\\",\\"all\\",\\"keys\\",\\"reduce\\",\\"promises\\",\\"u\\",\\"g\\",\\"globalThis\\",\\"this\\",\\"Function\\",\\"window\\",\\"obj\\",\\"prop\\",\\"prototype\\",\\"hasOwnProperty\\",\\"call\\",\\"l\\",\\"url\\",\\"done\\",\\"push\\",\\"script\\",\\"needAttach\\",\\"undefined\\",\\"scripts\\",\\"document\\",\\"getElementsByTagName\\",\\"i\\",\\"length\\",\\"s\\",\\"getAttribute\\",\\"createElement\\",\\"charset\\",\\"timeout\\",\\"nc\\",\\"setAttribute\\",\\"src\\",\\"onScriptComplete\\",\\"prev\\",\\"event\\",\\"onerror\\",\\"onload\\",\\"clearTimeout\\",\\"doneFns\\",\\"parentNode\\",\\"removeChild\\",\\"forEach\\",\\"fn\\",\\"setTimeout\\",\\"bind\\",\\"type\\",\\"target\\",\\"head\\",\\"appendChild\\",\\"r\\",\\"Symbol\\",\\"toStringTag\\",\\"value\\",\\"scriptUrl\\",\\"importScripts\\",\\"location\\",\\"currentScript\\",\\"Error\\",\\"replace\\",\\"p\\",\\"installedChunks\\",\\"988\\",\\"j\\",\\"installedChunkData\\",\\"promise\\",\\"resolve\\",\\"reject\\",\\"error\\",\\"errorType\\",\\"realSrc\\",\\"message\\",\\"name\\",\\"request\\",\\"webpackJsonpCallback\\",\\"parentChunkLoadingFunction\\",\\"data\\",\\"chunkIds\\",\\"moreModules\\",\\"runtime\\",\\"resolves\\",\\"shift\\",\\"chunkLoadingGlobal\\",\\"self\\",\\"then\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"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\\",\\"file\\":\\"AsyncImportExport.js\\",\\"sourcesContent\\":[\\"var inProgress = {};\\\\nvar dataWebpackPrefix = \\\\\\"terser-webpack-plugin:\\\\\\";\\\\n// loadScript function to load a script via script tag\\\\n__webpack_require__.l = (url, done, key, chunkId) => {\\\\n\\\\tif(inProgress[url]) { inProgress[url].push(done); return; }\\\\n\\\\tvar script, needAttach;\\\\n\\\\tif(key !== undefined) {\\\\n\\\\t\\\\tvar scripts = document.getElementsByTagName(\\\\\\"script\\\\\\");\\\\n\\\\t\\\\tfor(var i = 0; i < scripts.length; i++) {\\\\n\\\\t\\\\t\\\\tvar s = scripts[i];\\\\n\\\\t\\\\t\\\\tif(s.getAttribute(\\\\\\"src\\\\\\") == url || s.getAttribute(\\\\\\"data-webpack\\\\\\") == dataWebpackPrefix + key) { script = s; break; }\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n\\\\tif(!script) {\\\\n\\\\t\\\\tneedAttach = true;\\\\n\\\\t\\\\tscript = document.createElement('script');\\\\n\\\\n\\\\t\\\\tscript.charset = 'utf-8';\\\\n\\\\t\\\\tscript.timeout = 120;\\\\n\\\\t\\\\tif (__webpack_require__.nc) {\\\\n\\\\t\\\\t\\\\tscript.setAttribute(\\\\\\"nonce\\\\\\", __webpack_require__.nc);\\\\n\\\\t\\\\t}\\\\n\\\\t\\\\tscript.setAttribute(\\\\\\"data-webpack\\\\\\", dataWebpackPrefix + key);\\\\n\\\\t\\\\tscript.src = url;\\\\n\\\\t}\\\\n\\\\tinProgress[url] = [done];\\\\n\\\\tvar onScriptComplete = (prev, event) => {\\\\n\\\\t\\\\t// avoid mem leaks in IE.\\\\n\\\\t\\\\tscript.onerror = script.onload = null;\\\\n\\\\t\\\\tclearTimeout(timeout);\\\\n\\\\t\\\\tvar doneFns = inProgress[url];\\\\n\\\\t\\\\tdelete inProgress[url];\\\\n\\\\t\\\\tscript.parentNode && script.parentNode.removeChild(script);\\\\n\\\\t\\\\tdoneFns && doneFns.forEach((fn) => fn(event));\\\\n\\\\t\\\\tif(prev) return prev(event);\\\\n\\\\t}\\\\n\\\\t;\\\\n\\\\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\\\\n\\\\tscript.onerror = onScriptComplete.bind(null, script.onerror);\\\\n\\\\tscript.onload = onScriptComplete.bind(null, script.onload);\\\\n\\\\tneedAttach && document.head.appendChild(script);\\\\n};\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tif(__webpack_module_cache__[moduleId]) {\\\\n\\\\t\\\\treturn __webpack_module_cache__[moduleId].exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n// expose the modules object (__webpack_modules__)\\\\n__webpack_require__.m = __webpack_modules__;\\\\n\\\\n\\",\\"// define getter functions for harmony exports\\\\n__webpack_require__.d = (exports, definition) => {\\\\n\\\\tfor(var key in definition) {\\\\n\\\\t\\\\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\\\\n\\\\t\\\\t\\\\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n};\\",\\"__webpack_require__.f = {};\\\\n// This file contains only the entry chunk.\\\\n// The chunk loading function for additional chunks\\\\n__webpack_require__.e = (chunkId) => {\\\\n\\\\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\\\\n\\\\t\\\\t__webpack_require__.f[key](chunkId, promises);\\\\n\\\\t\\\\treturn promises;\\\\n\\\\t}, []));\\\\n};\\",\\"// This function allow to reference async chunks\\\\n__webpack_require__.u = (chunkId) => {\\\\n\\\\t// return url for filenames based on template\\\\n\\\\treturn \\\\\\"\\\\\\" + chunkId + \\\\\\".\\\\\\" + chunkId + \\\\\\".js\\\\\\";\\\\n};\\",\\"__webpack_require__.g = (function() {\\\\n\\\\tif (typeof globalThis === 'object') return globalThis;\\\\n\\\\ttry {\\\\n\\\\t\\\\treturn this || new Function('return this')();\\\\n\\\\t} catch (e) {\\\\n\\\\t\\\\tif (typeof window === 'object') return window;\\\\n\\\\t}\\\\n})();\\",\\"__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\\",\\"// define __esModule on exports\\\\n__webpack_require__.r = (exports) => {\\\\n\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n\\\\t}\\\\n\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n};\\",\\"var scriptUrl;\\\\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\\\\\"\\\\\\";\\\\nvar document = __webpack_require__.g.document;\\\\nif (!scriptUrl && document) {\\\\n\\\\tif (document.currentScript)\\\\n\\\\t\\\\tscriptUrl = document.currentScript.src\\\\n\\\\tif (!scriptUrl) {\\\\n\\\\t\\\\tvar scripts = document.getElementsByTagName(\\\\\\"script\\\\\\");\\\\n\\\\t\\\\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\\\\n\\\\t}\\\\n}\\\\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\\\\n// or pass an empty string (\\\\\\"\\\\\\") and set the __webpack_public_path__ variable from your code to use your own logic.\\\\nif (!scriptUrl) throw new Error(\\\\\\"Automatic publicPath is not supported in this browser\\\\\\");\\\\nscriptUrl = scriptUrl.replace(/#.*$/, \\\\\\"\\\\\\").replace(/\\\\\\\\?.*$/, \\\\\\"\\\\\\").replace(/\\\\\\\\/[^\\\\\\\\/]+$/, \\\\\\"/\\\\\\");\\\\n__webpack_require__.p = scriptUrl;\\",\\"// no baseURI\\\\n\\\\n// object to store loaded and loading chunks\\\\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\\\\n// Promise = chunk loading, 0 = chunk loaded\\\\nvar installedChunks = {\\\\n\\\\t988: 0\\\\n};\\\\n\\\\n\\\\n__webpack_require__.f.j = (chunkId, promises) => {\\\\n\\\\t\\\\t// JSONP chunk loading for javascript\\\\n\\\\t\\\\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\\\\n\\\\t\\\\tif(installedChunkData !== 0) { // 0 means \\\\\\"already installed\\\\\\".\\\\n\\\\n\\\\t\\\\t\\\\t// a Promise means \\\\\\"currently loading\\\\\\".\\\\n\\\\t\\\\t\\\\tif(installedChunkData) {\\\\n\\\\t\\\\t\\\\t\\\\tpromises.push(installedChunkData[2]);\\\\n\\\\t\\\\t\\\\t} else {\\\\n\\\\t\\\\t\\\\t\\\\tif(true) { // all chunks have JS\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// setup Promise in chunk cache\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar promise = new Promise((resolve, reject) => {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t});\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tpromises.push(installedChunkData[2] = promise);\\\\n\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// start chunk loading\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// create error before stack unwound to get useful stacktrace later\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar error = new Error();\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar loadingEnded = (event) => {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(__webpack_require__.o(installedChunks, chunkId)) {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData = installedChunks[chunkId];\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(installedChunkData) {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tvar realSrc = event && event.target && event.target.src;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.message = 'Loading chunk ' + chunkId + ' failed.\\\\\\\\n(' + errorType + ': ' + realSrc + ')';\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.name = 'ChunkLoadError';\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.type = errorType;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.request = realSrc;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData[1](error);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t};\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t__webpack_require__.l(url, loadingEnded, \\\\\\"chunk-\\\\\\" + chunkId, chunkId);\\\\n\\\\t\\\\t\\\\t\\\\t} else installedChunks[chunkId] = 0;\\\\n\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t}\\\\n};\\\\n\\\\n// no prefetching\\\\n\\\\n// no preloaded\\\\n\\\\n// no HMR\\\\n\\\\n// no HMR manifest\\\\n\\\\n// no deferred startup\\\\n\\\\n// install a JSONP callback for chunk loading\\\\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\\\\n\\\\tvar [chunkIds, moreModules, runtime] = data;\\\\n\\\\t// add \\\\\\"moreModules\\\\\\" to the modules object,\\\\n\\\\t// then flag all \\\\\\"chunkIds\\\\\\" as loaded and fire callback\\\\n\\\\tvar moduleId, chunkId, i = 0, resolves = [];\\\\n\\\\tfor(;i < chunkIds.length; i++) {\\\\n\\\\t\\\\tchunkId = chunkIds[i];\\\\n\\\\t\\\\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\\\\n\\\\t\\\\t\\\\tresolves.push(installedChunks[chunkId][0]);\\\\n\\\\t\\\\t}\\\\n\\\\t\\\\tinstalledChunks[chunkId] = 0;\\\\n\\\\t}\\\\n\\\\tfor(moduleId in moreModules) {\\\\n\\\\t\\\\tif(__webpack_require__.o(moreModules, moduleId)) {\\\\n\\\\t\\\\t\\\\t__webpack_require__.m[moduleId] = moreModules[moduleId];\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n\\\\tif(runtime) runtime(__webpack_require__);\\\\n\\\\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\\\\n\\\\twhile(resolves.length) {\\\\n\\\\t\\\\tresolves.shift()();\\\\n\\\\t}\\\\n\\\\n}\\\\n\\\\nvar chunkLoadingGlobal = self[\\\\\\"webpackChunkterser_webpack_plugin\\\\\\"] = self[\\\\\\"webpackChunkterser_webpack_plugin\\\\\\"] || [];\\\\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\\\\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\\\\n\\\\n// no deferred startup\\",\\"import(\\\\\\"./async-dep\\\\\\").then(() => {\\\\n console.log('Good')\\\\n});\\\\n\\\\nexport default \\\\\\"Awesome\\\\\\";\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "AsyncImportExport.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/webpack/runtime/load script", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/runtime/define property getters", + "webpack://terser-webpack-plugin/webpack/runtime/ensure chunk", + "webpack://terser-webpack-plugin/webpack/runtime/get javascript chunk filename", + "webpack://terser-webpack-plugin/webpack/runtime/global", + "webpack://terser-webpack-plugin/webpack/runtime/hasOwnProperty shorthand", + "webpack://terser-webpack-plugin/webpack/runtime/make namespace object", + "webpack://terser-webpack-plugin/webpack/runtime/publicPath", + "webpack://terser-webpack-plugin/webpack/runtime/jsonp chunk loading", + "webpack://terser-webpack-plugin/./test/fixtures/async-import-export/entry.js" + ], + "names": [ + "inProgress", + "dataWebpackPrefix", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "exports", + "module", + "__webpack_modules__", + "m", + "d", + "definition", + "key", + "o", + "Object", + "defineProperty", + "enumerable", + "get", + "f", + "e", + "chunkId", + "Promise", + "all", + "keys", + "reduce", + "promises", + "u", + "g", + "globalThis", + "this", + "Function", + "window", + "obj", + "prop", + "prototype", + "hasOwnProperty", + "call", + "l", + "url", + "done", + "push", + "script", + "needAttach", + "undefined", + "scripts", + "document", + "getElementsByTagName", + "i", + "length", + "s", + "getAttribute", + "createElement", + "charset", + "timeout", + "nc", + "setAttribute", + "src", + "onScriptComplete", + "prev", + "event", + "onerror", + "onload", + "clearTimeout", + "doneFns", + "parentNode", + "removeChild", + "forEach", + "fn", + "setTimeout", + "bind", + "type", + "target", + "head", + "appendChild", + "r", + "Symbol", + "toStringTag", + "value", + "scriptUrl", + "importScripts", + "location", + "currentScript", + "Error", + "replace", + "p", + "installedChunks", + "988", + "j", + "installedChunkData", + "promise", + "resolve", + "reject", + "error", + "errorType", + "realSrc", + "message", + "name", + "request", + "webpackJsonpCallback", + "parentChunkLoadingFunction", + "data", + "chunkIds", + "moreModules", + "runtime", + "resolves", + "shift", + "chunkLoadingGlobal", + "self", + "then", + "console", + "log" + ], + "mappings": "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", + "file": "AsyncImportExport.js", + "sourcesContent": [ + "var inProgress = {};\\nvar dataWebpackPrefix = \\"terser-webpack-plugin:\\";\\n// loadScript function to load a script via script tag\\n__webpack_require__.l = (url, done, key, chunkId) => {\\n\\tif(inProgress[url]) { inProgress[url].push(done); return; }\\n\\tvar script, needAttach;\\n\\tif(key !== undefined) {\\n\\t\\tvar scripts = document.getElementsByTagName(\\"script\\");\\n\\t\\tfor(var i = 0; i < scripts.length; i++) {\\n\\t\\t\\tvar s = scripts[i];\\n\\t\\t\\tif(s.getAttribute(\\"src\\") == url || s.getAttribute(\\"data-webpack\\") == dataWebpackPrefix + key) { script = s; break; }\\n\\t\\t}\\n\\t}\\n\\tif(!script) {\\n\\t\\tneedAttach = true;\\n\\t\\tscript = document.createElement('script');\\n\\n\\t\\tscript.charset = 'utf-8';\\n\\t\\tscript.timeout = 120;\\n\\t\\tif (__webpack_require__.nc) {\\n\\t\\t\\tscript.setAttribute(\\"nonce\\", __webpack_require__.nc);\\n\\t\\t}\\n\\t\\tscript.setAttribute(\\"data-webpack\\", dataWebpackPrefix + key);\\n\\t\\tscript.src = url;\\n\\t}\\n\\tinProgress[url] = [done];\\n\\tvar onScriptComplete = (prev, event) => {\\n\\t\\t// avoid mem leaks in IE.\\n\\t\\tscript.onerror = script.onload = null;\\n\\t\\tclearTimeout(timeout);\\n\\t\\tvar doneFns = inProgress[url];\\n\\t\\tdelete inProgress[url];\\n\\t\\tscript.parentNode && script.parentNode.removeChild(script);\\n\\t\\tdoneFns && doneFns.forEach((fn) => fn(event));\\n\\t\\tif(prev) return prev(event);\\n\\t}\\n\\t;\\n\\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\\n\\tscript.onerror = onScriptComplete.bind(null, script.onerror);\\n\\tscript.onload = onScriptComplete.bind(null, script.onload);\\n\\tneedAttach && document.head.appendChild(script);\\n};", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n// expose the modules object (__webpack_modules__)\\n__webpack_require__.m = __webpack_modules__;\\n\\n", + "// define getter functions for harmony exports\\n__webpack_require__.d = (exports, definition) => {\\n\\tfor(var key in definition) {\\n\\t\\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\\n\\t\\t\\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\\n\\t\\t}\\n\\t}\\n};", + "__webpack_require__.f = {};\\n// This file contains only the entry chunk.\\n// The chunk loading function for additional chunks\\n__webpack_require__.e = (chunkId) => {\\n\\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\\n\\t\\t__webpack_require__.f[key](chunkId, promises);\\n\\t\\treturn promises;\\n\\t}, []));\\n};", + "// This function allow to reference async chunks\\n__webpack_require__.u = (chunkId) => {\\n\\t// return url for filenames based on template\\n\\treturn \\"\\" + chunkId + \\".\\" + chunkId + \\".js\\";\\n};", + "__webpack_require__.g = (function() {\\n\\tif (typeof globalThis === 'object') return globalThis;\\n\\ttry {\\n\\t\\treturn this || new Function('return this')();\\n\\t} catch (e) {\\n\\t\\tif (typeof window === 'object') return window;\\n\\t}\\n})();", + "__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)", + "// define __esModule on exports\\n__webpack_require__.r = (exports) => {\\n\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\n\\t\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\n\\t}\\n\\tObject.defineProperty(exports, '__esModule', { value: true });\\n};", + "var scriptUrl;\\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\";\\nvar document = __webpack_require__.g.document;\\nif (!scriptUrl && document) {\\n\\tif (document.currentScript)\\n\\t\\tscriptUrl = document.currentScript.src\\n\\tif (!scriptUrl) {\\n\\t\\tvar scripts = document.getElementsByTagName(\\"script\\");\\n\\t\\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\\n\\t}\\n}\\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\\n// or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic.\\nif (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\");\\nscriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\");\\n__webpack_require__.p = scriptUrl;", + "// no baseURI\\n\\n// object to store loaded and loading chunks\\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\\n// Promise = chunk loading, 0 = chunk loaded\\nvar installedChunks = {\\n\\t988: 0\\n};\\n\\n\\n__webpack_require__.f.j = (chunkId, promises) => {\\n\\t\\t// JSONP chunk loading for javascript\\n\\t\\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\\n\\t\\tif(installedChunkData !== 0) { // 0 means \\"already installed\\".\\n\\n\\t\\t\\t// a Promise means \\"currently loading\\".\\n\\t\\t\\tif(installedChunkData) {\\n\\t\\t\\t\\tpromises.push(installedChunkData[2]);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif(true) { // all chunks have JS\\n\\t\\t\\t\\t\\t// setup Promise in chunk cache\\n\\t\\t\\t\\t\\tvar promise = new Promise((resolve, reject) => {\\n\\t\\t\\t\\t\\t\\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\tpromises.push(installedChunkData[2] = promise);\\n\\n\\t\\t\\t\\t\\t// start chunk loading\\n\\t\\t\\t\\t\\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\\n\\t\\t\\t\\t\\t// create error before stack unwound to get useful stacktrace later\\n\\t\\t\\t\\t\\tvar error = new Error();\\n\\t\\t\\t\\t\\tvar loadingEnded = (event) => {\\n\\t\\t\\t\\t\\t\\tif(__webpack_require__.o(installedChunks, chunkId)) {\\n\\t\\t\\t\\t\\t\\t\\tinstalledChunkData = installedChunks[chunkId];\\n\\t\\t\\t\\t\\t\\t\\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\\n\\t\\t\\t\\t\\t\\t\\tif(installedChunkData) {\\n\\t\\t\\t\\t\\t\\t\\t\\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\\n\\t\\t\\t\\t\\t\\t\\t\\tvar realSrc = event && event.target && event.target.src;\\n\\t\\t\\t\\t\\t\\t\\t\\terror.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')';\\n\\t\\t\\t\\t\\t\\t\\t\\terror.name = 'ChunkLoadError';\\n\\t\\t\\t\\t\\t\\t\\t\\terror.type = errorType;\\n\\t\\t\\t\\t\\t\\t\\t\\terror.request = realSrc;\\n\\t\\t\\t\\t\\t\\t\\t\\tinstalledChunkData[1](error);\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t__webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId);\\n\\t\\t\\t\\t} else installedChunks[chunkId] = 0;\\n\\t\\t\\t}\\n\\t\\t}\\n};\\n\\n// no prefetching\\n\\n// no preloaded\\n\\n// no HMR\\n\\n// no HMR manifest\\n\\n// no deferred startup\\n\\n// install a JSONP callback for chunk loading\\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\\n\\tvar [chunkIds, moreModules, runtime] = data;\\n\\t// add \\"moreModules\\" to the modules object,\\n\\t// then flag all \\"chunkIds\\" as loaded and fire callback\\n\\tvar moduleId, chunkId, i = 0, resolves = [];\\n\\tfor(;i < chunkIds.length; i++) {\\n\\t\\tchunkId = chunkIds[i];\\n\\t\\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\\n\\t\\t\\tresolves.push(installedChunks[chunkId][0]);\\n\\t\\t}\\n\\t\\tinstalledChunks[chunkId] = 0;\\n\\t}\\n\\tfor(moduleId in moreModules) {\\n\\t\\tif(__webpack_require__.o(moreModules, moduleId)) {\\n\\t\\t\\t__webpack_require__.m[moduleId] = moreModules[moduleId];\\n\\t\\t}\\n\\t}\\n\\tif(runtime) runtime(__webpack_require__);\\n\\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\\n\\twhile(resolves.length) {\\n\\t\\tresolves.shift()();\\n\\t}\\n\\n}\\n\\nvar chunkLoadingGlobal = self[\\"webpackChunkterser_webpack_plugin\\"] = self[\\"webpackChunkterser_webpack_plugin\\"] || [];\\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\\n\\n// no deferred startup", + "import(\\"./async-dep\\").then(() => {\\n console.log('Good')\\n});\\n\\nexport default \\"Awesome\\";\\n" + ], + "sourceRoot": "" +}, "importExport.js": "(()=>{\\"use strict\\";function o(){const o=\`baz\${Math.random()}\`;return()=>({a:\\"foobar\\"+o,b:\\"foo\\",baz:o})}console.log(o())})(); //# sourceMappingURL=importExport.js.map", - "importExport.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/import-export/entry.js\\",\\"webpack://terser-webpack-plugin/./test/fixtures/import-export/dep.js\\"],\\"names\\":[\\"Foo\\",\\"baz\\",\\"Math\\",\\"random\\",\\"a\\",\\"b\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"mBAEA,SAASA,IACP,MACMC,EAAM,MAAMC,KAAKC,WACvB,MAAO,KACE,CACLC,EAAGC,SAAUJ,EACbI,ECPN,MDQMJ,QAKNK,QAAQC,IAAIP,M\\",\\"file\\":\\"importExport.js\\",\\"sourcesContent\\":[\\"import foo, { bar } from './dep';\\\\n\\\\nfunction Foo() {\\\\n const b = foo;\\\\n const baz = \`baz\${Math.random()}\`;\\\\n return () => {\\\\n return {\\\\n a: b + bar + baz,\\\\n b,\\\\n baz,\\\\n };\\\\n };\\\\n}\\\\n\\\\nconsole.log(Foo());\\\\n\\\\nexport default Foo;\\\\n\\",\\"export const bar = 'bar';\\\\nexport default 'foo';\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "importExport.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/import-export/entry.js", + "webpack://terser-webpack-plugin/./test/fixtures/import-export/dep.js" + ], + "names": [ + "Foo", + "baz", + "Math", + "random", + "a", + "b", + "console", + "log" + ], + "mappings": "mBAEA,SAASA,IACP,MACMC,EAAM,MAAMC,KAAKC,WACvB,MAAO,KACE,CACLC,EAAGC,SAAUJ,EACbI,ECPN,MDQMJ,QAKNK,QAAQC,IAAIP,M", + "file": "importExport.js", + "sourcesContent": [ + "import foo, { bar } from './dep';\\n\\nfunction Foo() {\\n const b = foo;\\n const baz = \`baz\${Math.random()}\`;\\n return () => {\\n return {\\n a: b + bar + baz,\\n b,\\n baz,\\n };\\n };\\n}\\n\\nconsole.log(Foo());\\n\\nexport default Foo;\\n", + "export const bar = 'bar';\\nexport default 'foo';\\n" + ], + "sourceRoot": "" +}, "js.js": "function changed(){}(()=>{var o={791:o=>{o.exports=function(){console.log(7)}}},r={};!function n(t){if(r[t])return r[t].exports;var e=r[t]={exports:{}};return o[t](e,e.exports,n),e.exports}(791)})(); //# sourceMappingURL=js.js.map", - "js.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/entry.js\\",\\"webpack://terser-webpack-plugin/webpack/bootstrap\\",\\"webpack://terser-webpack-plugin/webpack/startup\\"],\\"names\\":[\\"module\\",\\"exports\\",\\"console\\",\\"log\\",\\"b\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"__webpack_modules__\\"],\\"mappings\\":\\"yCAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M\\",\\"file\\":\\"js.js\\",\\"sourcesContent\\":[\\"// foo\\\\n/* @preserve*/\\\\n// bar\\\\nconst a = 2 + 2;\\\\n\\\\nmodule.exports = function Foo() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2);\\\\n};\\\\n\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tif(__webpack_module_cache__[moduleId]) {\\\\n\\\\t\\\\treturn __webpack_module_cache__[moduleId].exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n\\",\\"// startup\\\\n// Load entry module\\\\n// This entry module is referenced by other modules so it can't be inlined\\\\n__webpack_require__(791);\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "js.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "yCAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "js.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, "mjs.js": "(()=>{\\"use strict\\";function o(){console.log(11)}o(),module.exports=o})(); //# sourceMappingURL=mjs.js.map", - "mjs.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/entry.mjs\\"],\\"names\\":[\\"test\\",\\"console\\",\\"log\\",\\"b\\",\\"module\\",\\"exports\\"],\\"mappings\\":\\"mBAIA,SAASA,IAEPC,QAAQC,IAAIC,IAGdH,IAEAI,OAAOC,QAAUL,G\\",\\"file\\":\\"mjs.js\\",\\"sourcesContent\\":[\\"// foo\\\\n// bar\\\\nconst a = 2 + 2;\\\\n\\\\nfunction test() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2 + a);\\\\n}\\\\n\\\\ntest();\\\\n\\\\nmodule.exports = test;\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "mjs.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.mjs" + ], + "names": [ + "test", + "console", + "log", + "b", + "module", + "exports" + ], + "mappings": "mBAIA,SAASA,IAEPC,QAAQC,IAAIC,IAGdH,IAEAI,OAAOC,QAAUL,G", + "file": "mjs.js", + "sourcesContent": [ + "// foo\\n// bar\\nconst a = 2 + 2;\\n\\nfunction test() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2 + a);\\n}\\n\\ntest();\\n\\nmodule.exports = test;\\n" + ], + "sourceRoot": "" +}, } `; @@ -699,19 +1533,242 @@ exports[`TerserPlugin should work with source map and use memory cache when the Object { "598.598.js": "(self.webpackChunkterser_webpack_plugin=self.webpackChunkterser_webpack_plugin||[]).push([[598],{598:(e,s,p)=>{\\"use strict\\";p.r(s),p.d(s,{default:()=>c});const c=\\"async-dep\\"}}]); //# sourceMappingURL=598.598.js.map", - "598.598.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/async-import-export/async-dep.js\\"],\\"names\\":[],\\"mappings\\":\\"0JAAA\\",\\"file\\":\\"598.598.js\\",\\"sourcesContent\\":[\\"export default \\\\\\"async-dep\\\\\\";\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "598.598.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/async-import-export/async-dep.js" + ], + "names": [], + "mappings": "0JAAA", + "file": "598.598.js", + "sourcesContent": [ + "export default \\"async-dep\\";\\n" + ], + "sourceRoot": "" +}, "AsyncImportExport.js": "(()=>{\\"use strict\\";var e,r,t={},o={};function n(e){if(o[e])return o[e].exports;var r=o[e]={exports:{}};return t[e](r,r.exports,n),r.exports}n.m=t,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+\\".\\"+e+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r=\\"terser-webpack-plugin:\\",n.l=(t,o,i,a)=>{if(e[t])e[t].push(o);else{var l,u;if(void 0!==i)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{l.onerror=l.onload=null,clearTimeout(f);var n=e[t];if(delete e[t],l.parentNode&&l.parentNode.removeChild(l),n&&n.forEach((e=>e(o))),r)return r(o)},f=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),u&&document.head.appendChild(l)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");t.length&&(e=t[t.length-1].src)}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={988:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var i=new Promise(((t,n)=>{o=e[r]=[t,n]}));t.push(o[2]=i);var a=n.p+n.u(r),l=new Error;n.l(a,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,o[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{for(var o,i,[a,l,u]=t,c=0,s=[];c{console.log(\\"Good\\")}))})(); //# sourceMappingURL=AsyncImportExport.js.map", - "AsyncImportExport.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/webpack/runtime/load script\\",\\"webpack://terser-webpack-plugin/webpack/bootstrap\\",\\"webpack://terser-webpack-plugin/webpack/runtime/define property getters\\",\\"webpack://terser-webpack-plugin/webpack/runtime/ensure chunk\\",\\"webpack://terser-webpack-plugin/webpack/runtime/get javascript chunk filename\\",\\"webpack://terser-webpack-plugin/webpack/runtime/global\\",\\"webpack://terser-webpack-plugin/webpack/runtime/hasOwnProperty shorthand\\",\\"webpack://terser-webpack-plugin/webpack/runtime/make namespace object\\",\\"webpack://terser-webpack-plugin/webpack/runtime/publicPath\\",\\"webpack://terser-webpack-plugin/webpack/runtime/jsonp chunk loading\\",\\"webpack://terser-webpack-plugin/./test/fixtures/async-import-export/entry.js\\"],\\"names\\":[\\"inProgress\\",\\"dataWebpackPrefix\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"exports\\",\\"module\\",\\"__webpack_modules__\\",\\"m\\",\\"d\\",\\"definition\\",\\"key\\",\\"o\\",\\"Object\\",\\"defineProperty\\",\\"enumerable\\",\\"get\\",\\"f\\",\\"e\\",\\"chunkId\\",\\"Promise\\",\\"all\\",\\"keys\\",\\"reduce\\",\\"promises\\",\\"u\\",\\"g\\",\\"globalThis\\",\\"this\\",\\"Function\\",\\"window\\",\\"obj\\",\\"prop\\",\\"prototype\\",\\"hasOwnProperty\\",\\"call\\",\\"l\\",\\"url\\",\\"done\\",\\"push\\",\\"script\\",\\"needAttach\\",\\"undefined\\",\\"scripts\\",\\"document\\",\\"getElementsByTagName\\",\\"i\\",\\"length\\",\\"s\\",\\"getAttribute\\",\\"createElement\\",\\"charset\\",\\"timeout\\",\\"nc\\",\\"setAttribute\\",\\"src\\",\\"onScriptComplete\\",\\"prev\\",\\"event\\",\\"onerror\\",\\"onload\\",\\"clearTimeout\\",\\"doneFns\\",\\"parentNode\\",\\"removeChild\\",\\"forEach\\",\\"fn\\",\\"setTimeout\\",\\"bind\\",\\"type\\",\\"target\\",\\"head\\",\\"appendChild\\",\\"r\\",\\"Symbol\\",\\"toStringTag\\",\\"value\\",\\"scriptUrl\\",\\"importScripts\\",\\"location\\",\\"currentScript\\",\\"Error\\",\\"replace\\",\\"p\\",\\"installedChunks\\",\\"988\\",\\"j\\",\\"installedChunkData\\",\\"promise\\",\\"resolve\\",\\"reject\\",\\"error\\",\\"errorType\\",\\"realSrc\\",\\"message\\",\\"name\\",\\"request\\",\\"webpackJsonpCallback\\",\\"parentChunkLoadingFunction\\",\\"data\\",\\"chunkIds\\",\\"moreModules\\",\\"runtime\\",\\"resolves\\",\\"shift\\",\\"chunkLoadingGlobal\\",\\"self\\",\\"then\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"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\\",\\"file\\":\\"AsyncImportExport.js\\",\\"sourcesContent\\":[\\"var inProgress = {};\\\\nvar dataWebpackPrefix = \\\\\\"terser-webpack-plugin:\\\\\\";\\\\n// loadScript function to load a script via script tag\\\\n__webpack_require__.l = (url, done, key, chunkId) => {\\\\n\\\\tif(inProgress[url]) { inProgress[url].push(done); return; }\\\\n\\\\tvar script, needAttach;\\\\n\\\\tif(key !== undefined) {\\\\n\\\\t\\\\tvar scripts = document.getElementsByTagName(\\\\\\"script\\\\\\");\\\\n\\\\t\\\\tfor(var i = 0; i < scripts.length; i++) {\\\\n\\\\t\\\\t\\\\tvar s = scripts[i];\\\\n\\\\t\\\\t\\\\tif(s.getAttribute(\\\\\\"src\\\\\\") == url || s.getAttribute(\\\\\\"data-webpack\\\\\\") == dataWebpackPrefix + key) { script = s; break; }\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n\\\\tif(!script) {\\\\n\\\\t\\\\tneedAttach = true;\\\\n\\\\t\\\\tscript = document.createElement('script');\\\\n\\\\n\\\\t\\\\tscript.charset = 'utf-8';\\\\n\\\\t\\\\tscript.timeout = 120;\\\\n\\\\t\\\\tif (__webpack_require__.nc) {\\\\n\\\\t\\\\t\\\\tscript.setAttribute(\\\\\\"nonce\\\\\\", __webpack_require__.nc);\\\\n\\\\t\\\\t}\\\\n\\\\t\\\\tscript.setAttribute(\\\\\\"data-webpack\\\\\\", dataWebpackPrefix + key);\\\\n\\\\t\\\\tscript.src = url;\\\\n\\\\t}\\\\n\\\\tinProgress[url] = [done];\\\\n\\\\tvar onScriptComplete = (prev, event) => {\\\\n\\\\t\\\\t// avoid mem leaks in IE.\\\\n\\\\t\\\\tscript.onerror = script.onload = null;\\\\n\\\\t\\\\tclearTimeout(timeout);\\\\n\\\\t\\\\tvar doneFns = inProgress[url];\\\\n\\\\t\\\\tdelete inProgress[url];\\\\n\\\\t\\\\tscript.parentNode && script.parentNode.removeChild(script);\\\\n\\\\t\\\\tdoneFns && doneFns.forEach((fn) => fn(event));\\\\n\\\\t\\\\tif(prev) return prev(event);\\\\n\\\\t}\\\\n\\\\t;\\\\n\\\\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\\\\n\\\\tscript.onerror = onScriptComplete.bind(null, script.onerror);\\\\n\\\\tscript.onload = onScriptComplete.bind(null, script.onload);\\\\n\\\\tneedAttach && document.head.appendChild(script);\\\\n};\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tif(__webpack_module_cache__[moduleId]) {\\\\n\\\\t\\\\treturn __webpack_module_cache__[moduleId].exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n// expose the modules object (__webpack_modules__)\\\\n__webpack_require__.m = __webpack_modules__;\\\\n\\\\n\\",\\"// define getter functions for harmony exports\\\\n__webpack_require__.d = (exports, definition) => {\\\\n\\\\tfor(var key in definition) {\\\\n\\\\t\\\\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\\\\n\\\\t\\\\t\\\\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n};\\",\\"__webpack_require__.f = {};\\\\n// This file contains only the entry chunk.\\\\n// The chunk loading function for additional chunks\\\\n__webpack_require__.e = (chunkId) => {\\\\n\\\\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\\\\n\\\\t\\\\t__webpack_require__.f[key](chunkId, promises);\\\\n\\\\t\\\\treturn promises;\\\\n\\\\t}, []));\\\\n};\\",\\"// This function allow to reference async chunks\\\\n__webpack_require__.u = (chunkId) => {\\\\n\\\\t// return url for filenames based on template\\\\n\\\\treturn \\\\\\"\\\\\\" + chunkId + \\\\\\".\\\\\\" + chunkId + \\\\\\".js\\\\\\";\\\\n};\\",\\"__webpack_require__.g = (function() {\\\\n\\\\tif (typeof globalThis === 'object') return globalThis;\\\\n\\\\ttry {\\\\n\\\\t\\\\treturn this || new Function('return this')();\\\\n\\\\t} catch (e) {\\\\n\\\\t\\\\tif (typeof window === 'object') return window;\\\\n\\\\t}\\\\n})();\\",\\"__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\\",\\"// define __esModule on exports\\\\n__webpack_require__.r = (exports) => {\\\\n\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n\\\\t}\\\\n\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n};\\",\\"var scriptUrl;\\\\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\\\\\"\\\\\\";\\\\nvar document = __webpack_require__.g.document;\\\\nif (!scriptUrl && document) {\\\\n\\\\tif (document.currentScript)\\\\n\\\\t\\\\tscriptUrl = document.currentScript.src\\\\n\\\\tif (!scriptUrl) {\\\\n\\\\t\\\\tvar scripts = document.getElementsByTagName(\\\\\\"script\\\\\\");\\\\n\\\\t\\\\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\\\\n\\\\t}\\\\n}\\\\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\\\\n// or pass an empty string (\\\\\\"\\\\\\") and set the __webpack_public_path__ variable from your code to use your own logic.\\\\nif (!scriptUrl) throw new Error(\\\\\\"Automatic publicPath is not supported in this browser\\\\\\");\\\\nscriptUrl = scriptUrl.replace(/#.*$/, \\\\\\"\\\\\\").replace(/\\\\\\\\?.*$/, \\\\\\"\\\\\\").replace(/\\\\\\\\/[^\\\\\\\\/]+$/, \\\\\\"/\\\\\\");\\\\n__webpack_require__.p = scriptUrl;\\",\\"// no baseURI\\\\n\\\\n// object to store loaded and loading chunks\\\\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\\\\n// Promise = chunk loading, 0 = chunk loaded\\\\nvar installedChunks = {\\\\n\\\\t988: 0\\\\n};\\\\n\\\\n\\\\n__webpack_require__.f.j = (chunkId, promises) => {\\\\n\\\\t\\\\t// JSONP chunk loading for javascript\\\\n\\\\t\\\\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\\\\n\\\\t\\\\tif(installedChunkData !== 0) { // 0 means \\\\\\"already installed\\\\\\".\\\\n\\\\n\\\\t\\\\t\\\\t// a Promise means \\\\\\"currently loading\\\\\\".\\\\n\\\\t\\\\t\\\\tif(installedChunkData) {\\\\n\\\\t\\\\t\\\\t\\\\tpromises.push(installedChunkData[2]);\\\\n\\\\t\\\\t\\\\t} else {\\\\n\\\\t\\\\t\\\\t\\\\tif(true) { // all chunks have JS\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// setup Promise in chunk cache\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar promise = new Promise((resolve, reject) => {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t});\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tpromises.push(installedChunkData[2] = promise);\\\\n\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// start chunk loading\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// create error before stack unwound to get useful stacktrace later\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar error = new Error();\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar loadingEnded = (event) => {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(__webpack_require__.o(installedChunks, chunkId)) {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData = installedChunks[chunkId];\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(installedChunkData) {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tvar realSrc = event && event.target && event.target.src;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.message = 'Loading chunk ' + chunkId + ' failed.\\\\\\\\n(' + errorType + ': ' + realSrc + ')';\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.name = 'ChunkLoadError';\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.type = errorType;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.request = realSrc;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData[1](error);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t};\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t__webpack_require__.l(url, loadingEnded, \\\\\\"chunk-\\\\\\" + chunkId, chunkId);\\\\n\\\\t\\\\t\\\\t\\\\t} else installedChunks[chunkId] = 0;\\\\n\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t}\\\\n};\\\\n\\\\n// no prefetching\\\\n\\\\n// no preloaded\\\\n\\\\n// no HMR\\\\n\\\\n// no HMR manifest\\\\n\\\\n// no deferred startup\\\\n\\\\n// install a JSONP callback for chunk loading\\\\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\\\\n\\\\tvar [chunkIds, moreModules, runtime] = data;\\\\n\\\\t// add \\\\\\"moreModules\\\\\\" to the modules object,\\\\n\\\\t// then flag all \\\\\\"chunkIds\\\\\\" as loaded and fire callback\\\\n\\\\tvar moduleId, chunkId, i = 0, resolves = [];\\\\n\\\\tfor(;i < chunkIds.length; i++) {\\\\n\\\\t\\\\tchunkId = chunkIds[i];\\\\n\\\\t\\\\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\\\\n\\\\t\\\\t\\\\tresolves.push(installedChunks[chunkId][0]);\\\\n\\\\t\\\\t}\\\\n\\\\t\\\\tinstalledChunks[chunkId] = 0;\\\\n\\\\t}\\\\n\\\\tfor(moduleId in moreModules) {\\\\n\\\\t\\\\tif(__webpack_require__.o(moreModules, moduleId)) {\\\\n\\\\t\\\\t\\\\t__webpack_require__.m[moduleId] = moreModules[moduleId];\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n\\\\tif(runtime) runtime(__webpack_require__);\\\\n\\\\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\\\\n\\\\twhile(resolves.length) {\\\\n\\\\t\\\\tresolves.shift()();\\\\n\\\\t}\\\\n\\\\n}\\\\n\\\\nvar chunkLoadingGlobal = self[\\\\\\"webpackChunkterser_webpack_plugin\\\\\\"] = self[\\\\\\"webpackChunkterser_webpack_plugin\\\\\\"] || [];\\\\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\\\\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\\\\n\\\\n// no deferred startup\\",\\"import(\\\\\\"./async-dep\\\\\\").then(() => {\\\\n console.log('Good')\\\\n});\\\\n\\\\nexport default \\\\\\"Awesome\\\\\\";\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "AsyncImportExport.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/webpack/runtime/load script", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/runtime/define property getters", + "webpack://terser-webpack-plugin/webpack/runtime/ensure chunk", + "webpack://terser-webpack-plugin/webpack/runtime/get javascript chunk filename", + "webpack://terser-webpack-plugin/webpack/runtime/global", + "webpack://terser-webpack-plugin/webpack/runtime/hasOwnProperty shorthand", + "webpack://terser-webpack-plugin/webpack/runtime/make namespace object", + "webpack://terser-webpack-plugin/webpack/runtime/publicPath", + "webpack://terser-webpack-plugin/webpack/runtime/jsonp chunk loading", + "webpack://terser-webpack-plugin/./test/fixtures/async-import-export/entry.js" + ], + "names": [ + "inProgress", + "dataWebpackPrefix", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "exports", + "module", + "__webpack_modules__", + "m", + "d", + "definition", + "key", + "o", + "Object", + "defineProperty", + "enumerable", + "get", + "f", + "e", + "chunkId", + "Promise", + "all", + "keys", + "reduce", + "promises", + "u", + "g", + "globalThis", + "this", + "Function", + "window", + "obj", + "prop", + "prototype", + "hasOwnProperty", + "call", + "l", + "url", + "done", + "push", + "script", + "needAttach", + "undefined", + "scripts", + "document", + "getElementsByTagName", + "i", + "length", + "s", + "getAttribute", + "createElement", + "charset", + "timeout", + "nc", + "setAttribute", + "src", + "onScriptComplete", + "prev", + "event", + "onerror", + "onload", + "clearTimeout", + "doneFns", + "parentNode", + "removeChild", + "forEach", + "fn", + "setTimeout", + "bind", + "type", + "target", + "head", + "appendChild", + "r", + "Symbol", + "toStringTag", + "value", + "scriptUrl", + "importScripts", + "location", + "currentScript", + "Error", + "replace", + "p", + "installedChunks", + "988", + "j", + "installedChunkData", + "promise", + "resolve", + "reject", + "error", + "errorType", + "realSrc", + "message", + "name", + "request", + "webpackJsonpCallback", + "parentChunkLoadingFunction", + "data", + "chunkIds", + "moreModules", + "runtime", + "resolves", + "shift", + "chunkLoadingGlobal", + "self", + "then", + "console", + "log" + ], + "mappings": "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", + "file": "AsyncImportExport.js", + "sourcesContent": [ + "var inProgress = {};\\nvar dataWebpackPrefix = \\"terser-webpack-plugin:\\";\\n// loadScript function to load a script via script tag\\n__webpack_require__.l = (url, done, key, chunkId) => {\\n\\tif(inProgress[url]) { inProgress[url].push(done); return; }\\n\\tvar script, needAttach;\\n\\tif(key !== undefined) {\\n\\t\\tvar scripts = document.getElementsByTagName(\\"script\\");\\n\\t\\tfor(var i = 0; i < scripts.length; i++) {\\n\\t\\t\\tvar s = scripts[i];\\n\\t\\t\\tif(s.getAttribute(\\"src\\") == url || s.getAttribute(\\"data-webpack\\") == dataWebpackPrefix + key) { script = s; break; }\\n\\t\\t}\\n\\t}\\n\\tif(!script) {\\n\\t\\tneedAttach = true;\\n\\t\\tscript = document.createElement('script');\\n\\n\\t\\tscript.charset = 'utf-8';\\n\\t\\tscript.timeout = 120;\\n\\t\\tif (__webpack_require__.nc) {\\n\\t\\t\\tscript.setAttribute(\\"nonce\\", __webpack_require__.nc);\\n\\t\\t}\\n\\t\\tscript.setAttribute(\\"data-webpack\\", dataWebpackPrefix + key);\\n\\t\\tscript.src = url;\\n\\t}\\n\\tinProgress[url] = [done];\\n\\tvar onScriptComplete = (prev, event) => {\\n\\t\\t// avoid mem leaks in IE.\\n\\t\\tscript.onerror = script.onload = null;\\n\\t\\tclearTimeout(timeout);\\n\\t\\tvar doneFns = inProgress[url];\\n\\t\\tdelete inProgress[url];\\n\\t\\tscript.parentNode && script.parentNode.removeChild(script);\\n\\t\\tdoneFns && doneFns.forEach((fn) => fn(event));\\n\\t\\tif(prev) return prev(event);\\n\\t}\\n\\t;\\n\\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\\n\\tscript.onerror = onScriptComplete.bind(null, script.onerror);\\n\\tscript.onload = onScriptComplete.bind(null, script.onload);\\n\\tneedAttach && document.head.appendChild(script);\\n};", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n// expose the modules object (__webpack_modules__)\\n__webpack_require__.m = __webpack_modules__;\\n\\n", + "// define getter functions for harmony exports\\n__webpack_require__.d = (exports, definition) => {\\n\\tfor(var key in definition) {\\n\\t\\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\\n\\t\\t\\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\\n\\t\\t}\\n\\t}\\n};", + "__webpack_require__.f = {};\\n// This file contains only the entry chunk.\\n// The chunk loading function for additional chunks\\n__webpack_require__.e = (chunkId) => {\\n\\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\\n\\t\\t__webpack_require__.f[key](chunkId, promises);\\n\\t\\treturn promises;\\n\\t}, []));\\n};", + "// This function allow to reference async chunks\\n__webpack_require__.u = (chunkId) => {\\n\\t// return url for filenames based on template\\n\\treturn \\"\\" + chunkId + \\".\\" + chunkId + \\".js\\";\\n};", + "__webpack_require__.g = (function() {\\n\\tif (typeof globalThis === 'object') return globalThis;\\n\\ttry {\\n\\t\\treturn this || new Function('return this')();\\n\\t} catch (e) {\\n\\t\\tif (typeof window === 'object') return window;\\n\\t}\\n})();", + "__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)", + "// define __esModule on exports\\n__webpack_require__.r = (exports) => {\\n\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\n\\t\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\n\\t}\\n\\tObject.defineProperty(exports, '__esModule', { value: true });\\n};", + "var scriptUrl;\\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\";\\nvar document = __webpack_require__.g.document;\\nif (!scriptUrl && document) {\\n\\tif (document.currentScript)\\n\\t\\tscriptUrl = document.currentScript.src\\n\\tif (!scriptUrl) {\\n\\t\\tvar scripts = document.getElementsByTagName(\\"script\\");\\n\\t\\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\\n\\t}\\n}\\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\\n// or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic.\\nif (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\");\\nscriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\");\\n__webpack_require__.p = scriptUrl;", + "// no baseURI\\n\\n// object to store loaded and loading chunks\\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\\n// Promise = chunk loading, 0 = chunk loaded\\nvar installedChunks = {\\n\\t988: 0\\n};\\n\\n\\n__webpack_require__.f.j = (chunkId, promises) => {\\n\\t\\t// JSONP chunk loading for javascript\\n\\t\\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\\n\\t\\tif(installedChunkData !== 0) { // 0 means \\"already installed\\".\\n\\n\\t\\t\\t// a Promise means \\"currently loading\\".\\n\\t\\t\\tif(installedChunkData) {\\n\\t\\t\\t\\tpromises.push(installedChunkData[2]);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif(true) { // all chunks have JS\\n\\t\\t\\t\\t\\t// setup Promise in chunk cache\\n\\t\\t\\t\\t\\tvar promise = new Promise((resolve, reject) => {\\n\\t\\t\\t\\t\\t\\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\tpromises.push(installedChunkData[2] = promise);\\n\\n\\t\\t\\t\\t\\t// start chunk loading\\n\\t\\t\\t\\t\\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\\n\\t\\t\\t\\t\\t// create error before stack unwound to get useful stacktrace later\\n\\t\\t\\t\\t\\tvar error = new Error();\\n\\t\\t\\t\\t\\tvar loadingEnded = (event) => {\\n\\t\\t\\t\\t\\t\\tif(__webpack_require__.o(installedChunks, chunkId)) {\\n\\t\\t\\t\\t\\t\\t\\tinstalledChunkData = installedChunks[chunkId];\\n\\t\\t\\t\\t\\t\\t\\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\\n\\t\\t\\t\\t\\t\\t\\tif(installedChunkData) {\\n\\t\\t\\t\\t\\t\\t\\t\\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\\n\\t\\t\\t\\t\\t\\t\\t\\tvar realSrc = event && event.target && event.target.src;\\n\\t\\t\\t\\t\\t\\t\\t\\terror.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')';\\n\\t\\t\\t\\t\\t\\t\\t\\terror.name = 'ChunkLoadError';\\n\\t\\t\\t\\t\\t\\t\\t\\terror.type = errorType;\\n\\t\\t\\t\\t\\t\\t\\t\\terror.request = realSrc;\\n\\t\\t\\t\\t\\t\\t\\t\\tinstalledChunkData[1](error);\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t__webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId);\\n\\t\\t\\t\\t} else installedChunks[chunkId] = 0;\\n\\t\\t\\t}\\n\\t\\t}\\n};\\n\\n// no prefetching\\n\\n// no preloaded\\n\\n// no HMR\\n\\n// no HMR manifest\\n\\n// no deferred startup\\n\\n// install a JSONP callback for chunk loading\\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\\n\\tvar [chunkIds, moreModules, runtime] = data;\\n\\t// add \\"moreModules\\" to the modules object,\\n\\t// then flag all \\"chunkIds\\" as loaded and fire callback\\n\\tvar moduleId, chunkId, i = 0, resolves = [];\\n\\tfor(;i < chunkIds.length; i++) {\\n\\t\\tchunkId = chunkIds[i];\\n\\t\\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\\n\\t\\t\\tresolves.push(installedChunks[chunkId][0]);\\n\\t\\t}\\n\\t\\tinstalledChunks[chunkId] = 0;\\n\\t}\\n\\tfor(moduleId in moreModules) {\\n\\t\\tif(__webpack_require__.o(moreModules, moduleId)) {\\n\\t\\t\\t__webpack_require__.m[moduleId] = moreModules[moduleId];\\n\\t\\t}\\n\\t}\\n\\tif(runtime) runtime(__webpack_require__);\\n\\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\\n\\twhile(resolves.length) {\\n\\t\\tresolves.shift()();\\n\\t}\\n\\n}\\n\\nvar chunkLoadingGlobal = self[\\"webpackChunkterser_webpack_plugin\\"] = self[\\"webpackChunkterser_webpack_plugin\\"] || [];\\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\\n\\n// no deferred startup", + "import(\\"./async-dep\\").then(() => {\\n console.log('Good')\\n});\\n\\nexport default \\"Awesome\\";\\n" + ], + "sourceRoot": "" +}, "importExport.js": "(()=>{\\"use strict\\";function o(){const o=\`baz\${Math.random()}\`;return()=>({a:\\"foobar\\"+o,b:\\"foo\\",baz:o})}console.log(o())})(); //# sourceMappingURL=importExport.js.map", - "importExport.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/import-export/entry.js\\",\\"webpack://terser-webpack-plugin/./test/fixtures/import-export/dep.js\\"],\\"names\\":[\\"Foo\\",\\"baz\\",\\"Math\\",\\"random\\",\\"a\\",\\"b\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"mBAEA,SAASA,IACP,MACMC,EAAM,MAAMC,KAAKC,WACvB,MAAO,KACE,CACLC,EAAGC,SAAUJ,EACbI,ECPN,MDQMJ,QAKNK,QAAQC,IAAIP,M\\",\\"file\\":\\"importExport.js\\",\\"sourcesContent\\":[\\"import foo, { bar } from './dep';\\\\n\\\\nfunction Foo() {\\\\n const b = foo;\\\\n const baz = \`baz\${Math.random()}\`;\\\\n return () => {\\\\n return {\\\\n a: b + bar + baz,\\\\n b,\\\\n baz,\\\\n };\\\\n };\\\\n}\\\\n\\\\nconsole.log(Foo());\\\\n\\\\nexport default Foo;\\\\n\\",\\"export const bar = 'bar';\\\\nexport default 'foo';\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "importExport.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/import-export/entry.js", + "webpack://terser-webpack-plugin/./test/fixtures/import-export/dep.js" + ], + "names": [ + "Foo", + "baz", + "Math", + "random", + "a", + "b", + "console", + "log" + ], + "mappings": "mBAEA,SAASA,IACP,MACMC,EAAM,MAAMC,KAAKC,WACvB,MAAO,KACE,CACLC,EAAGC,SAAUJ,EACbI,ECPN,MDQMJ,QAKNK,QAAQC,IAAIP,M", + "file": "importExport.js", + "sourcesContent": [ + "import foo, { bar } from './dep';\\n\\nfunction Foo() {\\n const b = foo;\\n const baz = \`baz\${Math.random()}\`;\\n return () => {\\n return {\\n a: b + bar + baz,\\n b,\\n baz,\\n };\\n };\\n}\\n\\nconsole.log(Foo());\\n\\nexport default Foo;\\n", + "export const bar = 'bar';\\nexport default 'foo';\\n" + ], + "sourceRoot": "" +}, "js.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); //# sourceMappingURL=js.js.map", - "js.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/entry.js\\",\\"webpack://terser-webpack-plugin/webpack/bootstrap\\",\\"webpack://terser-webpack-plugin/webpack/startup\\"],\\"names\\":[\\"module\\",\\"exports\\",\\"console\\",\\"log\\",\\"b\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"__webpack_modules__\\"],\\"mappings\\":\\"qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M\\",\\"file\\":\\"js.js\\",\\"sourcesContent\\":[\\"// foo\\\\n/* @preserve*/\\\\n// bar\\\\nconst a = 2 + 2;\\\\n\\\\nmodule.exports = function Foo() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2);\\\\n};\\\\n\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tif(__webpack_module_cache__[moduleId]) {\\\\n\\\\t\\\\treturn __webpack_module_cache__[moduleId].exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n\\",\\"// startup\\\\n// Load entry module\\\\n// This entry module is referenced by other modules so it can't be inlined\\\\n__webpack_require__(791);\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "js.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "js.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, "mjs.js": "(()=>{\\"use strict\\";function o(){console.log(11)}o(),module.exports=o})(); //# sourceMappingURL=mjs.js.map", - "mjs.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/entry.mjs\\"],\\"names\\":[\\"test\\",\\"console\\",\\"log\\",\\"b\\",\\"module\\",\\"exports\\"],\\"mappings\\":\\"mBAIA,SAASA,IAEPC,QAAQC,IAAIC,IAGdH,IAEAI,OAAOC,QAAUL,G\\",\\"file\\":\\"mjs.js\\",\\"sourcesContent\\":[\\"// foo\\\\n// bar\\\\nconst a = 2 + 2;\\\\n\\\\nfunction test() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2 + a);\\\\n}\\\\n\\\\ntest();\\\\n\\\\nmodule.exports = test;\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "mjs.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.mjs" + ], + "names": [ + "test", + "console", + "log", + "b", + "module", + "exports" + ], + "mappings": "mBAIA,SAASA,IAEPC,QAAQC,IAAIC,IAGdH,IAEAI,OAAOC,QAAUL,G", + "file": "mjs.js", + "sourcesContent": [ + "// foo\\n// bar\\nconst a = 2 + 2;\\n\\nfunction test() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2 + a);\\n}\\n\\ntest();\\n\\nmodule.exports = test;\\n" + ], + "sourceRoot": "" +}, } `; @@ -719,19 +1776,242 @@ exports[`TerserPlugin should work with source map and use memory cache when the Object { "598.598.js": "(self.webpackChunkterser_webpack_plugin=self.webpackChunkterser_webpack_plugin||[]).push([[598],{598:(e,s,p)=>{\\"use strict\\";p.r(s),p.d(s,{default:()=>c});const c=\\"async-dep\\"}}]); //# sourceMappingURL=598.598.js.map", - "598.598.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/async-import-export/async-dep.js\\"],\\"names\\":[],\\"mappings\\":\\"0JAAA\\",\\"file\\":\\"598.598.js\\",\\"sourcesContent\\":[\\"export default \\\\\\"async-dep\\\\\\";\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "598.598.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/async-import-export/async-dep.js" + ], + "names": [], + "mappings": "0JAAA", + "file": "598.598.js", + "sourcesContent": [ + "export default \\"async-dep\\";\\n" + ], + "sourceRoot": "" +}, "AsyncImportExport.js": "(()=>{\\"use strict\\";var e,r,t={},o={};function n(e){if(o[e])return o[e].exports;var r=o[e]={exports:{}};return t[e](r,r.exports,n),r.exports}n.m=t,n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+\\".\\"+e+\\".js\\",n.g=function(){if(\\"object\\"==typeof globalThis)return globalThis;try{return this||new Function(\\"return this\\")()}catch(e){if(\\"object\\"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r=\\"terser-webpack-plugin:\\",n.l=(t,o,i,a)=>{if(e[t])e[t].push(o);else{var l,u;if(void 0!==i)for(var c=document.getElementsByTagName(\\"script\\"),s=0;s{l.onerror=l.onload=null,clearTimeout(f);var n=e[t];if(delete e[t],l.parentNode&&l.parentNode.removeChild(l),n&&n.forEach((e=>e(o))),r)return r(o)},f=setTimeout(d.bind(null,void 0,{type:\\"timeout\\",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),u&&document.head.appendChild(l)}},n.r=e=>{\\"undefined\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})},(()=>{var e;n.g.importScripts&&(e=n.g.location+\\"\\");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName(\\"script\\");t.length&&(e=t[t.length-1].src)}if(!e)throw new Error(\\"Automatic publicPath is not supported in this browser\\");e=e.replace(/#.*$/,\\"\\").replace(/\\\\?.*$/,\\"\\").replace(/\\\\/[^\\\\/]+$/,\\"/\\"),n.p=e})(),(()=>{var e={988:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var i=new Promise(((t,n)=>{o=e[r]=[t,n]}));t.push(o[2]=i);var a=n.p+n.u(r),l=new Error;n.l(a,(t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var i=t&&(\\"load\\"===t.type?\\"missing\\":t.type),a=t&&t.target&&t.target.src;l.message=\\"Loading chunk \\"+r+\\" failed.\\\\n(\\"+i+\\": \\"+a+\\")\\",l.name=\\"ChunkLoadError\\",l.type=i,l.request=a,o[1](l)}}),\\"chunk-\\"+r,r)}};var r=(r,t)=>{for(var o,i,[a,l,u]=t,c=0,s=[];c{console.log(\\"Good\\")}))})(); //# sourceMappingURL=AsyncImportExport.js.map", - "AsyncImportExport.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/webpack/runtime/load script\\",\\"webpack://terser-webpack-plugin/webpack/bootstrap\\",\\"webpack://terser-webpack-plugin/webpack/runtime/define property getters\\",\\"webpack://terser-webpack-plugin/webpack/runtime/ensure chunk\\",\\"webpack://terser-webpack-plugin/webpack/runtime/get javascript chunk filename\\",\\"webpack://terser-webpack-plugin/webpack/runtime/global\\",\\"webpack://terser-webpack-plugin/webpack/runtime/hasOwnProperty shorthand\\",\\"webpack://terser-webpack-plugin/webpack/runtime/make namespace object\\",\\"webpack://terser-webpack-plugin/webpack/runtime/publicPath\\",\\"webpack://terser-webpack-plugin/webpack/runtime/jsonp chunk loading\\",\\"webpack://terser-webpack-plugin/./test/fixtures/async-import-export/entry.js\\"],\\"names\\":[\\"inProgress\\",\\"dataWebpackPrefix\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"exports\\",\\"module\\",\\"__webpack_modules__\\",\\"m\\",\\"d\\",\\"definition\\",\\"key\\",\\"o\\",\\"Object\\",\\"defineProperty\\",\\"enumerable\\",\\"get\\",\\"f\\",\\"e\\",\\"chunkId\\",\\"Promise\\",\\"all\\",\\"keys\\",\\"reduce\\",\\"promises\\",\\"u\\",\\"g\\",\\"globalThis\\",\\"this\\",\\"Function\\",\\"window\\",\\"obj\\",\\"prop\\",\\"prototype\\",\\"hasOwnProperty\\",\\"call\\",\\"l\\",\\"url\\",\\"done\\",\\"push\\",\\"script\\",\\"needAttach\\",\\"undefined\\",\\"scripts\\",\\"document\\",\\"getElementsByTagName\\",\\"i\\",\\"length\\",\\"s\\",\\"getAttribute\\",\\"createElement\\",\\"charset\\",\\"timeout\\",\\"nc\\",\\"setAttribute\\",\\"src\\",\\"onScriptComplete\\",\\"prev\\",\\"event\\",\\"onerror\\",\\"onload\\",\\"clearTimeout\\",\\"doneFns\\",\\"parentNode\\",\\"removeChild\\",\\"forEach\\",\\"fn\\",\\"setTimeout\\",\\"bind\\",\\"type\\",\\"target\\",\\"head\\",\\"appendChild\\",\\"r\\",\\"Symbol\\",\\"toStringTag\\",\\"value\\",\\"scriptUrl\\",\\"importScripts\\",\\"location\\",\\"currentScript\\",\\"Error\\",\\"replace\\",\\"p\\",\\"installedChunks\\",\\"988\\",\\"j\\",\\"installedChunkData\\",\\"promise\\",\\"resolve\\",\\"reject\\",\\"error\\",\\"errorType\\",\\"realSrc\\",\\"message\\",\\"name\\",\\"request\\",\\"webpackJsonpCallback\\",\\"parentChunkLoadingFunction\\",\\"data\\",\\"chunkIds\\",\\"moreModules\\",\\"runtime\\",\\"resolves\\",\\"shift\\",\\"chunkLoadingGlobal\\",\\"self\\",\\"then\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"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\\",\\"file\\":\\"AsyncImportExport.js\\",\\"sourcesContent\\":[\\"var inProgress = {};\\\\nvar dataWebpackPrefix = \\\\\\"terser-webpack-plugin:\\\\\\";\\\\n// loadScript function to load a script via script tag\\\\n__webpack_require__.l = (url, done, key, chunkId) => {\\\\n\\\\tif(inProgress[url]) { inProgress[url].push(done); return; }\\\\n\\\\tvar script, needAttach;\\\\n\\\\tif(key !== undefined) {\\\\n\\\\t\\\\tvar scripts = document.getElementsByTagName(\\\\\\"script\\\\\\");\\\\n\\\\t\\\\tfor(var i = 0; i < scripts.length; i++) {\\\\n\\\\t\\\\t\\\\tvar s = scripts[i];\\\\n\\\\t\\\\t\\\\tif(s.getAttribute(\\\\\\"src\\\\\\") == url || s.getAttribute(\\\\\\"data-webpack\\\\\\") == dataWebpackPrefix + key) { script = s; break; }\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n\\\\tif(!script) {\\\\n\\\\t\\\\tneedAttach = true;\\\\n\\\\t\\\\tscript = document.createElement('script');\\\\n\\\\n\\\\t\\\\tscript.charset = 'utf-8';\\\\n\\\\t\\\\tscript.timeout = 120;\\\\n\\\\t\\\\tif (__webpack_require__.nc) {\\\\n\\\\t\\\\t\\\\tscript.setAttribute(\\\\\\"nonce\\\\\\", __webpack_require__.nc);\\\\n\\\\t\\\\t}\\\\n\\\\t\\\\tscript.setAttribute(\\\\\\"data-webpack\\\\\\", dataWebpackPrefix + key);\\\\n\\\\t\\\\tscript.src = url;\\\\n\\\\t}\\\\n\\\\tinProgress[url] = [done];\\\\n\\\\tvar onScriptComplete = (prev, event) => {\\\\n\\\\t\\\\t// avoid mem leaks in IE.\\\\n\\\\t\\\\tscript.onerror = script.onload = null;\\\\n\\\\t\\\\tclearTimeout(timeout);\\\\n\\\\t\\\\tvar doneFns = inProgress[url];\\\\n\\\\t\\\\tdelete inProgress[url];\\\\n\\\\t\\\\tscript.parentNode && script.parentNode.removeChild(script);\\\\n\\\\t\\\\tdoneFns && doneFns.forEach((fn) => fn(event));\\\\n\\\\t\\\\tif(prev) return prev(event);\\\\n\\\\t}\\\\n\\\\t;\\\\n\\\\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\\\\n\\\\tscript.onerror = onScriptComplete.bind(null, script.onerror);\\\\n\\\\tscript.onload = onScriptComplete.bind(null, script.onload);\\\\n\\\\tneedAttach && document.head.appendChild(script);\\\\n};\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tif(__webpack_module_cache__[moduleId]) {\\\\n\\\\t\\\\treturn __webpack_module_cache__[moduleId].exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n// expose the modules object (__webpack_modules__)\\\\n__webpack_require__.m = __webpack_modules__;\\\\n\\\\n\\",\\"// define getter functions for harmony exports\\\\n__webpack_require__.d = (exports, definition) => {\\\\n\\\\tfor(var key in definition) {\\\\n\\\\t\\\\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\\\\n\\\\t\\\\t\\\\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n};\\",\\"__webpack_require__.f = {};\\\\n// This file contains only the entry chunk.\\\\n// The chunk loading function for additional chunks\\\\n__webpack_require__.e = (chunkId) => {\\\\n\\\\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\\\\n\\\\t\\\\t__webpack_require__.f[key](chunkId, promises);\\\\n\\\\t\\\\treturn promises;\\\\n\\\\t}, []));\\\\n};\\",\\"// This function allow to reference async chunks\\\\n__webpack_require__.u = (chunkId) => {\\\\n\\\\t// return url for filenames based on template\\\\n\\\\treturn \\\\\\"\\\\\\" + chunkId + \\\\\\".\\\\\\" + chunkId + \\\\\\".js\\\\\\";\\\\n};\\",\\"__webpack_require__.g = (function() {\\\\n\\\\tif (typeof globalThis === 'object') return globalThis;\\\\n\\\\ttry {\\\\n\\\\t\\\\treturn this || new Function('return this')();\\\\n\\\\t} catch (e) {\\\\n\\\\t\\\\tif (typeof window === 'object') return window;\\\\n\\\\t}\\\\n})();\\",\\"__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\\",\\"// define __esModule on exports\\\\n__webpack_require__.r = (exports) => {\\\\n\\\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\\\n\\\\t\\\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\\\n\\\\t}\\\\n\\\\tObject.defineProperty(exports, '__esModule', { value: true });\\\\n};\\",\\"var scriptUrl;\\\\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\\\\\"\\\\\\";\\\\nvar document = __webpack_require__.g.document;\\\\nif (!scriptUrl && document) {\\\\n\\\\tif (document.currentScript)\\\\n\\\\t\\\\tscriptUrl = document.currentScript.src\\\\n\\\\tif (!scriptUrl) {\\\\n\\\\t\\\\tvar scripts = document.getElementsByTagName(\\\\\\"script\\\\\\");\\\\n\\\\t\\\\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\\\\n\\\\t}\\\\n}\\\\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\\\\n// or pass an empty string (\\\\\\"\\\\\\") and set the __webpack_public_path__ variable from your code to use your own logic.\\\\nif (!scriptUrl) throw new Error(\\\\\\"Automatic publicPath is not supported in this browser\\\\\\");\\\\nscriptUrl = scriptUrl.replace(/#.*$/, \\\\\\"\\\\\\").replace(/\\\\\\\\?.*$/, \\\\\\"\\\\\\").replace(/\\\\\\\\/[^\\\\\\\\/]+$/, \\\\\\"/\\\\\\");\\\\n__webpack_require__.p = scriptUrl;\\",\\"// no baseURI\\\\n\\\\n// object to store loaded and loading chunks\\\\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\\\\n// Promise = chunk loading, 0 = chunk loaded\\\\nvar installedChunks = {\\\\n\\\\t988: 0\\\\n};\\\\n\\\\n\\\\n__webpack_require__.f.j = (chunkId, promises) => {\\\\n\\\\t\\\\t// JSONP chunk loading for javascript\\\\n\\\\t\\\\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\\\\n\\\\t\\\\tif(installedChunkData !== 0) { // 0 means \\\\\\"already installed\\\\\\".\\\\n\\\\n\\\\t\\\\t\\\\t// a Promise means \\\\\\"currently loading\\\\\\".\\\\n\\\\t\\\\t\\\\tif(installedChunkData) {\\\\n\\\\t\\\\t\\\\t\\\\tpromises.push(installedChunkData[2]);\\\\n\\\\t\\\\t\\\\t} else {\\\\n\\\\t\\\\t\\\\t\\\\tif(true) { // all chunks have JS\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// setup Promise in chunk cache\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar promise = new Promise((resolve, reject) => {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t});\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tpromises.push(installedChunkData[2] = promise);\\\\n\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// start chunk loading\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t// create error before stack unwound to get useful stacktrace later\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar error = new Error();\\\\n\\\\t\\\\t\\\\t\\\\t\\\\tvar loadingEnded = (event) => {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(__webpack_require__.o(installedChunks, chunkId)) {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData = installedChunks[chunkId];\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tif(installedChunkData) {\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tvar realSrc = event && event.target && event.target.src;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.message = 'Loading chunk ' + chunkId + ' failed.\\\\\\\\n(' + errorType + ': ' + realSrc + ')';\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.name = 'ChunkLoadError';\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.type = errorType;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\terror.request = realSrc;\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\tinstalledChunkData[1](error);\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t};\\\\n\\\\t\\\\t\\\\t\\\\t\\\\t__webpack_require__.l(url, loadingEnded, \\\\\\"chunk-\\\\\\" + chunkId, chunkId);\\\\n\\\\t\\\\t\\\\t\\\\t} else installedChunks[chunkId] = 0;\\\\n\\\\t\\\\t\\\\t}\\\\n\\\\t\\\\t}\\\\n};\\\\n\\\\n// no prefetching\\\\n\\\\n// no preloaded\\\\n\\\\n// no HMR\\\\n\\\\n// no HMR manifest\\\\n\\\\n// no deferred startup\\\\n\\\\n// install a JSONP callback for chunk loading\\\\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\\\\n\\\\tvar [chunkIds, moreModules, runtime] = data;\\\\n\\\\t// add \\\\\\"moreModules\\\\\\" to the modules object,\\\\n\\\\t// then flag all \\\\\\"chunkIds\\\\\\" as loaded and fire callback\\\\n\\\\tvar moduleId, chunkId, i = 0, resolves = [];\\\\n\\\\tfor(;i < chunkIds.length; i++) {\\\\n\\\\t\\\\tchunkId = chunkIds[i];\\\\n\\\\t\\\\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\\\\n\\\\t\\\\t\\\\tresolves.push(installedChunks[chunkId][0]);\\\\n\\\\t\\\\t}\\\\n\\\\t\\\\tinstalledChunks[chunkId] = 0;\\\\n\\\\t}\\\\n\\\\tfor(moduleId in moreModules) {\\\\n\\\\t\\\\tif(__webpack_require__.o(moreModules, moduleId)) {\\\\n\\\\t\\\\t\\\\t__webpack_require__.m[moduleId] = moreModules[moduleId];\\\\n\\\\t\\\\t}\\\\n\\\\t}\\\\n\\\\tif(runtime) runtime(__webpack_require__);\\\\n\\\\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\\\\n\\\\twhile(resolves.length) {\\\\n\\\\t\\\\tresolves.shift()();\\\\n\\\\t}\\\\n\\\\n}\\\\n\\\\nvar chunkLoadingGlobal = self[\\\\\\"webpackChunkterser_webpack_plugin\\\\\\"] = self[\\\\\\"webpackChunkterser_webpack_plugin\\\\\\"] || [];\\\\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\\\\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\\\\n\\\\n// no deferred startup\\",\\"import(\\\\\\"./async-dep\\\\\\").then(() => {\\\\n console.log('Good')\\\\n});\\\\n\\\\nexport default \\\\\\"Awesome\\\\\\";\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "AsyncImportExport.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/webpack/runtime/load script", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/runtime/define property getters", + "webpack://terser-webpack-plugin/webpack/runtime/ensure chunk", + "webpack://terser-webpack-plugin/webpack/runtime/get javascript chunk filename", + "webpack://terser-webpack-plugin/webpack/runtime/global", + "webpack://terser-webpack-plugin/webpack/runtime/hasOwnProperty shorthand", + "webpack://terser-webpack-plugin/webpack/runtime/make namespace object", + "webpack://terser-webpack-plugin/webpack/runtime/publicPath", + "webpack://terser-webpack-plugin/webpack/runtime/jsonp chunk loading", + "webpack://terser-webpack-plugin/./test/fixtures/async-import-export/entry.js" + ], + "names": [ + "inProgress", + "dataWebpackPrefix", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "exports", + "module", + "__webpack_modules__", + "m", + "d", + "definition", + "key", + "o", + "Object", + "defineProperty", + "enumerable", + "get", + "f", + "e", + "chunkId", + "Promise", + "all", + "keys", + "reduce", + "promises", + "u", + "g", + "globalThis", + "this", + "Function", + "window", + "obj", + "prop", + "prototype", + "hasOwnProperty", + "call", + "l", + "url", + "done", + "push", + "script", + "needAttach", + "undefined", + "scripts", + "document", + "getElementsByTagName", + "i", + "length", + "s", + "getAttribute", + "createElement", + "charset", + "timeout", + "nc", + "setAttribute", + "src", + "onScriptComplete", + "prev", + "event", + "onerror", + "onload", + "clearTimeout", + "doneFns", + "parentNode", + "removeChild", + "forEach", + "fn", + "setTimeout", + "bind", + "type", + "target", + "head", + "appendChild", + "r", + "Symbol", + "toStringTag", + "value", + "scriptUrl", + "importScripts", + "location", + "currentScript", + "Error", + "replace", + "p", + "installedChunks", + "988", + "j", + "installedChunkData", + "promise", + "resolve", + "reject", + "error", + "errorType", + "realSrc", + "message", + "name", + "request", + "webpackJsonpCallback", + "parentChunkLoadingFunction", + "data", + "chunkIds", + "moreModules", + "runtime", + "resolves", + "shift", + "chunkLoadingGlobal", + "self", + "then", + "console", + "log" + ], + "mappings": "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", + "file": "AsyncImportExport.js", + "sourcesContent": [ + "var inProgress = {};\\nvar dataWebpackPrefix = \\"terser-webpack-plugin:\\";\\n// loadScript function to load a script via script tag\\n__webpack_require__.l = (url, done, key, chunkId) => {\\n\\tif(inProgress[url]) { inProgress[url].push(done); return; }\\n\\tvar script, needAttach;\\n\\tif(key !== undefined) {\\n\\t\\tvar scripts = document.getElementsByTagName(\\"script\\");\\n\\t\\tfor(var i = 0; i < scripts.length; i++) {\\n\\t\\t\\tvar s = scripts[i];\\n\\t\\t\\tif(s.getAttribute(\\"src\\") == url || s.getAttribute(\\"data-webpack\\") == dataWebpackPrefix + key) { script = s; break; }\\n\\t\\t}\\n\\t}\\n\\tif(!script) {\\n\\t\\tneedAttach = true;\\n\\t\\tscript = document.createElement('script');\\n\\n\\t\\tscript.charset = 'utf-8';\\n\\t\\tscript.timeout = 120;\\n\\t\\tif (__webpack_require__.nc) {\\n\\t\\t\\tscript.setAttribute(\\"nonce\\", __webpack_require__.nc);\\n\\t\\t}\\n\\t\\tscript.setAttribute(\\"data-webpack\\", dataWebpackPrefix + key);\\n\\t\\tscript.src = url;\\n\\t}\\n\\tinProgress[url] = [done];\\n\\tvar onScriptComplete = (prev, event) => {\\n\\t\\t// avoid mem leaks in IE.\\n\\t\\tscript.onerror = script.onload = null;\\n\\t\\tclearTimeout(timeout);\\n\\t\\tvar doneFns = inProgress[url];\\n\\t\\tdelete inProgress[url];\\n\\t\\tscript.parentNode && script.parentNode.removeChild(script);\\n\\t\\tdoneFns && doneFns.forEach((fn) => fn(event));\\n\\t\\tif(prev) return prev(event);\\n\\t}\\n\\t;\\n\\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\\n\\tscript.onerror = onScriptComplete.bind(null, script.onerror);\\n\\tscript.onload = onScriptComplete.bind(null, script.onload);\\n\\tneedAttach && document.head.appendChild(script);\\n};", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n// expose the modules object (__webpack_modules__)\\n__webpack_require__.m = __webpack_modules__;\\n\\n", + "// define getter functions for harmony exports\\n__webpack_require__.d = (exports, definition) => {\\n\\tfor(var key in definition) {\\n\\t\\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\\n\\t\\t\\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\\n\\t\\t}\\n\\t}\\n};", + "__webpack_require__.f = {};\\n// This file contains only the entry chunk.\\n// The chunk loading function for additional chunks\\n__webpack_require__.e = (chunkId) => {\\n\\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\\n\\t\\t__webpack_require__.f[key](chunkId, promises);\\n\\t\\treturn promises;\\n\\t}, []));\\n};", + "// This function allow to reference async chunks\\n__webpack_require__.u = (chunkId) => {\\n\\t// return url for filenames based on template\\n\\treturn \\"\\" + chunkId + \\".\\" + chunkId + \\".js\\";\\n};", + "__webpack_require__.g = (function() {\\n\\tif (typeof globalThis === 'object') return globalThis;\\n\\ttry {\\n\\t\\treturn this || new Function('return this')();\\n\\t} catch (e) {\\n\\t\\tif (typeof window === 'object') return window;\\n\\t}\\n})();", + "__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)", + "// define __esModule on exports\\n__webpack_require__.r = (exports) => {\\n\\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\\n\\t\\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\\n\\t}\\n\\tObject.defineProperty(exports, '__esModule', { value: true });\\n};", + "var scriptUrl;\\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \\"\\";\\nvar document = __webpack_require__.g.document;\\nif (!scriptUrl && document) {\\n\\tif (document.currentScript)\\n\\t\\tscriptUrl = document.currentScript.src\\n\\tif (!scriptUrl) {\\n\\t\\tvar scripts = document.getElementsByTagName(\\"script\\");\\n\\t\\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\\n\\t}\\n}\\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\\n// or pass an empty string (\\"\\") and set the __webpack_public_path__ variable from your code to use your own logic.\\nif (!scriptUrl) throw new Error(\\"Automatic publicPath is not supported in this browser\\");\\nscriptUrl = scriptUrl.replace(/#.*$/, \\"\\").replace(/\\\\?.*$/, \\"\\").replace(/\\\\/[^\\\\/]+$/, \\"/\\");\\n__webpack_require__.p = scriptUrl;", + "// no baseURI\\n\\n// object to store loaded and loading chunks\\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\\n// Promise = chunk loading, 0 = chunk loaded\\nvar installedChunks = {\\n\\t988: 0\\n};\\n\\n\\n__webpack_require__.f.j = (chunkId, promises) => {\\n\\t\\t// JSONP chunk loading for javascript\\n\\t\\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\\n\\t\\tif(installedChunkData !== 0) { // 0 means \\"already installed\\".\\n\\n\\t\\t\\t// a Promise means \\"currently loading\\".\\n\\t\\t\\tif(installedChunkData) {\\n\\t\\t\\t\\tpromises.push(installedChunkData[2]);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif(true) { // all chunks have JS\\n\\t\\t\\t\\t\\t// setup Promise in chunk cache\\n\\t\\t\\t\\t\\tvar promise = new Promise((resolve, reject) => {\\n\\t\\t\\t\\t\\t\\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\tpromises.push(installedChunkData[2] = promise);\\n\\n\\t\\t\\t\\t\\t// start chunk loading\\n\\t\\t\\t\\t\\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\\n\\t\\t\\t\\t\\t// create error before stack unwound to get useful stacktrace later\\n\\t\\t\\t\\t\\tvar error = new Error();\\n\\t\\t\\t\\t\\tvar loadingEnded = (event) => {\\n\\t\\t\\t\\t\\t\\tif(__webpack_require__.o(installedChunks, chunkId)) {\\n\\t\\t\\t\\t\\t\\t\\tinstalledChunkData = installedChunks[chunkId];\\n\\t\\t\\t\\t\\t\\t\\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\\n\\t\\t\\t\\t\\t\\t\\tif(installedChunkData) {\\n\\t\\t\\t\\t\\t\\t\\t\\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\\n\\t\\t\\t\\t\\t\\t\\t\\tvar realSrc = event && event.target && event.target.src;\\n\\t\\t\\t\\t\\t\\t\\t\\terror.message = 'Loading chunk ' + chunkId + ' failed.\\\\n(' + errorType + ': ' + realSrc + ')';\\n\\t\\t\\t\\t\\t\\t\\t\\terror.name = 'ChunkLoadError';\\n\\t\\t\\t\\t\\t\\t\\t\\terror.type = errorType;\\n\\t\\t\\t\\t\\t\\t\\t\\terror.request = realSrc;\\n\\t\\t\\t\\t\\t\\t\\t\\tinstalledChunkData[1](error);\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t__webpack_require__.l(url, loadingEnded, \\"chunk-\\" + chunkId, chunkId);\\n\\t\\t\\t\\t} else installedChunks[chunkId] = 0;\\n\\t\\t\\t}\\n\\t\\t}\\n};\\n\\n// no prefetching\\n\\n// no preloaded\\n\\n// no HMR\\n\\n// no HMR manifest\\n\\n// no deferred startup\\n\\n// install a JSONP callback for chunk loading\\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\\n\\tvar [chunkIds, moreModules, runtime] = data;\\n\\t// add \\"moreModules\\" to the modules object,\\n\\t// then flag all \\"chunkIds\\" as loaded and fire callback\\n\\tvar moduleId, chunkId, i = 0, resolves = [];\\n\\tfor(;i < chunkIds.length; i++) {\\n\\t\\tchunkId = chunkIds[i];\\n\\t\\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\\n\\t\\t\\tresolves.push(installedChunks[chunkId][0]);\\n\\t\\t}\\n\\t\\tinstalledChunks[chunkId] = 0;\\n\\t}\\n\\tfor(moduleId in moreModules) {\\n\\t\\tif(__webpack_require__.o(moreModules, moduleId)) {\\n\\t\\t\\t__webpack_require__.m[moduleId] = moreModules[moduleId];\\n\\t\\t}\\n\\t}\\n\\tif(runtime) runtime(__webpack_require__);\\n\\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\\n\\twhile(resolves.length) {\\n\\t\\tresolves.shift()();\\n\\t}\\n\\n}\\n\\nvar chunkLoadingGlobal = self[\\"webpackChunkterser_webpack_plugin\\"] = self[\\"webpackChunkterser_webpack_plugin\\"] || [];\\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\\n\\n// no deferred startup", + "import(\\"./async-dep\\").then(() => {\\n console.log('Good')\\n});\\n\\nexport default \\"Awesome\\";\\n" + ], + "sourceRoot": "" +}, "importExport.js": "(()=>{\\"use strict\\";function o(){const o=\`baz\${Math.random()}\`;return()=>({a:\\"foobar\\"+o,b:\\"foo\\",baz:o})}console.log(o())})(); //# sourceMappingURL=importExport.js.map", - "importExport.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/import-export/entry.js\\",\\"webpack://terser-webpack-plugin/./test/fixtures/import-export/dep.js\\"],\\"names\\":[\\"Foo\\",\\"baz\\",\\"Math\\",\\"random\\",\\"a\\",\\"b\\",\\"console\\",\\"log\\"],\\"mappings\\":\\"mBAEA,SAASA,IACP,MACMC,EAAM,MAAMC,KAAKC,WACvB,MAAO,KACE,CACLC,EAAGC,SAAUJ,EACbI,ECPN,MDQMJ,QAKNK,QAAQC,IAAIP,M\\",\\"file\\":\\"importExport.js\\",\\"sourcesContent\\":[\\"import foo, { bar } from './dep';\\\\n\\\\nfunction Foo() {\\\\n const b = foo;\\\\n const baz = \`baz\${Math.random()}\`;\\\\n return () => {\\\\n return {\\\\n a: b + bar + baz,\\\\n b,\\\\n baz,\\\\n };\\\\n };\\\\n}\\\\n\\\\nconsole.log(Foo());\\\\n\\\\nexport default Foo;\\\\n\\",\\"export const bar = 'bar';\\\\nexport default 'foo';\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "importExport.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/import-export/entry.js", + "webpack://terser-webpack-plugin/./test/fixtures/import-export/dep.js" + ], + "names": [ + "Foo", + "baz", + "Math", + "random", + "a", + "b", + "console", + "log" + ], + "mappings": "mBAEA,SAASA,IACP,MACMC,EAAM,MAAMC,KAAKC,WACvB,MAAO,KACE,CACLC,EAAGC,SAAUJ,EACbI,ECPN,MDQMJ,QAKNK,QAAQC,IAAIP,M", + "file": "importExport.js", + "sourcesContent": [ + "import foo, { bar } from './dep';\\n\\nfunction Foo() {\\n const b = foo;\\n const baz = \`baz\${Math.random()}\`;\\n return () => {\\n return {\\n a: b + bar + baz,\\n b,\\n baz,\\n };\\n };\\n}\\n\\nconsole.log(Foo());\\n\\nexport default Foo;\\n", + "export const bar = 'bar';\\nexport default 'foo';\\n" + ], + "sourceRoot": "" +}, "js.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); //# sourceMappingURL=js.js.map", - "js.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/entry.js\\",\\"webpack://terser-webpack-plugin/webpack/bootstrap\\",\\"webpack://terser-webpack-plugin/webpack/startup\\"],\\"names\\":[\\"module\\",\\"exports\\",\\"console\\",\\"log\\",\\"b\\",\\"__webpack_module_cache__\\",\\"__webpack_require__\\",\\"moduleId\\",\\"__webpack_modules__\\"],\\"mappings\\":\\"qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M\\",\\"file\\":\\"js.js\\",\\"sourcesContent\\":[\\"// foo\\\\n/* @preserve*/\\\\n// bar\\\\nconst a = 2 + 2;\\\\n\\\\nmodule.exports = function Foo() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2);\\\\n};\\\\n\\",\\"// The module cache\\\\nvar __webpack_module_cache__ = {};\\\\n\\\\n// The require function\\\\nfunction __webpack_require__(moduleId) {\\\\n\\\\t// Check if module is in cache\\\\n\\\\tif(__webpack_module_cache__[moduleId]) {\\\\n\\\\t\\\\treturn __webpack_module_cache__[moduleId].exports;\\\\n\\\\t}\\\\n\\\\t// Create a new module (and put it into the cache)\\\\n\\\\tvar module = __webpack_module_cache__[moduleId] = {\\\\n\\\\t\\\\t// no module.id needed\\\\n\\\\t\\\\t// no module.loaded needed\\\\n\\\\t\\\\texports: {}\\\\n\\\\t};\\\\n\\\\n\\\\t// Execute the module function\\\\n\\\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\\\n\\\\n\\\\t// Return the exports of the module\\\\n\\\\treturn module.exports;\\\\n}\\\\n\\\\n\\",\\"// startup\\\\n// Load entry module\\\\n// This entry module is referenced by other modules so it can't be inlined\\\\n__webpack_require__(791);\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "js.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.js", + "webpack://terser-webpack-plugin/webpack/bootstrap", + "webpack://terser-webpack-plugin/webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "js.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, "mjs.js": "(()=>{\\"use strict\\";function o(){console.log(11)}o(),module.exports=o})(); //# sourceMappingURL=mjs.js.map", - "mjs.js.map": "{\\"version\\":3,\\"sources\\":[\\"webpack://terser-webpack-plugin/./test/fixtures/entry.mjs\\"],\\"names\\":[\\"test\\",\\"console\\",\\"log\\",\\"b\\",\\"module\\",\\"exports\\"],\\"mappings\\":\\"mBAIA,SAASA,IAEPC,QAAQC,IAAIC,IAGdH,IAEAI,OAAOC,QAAUL,G\\",\\"file\\":\\"mjs.js\\",\\"sourcesContent\\":[\\"// foo\\\\n// bar\\\\nconst a = 2 + 2;\\\\n\\\\nfunction test() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2 + a);\\\\n}\\\\n\\\\ntest();\\\\n\\\\nmodule.exports = test;\\\\n\\"],\\"sourceRoot\\":\\"\\"}", + "mjs.js.map": { + "version": 3, + "sources": [ + "webpack://terser-webpack-plugin/./test/fixtures/entry.mjs" + ], + "names": [ + "test", + "console", + "log", + "b", + "module", + "exports" + ], + "mappings": "mBAIA,SAASA,IAEPC,QAAQC,IAAIC,IAGdH,IAEAI,OAAOC,QAAUL,G", + "file": "mjs.js", + "sourcesContent": [ + "// foo\\n// bar\\nconst a = 2 + 2;\\n\\nfunction test() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2 + a);\\n}\\n\\ntest();\\n\\nmodule.exports = test;\\n" + ], + "sourceRoot": "" +}, } `; @@ -743,6 +2023,77 @@ exports[`TerserPlugin should work with source map and use memory cache when the exports[`TerserPlugin should work with source map and use memory cache when the "cache" option is "true": warnings 2`] = `Array []`; +exports[`TerserPlugin should work with the "SourceMapDevToolPlugin" plugin (like "cheap-source-map"): assets 1`] = ` +Object { + "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=main.js.map", + "main.js.map": { + "version": 3, + "file": "main.js", + "sources": [ + "webpack:///main.js" + ], + "sourcesContent": [ + "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})();" + ], + "mappings": "AAAA", + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with the "SourceMapDevToolPlugin" plugin (like "cheap-source-map"): errors 1`] = `Array []`; + +exports[`TerserPlugin should work with the "SourceMapDevToolPlugin" plugin (like "cheap-source-map"): warnings 1`] = `Array []`; + +exports[`TerserPlugin should work with the "SourceMapDevToolPlugin" plugin (like "source-map"): assets 1`] = ` +Object { + "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); +//# sourceMappingURL=main.js.map", + "main.js.map": { + "version": 3, + "sources": [ + "webpack:///./test/fixtures/entry.js", + "webpack:///webpack/bootstrap", + "webpack:///webpack/startup" + ], + "names": [ + "module", + "exports", + "console", + "log", + "b", + "__webpack_module_cache__", + "__webpack_require__", + "moduleId", + "__webpack_modules__" + ], + "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", + "file": "main.js", + "sourcesContent": [ + "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", + "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", + "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" + ], + "sourceRoot": "" +}, +} +`; + +exports[`TerserPlugin should work with the "SourceMapDevToolPlugin" plugin (like "source-map"): errors 1`] = `Array []`; + +exports[`TerserPlugin should work with the "SourceMapDevToolPlugin" plugin (like "source-map"): warnings 1`] = `Array []`; + +exports[`TerserPlugin should work with the "devtool" option and the "false" value: assets 1`] = ` +Object { + "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})();", +} +`; + +exports[`TerserPlugin should work with the "devtool" option and the "false" value: errors 1`] = `Array []`; + +exports[`TerserPlugin should work with the "devtool" option and the "false" value: warnings 1`] = `Array []`; + exports[`TerserPlugin should work, extract comments in different files and use memory cache memory cache when the "cache" option is "true" and the asset has been changed: assets 1`] = ` Object { "627.627.js": "/*! For license information please see 627.627.js.LICENSE.txt */ diff --git a/test/__snapshots__/sourceMap-option.test.js.snap b/test/__snapshots__/sourceMap-option.test.js.snap deleted file mode 100644 index 94a284d0..00000000 --- a/test/__snapshots__/sourceMap-option.test.js.snap +++ /dev/null @@ -1,333 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: assets 1`] = ` -Object { - "main-1.js": "(()=>{var __webpack_modules__={791:module=>{eval(\\"// foo\\\\n/* @preserve*/\\\\n// bar\\\\nconst a = (/* unused pure expression or super */ null && (2 + 2));\\\\n\\\\nmodule.exports = function Foo() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2);\\\\n};\\\\n\\\\n\\\\n//# sourceURL=webpack://terser-webpack-plugin/./test/fixtures/entry.js?\\")}},__webpack_module_cache__={};function __webpack_require__(e){if(__webpack_module_cache__[e])return __webpack_module_cache__[e].exports;var _=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](_,_.exports,__webpack_require__),_.exports}__webpack_require__(791)})();", -} -`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: assets 2`] = ` -Object { - "main-2.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); -//# sourceMappingURL=main-2.js.map", - "main-2.js.map": { - "version": 3, - "sources": [ - "webpack://terser-webpack-plugin/./test/fixtures/entry.js", - "webpack://terser-webpack-plugin/webpack/bootstrap", - "webpack://terser-webpack-plugin/webpack/startup" - ], - "names": [ - "module", - "exports", - "console", - "log", - "b", - "__webpack_module_cache__", - "__webpack_require__", - "moduleId", - "__webpack_modules__" - ], - "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", - "file": "main-2.js", - "sourcesContent": [ - "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", - "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", - "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" - ], - "sourceRoot": "" -}, -} -`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: assets 3`] = ` -Object { - "main-3.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); -//# sourceMappingURL=main-3.js.map", - "main-3.js.map": { - "version": 3, - "file": "main-3.js", - "sources": [ - "webpack:///main-3.js" - ], - "sourcesContent": [ - "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})();" - ], - "mappings": "AAAA", - "sourceRoot": "" -}, -} -`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: assets 4`] = ` -Object { - "main-4.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); -//# sourceMappingURL=main-4.js.map", - "main-4.js.map": { - "version": 3, - "sources": [ - "webpack:///./test/fixtures/entry.js", - "webpack:///webpack/bootstrap", - "webpack:///webpack/startup" - ], - "names": [ - "module", - "exports", - "console", - "log", - "b", - "__webpack_module_cache__", - "__webpack_require__", - "moduleId", - "__webpack_modules__" - ], - "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", - "file": "main-4.js", - "sourcesContent": [ - "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", - "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", - "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" - ], - "sourceRoot": "" -}, -} -`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: errors 1`] = `Array []`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: errors 2`] = `Array []`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: errors 3`] = `Array []`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: errors 4`] = `Array []`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: warnings 1`] = `Array []`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: warnings 2`] = `Array []`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: warnings 3`] = `Array []`; - -exports[`sourceMap should match snapshot for multi compiler mode with source maps: warnings 4`] = `Array []`; - -exports[`sourceMap should match snapshot for the \`SourceMapDevToolPlugin\` plugin (like \`cheap-source-map\`): assets 1`] = ` -Object { - "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); -//# sourceMappingURL=main.js.map", - "main.js.map": { - "version": 3, - "file": "main.js", - "sources": [ - "webpack:///main.js" - ], - "sourcesContent": [ - "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})();" - ], - "mappings": "AAAA", - "sourceRoot": "" -}, -} -`; - -exports[`sourceMap should match snapshot for the \`SourceMapDevToolPlugin\` plugin (like \`cheap-source-map\`): errors 1`] = `Array []`; - -exports[`sourceMap should match snapshot for the \`SourceMapDevToolPlugin\` plugin (like \`cheap-source-map\`): warnings 1`] = `Array []`; - -exports[`sourceMap should match snapshot for the \`SourceMapDevToolPlugin\` plugin (like \`source-map\`): assets 1`] = ` -Object { - "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); -//# sourceMappingURL=main.js.map", - "main.js.map": { - "version": 3, - "sources": [ - "webpack:///./test/fixtures/entry.js", - "webpack:///webpack/bootstrap", - "webpack:///webpack/startup" - ], - "names": [ - "module", - "exports", - "console", - "log", - "b", - "__webpack_module_cache__", - "__webpack_require__", - "moduleId", - "__webpack_modules__" - ], - "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", - "file": "main.js", - "sourcesContent": [ - "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", - "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", - "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" - ], - "sourceRoot": "" -}, -} -`; - -exports[`sourceMap should match snapshot for the \`SourceMapDevToolPlugin\` plugin (like \`source-map\`): errors 1`] = `Array []`; - -exports[`sourceMap should match snapshot for the \`SourceMapDevToolPlugin\` plugin (like \`source-map\`): warnings 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "cheap-source-map" value: assets 1`] = ` -Object { - "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); -//# sourceMappingURL=main.js.map", - "main.js.map": { - "version": 3, - "file": "main.js", - "sources": [ - "webpack://terser-webpack-plugin/main.js" - ], - "sourcesContent": [ - "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})();" - ], - "mappings": "AAAA", - "sourceRoot": "" -}, -} -`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "cheap-source-map" value: errors 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "cheap-source-map" value: warnings 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "eval" value: assets 1`] = ` -Object { - "main.js": "(()=>{var __webpack_modules__={791:module=>{eval(\\"// foo\\\\n/* @preserve*/\\\\n// bar\\\\nconst a = (/* unused pure expression or super */ null && (2 + 2));\\\\n\\\\nmodule.exports = function Foo() {\\\\n const b = 2 + 2;\\\\n console.log(b + 1 + 2);\\\\n};\\\\n\\\\n\\\\n//# sourceURL=webpack://terser-webpack-plugin/./test/fixtures/entry.js?\\")}},__webpack_module_cache__={};function __webpack_require__(e){if(__webpack_module_cache__[e])return __webpack_module_cache__[e].exports;var _=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](_,_.exports,__webpack_require__),_.exports}__webpack_require__(791)})();", -} -`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "eval" value: errors 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "eval" value: warnings 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "false" value: assets 1`] = ` -Object { - "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})();", -} -`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "false" value: errors 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "false" value: warnings 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "hidden-source-map" value: assets 1`] = ` -Object { - "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})();", - "main.js.map": { - "version": 3, - "sources": [ - "webpack://terser-webpack-plugin/./test/fixtures/entry.js", - "webpack://terser-webpack-plugin/webpack/bootstrap", - "webpack://terser-webpack-plugin/webpack/startup" - ], - "names": [ - "module", - "exports", - "console", - "log", - "b", - "__webpack_module_cache__", - "__webpack_require__", - "moduleId", - "__webpack_modules__" - ], - "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", - "file": "main.js", - "sourcesContent": [ - "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", - "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", - "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" - ], - "sourceRoot": "" -}, -} -`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "hidden-source-map" value: errors 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "hidden-source-map" value: warnings 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "inline-source-map" value: assets 1`] = ` -Object { - "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90ZXJzZXItd2VicGFjay1wbHVnaW4vLi90ZXN0L2ZpeHR1cmVzL2VudHJ5LmpzIiwid2VicGFjazovL3RlcnNlci13ZWJwYWNrLXBsdWdpbi93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly90ZXJzZXItd2VicGFjay1wbHVnaW4vd2VicGFjay9zdGFydHVwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJjb25zb2xlIiwibG9nIiwiYiIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsIl9fd2VicGFja19tb2R1bGVzX18iXSwibWFwcGluZ3MiOiJxQkFLQUEsRUFBT0MsUUFBVSxXQUVmQyxRQUFRQyxJQUFJQyxNQ05WQyxFQUEyQixJQUcvQixTQUFTQyxFQUFvQkMsR0FFNUIsR0FBR0YsRUFBeUJFLEdBQzNCLE9BQU9GLEVBQXlCRSxHQUFVTixRQUczQyxJQUFJRCxFQUFTSyxFQUF5QkUsR0FBWSxDQUdqRE4sUUFBUyxJQU9WLE9BSEFPLEVBQW9CRCxHQUFVUCxFQUFRQSxFQUFPQyxRQUFTSyxHQUcvQ04sRUFBT0MsUUNqQmZLLENBQW9CLE0iLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGZvb1xuLyogQHByZXNlcnZlKi9cbi8vIGJhclxuY29uc3QgYSA9IDIgKyAyO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIEZvbygpIHtcbiAgY29uc3QgYiA9IDIgKyAyO1xuICBjb25zb2xlLmxvZyhiICsgMSArIDIpO1xufTtcbiIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdGlmKF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0pIHtcblx0XHRyZXR1cm4gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gc3RhcnR1cFxuLy8gTG9hZCBlbnRyeSBtb2R1bGVcbi8vIFRoaXMgZW50cnkgbW9kdWxlIGlzIHJlZmVyZW5jZWQgYnkgb3RoZXIgbW9kdWxlcyBzbyBpdCBjYW4ndCBiZSBpbmxpbmVkXG5fX3dlYnBhY2tfcmVxdWlyZV9fKDc5MSk7XG4iXSwic291cmNlUm9vdCI6IiJ9", -} -`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "inline-source-map" value: errors 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "inline-source-map" value: warnings 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "nosources-source-map" value: assets 1`] = ` -Object { - "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); -//# sourceMappingURL=main.js.map", - "main.js.map": { - "version": 3, - "sources": [ - "webpack://terser-webpack-plugin/./test/fixtures/entry.js", - "webpack://terser-webpack-plugin/webpack/bootstrap", - "webpack://terser-webpack-plugin/webpack/startup" - ], - "names": [ - "module", - "exports", - "console", - "log", - "b", - "__webpack_module_cache__", - "__webpack_require__", - "moduleId", - "__webpack_modules__" - ], - "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", - "file": "main.js", - "sourceRoot": "" -}, -} -`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "nosources-source-map" value: errors 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "nosources-source-map" value: warnings 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "source-map" value: assets 1`] = ` -Object { - "main.js": "(()=>{var r={791:r=>{r.exports=function(){console.log(7)}}},o={};!function t(e){if(o[e])return o[e].exports;var n=o[e]={exports:{}};return r[e](n,n.exports,t),n.exports}(791)})(); -//# sourceMappingURL=main.js.map", - "main.js.map": { - "version": 3, - "sources": [ - "webpack://terser-webpack-plugin/./test/fixtures/entry.js", - "webpack://terser-webpack-plugin/webpack/bootstrap", - "webpack://terser-webpack-plugin/webpack/startup" - ], - "names": [ - "module", - "exports", - "console", - "log", - "b", - "__webpack_module_cache__", - "__webpack_require__", - "moduleId", - "__webpack_modules__" - ], - "mappings": "qBAKAA,EAAOC,QAAU,WAEfC,QAAQC,IAAIC,MCNVC,EAA2B,IAG/B,SAASC,EAAoBC,GAE5B,GAAGF,EAAyBE,GAC3B,OAAOF,EAAyBE,GAAUN,QAG3C,IAAID,EAASK,EAAyBE,GAAY,CAGjDN,QAAS,IAOV,OAHAO,EAAoBD,GAAUP,EAAQA,EAAOC,QAASK,GAG/CN,EAAOC,QCjBfK,CAAoB,M", - "file": "main.js", - "sourcesContent": [ - "// foo\\n/* @preserve*/\\n// bar\\nconst a = 2 + 2;\\n\\nmodule.exports = function Foo() {\\n const b = 2 + 2;\\n console.log(b + 1 + 2);\\n};\\n", - "// The module cache\\nvar __webpack_module_cache__ = {};\\n\\n// The require function\\nfunction __webpack_require__(moduleId) {\\n\\t// Check if module is in cache\\n\\tif(__webpack_module_cache__[moduleId]) {\\n\\t\\treturn __webpack_module_cache__[moduleId].exports;\\n\\t}\\n\\t// Create a new module (and put it into the cache)\\n\\tvar module = __webpack_module_cache__[moduleId] = {\\n\\t\\t// no module.id needed\\n\\t\\t// no module.loaded needed\\n\\t\\texports: {}\\n\\t};\\n\\n\\t// Execute the module function\\n\\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\\n\\n\\t// Return the exports of the module\\n\\treturn module.exports;\\n}\\n\\n", - "// startup\\n// Load entry module\\n// This entry module is referenced by other modules so it can't be inlined\\n__webpack_require__(791);\\n" - ], - "sourceRoot": "" -}, -} -`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "source-map" value: errors 1`] = `Array []`; - -exports[`sourceMap should match snapshot when the "devtool" option has the "source-map" value: warnings 1`] = `Array []`; diff --git a/test/sourceMap-option.test.js b/test/sourceMap-option.test.js deleted file mode 100644 index 6d612fb5..00000000 --- a/test/sourceMap-option.test.js +++ /dev/null @@ -1,273 +0,0 @@ -import path from "path"; - -import { SourceMapDevToolPlugin } from "webpack"; - -import TerserPlugin from "../src/index"; - -import { - compile, - getCompiler, - getErrors, - getWarnings, - readsAssets, -} from "./helpers"; - -expect.addSnapshotSerializer({ - test: (value) => { - // For string that are valid JSON - if (typeof value !== "string") { - return false; - } - - try { - return typeof JSON.parse(value) === "object"; - } catch (e) { - return false; - } - }, - print: (value) => JSON.stringify(JSON.parse(value), null, 2), -}); - -describe("sourceMap", () => { - it('should match snapshot when the "devtool" option has the "false" value', async () => { - const compiler = getCompiler({ - entry: path.resolve(__dirname, "./fixtures/entry.js"), - devtool: false, - }); - - new TerserPlugin().apply(compiler); - - const stats = await compile(compiler); - - expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); - expect(getErrors(stats)).toMatchSnapshot("errors"); - expect(getWarnings(stats)).toMatchSnapshot("warnings"); - }); - - it('should match snapshot when the "devtool" option has the "source-map" value', async () => { - const compiler = getCompiler({ - entry: path.resolve(__dirname, "./fixtures/entry.js"), - devtool: "source-map", - }); - - new TerserPlugin().apply(compiler); - - const stats = await compile(compiler); - - expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); - expect(getErrors(stats)).toMatchSnapshot("errors"); - expect(getWarnings(stats)).toMatchSnapshot("warnings"); - }); - - it('should match snapshot when the "devtool" option has the "inline-source-map" value', async () => { - const compiler = getCompiler({ - entry: path.resolve(__dirname, "./fixtures/entry.js"), - devtool: "inline-source-map", - }); - - new TerserPlugin().apply(compiler); - - const stats = await compile(compiler); - - expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); - expect(getErrors(stats)).toMatchSnapshot("errors"); - expect(getWarnings(stats)).toMatchSnapshot("warnings"); - }); - - it('should match snapshot when the "devtool" option has the "hidden-source-map" value', async () => { - const compiler = getCompiler({ - entry: path.resolve(__dirname, "./fixtures/entry.js"), - devtool: "hidden-source-map", - }); - - new TerserPlugin().apply(compiler); - - const stats = await compile(compiler); - - expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); - expect(getErrors(stats)).toMatchSnapshot("errors"); - expect(getWarnings(stats)).toMatchSnapshot("warnings"); - }); - - it('should match snapshot when the "devtool" option has the "nosources-source-map" value', async () => { - const compiler = getCompiler({ - entry: path.resolve(__dirname, "./fixtures/entry.js"), - devtool: "nosources-source-map", - }); - - new TerserPlugin().apply(compiler); - - const stats = await compile(compiler); - - expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); - expect(getErrors(stats)).toMatchSnapshot("errors"); - expect(getWarnings(stats)).toMatchSnapshot("warnings"); - }); - - it('should match snapshot when the "devtool" option has the "eval" value', async () => { - const compiler = getCompiler({ - entry: path.resolve(__dirname, "./fixtures/entry.js"), - devtool: "eval", - }); - - new TerserPlugin().apply(compiler); - - const stats = await compile(compiler); - - expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); - expect(getErrors(stats)).toMatchSnapshot("errors"); - expect(getWarnings(stats)).toMatchSnapshot("warnings"); - }); - - it('should match snapshot when the "devtool" option has the "cheap-source-map" value', async () => { - const compiler = getCompiler({ - entry: path.resolve(__dirname, "./fixtures/entry.js"), - devtool: "cheap-source-map", - }); - - new TerserPlugin().apply(compiler); - - const stats = await compile(compiler); - - expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); - expect(getErrors(stats)).toMatchSnapshot("errors"); - expect(getWarnings(stats)).toMatchSnapshot("warnings"); - }); - - it("should match snapshot for the `SourceMapDevToolPlugin` plugin (like `source-map`)", async () => { - const compiler = getCompiler({ - entry: path.resolve(__dirname, "./fixtures/entry.js"), - devtool: false, - plugins: [ - new SourceMapDevToolPlugin({ - filename: "[file].map[query]", - module: true, - columns: true, - }), - ], - }); - - new TerserPlugin().apply(compiler); - - const stats = await compile(compiler); - - expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); - expect(getErrors(stats)).toMatchSnapshot("errors"); - expect(getWarnings(stats)).toMatchSnapshot("warnings"); - }); - - it("should match snapshot for the `SourceMapDevToolPlugin` plugin (like `cheap-source-map`)", async () => { - const compiler = getCompiler({ - entry: path.resolve(__dirname, "./fixtures/entry.js"), - devtool: false, - plugins: [ - new SourceMapDevToolPlugin({ - filename: "[file].map[query]", - module: false, - columns: false, - }), - ], - }); - - new TerserPlugin().apply(compiler); - - const stats = await compile(compiler); - - expect(readsAssets(compiler, stats)).toMatchSnapshot("assets"); - expect(getErrors(stats)).toMatchSnapshot("errors"); - expect(getWarnings(stats)).toMatchSnapshot("warnings"); - }); - - it("should match snapshot for multi compiler mode with source maps", async () => { - const multiCompiler = getCompiler([ - { - mode: "production", - devtool: "eval", - bail: true, - cache: { type: "memory" }, - entry: path.resolve(__dirname, "./fixtures/entry.js"), - output: { - path: path.resolve(__dirname, "./dist"), - filename: "[name]-1.js", - chunkFilename: "[id]-1.[name].js", - }, - optimization: { - minimize: false, - }, - plugins: [new TerserPlugin()], - }, - { - mode: "production", - devtool: "source-map", - bail: true, - cache: { type: "memory" }, - entry: path.resolve(__dirname, "./fixtures/entry.js"), - output: { - path: path.resolve(__dirname, "./dist"), - filename: "[name]-2.js", - chunkFilename: "[id]-2.[name].js", - }, - optimization: { - minimize: false, - }, - plugins: [new TerserPlugin()], - }, - { - mode: "production", - bail: true, - cache: { type: "memory" }, - devtool: false, - entry: path.resolve(__dirname, "./fixtures/entry.js"), - output: { - path: path.resolve(__dirname, "./dist"), - filename: "[name]-3.js", - chunkFilename: "[id]-3.[name].js", - }, - optimization: { - minimize: false, - }, - plugins: [ - new SourceMapDevToolPlugin({ - filename: "[file].map[query]", - module: false, - columns: false, - }), - new TerserPlugin(), - ], - }, - { - mode: "production", - bail: true, - cache: { type: "memory" }, - devtool: false, - entry: path.resolve(__dirname, "./fixtures/entry.js"), - output: { - path: path.resolve(__dirname, "./dist"), - filename: "[name]-4.js", - chunkFilename: "[id]-4.[name].js", - }, - optimization: { - minimize: false, - }, - plugins: [ - new SourceMapDevToolPlugin({ - filename: "[file].map[query]", - module: true, - columns: true, - }), - new TerserPlugin(), - ], - }, - ]); - - const multiStats = await compile(multiCompiler); - - multiStats.stats.forEach((stats, index) => { - expect( - readsAssets(multiCompiler.compilers[index], stats) - ).toMatchSnapshot("assets"); - expect(getErrors(stats)).toMatchSnapshot("errors"); - expect(getWarnings(stats)).toMatchSnapshot("warnings"); - }); - }); -});