diff --git a/.prettierignore b/.prettierignore index dceadd34a1f..bf425289bd9 100644 --- a/.prettierignore +++ b/.prettierignore @@ -9,3 +9,6 @@ test/*.* # Ignore example fixtures examples/*.* !examples/**/webpack.config.js + +# Ignore generated files +*.check.js diff --git a/README.md b/README.md index 4d1cb38af2a..7d27f1d9a87 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@

webpack

- webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. + Webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset.

@@ -77,7 +77,7 @@ yarn add webpack --dev

Introduction

-webpack is a bundler for modules. The main purpose is to bundle JavaScript +Webpack is a bundler for modules. The main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. @@ -95,14 +95,14 @@ Check out webpack's quick [**Get Started**](https://webpack.js.org/guides/gettin ### Browser Compatibility -webpack supports all browsers that are [ES5-compliant](https://kangax.github.io/compat-table/es5/) (IE8 and below are not supported). -webpack also needs `Promise` for `import()` and `require.ensure()`. If you want to support older browsers, you will need to [load a polyfill](https://webpack.js.org/guides/shimming/) before using these expressions. +Webpack supports all browsers that are [ES5-compliant](https://kangax.github.io/compat-table/es5/) (IE8 and below are not supported). +Webpack also needs `Promise` for `import()` and `require.ensure()`. If you want to support older browsers, you will need to [load a polyfill](https://webpack.js.org/guides/shimming/) before using these expressions.

Concepts

### [Plugins](https://webpack.js.org/plugins/) -webpack has a [rich plugin +Webpack has a [rich plugin interface](https://webpack.js.org/plugins/). Most of the features within webpack itself use this plugin interface. This makes webpack very **flexible**. @@ -129,7 +129,7 @@ within webpack itself use this plugin interface. This makes webpack very ### [Loaders](https://webpack.js.org/loaders/) -webpack enables the use of loaders to preprocess files. This allows you to bundle +Webpack enables the use of loaders to preprocess files. This allows you to bundle **any static resource** way beyond JavaScript. You can easily [write your own loaders](https://webpack.js.org/api/loaders/) using Node.js. @@ -249,23 +249,23 @@ or are automatically applied via regex from your webpack configuration. ### Performance -webpack uses async I/O and has multiple caching levels. This makes webpack fast +Webpack uses async I/O and has multiple caching levels. This makes webpack fast and incredibly **fast** on incremental compilations. ### Module Formats -webpack supports ES2015+, CommonJS and AMD modules **out of the box**. It performs clever static +Webpack supports ES2015+, CommonJS and AMD modules **out of the box**. It performs clever static analysis on the AST of your code. It even has an evaluation engine to evaluate simple expressions. This allows you to **support most existing libraries** out of the box. ### [Code Splitting](https://webpack.js.org/guides/code-splitting/) -webpack allows you to split your codebase into multiple chunks. Chunks are +Webpack allows you to split your codebase into multiple chunks. Chunks are loaded asynchronously at runtime. This reduces the initial loading time. ### [Optimizations](https://webpack.js.org/guides/production-build/) -webpack can do many optimizations to **reduce the output size of your +Webpack can do many optimizations to **reduce the output size of your JavaScript** by deduplicating frequently used modules, minifying, and giving you full control of what is loaded initially and what is loaded at runtime through code splitting. It can also make your code chunks **cache diff --git a/declarations/LoaderContext.d.ts b/declarations/LoaderContext.d.ts index 43b215e023e..b7564e16920 100644 --- a/declarations/LoaderContext.d.ts +++ b/declarations/LoaderContext.d.ts @@ -31,7 +31,7 @@ export interface NormalModuleLoaderContext { ((context: string, request: string) => Promise); emitFile( name: string, - content: string, + content: string | Buffer, sourceMap?: string, assetInfo?: AssetInfo ): void; diff --git a/examples/README.md b/examples/README.md index 0bbade59b91..9207ff0ae86 100644 --- a/examples/README.md +++ b/examples/README.md @@ -23,9 +23,10 @@ 19. [Scope Hoisting](#scope-hoisting) 20. [Side Effects](#side-effects) 21. [Source Map](#source-map) -22. [Web Worker](#web-worker) -23. [Requests](#requests) -24. [Building an Example](#building-an-example) +22. [WebAssembly](#webassembly) +23. [Web Worker](#web-worker) +24. [Requests](#requests) +25. [Building an Example](#building-an-example) ## Aggressive Merging @@ -130,6 +131,10 @@ ## Source Map [source-map](source-map) +## WebAssembly +[wasm-simple](wasm-simple) example demonstrating simple import from a WebAssembly module +[wasm-complex](wasm-complex) example demonstrating top-level await and import of WebAssembly text format with wast-loader + ## Web Worker [web-worker](worker) example demonstrating creating WebWorkers with webpack. diff --git a/lib/cache/PackFileCacheStrategy.js b/lib/cache/PackFileCacheStrategy.js index 75191854af8..8f05f2054d4 100644 --- a/lib/cache/PackFileCacheStrategy.js +++ b/lib/cache/PackFileCacheStrategy.js @@ -678,7 +678,7 @@ class PackContent { */ constructor(items, usedItems, dataOrFn, logger, lazyName) { this.items = items; - /** @type {function(): PackContentItems | Promise} */ + /** @type {function(): Promise | PackContentItems } */ this.lazy = typeof dataOrFn === "function" ? dataOrFn : undefined; /** @type {Map} */ this.content = typeof dataOrFn === "function" ? undefined : dataOrFn.map; diff --git a/lib/cli.js b/lib/cli.js index eac723f5692..5488a7d47ac 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -148,7 +148,7 @@ const getArguments = (schema = webpackSchema) => { { type: "reset", multiple: false, - description: `Clear all items provided in configuration. ${description}`, + description: `Clear all items provided in '${schemaPath}' configuration. ${description}`, path: schemaPath } ], diff --git a/lib/javascript/JavascriptParser.js b/lib/javascript/JavascriptParser.js index 70985412083..e1519340745 100644 --- a/lib/javascript/JavascriptParser.js +++ b/lib/javascript/JavascriptParser.js @@ -175,11 +175,18 @@ class JavascriptParser extends Parser { /** @type {SyncBailHook<[IfStatementNode], boolean | void>} */ statementIf: new SyncBailHook(["statement"]), /** @type {SyncBailHook<[ExpressionNode, ClassExpressionNode | ClassDeclarationNode], boolean | void>} */ - classExtendsExpression: new SyncBailHook(["expression", "statement"]), + classExtendsExpression: new SyncBailHook([ + "expression", + "classDefinition" + ]), /** @type {SyncBailHook<[MethodDefinitionNode | PropertyDefinitionNode, ClassExpressionNode | ClassDeclarationNode], boolean | void>} */ - classBodyElement: new SyncBailHook(["element", "statement"]), + classBodyElement: new SyncBailHook(["element", "classDefinition"]), /** @type {SyncBailHook<[ExpressionNode, MethodDefinitionNode | PropertyDefinitionNode, ClassExpressionNode | ClassDeclarationNode], boolean | void>} */ - classBodyValue: new SyncBailHook(["expression", "element", "statement"]), + classBodyValue: new SyncBailHook([ + "expression", + "element", + "classDefinition" + ]), /** @type {HookMap>} */ label: new HookMap(() => new SyncBailHook(["statement"])), /** @type {SyncBailHook<[StatementNode, ImportSource], boolean | void>} */ diff --git a/lib/node/NodeTargetPlugin.js b/lib/node/NodeTargetPlugin.js index 231c8973ed7..fb12b2fb550 100644 --- a/lib/node/NodeTargetPlugin.js +++ b/lib/node/NodeTargetPlugin.js @@ -55,6 +55,7 @@ const builtins = [ "wasi", "worker_threads", "zlib", + /^node:/, // cspell:word pnpapi // Yarn PnP adds pnpapi as "builtin" diff --git a/lib/optimize/InnerGraphPlugin.js b/lib/optimize/InnerGraphPlugin.js index 7a182c341a0..7cb101add78 100644 --- a/lib/optimize/InnerGraphPlugin.js +++ b/lib/optimize/InnerGraphPlugin.js @@ -238,12 +238,25 @@ class InnerGraphPlugin { } ); + parser.hooks.classBodyElement.tap( + "InnerGraphPlugin", + (element, classDefinition) => { + if (!InnerGraph.isEnabled(parser.state)) return; + if (parser.scope.topLevelScope === true) { + const fn = classWithTopLevelSymbol.get(classDefinition); + if (fn) { + InnerGraph.setTopLevelSymbol(parser.state, undefined); + } + } + } + ); + parser.hooks.classBodyValue.tap( "InnerGraphPlugin", - (expression, element, statement) => { + (expression, element, classDefinition) => { if (!InnerGraph.isEnabled(parser.state)) return; if (parser.scope.topLevelScope === true) { - const fn = classWithTopLevelSymbol.get(statement); + const fn = classWithTopLevelSymbol.get(classDefinition); if (fn) { if ( !element.static || @@ -253,6 +266,24 @@ class InnerGraphPlugin { ) ) { InnerGraph.setTopLevelSymbol(parser.state, fn); + if (element.type !== "MethodDefinition" && element.static) { + InnerGraph.onUsage(parser.state, usedByExports => { + switch (usedByExports) { + case undefined: + case true: + return; + default: { + const dep = new PureExpressionDependency( + expression.range + ); + dep.loc = expression.loc; + dep.usedByExports = usedByExports; + parser.state.module.addDependency(dep); + break; + } + } + }); + } } else { InnerGraph.setTopLevelSymbol(parser.state, undefined); } diff --git a/lib/serialization/PlainObjectSerializer.js b/lib/serialization/PlainObjectSerializer.js index 4d67b497be2..2d2b6dfc927 100644 --- a/lib/serialization/PlainObjectSerializer.js +++ b/lib/serialization/PlainObjectSerializer.js @@ -7,19 +7,21 @@ const cache = new WeakMap(); class ObjectStructure { - constructor(keys) { - this.keys = keys; - this.children = new Map(); + constructor() { + this.keys = undefined; + this.children = undefined; } - getKeys() { + getKeys(keys) { + if (this.keys === undefined) this.keys = keys; return this.keys; } key(key) { + if (this.children === undefined) this.children = new Map(); const child = this.children.get(key); if (child !== undefined) return child; - const newChild = new ObjectStructure(this.keys.concat(key)); + const newChild = new ObjectStructure(); this.children.set(key, newChild); return newChild; } @@ -28,20 +30,27 @@ class ObjectStructure { const getCachedKeys = (keys, cacheAssoc) => { let root = cache.get(cacheAssoc); if (root === undefined) { - root = new ObjectStructure([]); + root = new ObjectStructure(); cache.set(cacheAssoc, root); } let current = root; for (const key of keys) { current = current.key(key); } - return current.getKeys(); + return current.getKeys(keys); }; class PlainObjectSerializer { serialize(obj, { write }) { const keys = Object.keys(obj); - if (keys.length > 1) { + if (keys.length > 128) { + // Objects with so many keys are unlikely to share structure + // with other objects + write(keys); + for (const key of keys) { + write(obj[key]); + } + } else if (keys.length > 1) { write(getCachedKeys(keys, write)); for (const key of keys) { write(obj[key]); diff --git a/lib/serialization/Serializer.js b/lib/serialization/Serializer.js index 96ee3952539..bbd9826b2ef 100644 --- a/lib/serialization/Serializer.js +++ b/lib/serialization/Serializer.js @@ -15,7 +15,7 @@ class Serializer { const ctx = { ...context, ...this.context }; let current = obj; for (const middleware of this.serializeMiddlewares) { - if (current instanceof Promise) { + if (current && typeof current.then === "function") { current = current.then( data => data && middleware.serialize(data, context) ); @@ -35,7 +35,7 @@ class Serializer { /** @type {any} */ let current = value; for (const middleware of this.deserializeMiddlewares) { - if (current instanceof Promise) { + if (current && typeof current.then === "function") { current = current.then(data => middleware.deserialize(data, context)); } else { current = middleware.deserialize(current, ctx); diff --git a/lib/serialization/SerializerMiddleware.js b/lib/serialization/SerializerMiddleware.js index 3b8e2d0dd36..30d1d1ddd63 100644 --- a/lib/serialization/SerializerMiddleware.js +++ b/lib/serialization/SerializerMiddleware.js @@ -100,9 +100,10 @@ class SerializerMiddleware { static serializeLazy(lazy, serialize) { const fn = memoize(() => { const r = lazy(); - if (r instanceof Promise) return r.then(data => data && serialize(data)); - if (r) return serialize(r); - return null; + if (r && typeof r.then === "function") { + return r.then(data => data && serialize(data)); + } + return serialize(r); }); fn[LAZY_TARGET] = lazy[LAZY_TARGET]; /** @type {any} */ (fn).options = /** @type {any} */ (lazy).options; @@ -118,7 +119,9 @@ class SerializerMiddleware { static deserializeLazy(lazy, deserialize) { const fn = memoize(() => { const r = lazy(); - if (r instanceof Promise) return r.then(data => deserialize(data)); + if (r && typeof r.then === "function") { + return r.then(data => deserialize(data)); + } return deserialize(r); }); fn[LAZY_TARGET] = lazy[LAZY_TARGET]; diff --git a/lib/util/LazySet.js b/lib/util/LazySet.js index ec27cbe9feb..0d3b13ba0c7 100644 --- a/lib/util/LazySet.js +++ b/lib/util/LazySet.js @@ -24,21 +24,17 @@ const merge = (targetSet, toMerge) => { /** * @template T * @param {Set>} targetSet set where iterables should be added - * @param {Array | LazySet>} toDeepMerge iterables or lazy set to be flattened + * @param {Array>} toDeepMerge lazy sets to be flattened * @returns {void} */ const flatten = (targetSet, toDeepMerge) => { for (const set of toDeepMerge) { - if (set instanceof LazySet) { - if (set._set.size > 0) targetSet.add(set._set); - if (set._needMerge) { - for (const mergedSet of set._toMerge) { - targetSet.add(mergedSet); - } - flatten(targetSet, set._toDeepMerge); + if (set._set.size > 0) targetSet.add(set._set); + if (set._needMerge) { + for (const mergedSet of set._toMerge) { + targetSet.add(mergedSet); } - } else { - targetSet.add(set); + flatten(targetSet, set._toDeepMerge); } } }; @@ -58,7 +54,7 @@ class LazySet { this._set = new Set(iterable); /** @type {Set>} */ this._toMerge = new Set(); - /** @type {Array | LazySet>} */ + /** @type {Array>} */ this._toDeepMerge = []; this._needMerge = false; this._deopt = false; @@ -76,6 +72,14 @@ class LazySet { this._needMerge = false; } + _isEmpty() { + return ( + this._set.size === 0 && + this._toMerge.size === 0 && + this._toDeepMerge.length === 0 + ); + } + get size() { if (this._needMerge) this._merge(); return this._set.size; @@ -101,13 +105,18 @@ class LazySet { _set.add(item); } } else { - this._toDeepMerge.push(iterable); - this._needMerge = true; - // Avoid being too memory hungry - if (this._toDeepMerge.length > 100000) { - this._flatten(); - if (this._toMerge.size > 100000) this._merge(); + if (iterable instanceof LazySet) { + if (iterable._isEmpty()) return this; + this._toDeepMerge.push(iterable); + this._needMerge = true; + if (this._toDeepMerge.length > 100000) { + this._flatten(); + } + } else { + this._toMerge.add(iterable); + this._needMerge = true; } + if (this._toMerge.size > 100000) this._merge(); } return this; } diff --git a/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js b/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js index 274251babea..3b1fa6d710e 100644 --- a/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +++ b/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js @@ -291,7 +291,7 @@ class WasmChunkLoadingRuntimeModule extends RuntimeModule { "var promise;", this.supportsStreaming ? Template.asString([ - "if(importObject instanceof Promise && typeof WebAssembly.compileStreaming === 'function') {", + "if(importObject && typeof importObject.then === 'function' && typeof WebAssembly.compileStreaming === 'function') {", Template.indent([ "promise = Promise.all([WebAssembly.compileStreaming(req), importObject]).then(function(items) {", Template.indent([ @@ -309,7 +309,7 @@ class WasmChunkLoadingRuntimeModule extends RuntimeModule { ]) ]) : Template.asString([ - "if(importObject instanceof Promise) {", + "if(importObject && typeof importObject.then === 'function') {", Template.indent([ "var bytesPromise = req.then(function(x) { return x.arrayBuffer(); });", "promise = Promise.all([", diff --git a/package.json b/package.json index 45b6721ae70..4d8b702beea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "webpack", - "version": "5.39.1", + "version": "5.40.0", "author": "Tobias Koppers @sokra", "description": "Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.", "license": "MIT", @@ -14,7 +14,7 @@ "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.4.0", + "es-module-lexer": "^0.6.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", @@ -25,7 +25,7 @@ "neo-async": "^2.6.2", "schema-utils": "^3.0.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.1", + "terser-webpack-plugin": "^5.1.3", "watchpack": "^2.2.0", "webpack-sources": "^2.3.0" }, @@ -91,7 +91,7 @@ "simple-git": "^2.17.0", "strip-ansi": "^6.0.0", "style-loader": "^2.0.0", - "terser": "^5.5.0", + "terser": "^5.7.0", "toml": "^3.0.0", "tooling": "webpack/tooling#v1.19.0", "ts-loader": "^8.0.2", diff --git a/test/ConfigTestCases.template.js b/test/ConfigTestCases.template.js index 41d94c16aa6..79d7e79319a 100644 --- a/test/ConfigTestCases.template.js +++ b/test/ConfigTestCases.template.js @@ -413,7 +413,11 @@ const describeCases = config => { module in testConfig.modules ) { return testConfig.modules[module]; - } else return require(module); + } else { + return require(module.startsWith("node:") + ? module.slice(5) + : module); + } }; results.push( diff --git a/test/LazySet.unittest.js b/test/LazySet.unittest.js new file mode 100644 index 00000000000..92c829f7a33 --- /dev/null +++ b/test/LazySet.unittest.js @@ -0,0 +1,22 @@ +const LazySet = require("../lib/util/LazySet"); + +describe("LazySet", () => { + it("addAll", () => { + const a = new Set(["a"]); + const sut = new LazySet(a); + const empty = new LazySet([]); + expect(sut.size).toBe(1); + sut.addAll(empty); + expect(sut._toDeepMerge).toStrictEqual([]); + expect(sut.size).toBe(1); + const b = new Set(["b"]); + sut.addAll(b); + expect(sut._toMerge).toContain(b); + expect(sut.size).toBe(2); + const c = new LazySet(["c"]); + sut.addAll(c); + expect(sut._toDeepMerge).toContain(c); + expect(sut.size).toBe(3); + expect(sut._toDeepMerge).toStrictEqual([]); + }); +}); diff --git a/test/TestCasesProdGlobalUsed.test.js b/test/TestCasesProdGlobalUsed.test.js index abbdbc0818e..ee3d0fbb2c8 100644 --- a/test/TestCasesProdGlobalUsed.test.js +++ b/test/TestCasesProdGlobalUsed.test.js @@ -1,6 +1,6 @@ const { describeCases } = require("./TestCases.template"); -describe("TestCases", () => { +describe("TestCasesProdGlobalUsed", () => { describeCases({ name: "production with usedExports global", mode: "production", diff --git a/test/__snapshots__/Cli.test.js.snap b/test/__snapshots__/Cli.test.js.snap index 4ca533b54ea..ab004c63501 100644 --- a/test/__snapshots__/Cli.test.js.snap +++ b/test/__snapshots__/Cli.test.js.snap @@ -150,13 +150,13 @@ Object { "cache-immutable-paths-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.", + "description": "Clear all items provided in 'cache.immutablePaths' configuration. List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.", "multiple": false, "path": "cache.immutablePaths", "type": "reset", }, ], - "description": "Clear all items provided in configuration. List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.", + "description": "Clear all items provided in 'cache.immutablePaths' configuration. List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.", "multiple": false, "simpleType": "boolean", }, @@ -176,13 +176,13 @@ Object { "cache-managed-paths-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. List of paths that are managed by a package manager and can be trusted to not be modified otherwise.", + "description": "Clear all items provided in 'cache.managedPaths' configuration. List of paths that are managed by a package manager and can be trusted to not be modified otherwise.", "multiple": false, "path": "cache.managedPaths", "type": "reset", }, ], - "description": "Clear all items provided in configuration. List of paths that are managed by a package manager and can be trusted to not be modified otherwise.", + "description": "Clear all items provided in 'cache.managedPaths' configuration. List of paths that are managed by a package manager and can be trusted to not be modified otherwise.", "multiple": false, "simpleType": "boolean", }, @@ -334,13 +334,13 @@ Object { "dependencies-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. References to other configurations to depend on.", + "description": "Clear all items provided in 'dependencies' configuration. References to other configurations to depend on.", "multiple": false, "path": "dependencies", "type": "reset", }, ], - "description": "Clear all items provided in configuration. References to other configurations to depend on.", + "description": "Clear all items provided in 'dependencies' configuration. References to other configurations to depend on.", "multiple": false, "simpleType": "boolean", }, @@ -383,13 +383,13 @@ Object { "entry-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. All modules are loaded upon startup. The last one is exported.", + "description": "Clear all items provided in 'entry' configuration. All modules are loaded upon startup. The last one is exported.", "multiple": false, "path": "entry", "type": "reset", }, ], - "description": "Clear all items provided in configuration. All modules are loaded upon startup. The last one is exported.", + "description": "Clear all items provided in 'entry' configuration. All modules are loaded upon startup. The last one is exported.", "multiple": false, "simpleType": "boolean", }, @@ -681,13 +681,13 @@ Object { "externals-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on \`output.libraryTarget\`.", + "description": "Clear all items provided in 'externals' configuration. Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on \`output.libraryTarget\`.", "multiple": false, "path": "externals", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on \`output.libraryTarget\`.", + "description": "Clear all items provided in 'externals' configuration. Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on \`output.libraryTarget\`.", "multiple": false, "simpleType": "boolean", }, @@ -780,13 +780,13 @@ Object { "ignore-warnings-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Ignore specific warnings.", + "description": "Clear all items provided in 'ignoreWarnings' configuration. Ignore specific warnings.", "multiple": false, "path": "ignoreWarnings", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Ignore specific warnings.", + "description": "Clear all items provided in 'ignoreWarnings' configuration. Ignore specific warnings.", "multiple": false, "simpleType": "boolean", }, @@ -844,13 +844,13 @@ Object { "infrastructure-logging-debug-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Enable debug logging for specific loggers.", + "description": "Clear all items provided in 'infrastructureLogging.debug' configuration. Enable debug logging for specific loggers.", "multiple": false, "path": "infrastructureLogging.debug", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Enable debug logging for specific loggers.", + "description": "Clear all items provided in 'infrastructureLogging.debug' configuration. Enable debug logging for specific loggers.", "multiple": false, "simpleType": "boolean", }, @@ -1111,13 +1111,13 @@ Object { "module-no-parse-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Don't parse files matching. It's matched against the full resolved request.", + "description": "Clear all items provided in 'module.noParse' configuration. Don't parse files matching. It's matched against the full resolved request.", "multiple": false, "path": "module.noParse", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Don't parse files matching. It's matched against the full resolved request.", + "description": "Clear all items provided in 'module.noParse' configuration. Don't parse files matching. It's matched against the full resolved request.", "multiple": false, "simpleType": "boolean", }, @@ -1549,13 +1549,13 @@ Object { "module-parser-javascript-auto-worker-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", + "description": "Clear all items provided in 'module.parser.javascript/auto.worker' configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", "multiple": false, "path": "module.parser.javascript/auto.worker", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", + "description": "Clear all items provided in 'module.parser.javascript/auto.worker' configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", "multiple": false, "simpleType": "boolean", }, @@ -2036,13 +2036,13 @@ Object { "module-parser-javascript-dynamic-worker-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", + "description": "Clear all items provided in 'module.parser.javascript/dynamic.worker' configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", "multiple": false, "path": "module.parser.javascript/dynamic.worker", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", + "description": "Clear all items provided in 'module.parser.javascript/dynamic.worker' configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", "multiple": false, "simpleType": "boolean", }, @@ -2484,13 +2484,13 @@ Object { "module-parser-javascript-esm-worker-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", + "description": "Clear all items provided in 'module.parser.javascript/esm.worker' configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", "multiple": false, "path": "module.parser.javascript/esm.worker", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", + "description": "Clear all items provided in 'module.parser.javascript/esm.worker' configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", "multiple": false, "simpleType": "boolean", }, @@ -2877,13 +2877,13 @@ Object { "module-parser-javascript-worker-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", + "description": "Clear all items provided in 'module.parser.javascript.worker' configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", "multiple": false, "path": "module.parser.javascript.worker", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", + "description": "Clear all items provided in 'module.parser.javascript.worker' configuration. Disable or configure parsing of WebWorker syntax like new Worker() or navigator.serviceWorker.register().", "multiple": false, "simpleType": "boolean", }, @@ -3276,13 +3276,13 @@ Object { "module-rules-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. A list of rules.", + "description": "Clear all items provided in 'module.rules' configuration. A list of rules.", "multiple": false, "path": "module.rules", "type": "reset", }, ], - "description": "Clear all items provided in configuration. A list of rules.", + "description": "Clear all items provided in 'module.rules' configuration. A list of rules.", "multiple": false, "simpleType": "boolean", }, @@ -4147,13 +4147,13 @@ Object { "optimization-split-chunks-default-size-types-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Sets the size types which are used when a number is used for sizes.", + "description": "Clear all items provided in 'optimization.splitChunks.defaultSizeTypes' configuration. Sets the size types which are used when a number is used for sizes.", "multiple": false, "path": "optimization.splitChunks.defaultSizeTypes", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Sets the size types which are used when a number is used for sizes.", + "description": "Clear all items provided in 'optimization.splitChunks.defaultSizeTypes' configuration. Sets the size types which are used when a number is used for sizes.", "multiple": false, "simpleType": "boolean", }, @@ -4688,13 +4688,13 @@ Object { "output-enabled-chunk-loading-types-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. List of chunk loading types enabled for use by entry points.", + "description": "Clear all items provided in 'output.enabledChunkLoadingTypes' configuration. List of chunk loading types enabled for use by entry points.", "multiple": false, "path": "output.enabledChunkLoadingTypes", "type": "reset", }, ], - "description": "Clear all items provided in configuration. List of chunk loading types enabled for use by entry points.", + "description": "Clear all items provided in 'output.enabledChunkLoadingTypes' configuration. List of chunk loading types enabled for use by entry points.", "multiple": false, "simpleType": "boolean", }, @@ -4739,13 +4739,13 @@ Object { "output-enabled-library-types-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. List of library types enabled for use by entry points.", + "description": "Clear all items provided in 'output.enabledLibraryTypes' configuration. List of library types enabled for use by entry points.", "multiple": false, "path": "output.enabledLibraryTypes", "type": "reset", }, ], - "description": "Clear all items provided in configuration. List of library types enabled for use by entry points.", + "description": "Clear all items provided in 'output.enabledLibraryTypes' configuration. List of library types enabled for use by entry points.", "multiple": false, "simpleType": "boolean", }, @@ -4776,13 +4776,13 @@ Object { "output-enabled-wasm-loading-types-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. List of wasm loading types enabled for use by entry points.", + "description": "Clear all items provided in 'output.enabledWasmLoadingTypes' configuration. List of wasm loading types enabled for use by entry points.", "multiple": false, "path": "output.enabledWasmLoadingTypes", "type": "reset", }, ], - "description": "Clear all items provided in configuration. List of wasm loading types enabled for use by entry points.", + "description": "Clear all items provided in 'output.enabledWasmLoadingTypes' configuration. List of wasm loading types enabled for use by entry points.", "multiple": false, "simpleType": "boolean", }, @@ -5153,13 +5153,13 @@ Object { "output-library-export-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Specify which export should be exposed as library.", + "description": "Clear all items provided in 'output.library.export' configuration. Specify which export should be exposed as library.", "multiple": false, "path": "output.library.export", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Specify which export should be exposed as library.", + "description": "Clear all items provided in 'output.library.export' configuration. Specify which export should be exposed as library.", "multiple": false, "simpleType": "boolean", }, @@ -5205,13 +5205,13 @@ Object { "output-library-name-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. The name of the library (some types allow unnamed libraries too).", + "description": "Clear all items provided in 'output.library.name' configuration. The name of the library (some types allow unnamed libraries too).", "multiple": false, "path": "output.library.name", "type": "reset", }, ], - "description": "Clear all items provided in configuration. The name of the library (some types allow unnamed libraries too).", + "description": "Clear all items provided in 'output.library.name' configuration. The name of the library (some types allow unnamed libraries too).", "multiple": false, "simpleType": "boolean", }, @@ -5231,26 +5231,26 @@ Object { "output-library-name-root-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Name of the property exposed globally by a UMD library.", + "description": "Clear all items provided in 'output.library.name.root' configuration. Name of the property exposed globally by a UMD library.", "multiple": false, "path": "output.library.name.root", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Name of the property exposed globally by a UMD library.", + "description": "Clear all items provided in 'output.library.name.root' configuration. Name of the property exposed globally by a UMD library.", "multiple": false, "simpleType": "boolean", }, "output-library-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. The name of the library (some types allow unnamed libraries too).", + "description": "Clear all items provided in 'output.library' configuration. The name of the library (some types allow unnamed libraries too).", "multiple": false, "path": "output.library", "type": "reset", }, ], - "description": "Clear all items provided in configuration. The name of the library (some types allow unnamed libraries too).", + "description": "Clear all items provided in 'output.library' configuration. The name of the library (some types allow unnamed libraries too).", "multiple": false, "simpleType": "boolean", }, @@ -5270,13 +5270,13 @@ Object { "output-library-root-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Name of the property exposed globally by a UMD library.", + "description": "Clear all items provided in 'output.library.root' configuration. Name of the property exposed globally by a UMD library.", "multiple": false, "path": "output.library.root", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Name of the property exposed globally by a UMD library.", + "description": "Clear all items provided in 'output.library.root' configuration. Name of the property exposed globally by a UMD library.", "multiple": false, "simpleType": "boolean", }, @@ -5822,13 +5822,13 @@ Object { "resolve-alias-fields-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Fields in the description file (usually package.json) which are used to redirect requests inside the module.", + "description": "Clear all items provided in 'resolve.aliasFields' configuration. Fields in the description file (usually package.json) which are used to redirect requests inside the module.", "multiple": false, "path": "resolve.aliasFields", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Fields in the description file (usually package.json) which are used to redirect requests inside the module.", + "description": "Clear all items provided in 'resolve.aliasFields' configuration. Fields in the description file (usually package.json) which are used to redirect requests inside the module.", "multiple": false, "simpleType": "boolean", }, @@ -5861,13 +5861,13 @@ Object { "resolve-alias-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Redirect module requests.", + "description": "Clear all items provided in 'resolve.alias' configuration. Redirect module requests.", "multiple": false, "path": "resolve.alias", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Redirect module requests.", + "description": "Clear all items provided in 'resolve.alias' configuration. Redirect module requests.", "multiple": false, "simpleType": "boolean", }, @@ -5913,13 +5913,13 @@ Object { "resolve-condition-names-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Condition names for exports field entry point.", + "description": "Clear all items provided in 'resolve.conditionNames' configuration. Condition names for exports field entry point.", "multiple": false, "path": "resolve.conditionNames", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Condition names for exports field entry point.", + "description": "Clear all items provided in 'resolve.conditionNames' configuration. Condition names for exports field entry point.", "multiple": false, "simpleType": "boolean", }, @@ -5939,13 +5939,13 @@ Object { "resolve-description-files-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Filenames used to find a description file (like a package.json).", + "description": "Clear all items provided in 'resolve.descriptionFiles' configuration. Filenames used to find a description file (like a package.json).", "multiple": false, "path": "resolve.descriptionFiles", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Filenames used to find a description file (like a package.json).", + "description": "Clear all items provided in 'resolve.descriptionFiles' configuration. Filenames used to find a description file (like a package.json).", "multiple": false, "simpleType": "boolean", }, @@ -5978,13 +5978,13 @@ Object { "resolve-exports-fields-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Field names from the description file (usually package.json) which are used to provide entry points of a package.", + "description": "Clear all items provided in 'resolve.exportsFields' configuration. Field names from the description file (usually package.json) which are used to provide entry points of a package.", "multiple": false, "path": "resolve.exportsFields", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Field names from the description file (usually package.json) which are used to provide entry points of a package.", + "description": "Clear all items provided in 'resolve.exportsFields' configuration. Field names from the description file (usually package.json) which are used to provide entry points of a package.", "multiple": false, "simpleType": "boolean", }, @@ -6004,13 +6004,13 @@ Object { "resolve-extensions-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Extensions added to the request when trying to find the file.", + "description": "Clear all items provided in 'resolve.extensions' configuration. Extensions added to the request when trying to find the file.", "multiple": false, "path": "resolve.extensions", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Extensions added to the request when trying to find the file.", + "description": "Clear all items provided in 'resolve.extensions' configuration. Extensions added to the request when trying to find the file.", "multiple": false, "simpleType": "boolean", }, @@ -6065,13 +6065,13 @@ Object { "resolve-fallback-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Redirect module requests.", + "description": "Clear all items provided in 'resolve.fallback' configuration. Redirect module requests.", "multiple": false, "path": "resolve.fallback", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Redirect module requests.", + "description": "Clear all items provided in 'resolve.fallback' configuration. Redirect module requests.", "multiple": false, "simpleType": "boolean", }, @@ -6104,13 +6104,13 @@ Object { "resolve-imports-fields-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).", + "description": "Clear all items provided in 'resolve.importsFields' configuration. Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).", "multiple": false, "path": "resolve.importsFields", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).", + "description": "Clear all items provided in 'resolve.importsFields' configuration. Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).", "multiple": false, "simpleType": "boolean", }, @@ -6152,13 +6152,13 @@ Object { "resolve-loader-alias-fields-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Fields in the description file (usually package.json) which are used to redirect requests inside the module.", + "description": "Clear all items provided in 'resolveLoader.aliasFields' configuration. Fields in the description file (usually package.json) which are used to redirect requests inside the module.", "multiple": false, "path": "resolveLoader.aliasFields", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Fields in the description file (usually package.json) which are used to redirect requests inside the module.", + "description": "Clear all items provided in 'resolveLoader.aliasFields' configuration. Fields in the description file (usually package.json) which are used to redirect requests inside the module.", "multiple": false, "simpleType": "boolean", }, @@ -6191,13 +6191,13 @@ Object { "resolve-loader-alias-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Redirect module requests.", + "description": "Clear all items provided in 'resolveLoader.alias' configuration. Redirect module requests.", "multiple": false, "path": "resolveLoader.alias", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Redirect module requests.", + "description": "Clear all items provided in 'resolveLoader.alias' configuration. Redirect module requests.", "multiple": false, "simpleType": "boolean", }, @@ -6243,13 +6243,13 @@ Object { "resolve-loader-condition-names-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Condition names for exports field entry point.", + "description": "Clear all items provided in 'resolveLoader.conditionNames' configuration. Condition names for exports field entry point.", "multiple": false, "path": "resolveLoader.conditionNames", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Condition names for exports field entry point.", + "description": "Clear all items provided in 'resolveLoader.conditionNames' configuration. Condition names for exports field entry point.", "multiple": false, "simpleType": "boolean", }, @@ -6269,13 +6269,13 @@ Object { "resolve-loader-description-files-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Filenames used to find a description file (like a package.json).", + "description": "Clear all items provided in 'resolveLoader.descriptionFiles' configuration. Filenames used to find a description file (like a package.json).", "multiple": false, "path": "resolveLoader.descriptionFiles", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Filenames used to find a description file (like a package.json).", + "description": "Clear all items provided in 'resolveLoader.descriptionFiles' configuration. Filenames used to find a description file (like a package.json).", "multiple": false, "simpleType": "boolean", }, @@ -6308,13 +6308,13 @@ Object { "resolve-loader-exports-fields-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Field names from the description file (usually package.json) which are used to provide entry points of a package.", + "description": "Clear all items provided in 'resolveLoader.exportsFields' configuration. Field names from the description file (usually package.json) which are used to provide entry points of a package.", "multiple": false, "path": "resolveLoader.exportsFields", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Field names from the description file (usually package.json) which are used to provide entry points of a package.", + "description": "Clear all items provided in 'resolveLoader.exportsFields' configuration. Field names from the description file (usually package.json) which are used to provide entry points of a package.", "multiple": false, "simpleType": "boolean", }, @@ -6334,13 +6334,13 @@ Object { "resolve-loader-extensions-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Extensions added to the request when trying to find the file.", + "description": "Clear all items provided in 'resolveLoader.extensions' configuration. Extensions added to the request when trying to find the file.", "multiple": false, "path": "resolveLoader.extensions", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Extensions added to the request when trying to find the file.", + "description": "Clear all items provided in 'resolveLoader.extensions' configuration. Extensions added to the request when trying to find the file.", "multiple": false, "simpleType": "boolean", }, @@ -6395,13 +6395,13 @@ Object { "resolve-loader-fallback-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Redirect module requests.", + "description": "Clear all items provided in 'resolveLoader.fallback' configuration. Redirect module requests.", "multiple": false, "path": "resolveLoader.fallback", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Redirect module requests.", + "description": "Clear all items provided in 'resolveLoader.fallback' configuration. Redirect module requests.", "multiple": false, "simpleType": "boolean", }, @@ -6434,13 +6434,13 @@ Object { "resolve-loader-imports-fields-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).", + "description": "Clear all items provided in 'resolveLoader.importsFields' configuration. Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).", "multiple": false, "path": "resolveLoader.importsFields", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).", + "description": "Clear all items provided in 'resolveLoader.importsFields' configuration. Field names from the description file (usually package.json) which are used to provide internal request of a package (requests starting with # are considered as internal).", "multiple": false, "simpleType": "boolean", }, @@ -6460,13 +6460,13 @@ Object { "resolve-loader-main-fields-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Field names from the description file (package.json) which are used to find the default entry point.", + "description": "Clear all items provided in 'resolveLoader.mainFields' configuration. Field names from the description file (package.json) which are used to find the default entry point.", "multiple": false, "path": "resolveLoader.mainFields", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Field names from the description file (package.json) which are used to find the default entry point.", + "description": "Clear all items provided in 'resolveLoader.mainFields' configuration. Field names from the description file (package.json) which are used to find the default entry point.", "multiple": false, "simpleType": "boolean", }, @@ -6486,13 +6486,13 @@ Object { "resolve-loader-main-files-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Filenames used to find the default entry point if there is no description file or main field.", + "description": "Clear all items provided in 'resolveLoader.mainFiles' configuration. Filenames used to find the default entry point if there is no description file or main field.", "multiple": false, "path": "resolveLoader.mainFiles", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Filenames used to find the default entry point if there is no description file or main field.", + "description": "Clear all items provided in 'resolveLoader.mainFiles' configuration. Filenames used to find the default entry point if there is no description file or main field.", "multiple": false, "simpleType": "boolean", }, @@ -6512,13 +6512,13 @@ Object { "resolve-loader-modules-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Folder names or directory paths where to find modules.", + "description": "Clear all items provided in 'resolveLoader.modules' configuration. Folder names or directory paths where to find modules.", "multiple": false, "path": "resolveLoader.modules", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Folder names or directory paths where to find modules.", + "description": "Clear all items provided in 'resolveLoader.modules' configuration. Folder names or directory paths where to find modules.", "multiple": false, "simpleType": "boolean", }, @@ -6570,13 +6570,13 @@ Object { "resolve-loader-restrictions-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.", + "description": "Clear all items provided in 'resolveLoader.restrictions' configuration. A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.", "multiple": false, "path": "resolveLoader.restrictions", "type": "reset", }, ], - "description": "Clear all items provided in configuration. A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.", + "description": "Clear all items provided in 'resolveLoader.restrictions' configuration. A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.", "multiple": false, "simpleType": "boolean", }, @@ -6596,13 +6596,13 @@ Object { "resolve-loader-roots-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. A list of directories in which requests that are server-relative URLs (starting with '/') are resolved.", + "description": "Clear all items provided in 'resolveLoader.roots' configuration. A list of directories in which requests that are server-relative URLs (starting with '/') are resolved.", "multiple": false, "path": "resolveLoader.roots", "type": "reset", }, ], - "description": "Clear all items provided in configuration. A list of directories in which requests that are server-relative URLs (starting with '/') are resolved.", + "description": "Clear all items provided in 'resolveLoader.roots' configuration. A list of directories in which requests that are server-relative URLs (starting with '/') are resolved.", "multiple": false, "simpleType": "boolean", }, @@ -6661,13 +6661,13 @@ Object { "resolve-main-fields-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Field names from the description file (package.json) which are used to find the default entry point.", + "description": "Clear all items provided in 'resolve.mainFields' configuration. Field names from the description file (package.json) which are used to find the default entry point.", "multiple": false, "path": "resolve.mainFields", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Field names from the description file (package.json) which are used to find the default entry point.", + "description": "Clear all items provided in 'resolve.mainFields' configuration. Field names from the description file (package.json) which are used to find the default entry point.", "multiple": false, "simpleType": "boolean", }, @@ -6687,13 +6687,13 @@ Object { "resolve-main-files-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Filenames used to find the default entry point if there is no description file or main field.", + "description": "Clear all items provided in 'resolve.mainFiles' configuration. Filenames used to find the default entry point if there is no description file or main field.", "multiple": false, "path": "resolve.mainFiles", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Filenames used to find the default entry point if there is no description file or main field.", + "description": "Clear all items provided in 'resolve.mainFiles' configuration. Filenames used to find the default entry point if there is no description file or main field.", "multiple": false, "simpleType": "boolean", }, @@ -6713,13 +6713,13 @@ Object { "resolve-modules-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Folder names or directory paths where to find modules.", + "description": "Clear all items provided in 'resolve.modules' configuration. Folder names or directory paths where to find modules.", "multiple": false, "path": "resolve.modules", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Folder names or directory paths where to find modules.", + "description": "Clear all items provided in 'resolve.modules' configuration. Folder names or directory paths where to find modules.", "multiple": false, "simpleType": "boolean", }, @@ -6771,13 +6771,13 @@ Object { "resolve-restrictions-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.", + "description": "Clear all items provided in 'resolve.restrictions' configuration. A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.", "multiple": false, "path": "resolve.restrictions", "type": "reset", }, ], - "description": "Clear all items provided in configuration. A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.", + "description": "Clear all items provided in 'resolve.restrictions' configuration. A list of resolve restrictions. Resolve results must fulfill all of these restrictions to resolve successfully. Other resolve paths are taken when restrictions are not met.", "multiple": false, "simpleType": "boolean", }, @@ -6797,13 +6797,13 @@ Object { "resolve-roots-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. A list of directories in which requests that are server-relative URLs (starting with '/') are resolved.", + "description": "Clear all items provided in 'resolve.roots' configuration. A list of directories in which requests that are server-relative URLs (starting with '/') are resolved.", "multiple": false, "path": "resolve.roots", "type": "reset", }, ], - "description": "Clear all items provided in configuration. A list of directories in which requests that are server-relative URLs (starting with '/') are resolved.", + "description": "Clear all items provided in 'resolve.roots' configuration. A list of directories in which requests that are server-relative URLs (starting with '/') are resolved.", "multiple": false, "simpleType": "boolean", }, @@ -6888,13 +6888,13 @@ Object { "snapshot-immutable-paths-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.", + "description": "Clear all items provided in 'snapshot.immutablePaths' configuration. List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.", "multiple": false, "path": "snapshot.immutablePaths", "type": "reset", }, ], - "description": "Clear all items provided in configuration. List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.", + "description": "Clear all items provided in 'snapshot.immutablePaths' configuration. List of paths that are managed by a package manager and contain a version or hash in its path so all files are immutable.", "multiple": false, "simpleType": "boolean", }, @@ -6914,13 +6914,13 @@ Object { "snapshot-managed-paths-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. List of paths that are managed by a package manager and can be trusted to not be modified otherwise.", + "description": "Clear all items provided in 'snapshot.managedPaths' configuration. List of paths that are managed by a package manager and can be trusted to not be modified otherwise.", "multiple": false, "path": "snapshot.managedPaths", "type": "reset", }, ], - "description": "Clear all items provided in configuration. List of paths that are managed by a package manager and can be trusted to not be modified otherwise.", + "description": "Clear all items provided in 'snapshot.managedPaths' configuration. List of paths that are managed by a package manager and can be trusted to not be modified otherwise.", "multiple": false, "simpleType": "boolean", }, @@ -7526,13 +7526,13 @@ Object { "stats-exclude-assets-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions.", + "description": "Clear all items provided in 'stats.excludeAssets' configuration. Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions.", "multiple": false, "path": "stats.excludeAssets", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions.", + "description": "Clear all items provided in 'stats.excludeAssets' configuration. Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions.", "multiple": false, "simpleType": "boolean", }, @@ -7564,13 +7564,13 @@ Object { "stats-exclude-modules-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions.", + "description": "Clear all items provided in 'stats.excludeModules' configuration. Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions.", "multiple": false, "path": "stats.excludeModules", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions.", + "description": "Clear all items provided in 'stats.excludeModules' configuration. Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions.", "multiple": false, "simpleType": "boolean", }, @@ -7798,13 +7798,13 @@ Object { "stats-logging-debug-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions.", + "description": "Clear all items provided in 'stats.loggingDebug' configuration. Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions.", "multiple": false, "path": "stats.loggingDebug", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions.", + "description": "Clear all items provided in 'stats.loggingDebug' configuration. Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions.", "multiple": false, "simpleType": "boolean", }, @@ -8161,13 +8161,13 @@ Object { "stats-warnings-filter-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Suppress listing warnings that match the specified filters (they will still be counted). Filters can be Strings, RegExps or Functions.", + "description": "Clear all items provided in 'stats.warningsFilter' configuration. Suppress listing warnings that match the specified filters (they will still be counted). Filters can be Strings, RegExps or Functions.", "multiple": false, "path": "stats.warningsFilter", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Suppress listing warnings that match the specified filters (they will still be counted). Filters can be Strings, RegExps or Functions.", + "description": "Clear all items provided in 'stats.warningsFilter' configuration. Suppress listing warnings that match the specified filters (they will still be counted). Filters can be Strings, RegExps or Functions.", "multiple": false, "simpleType": "boolean", }, @@ -8196,13 +8196,13 @@ Object { "target-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Environment to build for. An array of environments to build for all of them when possible.", + "description": "Clear all items provided in 'target' configuration. Environment to build for. An array of environments to build for all of them when possible.", "multiple": false, "path": "target", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Environment to build for. An array of environments to build for all of them when possible.", + "description": "Clear all items provided in 'target' configuration. Environment to build for. An array of environments to build for all of them when possible.", "multiple": false, "simpleType": "boolean", }, @@ -8267,13 +8267,13 @@ Object { "watch-options-ignored-reset": Object { "configs": Array [ Object { - "description": "Clear all items provided in configuration. Ignore some files from watching (glob pattern or regexp).", + "description": "Clear all items provided in 'watchOptions.ignored' configuration. Ignore some files from watching (glob pattern or regexp).", "multiple": false, "path": "watchOptions.ignored", "type": "reset", }, ], - "description": "Clear all items provided in configuration. Ignore some files from watching (glob pattern or regexp).", + "description": "Clear all items provided in 'watchOptions.ignored' configuration. Ignore some files from watching (glob pattern or regexp).", "multiple": false, "simpleType": "boolean", }, diff --git a/test/__snapshots__/StatsTestCases.test.js.snap b/test/__snapshots__/StatsTestCases.test.js.snap index 1f052ad55c3..8335cbae2db 100644 --- a/test/__snapshots__/StatsTestCases.test.js.snap +++ b/test/__snapshots__/StatsTestCases.test.js.snap @@ -2441,7 +2441,7 @@ LOG from webpack.FileSystemInfo exports[`StatsTestCases should print correct stats for real-content-hash 1`] = ` "a-normal: assets by path *.js 3.22 KiB - asset 3ff4cb81976a33814443-3ff4cb.js 2.7 KiB [emitted] [immutable] [minimized] (name: runtime) + asset f967a165cb7549ae4373-f967a1.js 2.7 KiB [emitted] [immutable] [minimized] (name: runtime) asset a639a9edc4557744bf94-a639a9.js 288 bytes [emitted] [immutable] [minimized] (name: lazy) asset e00b58ce2785691cd374-e00b58.js 225 bytes [emitted] [immutable] [minimized] (name: index) asset 666f2b8847021ccc7608-666f2b.js 21 bytes [emitted] [immutable] [minimized] (name: a, b) @@ -2449,7 +2449,7 @@ exports[`StatsTestCases should print correct stats for real-content-hash 1`] = ` asset 89a353e9c515885abd8e.png 14.6 KiB [emitted] [immutable] [from: file.png] (auxiliary name: lazy) asset 7382fad5b015914e0811.jpg?query 5.89 KiB [cached] [immutable] [from: file.jpg?query] (auxiliary name: lazy) asset 7382fad5b015914e0811.jpg 5.89 KiB [emitted] [immutable] [from: file.jpg] (auxiliary name: index) - Entrypoint index 2.92 KiB (5.89 KiB) = 3ff4cb81976a33814443-3ff4cb.js 2.7 KiB e00b58ce2785691cd374-e00b58.js 225 bytes 1 auxiliary asset + Entrypoint index 2.92 KiB (5.89 KiB) = f967a165cb7549ae4373-f967a1.js 2.7 KiB e00b58ce2785691cd374-e00b58.js 225 bytes 1 auxiliary asset Entrypoint a 21 bytes = 666f2b8847021ccc7608-666f2b.js Entrypoint b 21 bytes = 666f2b8847021ccc7608-666f2b.js runtime modules 7.19 KiB 9 modules @@ -2468,7 +2468,7 @@ exports[`StatsTestCases should print correct stats for real-content-hash 1`] = ` b-normal: assets by path *.js 3.22 KiB - asset 5d9329c3b14d7be316de-5d9329.js 2.7 KiB [emitted] [immutable] [minimized] (name: runtime) + asset 92b100c9dd880fb6fedd-92b100.js 2.7 KiB [emitted] [immutable] [minimized] (name: runtime) asset a639a9edc4557744bf94-a639a9.js 288 bytes [emitted] [immutable] [minimized] (name: lazy) asset e00b58ce2785691cd374-e00b58.js 225 bytes [emitted] [immutable] [minimized] (name: index) asset 666f2b8847021ccc7608-666f2b.js 21 bytes [emitted] [immutable] [minimized] (name: a, b) @@ -2476,7 +2476,7 @@ b-normal: asset 89a353e9c515885abd8e.png 14.6 KiB [emitted] [immutable] [from: file.png] (auxiliary name: lazy) asset 7382fad5b015914e0811.jpg?query 5.89 KiB [cached] [immutable] [from: file.jpg?query] (auxiliary name: lazy) asset 7382fad5b015914e0811.jpg 5.89 KiB [emitted] [immutable] [from: file.jpg] (auxiliary name: index) - Entrypoint index 2.92 KiB (5.89 KiB) = 5d9329c3b14d7be316de-5d9329.js 2.7 KiB e00b58ce2785691cd374-e00b58.js 225 bytes 1 auxiliary asset + Entrypoint index 2.92 KiB (5.89 KiB) = 92b100c9dd880fb6fedd-92b100.js 2.7 KiB e00b58ce2785691cd374-e00b58.js 225 bytes 1 auxiliary asset Entrypoint a 21 bytes = 666f2b8847021ccc7608-666f2b.js Entrypoint b 21 bytes = 666f2b8847021ccc7608-666f2b.js runtime modules 7.19 KiB 9 modules @@ -2495,8 +2495,8 @@ b-normal: a-source-map: assets by path *.js 3.44 KiB - asset 15bc5e7a3cba409fc993-15bc5e.js 2.76 KiB [emitted] [immutable] [minimized] (name: runtime) - sourceMap 15bc5e7a3cba409fc993-15bc5e.js.map 14.2 KiB [emitted] [dev] (auxiliary name: runtime) + asset 455b77a33a8878c30d52-455b77.js 2.76 KiB [emitted] [immutable] [minimized] (name: runtime) + sourceMap 455b77a33a8878c30d52-455b77.js.map 14.2 KiB [emitted] [dev] (auxiliary name: runtime) asset 05c637d15dff2d0dc5fd-05c637.js 344 bytes [emitted] [immutable] [minimized] (name: lazy) sourceMap 05c637d15dff2d0dc5fd-05c637.js.map 399 bytes [emitted] [dev] (auxiliary name: lazy) asset c41aff3dd03dbe1d8aa3-c41aff.js 281 bytes [emitted] [immutable] [minimized] (name: index) @@ -2507,7 +2507,7 @@ a-source-map: asset 89a353e9c515885abd8e.png 14.6 KiB [emitted] [immutable] [from: file.png] (auxiliary name: lazy) asset 7382fad5b015914e0811.jpg?query 5.89 KiB [cached] [immutable] [from: file.jpg?query] (auxiliary name: lazy) asset 7382fad5b015914e0811.jpg 5.89 KiB [emitted] [immutable] [from: file.jpg] (auxiliary name: index) - Entrypoint index 3.03 KiB (20.5 KiB) = 15bc5e7a3cba409fc993-15bc5e.js 2.76 KiB c41aff3dd03dbe1d8aa3-c41aff.js 281 bytes 3 auxiliary assets + Entrypoint index 3.03 KiB (20.5 KiB) = 455b77a33a8878c30d52-455b77.js 2.76 KiB c41aff3dd03dbe1d8aa3-c41aff.js 281 bytes 3 auxiliary assets Entrypoint a 77 bytes (254 bytes) = 222c2acc68675174e6b2-222c2a.js 1 auxiliary asset Entrypoint b 77 bytes (254 bytes) = 222c2acc68675174e6b2-222c2a.js 1 auxiliary asset runtime modules 7.19 KiB 9 modules @@ -2526,8 +2526,8 @@ a-source-map: b-source-map: assets by path *.js 3.44 KiB - asset 34097d095846bc2527cb-34097d.js 2.76 KiB [emitted] [immutable] [minimized] (name: runtime) - sourceMap 34097d095846bc2527cb-34097d.js.map 14.2 KiB [emitted] [dev] (auxiliary name: runtime) + asset 455b77a33a8878c30d52-455b77.js 2.76 KiB [emitted] [immutable] [minimized] (name: runtime) + sourceMap 455b77a33a8878c30d52-455b77.js.map 14.2 KiB [emitted] [dev] (auxiliary name: runtime) asset 05c637d15dff2d0dc5fd-05c637.js 344 bytes [emitted] [immutable] [minimized] (name: lazy) sourceMap 05c637d15dff2d0dc5fd-05c637.js.map 395 bytes [emitted] [dev] (auxiliary name: lazy) asset c41aff3dd03dbe1d8aa3-c41aff.js 281 bytes [emitted] [immutable] [minimized] (name: index) @@ -2538,7 +2538,7 @@ b-source-map: asset 89a353e9c515885abd8e.png 14.6 KiB [emitted] [immutable] [from: file.png] (auxiliary name: lazy) asset 7382fad5b015914e0811.jpg?query 5.89 KiB [cached] [immutable] [from: file.jpg?query] (auxiliary name: lazy) asset 7382fad5b015914e0811.jpg 5.89 KiB [emitted] [immutable] [from: file.jpg] (auxiliary name: index) - Entrypoint index 3.03 KiB (20.4 KiB) = 34097d095846bc2527cb-34097d.js 2.76 KiB c41aff3dd03dbe1d8aa3-c41aff.js 281 bytes 3 auxiliary assets + Entrypoint index 3.03 KiB (20.4 KiB) = 455b77a33a8878c30d52-455b77.js 2.76 KiB c41aff3dd03dbe1d8aa3-c41aff.js 281 bytes 3 auxiliary assets Entrypoint a 77 bytes (254 bytes) = 222c2acc68675174e6b2-222c2a.js 1 auxiliary asset Entrypoint b 77 bytes (254 bytes) = 222c2acc68675174e6b2-222c2a.js 1 auxiliary asset runtime modules 7.19 KiB 9 modules diff --git a/test/cases/inner-graph/class-dynamic-props/index.js b/test/cases/inner-graph/class-dynamic-props/index.js new file mode 100644 index 00000000000..a8b69c9ead4 --- /dev/null +++ b/test/cases/inner-graph/class-dynamic-props/index.js @@ -0,0 +1,22 @@ +it("should not throw when using dynamic properties in unused classes", () => { + require("./unused1"); +}); + +it("should not throw when using dynamic properties in used classes", () => { + const exports = require("./used1"); + const x = new exports.Used(); + expect(x.a()).toBe("A"); + expect(x.b).toBe("B"); + expect(x.c).toBe("C"); + expect(exports.Used.d()).toBe("D"); + expect(exports.Used.e).toBe("E"); + expect(exports.Used.f).toBe("F"); + const x2 = new exports.Used2(); + expect(x2.a()).toBe("A"); + expect(x2.b).toBe("B"); + expect(x2.c).toBe("C"); + expect(exports.Used2.d()).toBe("D"); + expect(exports.Used2.e).toBe("E"); + expect(exports.Used2.f).toBe("F"); + expect(x2.x).toBe("X"); +}); diff --git a/test/cases/inner-graph/class-dynamic-props/module.js b/test/cases/inner-graph/class-dynamic-props/module.js new file mode 100644 index 00000000000..f7f9dad52d2 --- /dev/null +++ b/test/cases/inner-graph/class-dynamic-props/module.js @@ -0,0 +1,16 @@ +export const a = () => "a"; +export const A = "A"; +export const b = "b"; +export const B = "B"; +export const c = "c"; +export const C = "C"; +export const d = () => "d"; +export const D = "D"; +export const e = "e"; +export const E = "E"; +export const f = "f"; +export const F = "F"; +export class X { + x = "X"; +} +export const y = "y"; diff --git a/test/cases/inner-graph/class-dynamic-props/test.filter.js b/test/cases/inner-graph/class-dynamic-props/test.filter.js new file mode 100644 index 00000000000..25a2a20eb28 --- /dev/null +++ b/test/cases/inner-graph/class-dynamic-props/test.filter.js @@ -0,0 +1,5 @@ +var supportsClassFields = require("../../../helpers/supportsClassFields"); + +module.exports = function (config) { + return supportsClassFields(); +}; diff --git a/test/cases/inner-graph/class-dynamic-props/unused1.js b/test/cases/inner-graph/class-dynamic-props/unused1.js new file mode 100644 index 00000000000..6abeb0f71c1 --- /dev/null +++ b/test/cases/inner-graph/class-dynamic-props/unused1.js @@ -0,0 +1,37 @@ +import { a, b, c, d, e, f, A, B, C, D, E, F, X } from "./module"; + +class Unused { + [a()]() { + return A; + } + [b] = B; + get [c]() { + return C; + } + static [d()]() { + return D; + } + static [e] = E; + static get [f]() { + return F; + } +} + +class Unused2 extends X { + [a()]() { + return A; + } + [b] = B; + get [c]() { + return C; + } + static [d()]() { + return D; + } + static [e] = E; + static get [f]() { + return F; + } +} + +export {}; diff --git a/test/cases/inner-graph/class-dynamic-props/used1.js b/test/cases/inner-graph/class-dynamic-props/used1.js new file mode 100644 index 00000000000..f9ce10b5bc9 --- /dev/null +++ b/test/cases/inner-graph/class-dynamic-props/used1.js @@ -0,0 +1,37 @@ +import { a, b, c, d, e, f, A, B, C, D, E, F, X } from "./module?1"; + +class Used { + [a()]() { + return A; + } + [b] = B; + get [c]() { + return C; + } + static [d()]() { + return D; + } + static [e] = E; + static get [f]() { + return F; + } +} + +class Used2 extends X { + [a()]() { + return A; + } + [b] = B; + get [c]() { + return C; + } + static [d()]() { + return D; + } + static [e] = E; + static get [f]() { + return F; + } +} + +export { Used, Used2 }; diff --git a/test/cases/inner-graph/simple/module.js b/test/cases/inner-graph/simple/module.js index a02c0fceb84..e59ea2672c0 100644 --- a/test/cases/inner-graph/simple/module.js +++ b/test/cases/inner-graph/simple/module.js @@ -12,7 +12,7 @@ function f3() { return EXPORT; } -const f4 = function() { +const f4 = function () { return EXPORT; }; @@ -95,6 +95,6 @@ export function fWithDefault(r = EXPORT4) { return r; } -export default (function() { +export default (function () { return EXPORT; }); diff --git a/test/configCases/node/node-prefix/index.js b/test/configCases/node/node-prefix/index.js new file mode 100644 index 00000000000..84aa3bd98fd --- /dev/null +++ b/test/configCases/node/node-prefix/index.js @@ -0,0 +1,8 @@ +import vm1 from "vm"; +import vm2 from "node:vm"; + +it("should allow importing node builtin modules with the node: prefix", () => { + expect(require("node:fs")).toBe(require("fs")); + expect(require("node:path")).toBe(require("path")); + expect(vm2).toBe(vm1); +}); diff --git a/test/configCases/node/node-prefix/webpack.config.js b/test/configCases/node/node-prefix/webpack.config.js new file mode 100644 index 00000000000..029181fbeba --- /dev/null +++ b/test/configCases/node/node-prefix/webpack.config.js @@ -0,0 +1,4 @@ +/** @type {import("../../../../").Configuration} */ +module.exports = { + target: "node" +}; diff --git a/types.d.ts b/types.d.ts index 9c3e7db22dc..3ca68df1e60 100644 --- a/types.d.ts +++ b/types.d.ts @@ -5795,11 +5795,13 @@ type LoaderContext = NormalModuleLoaderContext & LoaderRunnerLoaderContext & LoaderPluginLoaderContext & HotModuleReplacementPluginLoaderContext; -type LoaderDefinition = - LoaderDefinitionFunction & { - raw?: false; - pitch?: PitchLoaderDefinitionFunction; - }; +type LoaderDefinition< + OptionsType = {}, + ContextAdditions = {} +> = LoaderDefinitionFunction & { + raw?: false; + pitch?: PitchLoaderDefinitionFunction; +}; declare interface LoaderDefinitionFunction< OptionsType = {}, ContextAdditions = {} @@ -7204,7 +7206,7 @@ declare interface NormalModuleLoaderContext { }; emitFile( name: string, - content: string, + content: string | Buffer, sourceMap?: string, assetInfo?: AssetInfo ): void; @@ -8662,11 +8664,13 @@ declare interface RawChunkGroupOptions { preloadOrder?: number; prefetchOrder?: number; } -type RawLoaderDefinition = - RawLoaderDefinitionFunction & { - raw: true; - pitch?: PitchLoaderDefinitionFunction; - }; +type RawLoaderDefinition< + OptionsType = {}, + ContextAdditions = {} +> = RawLoaderDefinitionFunction & { + raw: true; + pitch?: PitchLoaderDefinitionFunction; +}; declare interface RawLoaderDefinitionFunction< OptionsType = {}, ContextAdditions = {} diff --git a/yarn.lock b/yarn.lock index 80e47bc689c..76c0b9b89d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18,32 +18,32 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" - integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== dependencies: - "@babel/highlight" "^7.12.13" + "@babel/highlight" "^7.14.5" -"@babel/compat-data@^7.13.15": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.15.tgz#7e8eea42d0b64fda2b375b22d06c605222e848f4" - integrity sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA== +"@babel/compat-data@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.5.tgz#8ef4c18e58e801c5c95d3c1c0f2874a2680fadea" + integrity sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w== "@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.7.5": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38" - integrity sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.3" - "@babel/helper-compilation-targets" "^7.13.16" - "@babel/helper-module-transforms" "^7.14.2" - "@babel/helpers" "^7.14.0" - "@babel/parser" "^7.14.3" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.2" - "@babel/types" "^7.14.2" + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.6.tgz#e0814ec1a950032ff16c13a2721de39a8416fcab" + integrity sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.14.5" + "@babel/helper-compilation-targets" "^7.14.5" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helpers" "^7.14.6" + "@babel/parser" "^7.14.6" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -51,12 +51,12 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.14.2", "@babel/generator@^7.14.3": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz#0c2652d91f7bddab7cccc6ba8157e4f40dcedb91" - integrity sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA== +"@babel/generator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785" + integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== dependencies: - "@babel/types" "^7.14.2" + "@babel/types" "^7.14.5" jsesc "^2.5.1" source-map "^0.5.0" @@ -67,128 +67,135 @@ dependencies: "@babel/types" "^7.12.13" -"@babel/helper-compilation-targets@^7.13.16": - version "7.13.16" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c" - integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA== +"@babel/helper-compilation-targets@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf" + integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== dependencies: - "@babel/compat-data" "^7.13.15" - "@babel/helper-validator-option" "^7.12.17" - browserslist "^4.14.5" + "@babel/compat-data" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" semver "^6.3.0" -"@babel/helper-function-name@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz#397688b590760b6ef7725b5f0860c82427ebaac2" - integrity sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ== +"@babel/helper-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" + integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.14.2" + "@babel/helper-get-function-arity" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/types" "^7.14.5" -"@babel/helper-get-function-arity@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" - integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== +"@babel/helper-get-function-arity@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" + integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== dependencies: - "@babel/types" "^7.12.13" + "@babel/types" "^7.14.5" -"@babel/helper-member-expression-to-functions@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72" - integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw== +"@babel/helper-hoist-variables@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" + integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.14.5" -"@babel/helper-module-imports@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" - integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== +"@babel/helper-member-expression-to-functions@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz#d5c70e4ad13b402c95156c7a53568f504e2fb7b8" + integrity sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.14.5" -"@babel/helper-module-transforms@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5" - integrity sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA== +"@babel/helper-module-imports@^7.13.12", "@babel/helper-module-imports@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" + integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-replace-supers" "^7.13.12" - "@babel/helper-simple-access" "^7.13.12" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.14.0" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.2" - "@babel/types" "^7.14.2" - -"@babel/helper-optimise-call-expression@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" - integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== + "@babel/types" "^7.14.5" + +"@babel/helper-module-transforms@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz#7de42f10d789b423eb902ebd24031ca77cb1e10e" + integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA== dependencies: - "@babel/types" "^7.12.13" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-simple-access" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-optimise-call-expression@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" + integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== + dependencies: + "@babel/types" "^7.14.5" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== -"@babel/helper-replace-supers@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz#6442f4c1ad912502481a564a7386de0c77ff3804" - integrity sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw== +"@babel/helper-replace-supers@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94" + integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== dependencies: - "@babel/helper-member-expression-to-functions" "^7.13.12" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.12" + "@babel/helper-member-expression-to-functions" "^7.14.5" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" -"@babel/helper-simple-access@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6" - integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA== +"@babel/helper-simple-access@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4" + integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.14.5" -"@babel/helper-split-export-declaration@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" - integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== +"@babel/helper-split-export-declaration@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" + integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== dependencies: - "@babel/types" "^7.12.13" + "@babel/types" "^7.14.5" -"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" - integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== +"@babel/helper-validator-identifier@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" + integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== -"@babel/helper-validator-option@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" - integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== +"@babel/helper-validator-option@^7.12.17", "@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== -"@babel/helpers@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" - integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== +"@babel/helpers@^7.14.6": + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz#5b58306b95f1b47e2a0199434fa8658fa6c21635" + integrity sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA== dependencies: - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" - integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== +"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== dependencies: - "@babel/helper-validator-identifier" "^7.12.11" + "@babel/helper-validator-identifier" "^7.14.5" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.2", "@babel/parser@^7.14.3", "@babel/parser@^7.6.0", "@babel/parser@^7.9.6": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.3.tgz#9b530eecb071fd0c93519df25c5ff9f14759f298" - integrity sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.6.0", "@babel/parser@^7.9.6": + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.6.tgz#d85cc68ca3cac84eae384c06f032921f5227f4b2" + integrity sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -326,35 +333,36 @@ "@babel/plugin-transform-react-jsx-development" "^7.12.17" "@babel/plugin-transform-react-pure-annotations" "^7.12.1" -"@babel/template@^7.12.13", "@babel/template@^7.3.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" - integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b" - integrity sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.2" - "@babel/helper-function-name" "^7.14.2" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.14.2" - "@babel/types" "^7.14.2" +"@babel/template@^7.14.5", "@babel/template@^7.3.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" + integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.5.tgz#c111b0f58afab4fea3d3385a406f692748c59870" + integrity sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.14.5" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/parser" "^7.14.5" + "@babel/types" "^7.14.5" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.13.12", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.6.1", "@babel/types@^7.9.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.2.tgz#4208ae003107ef8a057ea8333e56eb64d2f6a2c3" - integrity sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw== +"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.13.12", "@babel/types@^7.14.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.6.1", "@babel/types@^7.9.6": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff" + integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== dependencies: - "@babel/helper-validator-identifier" "^7.14.0" + "@babel/helper-validator-identifier" "^7.14.5" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -549,15 +557,15 @@ esquery "^1.4.0" jsdoctypeparser "^9.0.0" -"@eslint/eslintrc@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.1.tgz#442763b88cecbe3ee0ec7ca6d6dd6168550cbf14" - integrity sha512-5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ== +"@eslint/eslintrc@^0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179" + integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== dependencies: ajv "^6.12.4" debug "^4.1.1" espree "^7.3.0" - globals "^12.1.0" + globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" @@ -922,9 +930,9 @@ integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= "@types/node@*", "@types/node@^15.0.1": - version "15.3.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-15.3.0.tgz#d6fed7d6bc6854306da3dea1af9f874b00783e26" - integrity sha512-8/bnjSZD86ZfpBsDlCIkNXIvm+h6wi9g7IqL+kmFkQ+Wvu3JrasgLElfiPgoo8V8vVfnEi0QVS12gbl94h9YsQ== + version "15.12.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.4.tgz#e1cf817d70a1e118e81922c4ff6683ce9d422e26" + integrity sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -1126,22 +1134,22 @@ "@webassemblyjs/ast" "1.11.0" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.3.tgz#204bcff87cda3ea4810881f7ea96e5f5321b87b9" - integrity sha512-WQs0ep98FXX2XBAfQpRbY0Ma6ADw8JR6xoIkaIiJIzClGOMqVRvPCWqndTxf28DgFopWan0EKtHtg/5W1h0Zkw== +"@webpack-cli/configtest@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.4.tgz#f03ce6311c0883a83d04569e2c03c6238316d2aa" + integrity sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ== -"@webpack-cli/info@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.4.tgz#7381fd41c9577b2d8f6c2594fad397ef49ad5573" - integrity sha512-ogE2T4+pLhTTPS/8MM3IjHn0IYplKM4HbVNMCWA9N4NrdPzunwenpCsqKEXyejMfRu6K8mhauIPYf8ZxWG5O6g== +"@webpack-cli/info@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.3.0.tgz#9d78a31101a960997a4acd41ffd9b9300627fe2b" + integrity sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.4.0.tgz#f84fd07bcacefe56ce762925798871092f0f228e" - integrity sha512-xgT/HqJ+uLWGX+Mzufusl3cgjAcnqYYskaB7o0vRcwOEfuu6hMzSILQpnIzFMGsTaeaX4Nnekl+6fadLbl1/Vg== +"@webpack-cli/serve@^1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.5.1.tgz#b5fde2f0f79c1e120307c415a4c1d5eb15a6f278" + integrity sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -1224,20 +1232,10 @@ ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.0.3.tgz#13ae747eff125cafb230ac504b2406cf371eece2" - integrity sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.1.0.tgz#45d5d3d36c7cdd808930cc3e603cf6200dbeb736" - integrity sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ== +ajv@^8.0.1, ajv@^8.1.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.0.tgz#60cc45d9c46a477d80d92c48076d972c342e5720" + integrity sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -1585,7 +1583,7 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.14.5: +browserslist@^4.14.5, browserslist@^4.16.6: version "4.16.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== @@ -1972,9 +1970,9 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-js@^3.6.5: - version "3.13.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.13.1.tgz#30303fabd53638892062d8b4e802cac7599e9fb7" - integrity sha512-JqveUc4igkqwStL2RTRn/EPFGBOfEZHxJl/8ej1mXJR75V3go2mFF4bmUYkEIT1rveHKnkUlcJX/c+f1TyIovQ== + version "3.15.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.0.tgz#db9554ebce0b6fd90dc9b1f2465c841d2d055044" + integrity sha512-GUbtPllXMYRzIgHNZ4dTYTcUemls2cni83Q4Q/TrFONHfhcg9oEGOtaGHfb0cpzec60P96UKPvMkjX1jET8rUw== core-util-is@1.0.2, core-util-is@^1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -2133,9 +2131,9 @@ cspell@^4.0.63: minimatch "^3.0.4" css-loader@^5.0.1: - version "5.2.5" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.5.tgz#cdd18d6fe42748990793b4a7ec32eb16f36ba9d7" - integrity sha512-bH6QQacvSRtLX0lycAOs43S173n+lfXxB5cx4FjVkTLw5tAEwk5bxNLbkt5K1iETd5KxazRx70GpqOxsuwKiFA== + version "5.2.6" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.6.tgz#c3c82ab77fea1f360e587d871a6811f4450cc8d1" + integrity sha512-0wyN5vXMQZu6BvjbrPdUJvkCzGEO24HC7IS7nW4llc6BBFC+zwR9CKtYGv63Puzsg10L/o12inMY5/2ByzfD6w== dependencies: icss-utils "^5.1.0" loader-utils "^2.0.0" @@ -2200,9 +2198,9 @@ data-urls@^2.0.0: whatwg-url "^8.0.0" date-fns@^2.15.0: - version "2.21.3" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.21.3.tgz#8f5f6889d7a96bbcc1f0ea50239b397a83357f9b" - integrity sha512-HeYdzCaFflc1i4tGbj7JKMjM4cKGYoyxwcIIkHzNgCkX8xXDNJDZXgDDVchIWpN4eQc3lH37WarduXFZJOtxfw== + version "2.22.1" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.22.1.tgz#1e5af959831ebb1d82992bf67b765052d8f0efc4" + integrity sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg== debug@^2.2.0, debug@^2.3.3: version "2.6.9" @@ -2418,10 +2416,10 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-module-lexer@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.1.tgz#dda8c6a14d8f340a24e34331e0fab0cb50438e0e" - integrity sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA== +es-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.6.0.tgz#e72ab05b7412e62b9be37c37a09bdb6000d706f0" + integrity sha512-f8kcHX1ArhllUtb/wVSyvygoKCznIjnxhLxy7TCvIiMdT7fL4ZDTIKaadMe6eLvOXg6Wk02UeoFgUoZ2EKZZUA== es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.51, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: version "0.10.53" @@ -2484,6 +2482,11 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escodegen@1.8.x: version "1.8.1" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" @@ -2588,27 +2591,29 @@ eslint-visitor-keys@^2.0.0: integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== eslint@^7.14.0: - version "7.26.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.26.0.tgz#d416fdcdcb3236cd8f282065312813f8c13982f6" - integrity sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg== + version "7.29.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.29.0.tgz#ee2a7648f2e729485e4d0bd6383ec1deabc8b3c0" + integrity sha512-82G/JToB9qIy/ArBzIWG9xvvwL3R86AlCjtGw+A29OMZDqhTybz/MByORSukGxeI+YPCR4coYyITKk8BFH9nDA== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.1" + "@eslint/eslintrc" "^0.4.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" enquirer "^2.3.5" + escape-string-regexp "^4.0.0" eslint-scope "^5.1.1" eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" espree "^7.3.1" esquery "^1.4.0" esutils "^2.0.2" + fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" + glob-parent "^5.1.2" globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" @@ -2617,7 +2622,7 @@ eslint@^7.14.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.21" + lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -2626,7 +2631,7 @@ eslint@^7.14.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^6.0.4" + table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -2825,7 +2830,7 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -2974,9 +2979,9 @@ forever-agent@~0.6.1: integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= fork-ts-checker-webpack-plugin@^6.0.5: - version "6.2.9" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.9.tgz#08f51b685a48b09ab3ec079a8501762422443120" - integrity sha512-D/KSb/2VeiOy3odDerrC16WiZ1t5TLwiFfZmuDeTXcf3Km79M+f8nTCIdKkokxybybrgMcStbx0QpGaseePxnA== + version "6.2.12" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.12.tgz#b715297e39a77f31242d01a135a88d18c10d82ea" + integrity sha512-BzXGIfM47q1WFwXsNLl22dQVMFwSBgldL07lvqRJFxgrhT76QQ3nri5PX01Rxfa2RYvv/hqACULO8K5gT8fFuA== dependencies: "@babel/code-frame" "^7.8.3" "@types/json-schema" "^7.0.5" @@ -3114,10 +3119,10 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== +glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" @@ -3161,17 +3166,10 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" - integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== +globals@^13.6.0, globals@^13.9.0: + version "13.9.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb" + integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== dependencies: type-fest "^0.20.2" @@ -4148,6 +4146,15 @@ jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" +jest-worker@^27.0.2: + version "27.0.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.2.tgz#4ebeb56cef48b3e7514552f80d0d80c0129f0b05" + integrity sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@^26.6.3: version "26.6.3" resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" @@ -4483,17 +4490,32 @@ lodash-es@^4.17.15: resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + lodash.flattendeep@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4: +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -5279,9 +5301,9 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier@^2.0.5, prettier@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.0.tgz#b6a5bf1284026ae640f17f7ff5658a7567fc0d18" - integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w== + version "2.3.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6" + integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== pretty-format@^26.0.0, pretty-format@^26.3.0, pretty-format@^26.6.2: version "26.6.2" @@ -6258,6 +6280,13 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-hyperlinks@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" @@ -6271,15 +6300,17 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table@^6.0.4: - version "6.0.6" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.6.tgz#e9223f1e851213e2e43ab584b0fec33fb09a8e7a" - integrity sha512-OInCtPmDNieVBkVFi6C8RwU2S2H0h8mF3e3TQK4nreaUNCpooQUkI+A/KuEkm5FawfhWIfNqG+qfelVVR+V00g== +table@^6.0.9: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== dependencies: - ajv "^7.0.2" - lodash "^4.17.20" + ajv "^8.0.1" + lodash.clonedeep "^4.5.0" + lodash.truncate "^4.4.2" slice-ansi "^4.0.0" string-width "^4.2.0" + strip-ansi "^6.0.0" tapable@^1.0.0: version "1.1.3" @@ -6315,22 +6346,22 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" - integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q== +terser-webpack-plugin@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz#30033e955ca28b55664f1e4b30a1347e61aa23af" + integrity sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A== dependencies: - jest-worker "^26.6.2" + jest-worker "^27.0.2" p-limit "^3.1.0" schema-utils "^3.0.0" serialize-javascript "^5.0.1" source-map "^0.6.1" - terser "^5.5.1" + terser "^5.7.0" -terser@^5.5.0, terser@^5.5.1, terser@^5.6.1: - version "5.6.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.1.tgz#a48eeac5300c0a09b36854bf90d9c26fb201973c" - integrity sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw== +terser@^5.6.1, terser@^5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693" + integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g== dependencies: commander "^2.20.0" source-map "~0.7.2" @@ -6763,14 +6794,14 @@ webidl-conversions@^6.1.0: integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== webpack-cli@^4.3.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.7.0.tgz#3195a777f1f802ecda732f6c95d24c0004bc5a35" - integrity sha512-7bKr9182/sGfjFm+xdZSwgQuFjgEcy0iCTIBxRUeteJ2Kr8/Wz0qNJX+jw60LU36jApt4nmMkep6+W5AKhok6g== + version "4.7.2" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.7.2.tgz#a718db600de6d3906a4357e059ae584a89f4c1a5" + integrity sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.3" - "@webpack-cli/info" "^1.2.4" - "@webpack-cli/serve" "^1.4.0" + "@webpack-cli/configtest" "^1.0.4" + "@webpack-cli/info" "^1.3.0" + "@webpack-cli/serve" "^1.5.1" colorette "^1.2.1" commander "^7.0.0" execa "^5.0.0" @@ -6904,9 +6935,9 @@ write-file-atomic@^3.0.0: typedarray-to-buffer "^3.1.5" ws@^7.2.3: - version "7.4.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" - integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== + version "7.5.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.0.tgz#0033bafea031fb9df041b2026fc72a571ca44691" + integrity sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw== xdg-basedir@^4.0.0: version "4.0.0"