From 0aabe2a88446c2f8cae28ef50c93a525eb405df0 Mon Sep 17 00:00:00 2001 From: Ivan Kopeykin Date: Mon, 4 Apr 2022 17:59:01 +0300 Subject: [PATCH 01/28] add tree-shaking to ProvidedDependency --- lib/dependencies/ProvidedDependency.js | 60 ++++++++++++++++--- test/configCases/plugins/provide-plugin/a.js | 2 + test/configCases/plugins/provide-plugin/b.js | 7 +++ .../plugins/provide-plugin/harmony2.js | 2 + .../plugins/provide-plugin/index.js | 5 ++ .../plugins/provide-plugin/webpack.config.js | 2 + 6 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 test/configCases/plugins/provide-plugin/a.js create mode 100644 test/configCases/plugins/provide-plugin/b.js create mode 100644 test/configCases/plugins/provide-plugin/harmony2.js diff --git a/lib/dependencies/ProvidedDependency.js b/lib/dependencies/ProvidedDependency.js index 0962ba76230..83cd995c892 100644 --- a/lib/dependencies/ProvidedDependency.js +++ b/lib/dependencies/ProvidedDependency.js @@ -5,19 +5,23 @@ "use strict"; +const Dependency = require("../Dependency"); const InitFragment = require("../InitFragment"); const makeSerializable = require("../util/makeSerializable"); const ModuleDependency = require("./ModuleDependency"); /** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */ /** @typedef {import("../ChunkGraph")} ChunkGraph */ -/** @typedef {import("../Dependency")} Dependency */ +/** @typedef {import("../Dependency").ReferencedExport} ReferencedExport */ /** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */ /** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */ /** @typedef {import("../DependencyTemplates")} DependencyTemplates */ /** @typedef {import("../ModuleGraph")} ModuleGraph */ /** @typedef {import("../RuntimeTemplate")} RuntimeTemplate */ /** @typedef {import("../util/Hash")} Hash */ +/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */ + +const idsSymbol = Symbol("ProvidedDependency.ids"); /** * @param {string[]|null} path the property path array @@ -29,10 +33,16 @@ const pathToString = path => : ""; class ProvidedDependency extends ModuleDependency { - constructor(request, identifier, path, range) { + /** + * @param {string} request request + * @param {string} identifier identifier + * @param {string[]} ids ids + * @param {[number, number]} range range + */ + constructor(request, identifier, ids, range) { super(request); this.identifier = identifier; - this.path = path; + this.ids = ids; this.range = range; this._hashUpdate = undefined; } @@ -45,6 +55,38 @@ class ProvidedDependency extends ModuleDependency { return "esm"; } + /** + * @param {ModuleGraph} moduleGraph the module graph + * @returns {string[]} the imported ids + */ + getIds(moduleGraph) { + const meta = moduleGraph.getMetaIfExisting(this); + if (meta === undefined) return this.ids; + const ids = meta[idsSymbol]; + return ids !== undefined ? ids : this.ids; + } + + /** + * @param {ModuleGraph} moduleGraph the module graph + * @param {string[]} ids the imported ids + * @returns {void} + */ + setIds(moduleGraph, ids) { + moduleGraph.getMeta(this)[idsSymbol] = ids; + } + + /** + * Returns list of exports referenced by this dependency + * @param {ModuleGraph} moduleGraph module graph + * @param {RuntimeSpec} runtime the runtime for which the module is analysed + * @returns {(string[] | ReferencedExport)[]} referenced exports + */ + getReferencedExports(moduleGraph, runtime) { + let ids = this.getIds(moduleGraph); + if (ids.length === 0) return Dependency.EXPORTS_OBJECT_REFERENCED; + return [ids]; + } + /** * Update the hash * @param {Hash} hash hash to be updated @@ -54,7 +96,7 @@ class ProvidedDependency extends ModuleDependency { updateHash(hash, context) { if (this._hashUpdate === undefined) { this._hashUpdate = - this.identifier + (this.path ? this.path.join(",") : "null"); + this.identifier + (this.ids ? this.ids.join(",") : "null"); } hash.update(this._hashUpdate); } @@ -62,14 +104,14 @@ class ProvidedDependency extends ModuleDependency { serialize(context) { const { write } = context; write(this.identifier); - write(this.path); + write(this.ids); super.serialize(context); } deserialize(context) { const { read } = context; this.identifier = read(); - this.path = read(); + this.ids = read(); super.deserialize(context); } } @@ -90,6 +132,7 @@ class ProvidedDependencyTemplate extends ModuleDependency.Template { dependency, source, { + runtime, runtimeTemplate, moduleGraph, chunkGraph, @@ -98,6 +141,9 @@ class ProvidedDependencyTemplate extends ModuleDependency.Template { } ) { const dep = /** @type {ProvidedDependency} */ (dependency); + const connection = moduleGraph.getConnection(dep); + const exportsInfo = moduleGraph.getExportsInfo(connection.module); + const usedName = exportsInfo.getUsedName(dep.getIds(moduleGraph), runtime); initFragments.push( new InitFragment( `/* provided dependency */ var ${ @@ -107,7 +153,7 @@ class ProvidedDependencyTemplate extends ModuleDependency.Template { chunkGraph, request: dep.request, runtimeRequirements - })}${pathToString(dep.path)};\n`, + })}${pathToString(/** @type {string[]} */ (usedName))};\n`, InitFragment.STAGE_PROVIDES, 1, `provided ${dep.identifier}` diff --git a/test/configCases/plugins/provide-plugin/a.js b/test/configCases/plugins/provide-plugin/a.js new file mode 100644 index 00000000000..f8297ed707d --- /dev/null +++ b/test/configCases/plugins/provide-plugin/a.js @@ -0,0 +1,2 @@ +export * as c from "./b"; +export * as c2 from "./harmony2"; diff --git a/test/configCases/plugins/provide-plugin/b.js b/test/configCases/plugins/provide-plugin/b.js new file mode 100644 index 00000000000..64bcdcfb6b8 --- /dev/null +++ b/test/configCases/plugins/provide-plugin/b.js @@ -0,0 +1,7 @@ +export function square(x) { + return x * x; +} + +export function cube(x) { + return x * x * x; +} diff --git a/test/configCases/plugins/provide-plugin/harmony2.js b/test/configCases/plugins/provide-plugin/harmony2.js new file mode 100644 index 00000000000..cabd2fbbb5f --- /dev/null +++ b/test/configCases/plugins/provide-plugin/harmony2.js @@ -0,0 +1,2 @@ +export const a = 1; +export const aUsed = __webpack_exports_info__.a.used; diff --git a/test/configCases/plugins/provide-plugin/index.js b/test/configCases/plugins/provide-plugin/index.js index 976ac6a2ce6..989d9ff0692 100644 --- a/test/configCases/plugins/provide-plugin/index.js +++ b/test/configCases/plugins/provide-plugin/index.js @@ -48,6 +48,11 @@ it("should provide a module for a property request", function() { expect(x).toBe("fff"); }); +it("should tree-shake unused exports", function() { + expect(aa1(2)).toBe(8); + expect(es2015_aUsed).toBe(false); +}); + it("should provide ES2015 modules", function() { expect((es2015.default)).toBe("ECMAScript 2015"); expect((es2015.alias)).toBe("ECMAScript Harmony"); diff --git a/test/configCases/plugins/provide-plugin/webpack.config.js b/test/configCases/plugins/provide-plugin/webpack.config.js index 508bb2c5719..d51e6549adf 100644 --- a/test/configCases/plugins/provide-plugin/webpack.config.js +++ b/test/configCases/plugins/provide-plugin/webpack.config.js @@ -6,6 +6,8 @@ module.exports = { aaa: "./aaa", "bbb.ccc": "./bbbccc", dddeeefff: ["./ddd", "eee", "3-f"], + aa1: ["./a", "c", "cube"], + es2015_aUsed: ["./harmony2", "aUsed"], "process.env.NODE_ENV": "./env", es2015: "./harmony", es2015_name: ["./harmony", "default"], From 8729f2e787c1780b5b1109df7738521621609d61 Mon Sep 17 00:00:00 2001 From: Ivan Kopeykin Date: Fri, 8 Apr 2022 15:53:28 +0300 Subject: [PATCH 02/28] set crossOrigin=use-credentials without origin check --- lib/css/CssLoadingRuntimeModule.js | 16 +++++++++------- lib/runtime/LoadScriptRuntimeModule.js | 16 +++++++++------- lib/web/JsonpChunkLoadingRuntimeModule.js | 20 +++++++++++--------- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/lib/css/CssLoadingRuntimeModule.js b/lib/css/CssLoadingRuntimeModule.js index 670c0b99a91..15dbef8d060 100644 --- a/lib/css/CssLoadingRuntimeModule.js +++ b/lib/css/CssLoadingRuntimeModule.js @@ -108,13 +108,15 @@ class CssLoadingRuntimeModule extends RuntimeModule { 'link.rel = "stylesheet";', "link.href = url;", crossOriginLoading - ? Template.asString([ - "if (link.src.indexOf(window.location.origin + '/') !== 0) {", - Template.indent( - `link.crossOrigin = ${JSON.stringify(crossOriginLoading)};` - ), - "}" - ]) + ? crossOriginLoading === "use-credentials" + ? 'link.crossOrigin = "use-credentials";' + : Template.asString([ + "if (link.src.indexOf(window.location.origin + '/') !== 0) {", + Template.indent( + `link.crossOrigin = ${JSON.stringify(crossOriginLoading)};` + ), + "}" + ]) : "" ]); diff --git a/lib/runtime/LoadScriptRuntimeModule.js b/lib/runtime/LoadScriptRuntimeModule.js index 399099391f0..00564b9b4ba 100644 --- a/lib/runtime/LoadScriptRuntimeModule.js +++ b/lib/runtime/LoadScriptRuntimeModule.js @@ -87,13 +87,15 @@ class LoadScriptRuntimeModule extends HelperRuntimeModule { : "url" };`, crossOriginLoading - ? Template.asString([ - "if (script.src.indexOf(window.location.origin + '/') !== 0) {", - Template.indent( - `script.crossOrigin = ${JSON.stringify(crossOriginLoading)};` - ), - "}" - ]) + ? crossOriginLoading === "use-credentials" + ? 'script.crossOrigin = "use-credentials";' + : Template.asString([ + "if (script.src.indexOf(window.location.origin + '/') !== 0) {", + Template.indent( + `script.crossOrigin = ${JSON.stringify(crossOriginLoading)};` + ), + "}" + ]) : "" ]); diff --git a/lib/web/JsonpChunkLoadingRuntimeModule.js b/lib/web/JsonpChunkLoadingRuntimeModule.js index c146eee8a79..ea7bfb4ab4f 100644 --- a/lib/web/JsonpChunkLoadingRuntimeModule.js +++ b/lib/web/JsonpChunkLoadingRuntimeModule.js @@ -263,15 +263,17 @@ class JsonpChunkLoadingRuntimeModule extends RuntimeModule { 'link.as = "script";', `link.href = ${RuntimeGlobals.publicPath} + ${RuntimeGlobals.getChunkScriptFilename}(chunkId);`, crossOriginLoading - ? Template.asString([ - "if (link.href.indexOf(window.location.origin + '/') !== 0) {", - Template.indent( - `link.crossOrigin = ${JSON.stringify( - crossOriginLoading - )};` - ), - "}" - ]) + ? crossOriginLoading === "use-credentials" + ? 'link.crossOrigin = "use-credentials";' + : Template.asString([ + "if (link.href.indexOf(window.location.origin + '/') !== 0) {", + Template.indent( + `link.crossOrigin = ${JSON.stringify( + crossOriginLoading + )};` + ), + "}" + ]) : "" ]), chunk From cb53764327ca736f1592d3d857bd9c2e5fa93177 Mon Sep 17 00:00:00 2001 From: Ivan Kopeykin Date: Mon, 11 Apr 2022 14:18:55 +0300 Subject: [PATCH 03/28] fix discussions --- lib/dependencies/ProvidedDependency.js | 29 +++----------------------- 1 file changed, 3 insertions(+), 26 deletions(-) diff --git a/lib/dependencies/ProvidedDependency.js b/lib/dependencies/ProvidedDependency.js index 83cd995c892..7f9c324ea63 100644 --- a/lib/dependencies/ProvidedDependency.js +++ b/lib/dependencies/ProvidedDependency.js @@ -21,8 +21,6 @@ const ModuleDependency = require("./ModuleDependency"); /** @typedef {import("../util/Hash")} Hash */ /** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */ -const idsSymbol = Symbol("ProvidedDependency.ids"); - /** * @param {string[]|null} path the property path array * @returns {string} the converted path @@ -55,26 +53,6 @@ class ProvidedDependency extends ModuleDependency { return "esm"; } - /** - * @param {ModuleGraph} moduleGraph the module graph - * @returns {string[]} the imported ids - */ - getIds(moduleGraph) { - const meta = moduleGraph.getMetaIfExisting(this); - if (meta === undefined) return this.ids; - const ids = meta[idsSymbol]; - return ids !== undefined ? ids : this.ids; - } - - /** - * @param {ModuleGraph} moduleGraph the module graph - * @param {string[]} ids the imported ids - * @returns {void} - */ - setIds(moduleGraph, ids) { - moduleGraph.getMeta(this)[idsSymbol] = ids; - } - /** * Returns list of exports referenced by this dependency * @param {ModuleGraph} moduleGraph module graph @@ -82,7 +60,7 @@ class ProvidedDependency extends ModuleDependency { * @returns {(string[] | ReferencedExport)[]} referenced exports */ getReferencedExports(moduleGraph, runtime) { - let ids = this.getIds(moduleGraph); + let ids = this.ids; if (ids.length === 0) return Dependency.EXPORTS_OBJECT_REFERENCED; return [ids]; } @@ -95,8 +73,7 @@ class ProvidedDependency extends ModuleDependency { */ updateHash(hash, context) { if (this._hashUpdate === undefined) { - this._hashUpdate = - this.identifier + (this.ids ? this.ids.join(",") : "null"); + this._hashUpdate = this.identifier + (this.ids ? this.ids.join(",") : ""); } hash.update(this._hashUpdate); } @@ -143,7 +120,7 @@ class ProvidedDependencyTemplate extends ModuleDependency.Template { const dep = /** @type {ProvidedDependency} */ (dependency); const connection = moduleGraph.getConnection(dep); const exportsInfo = moduleGraph.getExportsInfo(connection.module); - const usedName = exportsInfo.getUsedName(dep.getIds(moduleGraph), runtime); + const usedName = exportsInfo.getUsedName(dep.ids, runtime); initFragments.push( new InitFragment( `/* provided dependency */ var ${ From 2e50fd41708131ecfe4b9cbadc889b10ea1ecc17 Mon Sep 17 00:00:00 2001 From: Nitin Kumar Date: Mon, 16 May 2022 18:58:56 +0530 Subject: [PATCH 04/28] ci: update github actions --- .github/workflows/test.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c146ff1a4ea..d51e352b7b2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,9 +17,9 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Use Node.js - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: 17.x cache: "yarn" @@ -33,9 +33,9 @@ jobs: basic: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Use Node.js - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: 17.x cache: "yarn" @@ -43,16 +43,16 @@ jobs: - run: yarn link --frozen-lockfile || true - run: yarn link webpack --frozen-lockfile - run: yarn test:basic --ci - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v3 with: flags: basic functionalities: gcov unit: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Use Node.js - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: 17.x cache: "yarn" @@ -65,7 +65,7 @@ jobs: key: jest-unit-${{ env.GITHUB_SHA }} restore-keys: jest-unit- - run: yarn cover:unit --ci --cacheDirectory .jest-cache - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v3 with: flags: unit functionalities: gcov @@ -89,23 +89,23 @@ jobs: part: a runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: "yarn" - run: yarn --frozen-lockfile - run: yarn link --frozen-lockfile || true - run: yarn link webpack --frozen-lockfile - - uses: actions/cache@v1 + - uses: actions/cache@v2 with: path: .jest-cache key: jest-integration-${{ env.GITHUB_SHA }} restore-keys: jest-integration- - run: yarn cover:integration:${{ matrix.part }} --ci --cacheDirectory .jest-cache || yarn cover:integration:${{ matrix.part }} --ci --cacheDirectory .jest-cache -f - run: yarn cover:merge - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v3 with: flags: integration functionalities: gcov From d14e14b7ab87b9cdac045075a1f3c5c46e40bbaa Mon Sep 17 00:00:00 2001 From: Ivan Kopeykin Date: Fri, 27 May 2022 11:23:45 +0300 Subject: [PATCH 05/28] add concatenate modules side effects test case --- .../configCases/concatenate-modules/side-effects/index.js | 8 ++++++++ .../side-effects/node_modules/dep/a.js | 3 +++ .../side-effects/node_modules/dep/b.js | 3 +++ .../side-effects/node_modules/dep/index.js | 6 ++++++ .../side-effects/node_modules/dep/package.json | 6 ++++++ .../concatenate-modules/side-effects/webpack.config.js | 6 ++++++ 6 files changed, 32 insertions(+) create mode 100644 test/configCases/concatenate-modules/side-effects/index.js create mode 100644 test/configCases/concatenate-modules/side-effects/node_modules/dep/a.js create mode 100644 test/configCases/concatenate-modules/side-effects/node_modules/dep/b.js create mode 100644 test/configCases/concatenate-modules/side-effects/node_modules/dep/index.js create mode 100644 test/configCases/concatenate-modules/side-effects/node_modules/dep/package.json create mode 100644 test/configCases/concatenate-modules/side-effects/webpack.config.js diff --git a/test/configCases/concatenate-modules/side-effects/index.js b/test/configCases/concatenate-modules/side-effects/index.js new file mode 100644 index 00000000000..e7acd7a448b --- /dev/null +++ b/test/configCases/concatenate-modules/side-effects/index.js @@ -0,0 +1,8 @@ +import {b, a} from "dep"; + +b.bbb(); +a.aa(); + +it("should import modules in correct order", () => { + expect(global.second).toBe(2); +}); diff --git a/test/configCases/concatenate-modules/side-effects/node_modules/dep/a.js b/test/configCases/concatenate-modules/side-effects/node_modules/dep/a.js new file mode 100644 index 00000000000..b1948ec7d60 --- /dev/null +++ b/test/configCases/concatenate-modules/side-effects/node_modules/dep/a.js @@ -0,0 +1,3 @@ +global.first = 1; +export function aa() {} +export function aaa() {} diff --git a/test/configCases/concatenate-modules/side-effects/node_modules/dep/b.js b/test/configCases/concatenate-modules/side-effects/node_modules/dep/b.js new file mode 100644 index 00000000000..9db285e723c --- /dev/null +++ b/test/configCases/concatenate-modules/side-effects/node_modules/dep/b.js @@ -0,0 +1,3 @@ +global.second = global.first + 1; +export function bb() {} +export function bbb() {} diff --git a/test/configCases/concatenate-modules/side-effects/node_modules/dep/index.js b/test/configCases/concatenate-modules/side-effects/node_modules/dep/index.js new file mode 100644 index 00000000000..d90084904a1 --- /dev/null +++ b/test/configCases/concatenate-modules/side-effects/node_modules/dep/index.js @@ -0,0 +1,6 @@ +import * as a from "./a.js"; +import * as b from "./b.js"; +export { + a, + b +} diff --git a/test/configCases/concatenate-modules/side-effects/node_modules/dep/package.json b/test/configCases/concatenate-modules/side-effects/node_modules/dep/package.json new file mode 100644 index 00000000000..e348bad3030 --- /dev/null +++ b/test/configCases/concatenate-modules/side-effects/node_modules/dep/package.json @@ -0,0 +1,6 @@ +{ + "name": "dep", + "version": "1.0.0", + "type": "module", + "sideEffects": true +} diff --git a/test/configCases/concatenate-modules/side-effects/webpack.config.js b/test/configCases/concatenate-modules/side-effects/webpack.config.js new file mode 100644 index 00000000000..c939ba33f61 --- /dev/null +++ b/test/configCases/concatenate-modules/side-effects/webpack.config.js @@ -0,0 +1,6 @@ +/** @type {import("../../../../").Configuration} */ +module.exports = { + optimization: { + concatenateModules: true + } +}; From 647faec2bf659d5005cba530d69eb4529181c2ed Mon Sep 17 00:00:00 2001 From: Ivan Kopeykin Date: Fri, 27 May 2022 14:22:05 +0300 Subject: [PATCH 06/28] make imports order deterministic --- lib/optimize/ConcatenatedModule.js | 57 +++++++++++++++++++++--------- 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/lib/optimize/ConcatenatedModule.js b/lib/optimize/ConcatenatedModule.js index fd88ecaea9f..6d1a33bb552 100644 --- a/lib/optimize/ConcatenatedModule.js +++ b/lib/optimize/ConcatenatedModule.js @@ -21,7 +21,7 @@ const HarmonyImportDependency = require("../dependencies/HarmonyImportDependency const JavascriptParser = require("../javascript/JavascriptParser"); const { equals } = require("../util/ArrayHelpers"); const LazySet = require("../util/LazySet"); -const { concatComparators, keepOriginalOrder } = require("../util/comparators"); +const { concatComparators } = require("../util/comparators"); const createHash = require("../util/createHash"); const { makePathsRelative } = require("../util/identifier"); const makeSerializable = require("../util/makeSerializable"); @@ -185,23 +185,25 @@ const RESERVED_NAMES = new Set( .split(",") ); -const bySourceOrder = (a, b) => { - const aOrder = a.sourceOrder; - const bOrder = b.sourceOrder; - if (isNaN(aOrder)) { - if (!isNaN(bOrder)) { +const createComparator = (property, comparator) => (a, b) => + comparator(a[property], b[property]); +const compareNumbers = (a, b) => { + if (isNaN(a)) { + if (!isNaN(b)) { return 1; } } else { - if (isNaN(bOrder)) { + if (isNaN(b)) { return -1; } - if (aOrder !== bOrder) { - return aOrder < bOrder ? -1 : 1; + if (a !== b) { + return a < b ? -1 : 1; } } return 0; }; +const bySourceOrder = createComparator("sourceOrder", compareNumbers); +const byRangeStart = createComparator("rangeStart", compareNumbers); const joinIterableWithComma = iterable => { // This is more performant than Array.from().join(", ") @@ -885,6 +887,9 @@ class ConcatenatedModule extends Module { for (const c of moduleGraph.getOutgoingConnections(this)) connections.push(c); } + /** + * @type {Array<{ connection: ModuleGraphConnection, sourceOrder: number, rangeStart: number }>} + */ const references = connections .filter(connection => { if (!(connection.dependency instanceof HarmonyImportDependency)) @@ -896,15 +901,33 @@ class ConcatenatedModule extends Module { connection.isTargetActive(runtime) ); }) - .map(connection => ({ - connection, - sourceOrder: /** @type {HarmonyImportDependency} */ ( + .map(connection => { + const dep = /** @type {HarmonyImportDependency} */ ( connection.dependency - ).sourceOrder - })); - references.sort( - concatComparators(bySourceOrder, keepOriginalOrder(references)) - ); + ); + return { + connection, + sourceOrder: dep.sourceOrder, + rangeStart: dep.range && dep.range[0] + }; + }); + /** + * bySourceOrder + * @example + * import a from "a"; // sourceOrder=1 + * import b from "b"; // sourceOrder=2 + * + * byRangeStart + * @example + * import {a, b} from "a"; // sourceOrder=1 + * a.a(); // first range + * b.b(); // second range + * + * If there is no reexport, we have the same source. + * If there is reexport, but module has side effects, this will lead to reexport module only. + * If there is side-effects-free reexport, we can get simple deterministic result with range start comparison. + */ + references.sort(concatComparators(bySourceOrder, byRangeStart)); /** @type {Map} */ const referencesMap = new Map(); for (const { connection } of references) { From def405787ddf15e4b1d0edd06eb67e4e8852b9b9 Mon Sep 17 00:00:00 2001 From: Magin <573746388@qq.com> Date: Thu, 2 Jun 2022 17:24:51 +0800 Subject: [PATCH 07/28] fix: compat require absolute dir on Windows --- lib/FileSystemInfo.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/FileSystemInfo.js b/lib/FileSystemInfo.js index 225b3d2dc38..f00a5831828 100644 --- a/lib/FileSystemInfo.js +++ b/lib/FileSystemInfo.js @@ -8,12 +8,14 @@ const { create: createResolver } = require("enhanced-resolve"); const nodeModule = require("module"); const asyncLib = require("neo-async"); +const { isAbsolute } = require('path'); const AsyncQueue = require("./util/AsyncQueue"); const StackedCacheMap = require("./util/StackedCacheMap"); const createHash = require("./util/createHash"); const { join, dirname, relative, lstatReadlinkAbsolute } = require("./util/fs"); const makeSerializable = require("./util/makeSerializable"); const processAsyncTree = require("./util/processAsyncTree"); +const { require } = require("./RuntimeGlobals"); /** @typedef {import("./WebpackError")} WebpackError */ /** @typedef {import("./logging/Logger").Logger} Logger */ @@ -1633,7 +1635,7 @@ class FileSystemInfo { let request = relative(this.fs, context, childPath); if (request.endsWith(".js")) request = request.slice(0, -3); request = request.replace(/\\/g, "/"); - if (!request.startsWith("../")) request = `./${request}`; + if (!request.startsWith("../") && !isAbsolute(request)) request = `./${request}`; push({ type: RBDT_RESOLVE_CJS_FILE, context, From e4f61cf1e380bcfb8489ce227d2832df25d6dfcd Mon Sep 17 00:00:00 2001 From: Magin <573746388@qq.com> Date: Thu, 2 Jun 2022 17:26:11 +0800 Subject: [PATCH 08/28] fix: delete useless code --- lib/FileSystemInfo.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/FileSystemInfo.js b/lib/FileSystemInfo.js index f00a5831828..cf4064f4cb8 100644 --- a/lib/FileSystemInfo.js +++ b/lib/FileSystemInfo.js @@ -15,7 +15,6 @@ const createHash = require("./util/createHash"); const { join, dirname, relative, lstatReadlinkAbsolute } = require("./util/fs"); const makeSerializable = require("./util/makeSerializable"); const processAsyncTree = require("./util/processAsyncTree"); -const { require } = require("./RuntimeGlobals"); /** @typedef {import("./WebpackError")} WebpackError */ /** @typedef {import("./logging/Logger").Logger} Logger */ From b79500cdef2d27a47097989773d8d58b5359e789 Mon Sep 17 00:00:00 2001 From: Magin <573746388@qq.com> Date: Thu, 2 Jun 2022 18:06:41 +0800 Subject: [PATCH 09/28] fix: fix lint --- lib/FileSystemInfo.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/FileSystemInfo.js b/lib/FileSystemInfo.js index cf4064f4cb8..1b989fd77c3 100644 --- a/lib/FileSystemInfo.js +++ b/lib/FileSystemInfo.js @@ -8,7 +8,7 @@ const { create: createResolver } = require("enhanced-resolve"); const nodeModule = require("module"); const asyncLib = require("neo-async"); -const { isAbsolute } = require('path'); +const { isAbsolute } = require("path"); const AsyncQueue = require("./util/AsyncQueue"); const StackedCacheMap = require("./util/StackedCacheMap"); const createHash = require("./util/createHash"); @@ -1634,7 +1634,9 @@ class FileSystemInfo { let request = relative(this.fs, context, childPath); if (request.endsWith(".js")) request = request.slice(0, -3); request = request.replace(/\\/g, "/"); - if (!request.startsWith("../") && !isAbsolute(request)) request = `./${request}`; + if (!request.startsWith("../") && !isAbsolute(request)) { + request = `./${request}`; + } push({ type: RBDT_RESOLVE_CJS_FILE, context, From 0e33da7aee44e35c7ca9bac35045a876f0d05eeb Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Thu, 2 Jun 2022 13:10:08 +0200 Subject: [PATCH 10/28] improve test case --- .../concatenate-modules/side-effects/index.js | 9 ++++++--- .../side-effects/node_modules/dep/a.js | 3 ++- .../side-effects/node_modules/dep/b.js | 3 ++- .../side-effects/node_modules/dep/c.js | 4 ++++ .../side-effects/node_modules/dep/index.js | 4 +++- .../side-effects/node_modules/dep/order.js | 4 ++++ .../side-effects/node_modules/dep/package.json | 2 +- 7 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 test/configCases/concatenate-modules/side-effects/node_modules/dep/c.js create mode 100644 test/configCases/concatenate-modules/side-effects/node_modules/dep/order.js diff --git a/test/configCases/concatenate-modules/side-effects/index.js b/test/configCases/concatenate-modules/side-effects/index.js index e7acd7a448b..354609dca02 100644 --- a/test/configCases/concatenate-modules/side-effects/index.js +++ b/test/configCases/concatenate-modules/side-effects/index.js @@ -1,8 +1,11 @@ -import {b, a} from "dep"; +import { b, a, c } from "dep"; +c.cc(); b.bbb(); a.aa(); -it("should import modules in correct order", () => { - expect(global.second).toBe(2); +import { order } from "dep/order.js"; + +it("should import side-effect-free modules in deterministic order (usage order)", () => { + expect(order).toEqual(["c", "b", "a"]); }); diff --git a/test/configCases/concatenate-modules/side-effects/node_modules/dep/a.js b/test/configCases/concatenate-modules/side-effects/node_modules/dep/a.js index b1948ec7d60..e913fb686ff 100644 --- a/test/configCases/concatenate-modules/side-effects/node_modules/dep/a.js +++ b/test/configCases/concatenate-modules/side-effects/node_modules/dep/a.js @@ -1,3 +1,4 @@ -global.first = 1; +import { track } from "./order.js"; +track("a"); export function aa() {} export function aaa() {} diff --git a/test/configCases/concatenate-modules/side-effects/node_modules/dep/b.js b/test/configCases/concatenate-modules/side-effects/node_modules/dep/b.js index 9db285e723c..f6ffeb634bc 100644 --- a/test/configCases/concatenate-modules/side-effects/node_modules/dep/b.js +++ b/test/configCases/concatenate-modules/side-effects/node_modules/dep/b.js @@ -1,3 +1,4 @@ -global.second = global.first + 1; +import { track } from "./order.js"; +track("b"); export function bb() {} export function bbb() {} diff --git a/test/configCases/concatenate-modules/side-effects/node_modules/dep/c.js b/test/configCases/concatenate-modules/side-effects/node_modules/dep/c.js new file mode 100644 index 00000000000..4478c310b26 --- /dev/null +++ b/test/configCases/concatenate-modules/side-effects/node_modules/dep/c.js @@ -0,0 +1,4 @@ +import { track } from "./order.js"; +track("c"); +export function cc() {} +export function ccc() {} diff --git a/test/configCases/concatenate-modules/side-effects/node_modules/dep/index.js b/test/configCases/concatenate-modules/side-effects/node_modules/dep/index.js index d90084904a1..6195488abca 100644 --- a/test/configCases/concatenate-modules/side-effects/node_modules/dep/index.js +++ b/test/configCases/concatenate-modules/side-effects/node_modules/dep/index.js @@ -1,6 +1,8 @@ import * as a from "./a.js"; import * as b from "./b.js"; +import * as c from "./c.js"; export { a, - b + b, + c } diff --git a/test/configCases/concatenate-modules/side-effects/node_modules/dep/order.js b/test/configCases/concatenate-modules/side-effects/node_modules/dep/order.js new file mode 100644 index 00000000000..306f83ab171 --- /dev/null +++ b/test/configCases/concatenate-modules/side-effects/node_modules/dep/order.js @@ -0,0 +1,4 @@ +export let order = []; +export function track(name) { + order.push(name); +} diff --git a/test/configCases/concatenate-modules/side-effects/node_modules/dep/package.json b/test/configCases/concatenate-modules/side-effects/node_modules/dep/package.json index e348bad3030..644d902d8e0 100644 --- a/test/configCases/concatenate-modules/side-effects/node_modules/dep/package.json +++ b/test/configCases/concatenate-modules/side-effects/node_modules/dep/package.json @@ -2,5 +2,5 @@ "name": "dep", "version": "1.0.0", "type": "module", - "sideEffects": true + "sideEffects": false } From 93d12ebf89fbe2a8b812edb6787dae207de635d8 Mon Sep 17 00:00:00 2001 From: zoomdong <1344492820@qq.com> Date: Sat, 4 Jun 2022 18:26:42 +0800 Subject: [PATCH 11/28] fix: hmr build twice --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f489b46ccbc..4c78ad5d611 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "peerDependenciesMeta": { diff --git a/yarn.lock b/yarn.lock index eda8df822d7..f13df2f4c93 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6082,10 +6082,10 @@ wast-loader@^1.11.0: dependencies: wabt "1.0.0-nightly.20180421" -watchpack@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" - integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== +watchpack@^2.4.0: + version "2.4.0" + resolved "http://bnpm.byted.org/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" From 9015847bf34f1969a1ca50c02cd4810ecf7e1928 Mon Sep 17 00:00:00 2001 From: Ivan Kopeykin Date: Sat, 4 Jun 2022 15:36:24 +0300 Subject: [PATCH 12/28] fix registry --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index f13df2f4c93..8f9d77f68fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6084,7 +6084,7 @@ wast-loader@^1.11.0: watchpack@^2.4.0: version "2.4.0" - resolved "http://bnpm.byted.org/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: glob-to-regexp "^0.4.1" From 18a89b7129ed05db3f3261859e1ef01976a3d277 Mon Sep 17 00:00:00 2001 From: Ludovico Fischer Date: Sat, 4 Jun 2022 16:52:07 +0200 Subject: [PATCH 13/28] chore: improve warning message grammar --- lib/NodeStuffPlugin.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/NodeStuffPlugin.js b/lib/NodeStuffPlugin.js index 512c47b4d40..99676eb2f89 100644 --- a/lib/NodeStuffPlugin.js +++ b/lib/NodeStuffPlugin.js @@ -117,7 +117,7 @@ class NodeStuffPlugin { setConstant( "__filename", "/index.js", - "The __filename is Node.js feature and doesn't present in browser." + "__filename is a Node.js feature and isn't available in browsers." ); break; case true: @@ -144,7 +144,7 @@ class NodeStuffPlugin { setConstant( "__dirname", "/", - "The __dirname is Node.js feature and doesn't present in browser." + "__dirname is a Node.js feature and isn't available in browsers." ); break; case true: From 107792edba168ecc74fc726a24dbfafb904cb816 Mon Sep 17 00:00:00 2001 From: "amaresh.sm" Date: Fri, 10 Jun 2022 15:55:44 +0530 Subject: [PATCH 14/28] chore: add bugs field in package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index f489b46ccbc..2e69eb47479 100644 --- a/package.json +++ b/package.json @@ -121,6 +121,7 @@ "url": "https://opencollective.com/webpack" }, "homepage": "https://github.com/webpack/webpack", + "bugs": "https://github.com/webpack/webpack/issues", "main": "lib/index.js", "bin": { "webpack": "bin/webpack.js" From b3ff509ae57f944876346168a202f7a7a186b1e6 Mon Sep 17 00:00:00 2001 From: biodiscus Date: Tue, 28 Jun 2022 19:13:23 +0200 Subject: [PATCH 15/28] docs: add to plugins the `pug-plugin` and to loaders the modern `@webdiscus/pug-loader` --- README.md | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 517a5ee32e7..cb5b9048cd9 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,7 @@ within webpack itself use this plugin interface. This makes webpack very | [mini-css-extract-plugin][mini-css] | ![mini-css-npm] | ![mini-css-size] | Extracts CSS into separate files. It creates a CSS file per JS file which contains CSS. | | [compression-webpack-plugin][compression] | ![compression-npm] | ![compression-size] | Prepares compressed versions of assets to serve them with Content-Encoding | | [html-webpack-plugin][html-plugin] | ![html-plugin-npm] | ![html-plugin-size] | Simplifies creation of HTML files (`index.html`) to serve your bundles | +| [pug-plugin][pug-plugin] | ![pug-plugin-npm] | ![pug-plugin-size] | Renders Pug files to HTML, extracts JS and CSS from sources specified directly in Pug. | [common-npm]: https://img.shields.io/npm/v/webpack.svg [mini-css]: https://github.com/webpack-contrib/mini-css-extract-plugin @@ -124,6 +125,9 @@ within webpack itself use this plugin interface. This makes webpack very [html-plugin]: https://github.com/jantimon/html-webpack-plugin [html-plugin-npm]: https://img.shields.io/npm/v/html-webpack-plugin.svg [html-plugin-size]: https://packagephobia.com/badge?p=html-webpack-plugin +[pug-plugin]: https://github.com/webdiscus/pug-plugin +[pug-plugin-npm]: https://img.shields.io/npm/v/pug-plugin.svg +[pug-plugin-size]: https://packagephobia.com/badge?p=pug-plugin ### [Loaders](https://webpack.js.org/loaders/) @@ -170,18 +174,21 @@ or are automatically applied via regex from your webpack configuration. #### Templating -| Name | Status | Install Size | Description | -| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: | :--------------: | :-------------------------------------------------------------------------------------- | -| | ![html-npm] | ![html-size] | Exports HTML as string, requires references to static resources | -| | ![pug-npm] | ![pug-size] | Loads Pug templates and returns a function | -| | ![md-npm] | ![md-size] | Compiles Markdown to HTML | -| | ![posthtml-npm] | ![posthtml-size] | Loads and transforms a HTML file using [PostHTML](https://github.com/posthtml/posthtml) | -| | ![hbs-npm] | ![hbs-size] | Compiles Handlebars to HTML | +| Name | Status | Install Size | Description | +| :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: | :--------------: | :-------------------------------------------------------------------------------------- | +| | ![html-npm] | ![html-size] | Exports HTML as string, requires references to static resources | +| | ![pug-npm] | ![pug-size] | Loads Pug templates and returns a function | +| | ![pug3-npm] | ![pug3-size] | Compiles Pug to a function or HTML string, useful for use with Vue, React, Angular | +| | ![md-npm] | ![md-size] | Compiles Markdown to HTML | +| | ![posthtml-npm] | ![posthtml-size] | Loads and transforms a HTML file using [PostHTML](https://github.com/posthtml/posthtml) | +| | ![hbs-npm] | ![hbs-size] | Compiles Handlebars to HTML | [html-npm]: https://img.shields.io/npm/v/html-loader.svg [html-size]: https://packagephobia.com/badge?p=html-loader [pug-npm]: https://img.shields.io/npm/v/pug-loader.svg [pug-size]: https://packagephobia.com/badge?p=pug-loader +[pug3-npm]: https://img.shields.io/npm/v/@webdiscus/pug-loader.svg +[pug3-size]: https://packagephobia.com/badge?p=@webdiscus/pug-loader [jade-npm]: https://img.shields.io/npm/v/jade-loader.svg [jade-size]: https://packagephobia.com/badge?p=jade-loader [md-npm]: https://img.shields.io/npm/v/markdown-loader.svg From f715cf52f9cacbcb93e04a120a9401154dc6b752 Mon Sep 17 00:00:00 2001 From: biodiscus Date: Tue, 28 Jun 2022 19:13:23 +0200 Subject: [PATCH 16/28] docs: update the list of plugins and loaders in readme --- README.md | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 517a5ee32e7..cb5b9048cd9 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,7 @@ within webpack itself use this plugin interface. This makes webpack very | [mini-css-extract-plugin][mini-css] | ![mini-css-npm] | ![mini-css-size] | Extracts CSS into separate files. It creates a CSS file per JS file which contains CSS. | | [compression-webpack-plugin][compression] | ![compression-npm] | ![compression-size] | Prepares compressed versions of assets to serve them with Content-Encoding | | [html-webpack-plugin][html-plugin] | ![html-plugin-npm] | ![html-plugin-size] | Simplifies creation of HTML files (`index.html`) to serve your bundles | +| [pug-plugin][pug-plugin] | ![pug-plugin-npm] | ![pug-plugin-size] | Renders Pug files to HTML, extracts JS and CSS from sources specified directly in Pug. | [common-npm]: https://img.shields.io/npm/v/webpack.svg [mini-css]: https://github.com/webpack-contrib/mini-css-extract-plugin @@ -124,6 +125,9 @@ within webpack itself use this plugin interface. This makes webpack very [html-plugin]: https://github.com/jantimon/html-webpack-plugin [html-plugin-npm]: https://img.shields.io/npm/v/html-webpack-plugin.svg [html-plugin-size]: https://packagephobia.com/badge?p=html-webpack-plugin +[pug-plugin]: https://github.com/webdiscus/pug-plugin +[pug-plugin-npm]: https://img.shields.io/npm/v/pug-plugin.svg +[pug-plugin-size]: https://packagephobia.com/badge?p=pug-plugin ### [Loaders](https://webpack.js.org/loaders/) @@ -170,18 +174,21 @@ or are automatically applied via regex from your webpack configuration. #### Templating -| Name | Status | Install Size | Description | -| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: | :--------------: | :-------------------------------------------------------------------------------------- | -| | ![html-npm] | ![html-size] | Exports HTML as string, requires references to static resources | -| | ![pug-npm] | ![pug-size] | Loads Pug templates and returns a function | -| | ![md-npm] | ![md-size] | Compiles Markdown to HTML | -| | ![posthtml-npm] | ![posthtml-size] | Loads and transforms a HTML file using [PostHTML](https://github.com/posthtml/posthtml) | -| | ![hbs-npm] | ![hbs-size] | Compiles Handlebars to HTML | +| Name | Status | Install Size | Description | +| :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: | :--------------: | :-------------------------------------------------------------------------------------- | +| | ![html-npm] | ![html-size] | Exports HTML as string, requires references to static resources | +| | ![pug-npm] | ![pug-size] | Loads Pug templates and returns a function | +| | ![pug3-npm] | ![pug3-size] | Compiles Pug to a function or HTML string, useful for use with Vue, React, Angular | +| | ![md-npm] | ![md-size] | Compiles Markdown to HTML | +| | ![posthtml-npm] | ![posthtml-size] | Loads and transforms a HTML file using [PostHTML](https://github.com/posthtml/posthtml) | +| | ![hbs-npm] | ![hbs-size] | Compiles Handlebars to HTML | [html-npm]: https://img.shields.io/npm/v/html-loader.svg [html-size]: https://packagephobia.com/badge?p=html-loader [pug-npm]: https://img.shields.io/npm/v/pug-loader.svg [pug-size]: https://packagephobia.com/badge?p=pug-loader +[pug3-npm]: https://img.shields.io/npm/v/@webdiscus/pug-loader.svg +[pug3-size]: https://packagephobia.com/badge?p=@webdiscus/pug-loader [jade-npm]: https://img.shields.io/npm/v/jade-loader.svg [jade-size]: https://packagephobia.com/badge?p=jade-loader [md-npm]: https://img.shields.io/npm/v/markdown-loader.svg From 67f69bd6b5a5a4e8c35b1b5aca36805b72d4293e Mon Sep 17 00:00:00 2001 From: biodiscus Date: Wed, 29 Jun 2022 11:18:33 +0200 Subject: [PATCH 17/28] docs: fix pretty lint warning --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index cb5b9048cd9..2b99be53db2 100644 --- a/README.md +++ b/README.md @@ -110,7 +110,7 @@ within webpack itself use this plugin interface. This makes webpack very | [mini-css-extract-plugin][mini-css] | ![mini-css-npm] | ![mini-css-size] | Extracts CSS into separate files. It creates a CSS file per JS file which contains CSS. | | [compression-webpack-plugin][compression] | ![compression-npm] | ![compression-size] | Prepares compressed versions of assets to serve them with Content-Encoding | | [html-webpack-plugin][html-plugin] | ![html-plugin-npm] | ![html-plugin-size] | Simplifies creation of HTML files (`index.html`) to serve your bundles | -| [pug-plugin][pug-plugin] | ![pug-plugin-npm] | ![pug-plugin-size] | Renders Pug files to HTML, extracts JS and CSS from sources specified directly in Pug. | +| [pug-plugin][pug-plugin] | ![pug-plugin-npm] | ![pug-plugin-size] | Renders Pug files to HTML, extracts JS and CSS from sources specified directly in Pug. | [common-npm]: https://img.shields.io/npm/v/webpack.svg [mini-css]: https://github.com/webpack-contrib/mini-css-extract-plugin @@ -174,14 +174,14 @@ or are automatically applied via regex from your webpack configuration. #### Templating -| Name | Status | Install Size | Description | +| Name | Status | Install Size | Description | | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: | :--------------: | :-------------------------------------------------------------------------------------- | -| | ![html-npm] | ![html-size] | Exports HTML as string, requires references to static resources | -| | ![pug-npm] | ![pug-size] | Loads Pug templates and returns a function | +| | ![html-npm] | ![html-size] | Exports HTML as string, requires references to static resources | +| | ![pug-npm] | ![pug-size] | Loads Pug templates and returns a function | | | ![pug3-npm] | ![pug3-size] | Compiles Pug to a function or HTML string, useful for use with Vue, React, Angular | -| | ![md-npm] | ![md-size] | Compiles Markdown to HTML | -| | ![posthtml-npm] | ![posthtml-size] | Loads and transforms a HTML file using [PostHTML](https://github.com/posthtml/posthtml) | -| | ![hbs-npm] | ![hbs-size] | Compiles Handlebars to HTML | +| | ![md-npm] | ![md-size] | Compiles Markdown to HTML | +| | ![posthtml-npm] | ![posthtml-size] | Loads and transforms a HTML file using [PostHTML](https://github.com/posthtml/posthtml) | +| | ![hbs-npm] | ![hbs-size] | Compiles Handlebars to HTML | [html-npm]: https://img.shields.io/npm/v/html-loader.svg [html-size]: https://packagephobia.com/badge?p=html-loader From c19b216ab81b4d9e407f97458f845fedd15c53d2 Mon Sep 17 00:00:00 2001 From: Ivan Kopeykin Date: Wed, 29 Jun 2022 13:45:02 +0300 Subject: [PATCH 18/28] enhanced-resolve@5.10.0 --- package.json | 2 +- types.d.ts | 13 +++++++++++++ yarn.lock | 8 ++++---- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f489b46ccbc..8056476a349 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", diff --git a/types.d.ts b/types.d.ts index b0642878bae..9b7a8adcfca 100644 --- a/types.d.ts +++ b/types.d.ts @@ -3847,6 +3847,13 @@ declare interface ExpressionExpressionInfo { getMembers: () => string[]; getMembersOptionals: () => boolean[]; } +declare interface ExtensionAliasOption { + alias: string | string[]; + extension: string; +} +declare interface ExtensionAliasOptions { + [index: string]: string | string[]; +} type ExternalItem = | string | RegExp @@ -9574,6 +9581,7 @@ declare interface ResolveOptionsTypes { alias: AliasOption[]; fallback: AliasOption[]; aliasFields: Set; + extensionAlias: ExtensionAliasOption[]; cachePredicate: (arg0: ResolveRequest) => boolean; cacheWithContext: boolean; @@ -11884,6 +11892,11 @@ declare interface UserResolveOptions { */ fallback?: AliasOption[] | AliasOptions; + /** + * An object which maps extension to extension aliases + */ + extensionAlias?: ExtensionAliasOptions; + /** * A list of alias fields in description files */ diff --git a/yarn.lock b/yarn.lock index eda8df822d7..a1a623c3256 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2259,10 +2259,10 @@ enhanced-resolve@^4.0.0: memory-fs "^0.5.0" tapable "^1.0.0" -enhanced-resolve@^5.9.3: - version "5.9.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" - integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== +enhanced-resolve@^5.10.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" + integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" From 780abb3f95c09df36d9881989ffb9a0b1d99ce02 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Thu, 30 Jun 2022 12:35:17 +0200 Subject: [PATCH 19/28] remove unnecessary moduleId property on Promise --- lib/runtime/AsyncModuleRuntimeModule.js | 2 -- test/__snapshots__/StatsTestCases.basictest.js.snap | 10 +++++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/runtime/AsyncModuleRuntimeModule.js b/lib/runtime/AsyncModuleRuntimeModule.js index 5da0ee4e9bd..be246bcf5b8 100644 --- a/lib/runtime/AsyncModuleRuntimeModule.js +++ b/lib/runtime/AsyncModuleRuntimeModule.js @@ -74,7 +74,6 @@ class AsyncModuleRuntimeModule extends HelperRuntimeModule { `${fn} = ${runtimeTemplate.basicFunction("module, body, hasAwait", [ "var queue;", "hasAwait && ((queue = []).d = 1);", - "if(queue) queue.moduleId = module.id;", "var depQueues = new Set();", "var exports = module.exports;", "var currentDeps;", @@ -89,7 +88,6 @@ class AsyncModuleRuntimeModule extends HelperRuntimeModule { `queue && fn(queue), depQueues.forEach(fn), promise["catch"](${runtimeTemplate.emptyFunction()})`, "fn" )};`, - "promise.moduleId = module.id;", "module.exports = promise;", `body(${runtimeTemplate.basicFunction("deps", [ "currentDeps = wrapDeps(deps);", diff --git a/test/__snapshots__/StatsTestCases.basictest.js.snap b/test/__snapshots__/StatsTestCases.basictest.js.snap index 2cf23d3ed27..393722bd863 100644 --- a/test/__snapshots__/StatsTestCases.basictest.js.snap +++ b/test/__snapshots__/StatsTestCases.basictest.js.snap @@ -4611,8 +4611,8 @@ webpack x.x.x compiled with 1 warning in X ms" `; exports[`StatsTestCases should print correct stats for wasm-explorer-examples-sync 1`] = ` -"assets by path *.js 21.8 KiB - asset bundle.js 16.3 KiB [emitted] (name: main) +"assets by path *.js 21.7 KiB + asset bundle.js 16.2 KiB [emitted] (name: main) asset 325.bundle.js 3.9 KiB [emitted] asset 795.bundle.js 557 bytes [emitted] asset 526.bundle.js 366 bytes [emitted] (id hint: vendors) @@ -4628,8 +4628,8 @@ assets by path *.wasm 1.37 KiB asset 0301cb3f9f4151b567f5.module.wasm 120 bytes [emitted] [immutable] chunk (runtime: main) 20.bundle.js 50 bytes (javascript) 531 bytes (webassembly) [rendered] ./duff.wasm 50 bytes (javascript) 531 bytes (webassembly) [built] [code generated] -chunk (runtime: main) bundle.js (main) 586 bytes (javascript) 9.19 KiB (runtime) [entry] [rendered] - runtime modules 9.19 KiB 11 modules +chunk (runtime: main) bundle.js (main) 586 bytes (javascript) 9.12 KiB (runtime) [entry] [rendered] + runtime modules 9.12 KiB 11 modules ./index.js 586 bytes [built] [code generated] chunk (runtime: main) 189.bundle.js 50 bytes (javascript) 156 bytes (webassembly) [rendered] ./Q_rsqrt.wasm 50 bytes (javascript) 156 bytes (webassembly) [built] [code generated] @@ -4643,7 +4643,7 @@ chunk (runtime: main) 526.bundle.js (id hint: vendors) 34 bytes [rendered] split chunk (runtime: main) 795.bundle.js 110 bytes (javascript) 444 bytes (webassembly) [rendered] ./fact.wasm 50 bytes (javascript) 154 bytes (webassembly) [built] [code generated] ./fast-math.wasm 60 bytes (javascript) 290 bytes (webassembly) [built] [code generated] -runtime modules 9.19 KiB 11 modules +runtime modules 9.12 KiB 11 modules cacheable modules 2.31 KiB (javascript) 1.37 KiB (webassembly) webassembly modules 310 bytes (javascript) 1.37 KiB (webassembly) ./Q_rsqrt.wasm 50 bytes (javascript) 156 bytes (webassembly) [built] [code generated] From 751e123e959df300750d817ae3a5009a422eb07f Mon Sep 17 00:00:00 2001 From: Brandon Cheng Date: Fri, 1 Jul 2022 12:57:17 -0400 Subject: [PATCH 20/28] Use stable identities for Snapshot iterables --- lib/FileSystemInfo.js | 44 ++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/lib/FileSystemInfo.js b/lib/FileSystemInfo.js index 1b989fd77c3..87221acfa25 100644 --- a/lib/FileSystemInfo.js +++ b/lib/FileSystemInfo.js @@ -208,6 +208,12 @@ class SnapshotIterable { class Snapshot { constructor() { this._flags = 0; + /** @type {Iterable | undefined} */ + this._cachedFileIterable = undefined; + /** @type {Iterable | undefined} */ + this._cachedContextIterable = undefined; + /** @type {Iterable | undefined} */ + this._cachedMissingIterable = undefined; /** @type {number | undefined} */ this.startTime = undefined; /** @type {Map | undefined} */ @@ -418,31 +424,43 @@ class Snapshot { * @returns {Iterable} iterable */ getFileIterable() { - return this._createIterable(s => [ - s.fileTimestamps, - s.fileHashes, - s.fileTshs, - s.managedFiles - ]); + if (this._cachedFileIterable === undefined) { + this._cachedFileIterable = this._createIterable(s => [ + s.fileTimestamps, + s.fileHashes, + s.fileTshs, + s.managedFiles + ]); + } + return this._cachedFileIterable; } /** * @returns {Iterable} iterable */ getContextIterable() { - return this._createIterable(s => [ - s.contextTimestamps, - s.contextHashes, - s.contextTshs, - s.managedContexts - ]); + if (this._cachedContextIterable === undefined) { + this._cachedContextIterable = this._createIterable(s => [ + s.contextTimestamps, + s.contextHashes, + s.contextTshs, + s.managedContexts + ]); + } + return this._cachedContextIterable; } /** * @returns {Iterable} iterable */ getMissingIterable() { - return this._createIterable(s => [s.missingExistence, s.managedMissing]); + if (this._cachedMissingIterable === undefined) { + this._cachedMissingIterable = this._createIterable(s => [ + s.missingExistence, + s.managedMissing + ]); + } + return this._cachedMissingIterable; } } From 7b3f4c0dbd5a4cc52ead3318a6f54a4cea340533 Mon Sep 17 00:00:00 2001 From: Brandon Cheng Date: Fri, 1 Jul 2022 12:57:36 -0400 Subject: [PATCH 21/28] test: Check that Snapshot iterables have stable identities --- test/FileSystemInfo.unittest.js | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/test/FileSystemInfo.unittest.js b/test/FileSystemInfo.unittest.js index 934990b65f5..fbca60f9cfe 100644 --- a/test/FileSystemInfo.unittest.js +++ b/test/FileSystemInfo.unittest.js @@ -363,4 +363,50 @@ ${details(snapshot)}`) } }); } + + describe("stable iterables identity", () => { + const options = { timestamp: true }; + + /** + * @param {function((WebpackError | null)=, (Snapshot | null)=): void} callback callback function + */ + function getSnapshot(callback) { + const fs = createFs(); + const fsInfo = createFsInfo(fs); + fsInfo.createSnapshot( + Date.now() + 10000, + files, + directories, + missing, + options, + callback + ); + } + + it("should return same iterable for getFileIterable()", done => { + getSnapshot((err, snapshot) => { + if (err) done(err); + expect(snapshot.getFileIterable()).toEqual(snapshot.getFileIterable()); + done(); + }); + }); + + it("should return same iterable for getContextIterable()", done => { + getSnapshot((err, snapshot) => { + if (err) done(err); + expect(snapshot.getContextIterable()).toEqual( + snapshot.getContextIterable() + ); + done(); + }); + }); + + it("should return same iterable for getMissingIterable()", done => { + getSnapshot((err, snapshot) => { + if (err) done(err); + expect(snapshot.getFileIterable()).toEqual(snapshot.getFileIterable()); + done(); + }); + }); + }); }); From 14927353097cac9b24bcf329667798aeb2e06f70 Mon Sep 17 00:00:00 2001 From: Evan Dower Date: Fri, 8 Jul 2022 22:51:16 -0700 Subject: [PATCH 22/28] Pass shareScope through to ContainerPlugin & ContainerReferencePlugin --- lib/container/ModuleFederationPlugin.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/container/ModuleFederationPlugin.js b/lib/container/ModuleFederationPlugin.js index daece3f4c09..3652bf58832 100644 --- a/lib/container/ModuleFederationPlugin.js +++ b/lib/container/ModuleFederationPlugin.js @@ -65,6 +65,7 @@ class ModuleFederationPlugin { library, filename: options.filename, runtime: options.runtime, + shareScope: options.shareScope, exposes: options.exposes }).apply(compiler); } @@ -76,6 +77,7 @@ class ModuleFederationPlugin { ) { new ContainerReferencePlugin({ remoteType, + shareScope: options.shareScope, remotes: options.remotes }).apply(compiler); } From e3f6702055b2beac0157bc3883dce1aaae02cfa0 Mon Sep 17 00:00:00 2001 From: Barak Igal Date: Sun, 10 Jul 2022 09:25:56 +0300 Subject: [PATCH 23/28] feat: export HarmonyImportDependency and generate types --- lib/index.js | 3 +++ types.d.ts | 43 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/lib/index.js b/lib/index.js index e8e93a83355..3db44535081 100644 --- a/lib/index.js +++ b/lib/index.js @@ -342,6 +342,9 @@ module.exports = mergeExports(fn, { get ModuleDependency() { return require("./dependencies/ModuleDependency"); }, + get HarmonyImportDependency() { + return require("./dependencies/HarmonyImportDependency"); + }, get ConstDependency() { return require("./dependencies/ConstDependency"); }, diff --git a/types.d.ts b/types.d.ts index 9b7a8adcfca..163e6169831 100644 --- a/types.d.ts +++ b/types.d.ts @@ -4509,6 +4509,42 @@ declare interface HandleModuleCreationOptions { */ connectOrigin?: boolean; } +declare class HarmonyImportDependency extends ModuleDependency { + constructor( + request: string, + sourceOrder: number, + assertions?: Record + ); + sourceOrder: number; + getImportVar(moduleGraph: ModuleGraph): string; + getImportStatement( + update: boolean, + __1: DependencyTemplateContext + ): [string, string]; + getLinkingErrors( + moduleGraph: ModuleGraph, + ids: string[], + additionalMessage: string + ): undefined | WebpackError[]; + static Template: typeof HarmonyImportDependencyTemplate; + static ExportPresenceModes: { + NONE: 0; + WARN: 1; + AUTO: 2; + ERROR: 3; + fromUserOption(str?: any): 0 | 1 | 2 | 3; + }; + static NO_EXPORTS_REFERENCED: string[][]; + static EXPORTS_OBJECT_REFERENCED: string[][]; + static TRANSITIVE: typeof TRANSITIVE; +} +declare class HarmonyImportDependencyTemplate extends DependencyTemplate { + constructor(); + static getImportEmittedRuntime( + module: Module, + referencedModule: Module + ): undefined | string | boolean | SortableSet; +} declare class Hash { constructor(); @@ -12734,7 +12770,12 @@ declare namespace exports { ) => void; } export namespace dependencies { - export { ModuleDependency, ConstDependency, NullDependency }; + export { + ModuleDependency, + HarmonyImportDependency, + ConstDependency, + NullDependency + }; } export namespace ids { export { From e9f2195a695691a452aaaf72c5912df4938324b2 Mon Sep 17 00:00:00 2001 From: Varun Sharma Date: Sun, 10 Jul 2022 07:22:40 -0700 Subject: [PATCH 24/28] ci: add GitHub token permissions for workflow Signed-off-by: Varun Sharma --- .github/workflows/test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d51e352b7b2..11a4dbe2a81 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,6 +13,9 @@ on: - main - dev-1 +permissions: + contents: read + jobs: lint: runs-on: ubuntu-latest From 8bfcb6999b823b5074c98dcb4fe62d0f38e2300a Mon Sep 17 00:00:00 2001 From: Ivan Kopeykin Date: Mon, 18 Jul 2022 13:02:01 +0300 Subject: [PATCH 25/28] support import/export name as string literal --- lib/javascript/JavascriptParser.js | 9 +++++++-- package.json | 2 +- test/cases/parsing/es2022/counter.js | 4 ++++ test/cases/parsing/es2022/es2022.js | 20 ++++++++++++++++++++ test/cases/parsing/es2022/index.js | 7 +++++++ test/cases/parsing/es2022/reexport.js | 1 + test/cases/parsing/es2022/test.filter.js | 11 +++++++++++ yarn.lock | 8 ++++---- 8 files changed, 55 insertions(+), 7 deletions(-) create mode 100644 test/cases/parsing/es2022/counter.js create mode 100644 test/cases/parsing/es2022/es2022.js create mode 100644 test/cases/parsing/es2022/index.js create mode 100644 test/cases/parsing/es2022/reexport.js create mode 100644 test/cases/parsing/es2022/test.filter.js diff --git a/lib/javascript/JavascriptParser.js b/lib/javascript/JavascriptParser.js index 0909f48ede1..c10c7b16eaf 100644 --- a/lib/javascript/JavascriptParser.js +++ b/lib/javascript/JavascriptParser.js @@ -1447,6 +1447,11 @@ class JavascriptParser extends Parser { this.walkExpression(classElement.value); this.scope.topLevelScope = wasTopLevel; } + } else if (classElement.type === "StaticBlock") { + const wasTopLevel = this.scope.topLevelScope; + this.scope.topLevelScope = false; + this.walkBlockStatement(classElement); + this.scope.topLevelScope = wasTopLevel; } } } @@ -1903,7 +1908,7 @@ class JavascriptParser extends Parser { !this.hooks.importSpecifier.call( statement, source, - specifier.imported.name, + specifier.imported.name || specifier.imported.value, name ) ) { @@ -1973,7 +1978,7 @@ class JavascriptParser extends Parser { const specifier = statement.specifiers[specifierIndex]; switch (specifier.type) { case "ExportSpecifier": { - const name = specifier.exported.name; + const name = specifier.exported.name || specifier.exported.value; if (source) { this.hooks.exportImportSpecifier.call( statement, diff --git a/package.json b/package.json index f68913fa01b..c39ea53fdb1 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", diff --git a/test/cases/parsing/es2022/counter.js b/test/cases/parsing/es2022/counter.js new file mode 100644 index 00000000000..befe6cdde9d --- /dev/null +++ b/test/cases/parsing/es2022/counter.js @@ -0,0 +1,4 @@ +let value = 0; +const add = () => value++; + +export { value, add } diff --git a/test/cases/parsing/es2022/es2022.js b/test/cases/parsing/es2022/es2022.js new file mode 100644 index 00000000000..de68a3d3cab --- /dev/null +++ b/test/cases/parsing/es2022/es2022.js @@ -0,0 +1,20 @@ +import { "\0 add" as add } from './reexport'; + +export default class Foo { + static { + new Foo(add); + } + + constructor(fn) { + this.#foo = fn; + this.#add(); + } + + #foo = undefined; + + #add() { + if (#foo in this && this.#foo) { + this.#foo(); + } + } +} diff --git a/test/cases/parsing/es2022/index.js b/test/cases/parsing/es2022/index.js new file mode 100644 index 00000000000..1050bdd8a2d --- /dev/null +++ b/test/cases/parsing/es2022/index.js @@ -0,0 +1,7 @@ +import { value, add } from "./counter"; +import Foo from "./es2022"; + +it("should compile and run", () => { + new Foo(add); + expect(value).toBe(2); +}); diff --git a/test/cases/parsing/es2022/reexport.js b/test/cases/parsing/es2022/reexport.js new file mode 100644 index 00000000000..f2e9cce1091 --- /dev/null +++ b/test/cases/parsing/es2022/reexport.js @@ -0,0 +1 @@ +export { add as "\0 add" } from "./counter"; diff --git a/test/cases/parsing/es2022/test.filter.js b/test/cases/parsing/es2022/test.filter.js new file mode 100644 index 00000000000..a26c3793c0b --- /dev/null +++ b/test/cases/parsing/es2022/test.filter.js @@ -0,0 +1,11 @@ +module.exports = function(config) { + // terser doesn't support static {} + if (config.mode === "production") return false; + + try { + eval("class A { static {} }"); + return true; + } catch { + return false; + } +}; diff --git a/yarn.lock b/yarn.lock index 91529d7d68e..5b033072206 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1230,10 +1230,10 @@ acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.4.1: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== +acorn@^8.2.4, acorn@^8.7.1: + version "8.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== agent-base@6: version "6.0.2" From da131411523d5e29b02f31525fcab5cea724c7a5 Mon Sep 17 00:00:00 2001 From: "Devinan(SeungHyeok Lee)" Date: Wed, 20 Jul 2022 18:39:47 +0900 Subject: [PATCH 26/28] Fix badge : compatibility score Add previous-version: 5.72.1 Add new version: 5.73.0 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 517a5ee32e7..ca972eb9cc6 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,8 @@ [![PR's welcome][prs]][prs-url]
- - + + From 767f7414cff1c50b623af5d6057e8c56b7513ed6 Mon Sep 17 00:00:00 2001 From: Ivan Kopeykin Date: Thu, 21 Jul 2022 19:16:24 +0300 Subject: [PATCH 27/28] fix webpack scheme --- declarations/WebpackOptions.d.ts | 9 +++++++++ schemas/WebpackOptions.check.js | 2 +- schemas/WebpackOptions.json | 23 +++++++++++++++++++++++ types.d.ts | 5 +++++ 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/declarations/WebpackOptions.d.ts b/declarations/WebpackOptions.d.ts index 1168a9c5267..f5d254ab3af 100644 --- a/declarations/WebpackOptions.d.ts +++ b/declarations/WebpackOptions.d.ts @@ -1505,6 +1505,15 @@ export interface ResolveOptions { * Field names from the description file (usually package.json) which are used to provide entry points of a package. */ exportsFields?: string[]; + /** + * An object which maps extension to extension aliases. + */ + extensionAlias?: { + /** + * Extension alias. + */ + [k: string]: string[] | string; + }; /** * Extensions added to the request when trying to find the file. */ diff --git a/schemas/WebpackOptions.check.js b/schemas/WebpackOptions.check.js index 85bc4a75666..5d0e004f57f 100644 --- a/schemas/WebpackOptions.check.js +++ b/schemas/WebpackOptions.check.js @@ -3,4 +3,4 @@ * DO NOT MODIFY BY HAND. * Run `yarn special-lint-fix` to update */ -const e=/^(?:[A-Za-z]:[\\/]|\\\\|\/)/;module.exports=we,module.exports.default=we;const t={amd:{$ref:"#/definitions/Amd"},bail:{$ref:"#/definitions/Bail"},cache:{$ref:"#/definitions/CacheOptions"},context:{$ref:"#/definitions/Context"},dependencies:{$ref:"#/definitions/Dependencies"},devServer:{$ref:"#/definitions/DevServer"},devtool:{$ref:"#/definitions/DevTool"},entry:{$ref:"#/definitions/Entry"},experiments:{$ref:"#/definitions/Experiments"},externals:{$ref:"#/definitions/Externals"},externalsPresets:{$ref:"#/definitions/ExternalsPresets"},externalsType:{$ref:"#/definitions/ExternalsType"},ignoreWarnings:{$ref:"#/definitions/IgnoreWarnings"},infrastructureLogging:{$ref:"#/definitions/InfrastructureLogging"},loader:{$ref:"#/definitions/Loader"},mode:{$ref:"#/definitions/Mode"},module:{$ref:"#/definitions/ModuleOptions"},name:{$ref:"#/definitions/Name"},node:{$ref:"#/definitions/Node"},optimization:{$ref:"#/definitions/Optimization"},output:{$ref:"#/definitions/Output"},parallelism:{$ref:"#/definitions/Parallelism"},performance:{$ref:"#/definitions/Performance"},plugins:{$ref:"#/definitions/Plugins"},profile:{$ref:"#/definitions/Profile"},recordsInputPath:{$ref:"#/definitions/RecordsInputPath"},recordsOutputPath:{$ref:"#/definitions/RecordsOutputPath"},recordsPath:{$ref:"#/definitions/RecordsPath"},resolve:{$ref:"#/definitions/Resolve"},resolveLoader:{$ref:"#/definitions/ResolveLoader"},snapshot:{$ref:"#/definitions/SnapshotOptions"},stats:{$ref:"#/definitions/StatsValue"},target:{$ref:"#/definitions/Target"},watch:{$ref:"#/definitions/Watch"},watchOptions:{$ref:"#/definitions/WatchOptions"}},n=Object.prototype.hasOwnProperty,r={allowCollectingMemory:{type:"boolean"},buildDependencies:{type:"object",additionalProperties:{type:"array",items:{type:"string",minLength:1}}},cacheDirectory:{type:"string",absolutePath:!0},cacheLocation:{type:"string",absolutePath:!0},compression:{enum:[!1,"gzip","brotli"]},hashAlgorithm:{type:"string"},idleTimeout:{type:"number",minimum:0},idleTimeoutAfterLargeChanges:{type:"number",minimum:0},idleTimeoutForInitialStore:{type:"number",minimum:0},immutablePaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},managedPaths:{type:"array",items:{anyOf:[{instanceof:"RegExp"},{type:"string",absolutePath:!0,minLength:1}]}},maxAge:{type:"number",minimum:0},maxMemoryGenerations:{type:"number",minimum:0},memoryCacheUnaffected:{type:"boolean"},name:{type:"string"},profile:{type:"boolean"},store:{enum:["pack"]},type:{enum:["filesystem"]},version:{type:"string"}};function s(t,{instancePath:o="",parentData:a,parentDataProperty:i,rootData:l=t}={}){let p=null,u=0;const f=u;let c=!1;const m=u;if(!1!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var y=m===u;if(c=c||y,!c){const s=u;if(u==u)if(t&&"object"==typeof t&&!Array.isArray(t)){let e;if(void 0===t.type&&(e="type")){const t={params:{missingProperty:e}};null===p?p=[t]:p.push(t),u++}else{const e=u;for(const e in t)if("cacheUnaffected"!==e&&"maxGenerations"!==e&&"type"!==e){const t={params:{additionalProperty:e}};null===p?p=[t]:p.push(t),u++;break}if(e===u){if(void 0!==t.cacheUnaffected){const e=u;if("boolean"!=typeof t.cacheUnaffected){const e={params:{type:"boolean"}};null===p?p=[e]:p.push(e),u++}var h=e===u}else h=!0;if(h){if(void 0!==t.maxGenerations){let e=t.maxGenerations;const n=u;if(u===n)if("number"==typeof e){if(e<1||isNaN(e)){const e={params:{comparison:">=",limit:1}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}h=n===u}else h=!0;if(h)if(void 0!==t.type){const e=u;if("memory"!==t.type){const e={params:{}};null===p?p=[e]:p.push(e),u++}h=e===u}else h=!0}}}}else{const e={params:{type:"object"}};null===p?p=[e]:p.push(e),u++}if(y=s===u,c=c||y,!c){const s=u;if(u==u)if(t&&"object"==typeof t&&!Array.isArray(t)){let s;if(void 0===t.type&&(s="type")){const e={params:{missingProperty:s}};null===p?p=[e]:p.push(e),u++}else{const s=u;for(const e in t)if(!n.call(r,e)){const t={params:{additionalProperty:e}};null===p?p=[t]:p.push(t),u++;break}if(s===u){if(void 0!==t.allowCollectingMemory){const e=u;if("boolean"!=typeof t.allowCollectingMemory){const e={params:{type:"boolean"}};null===p?p=[e]:p.push(e),u++}var d=e===u}else d=!0;if(d){if(void 0!==t.buildDependencies){let e=t.buildDependencies;const n=u;if(u===n)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){let n=e[t];const r=u;if(u===r)if(Array.isArray(n)){const e=n.length;for(let t=0;t=",limit:0}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}d=n===u}else d=!0;if(d){if(void 0!==t.idleTimeoutAfterLargeChanges){let e=t.idleTimeoutAfterLargeChanges;const n=u;if(u===n)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}d=n===u}else d=!0;if(d){if(void 0!==t.idleTimeoutForInitialStore){let e=t.idleTimeoutForInitialStore;const n=u;if(u===n)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}d=n===u}else d=!0;if(d){if(void 0!==t.immutablePaths){let n=t.immutablePaths;const r=u;if(u===r)if(Array.isArray(n)){const t=n.length;for(let r=0;r=",limit:0}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}d=n===u}else d=!0;if(d){if(void 0!==t.maxMemoryGenerations){let e=t.maxMemoryGenerations;const n=u;if(u===n)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}d=n===u}else d=!0;if(d){if(void 0!==t.memoryCacheUnaffected){const e=u;if("boolean"!=typeof t.memoryCacheUnaffected){const e={params:{type:"boolean"}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0;if(d){if(void 0!==t.name){const e=u;if("string"!=typeof t.name){const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0;if(d){if(void 0!==t.profile){const e=u;if("boolean"!=typeof t.profile){const e={params:{type:"boolean"}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0;if(d){if(void 0!==t.store){const e=u;if("pack"!==t.store){const e={params:{}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0;if(d){if(void 0!==t.type){const e=u;if("filesystem"!==t.type){const e={params:{}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0;if(d)if(void 0!==t.version){const e=u;if("string"!=typeof t.version){const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0}}}}}}}}}}}}}}}}}}}}else{const e={params:{type:"object"}};null===p?p=[e]:p.push(e),u++}y=s===u,c=c||y}}if(!c){const e={params:{}};return null===p?p=[e]:p.push(e),u++,s.errors=p,!1}return u=f,null!==p&&(f?p.length=f:p=null),s.errors=p,0===u}function o(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:a=e}={}){let i=null,l=0;const p=l;let u=!1;const f=l;if(!0!==e){const e={params:{}};null===i?i=[e]:i.push(e),l++}var c=f===l;if(u=u||c,!u){const o=l;s(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:a})||(i=null===i?s.errors:i.concat(s.errors),l=i.length),c=o===l,u=u||c}if(!u){const e={params:{}};return null===i?i=[e]:i.push(e),l++,o.errors=i,!1}return l=p,null!==i&&(p?i.length=p:i=null),o.errors=i,0===l}const a={asyncChunks:{type:"boolean"},baseUri:{type:"string"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},dependOn:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},{type:"string",minLength:1}]},filename:{$ref:"#/definitions/EntryFilename"},import:{$ref:"#/definitions/EntryItem"},layer:{$ref:"#/definitions/Layer"},library:{$ref:"#/definitions/LibraryOptions"},publicPath:{$ref:"#/definitions/PublicPath"},runtime:{$ref:"#/definitions/EntryRuntime"},wasmLoading:{$ref:"#/definitions/WasmLoading"}};function i(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const l=a;let p=!1;const u=a;if(!1!==e){const e={params:{}};null===o?o=[e]:o.push(e),a++}var f=u===a;if(p=p||f,!p){const t=a,n=a;let r=!1;const s=a;if("jsonp"!==e&&"import-scripts"!==e&&"require"!==e&&"async-node"!==e&&"import"!==e){const e={params:{}};null===o?o=[e]:o.push(e),a++}var c=s===a;if(r=r||c,!r){const t=a;if("string"!=typeof e){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}c=t===a,r=r||c}if(r)a=n,null!==o&&(n?o.length=n:o=null);else{const e={params:{}};null===o?o=[e]:o.push(e),a++}f=t===a,p=p||f}if(!p){const e={params:{}};return null===o?o=[e]:o.push(e),a++,i.errors=o,!1}return a=l,null!==o&&(l?o.length=l:o=null),i.errors=o,0===a}function l(t,{instancePath:n="",parentData:r,parentDataProperty:s,rootData:o=t}={}){let a=null,i=0;const p=i;let u=!1,f=null;const c=i,m=i;let y=!1;const h=i;if(i===h)if("string"==typeof t){if(t.includes("!")||!1!==e.test(t)){const e={params:{}};null===a?a=[e]:a.push(e),i++}else if(t.length<1){const e={params:{}};null===a?a=[e]:a.push(e),i++}}else{const e={params:{type:"string"}};null===a?a=[e]:a.push(e),i++}var d=h===i;if(y=y||d,!y){const e=i;if(!(t instanceof Function)){const e={params:{}};null===a?a=[e]:a.push(e),i++}d=e===i,y=y||d}if(y)i=m,null!==a&&(m?a.length=m:a=null);else{const e={params:{}};null===a?a=[e]:a.push(e),i++}if(c===i&&(u=!0,f=0),!u){const e={params:{passingSchemas:f}};return null===a?a=[e]:a.push(e),i++,l.errors=a,!1}return i=p,null!==a&&(p?a.length=p:a=null),l.errors=a,0===i}function p(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1;const u=a;if("string"!=typeof e){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}var f=u===a;if(l=l||f,!l){const t=a;if(a==a)if(e&&"object"==typeof e&&!Array.isArray(e)){const t=a;for(const t in e)if("amd"!==t&&"commonjs"!==t&&"commonjs2"!==t&&"root"!==t){const e={params:{additionalProperty:t}};null===o?o=[e]:o.push(e),a++;break}if(t===a){if(void 0!==e.amd){const t=a;if("string"!=typeof e.amd){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}var c=t===a}else c=!0;if(c){if(void 0!==e.commonjs){const t=a;if("string"!=typeof e.commonjs){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}c=t===a}else c=!0;if(c){if(void 0!==e.commonjs2){const t=a;if("string"!=typeof e.commonjs2){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}c=t===a}else c=!0;if(c)if(void 0!==e.root){const t=a;if("string"!=typeof e.root){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}c=t===a}else c=!0}}}}else{const e={params:{type:"object"}};null===o?o=[e]:o.push(e),a++}f=t===a,l=l||f}if(!l){const e={params:{}};return null===o?o=[e]:o.push(e),a++,p.errors=o,!1}return a=i,null!==o&&(i?o.length=i:o=null),p.errors=o,0===a}function u(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1;const p=a;if(a===p)if(Array.isArray(e))if(e.length<1){const e={params:{limit:1}};null===o?o=[e]:o.push(e),a++}else{const t=e.length;for(let n=0;n1){const r={};for(;n--;){let s=t[n];if("string"==typeof s){if("number"==typeof r[s]){e=r[s];const t={params:{i:n,j:e}};null===p?p=[t]:p.push(t),u++;break}r[s]=n}}}}}else{const e={params:{type:"array"}};null===p?p=[e]:p.push(e),u++}var g=o===u;if(s=s||g,!s){const e=u;if(u===e)if("string"==typeof t){if(t.length<1){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}g=e===u,s=s||g}if(!s){const e={params:{}};return null===p?p=[e]:p.push(e),u++,y.errors=p,!1}u=r,null!==p&&(r?p.length=r:p=null),h=n===u}else h=!0;if(h){if(void 0!==e.filename){const n=u;l(e.filename,{instancePath:t+"/filename",parentData:e,parentDataProperty:"filename",rootData:o})||(p=null===p?l.errors:p.concat(l.errors),u=p.length),h=n===u}else h=!0;if(h){if(void 0!==e.import){let t=e.import;const n=u,r=u;let s=!1;const o=u;if(u===o)if(Array.isArray(t))if(t.length<1){const e={params:{limit:1}};null===p?p=[e]:p.push(e),u++}else{var b=!0;const e=t.length;for(let n=0;n1){const r={};for(;n--;){let s=t[n];if("string"==typeof s){if("number"==typeof r[s]){e=r[s];const t={params:{i:n,j:e}};null===p?p=[t]:p.push(t),u++;break}r[s]=n}}}}}else{const e={params:{type:"array"}};null===p?p=[e]:p.push(e),u++}var v=o===u;if(s=s||v,!s){const e=u;if(u===e)if("string"==typeof t){if(t.length<1){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}v=e===u,s=s||v}if(!s){const e={params:{}};return null===p?p=[e]:p.push(e),u++,y.errors=p,!1}u=r,null!==p&&(r?p.length=r:p=null),h=n===u}else h=!0;if(h){if(void 0!==e.layer){let t=e.layer;const n=u,r=u;let s=!1;const o=u;if(null!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var D=o===u;if(s=s||D,!s){const e=u;if(u===e)if("string"==typeof t){if(t.length<1){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}D=e===u,s=s||D}if(!s){const e={params:{}};return null===p?p=[e]:p.push(e),u++,y.errors=p,!1}u=r,null!==p&&(r?p.length=r:p=null),h=n===u}else h=!0;if(h){if(void 0!==e.library){const n=u;f(e.library,{instancePath:t+"/library",parentData:e,parentDataProperty:"library",rootData:o})||(p=null===p?f.errors:p.concat(f.errors),u=p.length),h=n===u}else h=!0;if(h){if(void 0!==e.publicPath){const n=u;c(e.publicPath,{instancePath:t+"/publicPath",parentData:e,parentDataProperty:"publicPath",rootData:o})||(p=null===p?c.errors:p.concat(c.errors),u=p.length),h=n===u}else h=!0;if(h){if(void 0!==e.runtime){let t=e.runtime;const n=u,r=u;let s=!1;const o=u;if(!1!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var P=o===u;if(s=s||P,!s){const e=u;if(u===e)if("string"==typeof t){if(t.length<1){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}P=e===u,s=s||P}if(!s){const e={params:{}};return null===p?p=[e]:p.push(e),u++,y.errors=p,!1}u=r,null!==p&&(r?p.length=r:p=null),h=n===u}else h=!0;if(h)if(void 0!==e.wasmLoading){const n=u;m(e.wasmLoading,{instancePath:t+"/wasmLoading",parentData:e,parentDataProperty:"wasmLoading",rootData:o})||(p=null===p?m.errors:p.concat(m.errors),u=p.length),h=n===u}else h=!0}}}}}}}}}}}}}return y.errors=p,0===u}function h(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;if(0===a){if(!e||"object"!=typeof e||Array.isArray(e))return h.errors=[{params:{type:"object"}}],!1;for(const n in e){let r=e[n];const u=a,f=a;let c=!1;const m=a,d=a;let g=!1;const b=a;if(a===b)if(Array.isArray(r))if(r.length<1){const e={params:{limit:1}};null===o?o=[e]:o.push(e),a++}else{var i=!0;const e=r.length;for(let t=0;t1){const n={};for(;t--;){let s=r[t];if("string"==typeof s){if("number"==typeof n[s]){e=n[s];const r={params:{i:t,j:e}};null===o?o=[r]:o.push(r),a++;break}n[s]=t}}}}}else{const e={params:{type:"array"}};null===o?o=[e]:o.push(e),a++}var l=b===a;if(g=g||l,!g){const e=a;if(a===e)if("string"==typeof r){if(r.length<1){const e={params:{}};null===o?o=[e]:o.push(e),a++}}else{const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}l=e===a,g=g||l}if(g)a=d,null!==o&&(d?o.length=d:o=null);else{const e={params:{}};null===o?o=[e]:o.push(e),a++}var p=m===a;if(c=c||p,!c){const i=a;y(r,{instancePath:t+"/"+n.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:e,parentDataProperty:n,rootData:s})||(o=null===o?y.errors:o.concat(y.errors),a=o.length),p=i===a,c=c||p}if(!c){const e={params:{}};return null===o?o=[e]:o.push(e),a++,h.errors=o,!1}if(a=f,null!==o&&(f?o.length=f:o=null),u!==a)break}}return h.errors=o,0===a}function d(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1,p=null;const u=a,f=a;let c=!1;const m=a;if(a===m)if(Array.isArray(e))if(e.length<1){const e={params:{limit:1}};null===o?o=[e]:o.push(e),a++}else{var y=!0;const t=e.length;for(let n=0;n1){const r={};for(;n--;){let s=e[n];if("string"==typeof s){if("number"==typeof r[s]){t=r[s];const e={params:{i:n,j:t}};null===o?o=[e]:o.push(e),a++;break}r[s]=n}}}}}else{const e={params:{type:"array"}};null===o?o=[e]:o.push(e),a++}var h=m===a;if(c=c||h,!c){const t=a;if(a===t)if("string"==typeof e){if(e.length<1){const e={params:{}};null===o?o=[e]:o.push(e),a++}}else{const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}h=t===a,c=c||h}if(c)a=f,null!==o&&(f?o.length=f:o=null);else{const e={params:{}};null===o?o=[e]:o.push(e),a++}if(u===a&&(l=!0,p=0),!l){const e={params:{passingSchemas:p}};return null===o?o=[e]:o.push(e),a++,d.errors=o,!1}return a=i,null!==o&&(i?o.length=i:o=null),d.errors=o,0===a}function g(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1;const p=a;h(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:s})||(o=null===o?h.errors:o.concat(h.errors),a=o.length);var u=p===a;if(l=l||u,!l){const i=a;d(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:s})||(o=null===o?d.errors:o.concat(d.errors),a=o.length),u=i===a,l=l||u}if(!l){const e={params:{}};return null===o?o=[e]:o.push(e),a++,g.errors=o,!1}return a=i,null!==o&&(i?o.length=i:o=null),g.errors=o,0===a}function b(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1;const p=a;if(!(e instanceof Function)){const e={params:{}};null===o?o=[e]:o.push(e),a++}var u=p===a;if(l=l||u,!l){const i=a;g(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:s})||(o=null===o?g.errors:o.concat(g.errors),a=o.length),u=i===a,l=l||u}if(!l){const e={params:{}};return null===o?o=[e]:o.push(e),a++,b.errors=o,!1}return a=i,null!==o&&(i?o.length=i:o=null),b.errors=o,0===a}const v={asyncWebAssembly:{type:"boolean"},backCompat:{type:"boolean"},buildHttp:{anyOf:[{$ref:"#/definitions/HttpUriAllowedUris"},{$ref:"#/definitions/HttpUriOptions"}]},cacheUnaffected:{type:"boolean"},css:{anyOf:[{type:"boolean"},{$ref:"#/definitions/CssExperimentOptions"}]},futureDefaults:{type:"boolean"},layers:{type:"boolean"},lazyCompilation:{anyOf:[{type:"boolean"},{$ref:"#/definitions/LazyCompilationOptions"}]},outputModule:{type:"boolean"},syncWebAssembly:{type:"boolean"},topLevelAwait:{type:"boolean"}},D=new RegExp("^https?://","u");function P(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1,p=null;const u=a;if(a==a)if(Array.isArray(e)){const t=e.length;for(let n=0;n=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var f=m===l;if(c=c||f,!c){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}f=t===l,c=c||f}if(c)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.filename){let n=t.filename;const r=l,s=l;let o=!1;const a=l;if(l===a)if("string"==typeof n){if(n.includes("!")||!1!==e.test(n)){const e={params:{}};null===i?i=[e]:i.push(e),l++}else if(n.length<1){const e={params:{}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}var c=a===l;if(o=o||c,!o){const e=l;if(!(n instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}c=e===l,o=o||c}if(!o){const e={params:{}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=s,null!==i&&(s?i.length=s:i=null),p=r===l}else p=!0;if(p){if(void 0!==t.idHint){const e=l;if("string"!=typeof t.idHint)return pe.errors=[{params:{type:"string"}}],!1;p=e===l}else p=!0;if(p){if(void 0!==t.layer){let e=t.layer;const n=l,r=l;let s=!1;const o=l;if(!(e instanceof RegExp)){const e={params:{}};null===i?i=[e]:i.push(e),l++}var m=o===l;if(s=s||m,!s){const t=l;if("string"!=typeof e){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(m=t===l,s=s||m,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}m=t===l,s=s||m}}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.maxAsyncRequests){let e=t.maxAsyncRequests;const n=l;if(l===n){if("number"!=typeof e)return pe.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return pe.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.maxAsyncSize){let e=t.maxAsyncSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var y=c===l;if(f=f||y,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}y=t===l,f=f||y}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.maxInitialRequests){let e=t.maxInitialRequests;const n=l;if(l===n){if("number"!=typeof e)return pe.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return pe.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.maxInitialSize){let e=t.maxInitialSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var h=c===l;if(f=f||h,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}h=t===l,f=f||h}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.maxSize){let e=t.maxSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var d=c===l;if(f=f||d,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}d=t===l,f=f||d}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minChunks){let e=t.minChunks;const n=l;if(l===n){if("number"!=typeof e)return pe.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return pe.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.minRemainingSize){let e=t.minRemainingSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var g=c===l;if(f=f||g,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}g=t===l,f=f||g}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minSize){let e=t.minSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var b=c===l;if(f=f||b,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}b=t===l,f=f||b}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minSizeReduction){let e=t.minSizeReduction;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var v=c===l;if(f=f||v,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}v=t===l,f=f||v}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.name){let e=t.name;const n=l,r=l;let s=!1;const o=l;if(!1!==e){const e={params:{}};null===i?i=[e]:i.push(e),l++}var D=o===l;if(s=s||D,!s){const t=l;if("string"!=typeof e){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(D=t===l,s=s||D,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}D=t===l,s=s||D}}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.priority){const e=l;if("number"!=typeof t.priority)return pe.errors=[{params:{type:"number"}}],!1;p=e===l}else p=!0;if(p){if(void 0!==t.reuseExistingChunk){const e=l;if("boolean"!=typeof t.reuseExistingChunk)return pe.errors=[{params:{type:"boolean"}}],!1;p=e===l}else p=!0;if(p){if(void 0!==t.test){let e=t.test;const n=l,r=l;let s=!1;const o=l;if(!(e instanceof RegExp)){const e={params:{}};null===i?i=[e]:i.push(e),l++}var P=o===l;if(s=s||P,!s){const t=l;if("string"!=typeof e){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(P=t===l,s=s||P,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}P=t===l,s=s||P}}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.type){let e=t.type;const n=l,r=l;let s=!1;const o=l;if(!(e instanceof RegExp)){const e={params:{}};null===i?i=[e]:i.push(e),l++}var A=o===l;if(s=s||A,!s){const t=l;if("string"!=typeof e){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(A=t===l,s=s||A,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}A=t===l,s=s||A}}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p)if(void 0!==t.usedExports){const e=l;if("boolean"!=typeof t.usedExports)return pe.errors=[{params:{type:"boolean"}}],!1;p=e===l}else p=!0}}}}}}}}}}}}}}}}}}}}}}}return pe.errors=i,0===l}function ue(t,{instancePath:r="",parentData:s,parentDataProperty:o,rootData:a=t}={}){let i=null,l=0;if(0===l){if(!t||"object"!=typeof t||Array.isArray(t))return ue.errors=[{params:{type:"object"}}],!1;{const s=l;for(const e in t)if(!n.call(ie,e))return ue.errors=[{params:{additionalProperty:e}}],!1;if(s===l){if(void 0!==t.automaticNameDelimiter){let e=t.automaticNameDelimiter;const n=l;if(l===n){if("string"!=typeof e)return ue.errors=[{params:{type:"string"}}],!1;if(e.length<1)return ue.errors=[{params:{}}],!1}var p=n===l}else p=!0;if(p){if(void 0!==t.cacheGroups){let e=t.cacheGroups;const n=l,s=l,o=l;if(l===o)if(e&&"object"==typeof e&&!Array.isArray(e)){let t;if(void 0===e.test&&(t="test")){const e={};null===i?i=[e]:i.push(e),l++}else if(void 0!==e.test){let t=e.test;const n=l;let r=!1;const s=l;if(!(t instanceof RegExp)){const e={};null===i?i=[e]:i.push(e),l++}var u=s===l;if(r=r||u,!r){const e=l;if("string"!=typeof t){const e={};null===i?i=[e]:i.push(e),l++}if(u=e===l,r=r||u,!r){const e=l;if(!(t instanceof Function)){const e={};null===i?i=[e]:i.push(e),l++}u=e===l,r=r||u}}if(r)l=n,null!==i&&(n?i.length=n:i=null);else{const e={};null===i?i=[e]:i.push(e),l++}}}else{const e={};null===i?i=[e]:i.push(e),l++}if(o===l)return ue.errors=[{params:{}}],!1;if(l=s,null!==i&&(s?i.length=s:i=null),l===n){if(!e||"object"!=typeof e||Array.isArray(e))return ue.errors=[{params:{type:"object"}}],!1;for(const t in e){let n=e[t];const s=l,o=l;let p=!1;const u=l;if(!1!==n){const e={params:{}};null===i?i=[e]:i.push(e),l++}var f=u===l;if(p=p||f,!p){const s=l;if(!(n instanceof RegExp)){const e={params:{}};null===i?i=[e]:i.push(e),l++}if(f=s===l,p=p||f,!p){const s=l;if("string"!=typeof n){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(f=s===l,p=p||f,!p){const s=l;if(!(n instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}if(f=s===l,p=p||f,!p){const s=l;pe(n,{instancePath:r+"/cacheGroups/"+t.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:e,parentDataProperty:t,rootData:a})||(i=null===i?pe.errors:i.concat(pe.errors),l=i.length),f=s===l,p=p||f}}}}if(!p){const e={params:{}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}if(l=o,null!==i&&(o?i.length=o:i=null),s!==l)break}}p=n===l}else p=!0;if(p){if(void 0!==t.chunks){let e=t.chunks;const n=l,r=l;let s=!1;const o=l;if("initial"!==e&&"async"!==e&&"all"!==e){const e={params:{}};null===i?i=[e]:i.push(e),l++}var c=o===l;if(s=s||c,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}c=t===l,s=s||c}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.defaultSizeTypes){let e=t.defaultSizeTypes;const n=l;if(l===n){if(!Array.isArray(e))return ue.errors=[{params:{type:"array"}}],!1;if(e.length<1)return ue.errors=[{params:{limit:1}}],!1;{const t=e.length;for(let n=0;n=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var m=c===l;if(f=f||m,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}m=t===l,f=f||m}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.fallbackCacheGroup){let e=t.fallbackCacheGroup;const n=l;if(l===n){if(!e||"object"!=typeof e||Array.isArray(e))return ue.errors=[{params:{type:"object"}}],!1;{const t=l;for(const t in e)if("automaticNameDelimiter"!==t&&"chunks"!==t&&"maxAsyncSize"!==t&&"maxInitialSize"!==t&&"maxSize"!==t&&"minSize"!==t&&"minSizeReduction"!==t)return ue.errors=[{params:{additionalProperty:t}}],!1;if(t===l){if(void 0!==e.automaticNameDelimiter){let t=e.automaticNameDelimiter;const n=l;if(l===n){if("string"!=typeof t)return ue.errors=[{params:{type:"string"}}],!1;if(t.length<1)return ue.errors=[{params:{}}],!1}var y=n===l}else y=!0;if(y){if(void 0!==e.chunks){let t=e.chunks;const n=l,r=l;let s=!1;const o=l;if("initial"!==t&&"async"!==t&&"all"!==t){const e={params:{}};null===i?i=[e]:i.push(e),l++}var h=o===l;if(s=s||h,!s){const e=l;if(!(t instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}h=e===l,s=s||h}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0;if(y){if(void 0!==e.maxAsyncSize){let t=e.maxAsyncSize;const n=l,r=l;let s=!1,o=null;const a=l,p=l;let u=!1;const f=l;if(l===f)if("number"==typeof t){if(t<0||isNaN(t)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var d=f===l;if(u=u||d,!u){const e=l;if(l===e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const e in t){const n=l;if("number"!=typeof t[e]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}d=e===l,u=u||d}if(u)l=p,null!==i&&(p?i.length=p:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0;if(y){if(void 0!==e.maxInitialSize){let t=e.maxInitialSize;const n=l,r=l;let s=!1,o=null;const a=l,p=l;let u=!1;const f=l;if(l===f)if("number"==typeof t){if(t<0||isNaN(t)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var g=f===l;if(u=u||g,!u){const e=l;if(l===e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const e in t){const n=l;if("number"!=typeof t[e]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}g=e===l,u=u||g}if(u)l=p,null!==i&&(p?i.length=p:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0;if(y){if(void 0!==e.maxSize){let t=e.maxSize;const n=l,r=l;let s=!1,o=null;const a=l,p=l;let u=!1;const f=l;if(l===f)if("number"==typeof t){if(t<0||isNaN(t)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var b=f===l;if(u=u||b,!u){const e=l;if(l===e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const e in t){const n=l;if("number"!=typeof t[e]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}b=e===l,u=u||b}if(u)l=p,null!==i&&(p?i.length=p:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0;if(y){if(void 0!==e.minSize){let t=e.minSize;const n=l,r=l;let s=!1,o=null;const a=l,p=l;let u=!1;const f=l;if(l===f)if("number"==typeof t){if(t<0||isNaN(t)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var v=f===l;if(u=u||v,!u){const e=l;if(l===e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const e in t){const n=l;if("number"!=typeof t[e]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}v=e===l,u=u||v}if(u)l=p,null!==i&&(p?i.length=p:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0;if(y)if(void 0!==e.minSizeReduction){let t=e.minSizeReduction;const n=l,r=l;let s=!1,o=null;const a=l,p=l;let u=!1;const f=l;if(l===f)if("number"==typeof t){if(t<0||isNaN(t)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var D=f===l;if(u=u||D,!u){const e=l;if(l===e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const e in t){const n=l;if("number"!=typeof t[e]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}D=e===l,u=u||D}if(u)l=p,null!==i&&(p?i.length=p:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0}}}}}}}}p=n===l}else p=!0;if(p){if(void 0!==t.filename){let n=t.filename;const r=l,s=l;let o=!1;const a=l;if(l===a)if("string"==typeof n){if(n.includes("!")||!1!==e.test(n)){const e={params:{}};null===i?i=[e]:i.push(e),l++}else if(n.length<1){const e={params:{}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}var P=a===l;if(o=o||P,!o){const e=l;if(!(n instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}P=e===l,o=o||P}if(!o){const e={params:{}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=s,null!==i&&(s?i.length=s:i=null),p=r===l}else p=!0;if(p){if(void 0!==t.hidePathInfo){const e=l;if("boolean"!=typeof t.hidePathInfo)return ue.errors=[{params:{type:"boolean"}}],!1;p=e===l}else p=!0;if(p){if(void 0!==t.maxAsyncRequests){let e=t.maxAsyncRequests;const n=l;if(l===n){if("number"!=typeof e)return ue.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return ue.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.maxAsyncSize){let e=t.maxAsyncSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var A=c===l;if(f=f||A,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}A=t===l,f=f||A}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.maxInitialRequests){let e=t.maxInitialRequests;const n=l;if(l===n){if("number"!=typeof e)return ue.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return ue.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.maxInitialSize){let e=t.maxInitialSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var x=c===l;if(f=f||x,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}x=t===l,f=f||x}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.maxSize){let e=t.maxSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var k=c===l;if(f=f||k,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}k=t===l,f=f||k}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minChunks){let e=t.minChunks;const n=l;if(l===n){if("number"!=typeof e)return ue.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return ue.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.minRemainingSize){let e=t.minRemainingSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var j=c===l;if(f=f||j,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}j=t===l,f=f||j}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minSize){let e=t.minSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var S=c===l;if(f=f||S,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}S=t===l,f=f||S}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minSizeReduction){let e=t.minSizeReduction;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var C=c===l;if(f=f||C,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}C=t===l,f=f||C}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.name){let e=t.name;const n=l,r=l;let s=!1;const o=l;if(!1!==e){const e={params:{}};null===i?i=[e]:i.push(e),l++}var O=o===l;if(s=s||O,!s){const t=l;if("string"!=typeof e){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(O=t===l,s=s||O,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}O=t===l,s=s||O}}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p)if(void 0!==t.usedExports){const e=l;if("boolean"!=typeof t.usedExports)return ue.errors=[{params:{type:"boolean"}}],!1;p=e===l}else p=!0}}}}}}}}}}}}}}}}}}}}return ue.errors=i,0===l}function fe(e,{instancePath:t="",parentData:r,parentDataProperty:s,rootData:o=e}={}){let a=null,i=0;if(0===i){if(!e||"object"!=typeof e||Array.isArray(e))return fe.errors=[{params:{type:"object"}}],!1;{const r=i;for(const t in e)if(!n.call(ae,t))return fe.errors=[{params:{additionalProperty:t}}],!1;if(r===i){if(void 0!==e.checkWasmTypes){const t=i;if("boolean"!=typeof e.checkWasmTypes)return fe.errors=[{params:{type:"boolean"}}],!1;var l=t===i}else l=!0;if(l){if(void 0!==e.chunkIds){let t=e.chunkIds;const n=i;if("natural"!==t&&"named"!==t&&"deterministic"!==t&&"size"!==t&&"total-size"!==t&&!1!==t)return fe.errors=[{params:{}}],!1;l=n===i}else l=!0;if(l){if(void 0!==e.concatenateModules){const t=i;if("boolean"!=typeof e.concatenateModules)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.emitOnErrors){const t=i;if("boolean"!=typeof e.emitOnErrors)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.flagIncludedChunks){const t=i;if("boolean"!=typeof e.flagIncludedChunks)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.innerGraph){const t=i;if("boolean"!=typeof e.innerGraph)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.mangleExports){let t=e.mangleExports;const n=i,r=i;let s=!1;const o=i;if("size"!==t&&"deterministic"!==t){const e={params:{}};null===a?a=[e]:a.push(e),i++}var p=o===i;if(s=s||p,!s){const e=i;if("boolean"!=typeof t){const e={params:{type:"boolean"}};null===a?a=[e]:a.push(e),i++}p=e===i,s=s||p}if(!s){const e={params:{}};return null===a?a=[e]:a.push(e),i++,fe.errors=a,!1}i=r,null!==a&&(r?a.length=r:a=null),l=n===i}else l=!0;if(l){if(void 0!==e.mangleWasmImports){const t=i;if("boolean"!=typeof e.mangleWasmImports)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.mergeDuplicateChunks){const t=i;if("boolean"!=typeof e.mergeDuplicateChunks)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.minimize){const t=i;if("boolean"!=typeof e.minimize)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.minimizer){let t=e.minimizer;const n=i;if(i===n){if(!Array.isArray(t))return fe.errors=[{params:{type:"array"}}],!1;{const e=t.length;for(let n=0;n=",limit:1}}],!1}y=n===u}else y=!0;if(y){if(void 0!==t.hashFunction){let e=t.hashFunction;const n=u,r=u;let s=!1;const o=u;if(u===o)if("string"==typeof e){if(e.length<1){const e={params:{}};null===l?l=[e]:l.push(e),u++}}else{const e={params:{type:"string"}};null===l?l=[e]:l.push(e),u++}var v=o===u;if(s=s||v,!s){const t=u;if(!(e instanceof Function)){const e={params:{}};null===l?l=[e]:l.push(e),u++}v=t===u,s=s||v}if(!s){const e={params:{}};return null===l?l=[e]:l.push(e),u++,xe.errors=l,!1}u=r,null!==l&&(r?l.length=r:l=null),y=n===u}else y=!0;if(y){if(void 0!==t.hashSalt){let e=t.hashSalt;const n=u;if(u==u){if("string"!=typeof e)return xe.errors=[{params:{type:"string"}}],!1;if(e.length<1)return xe.errors=[{params:{}}],!1}y=n===u}else y=!0;if(y){if(void 0!==t.hotUpdateChunkFilename){let n=t.hotUpdateChunkFilename;const r=u;if(u==u){if("string"!=typeof n)return xe.errors=[{params:{type:"string"}}],!1;if(n.includes("!")||!1!==e.test(n))return xe.errors=[{params:{}}],!1}y=r===u}else y=!0;if(y){if(void 0!==t.hotUpdateGlobal){const e=u;if("string"!=typeof t.hotUpdateGlobal)return xe.errors=[{params:{type:"string"}}],!1;y=e===u}else y=!0;if(y){if(void 0!==t.hotUpdateMainFilename){let n=t.hotUpdateMainFilename;const r=u;if(u==u){if("string"!=typeof n)return xe.errors=[{params:{type:"string"}}],!1;if(n.includes("!")||!1!==e.test(n))return xe.errors=[{params:{}}],!1}y=r===u}else y=!0;if(y){if(void 0!==t.iife){const e=u;if("boolean"!=typeof t.iife)return xe.errors=[{params:{type:"boolean"}}],!1;y=e===u}else y=!0;if(y){if(void 0!==t.importFunctionName){const e=u;if("string"!=typeof t.importFunctionName)return xe.errors=[{params:{type:"string"}}],!1;y=e===u}else y=!0;if(y){if(void 0!==t.importMetaName){const e=u;if("string"!=typeof t.importMetaName)return xe.errors=[{params:{type:"string"}}],!1;y=e===u}else y=!0;if(y){if(void 0!==t.library){const e=u;Ae(t.library,{instancePath:r+"/library",parentData:t,parentDataProperty:"library",rootData:a})||(l=null===l?Ae.errors:l.concat(Ae.errors),u=l.length),y=e===u}else y=!0;if(y){if(void 0!==t.libraryExport){let e=t.libraryExport;const n=u,r=u;let s=!1,o=null;const a=u,i=u;let p=!1;const f=u;if(u===f)if(Array.isArray(e)){const t=e.length;for(let n=0;n=",limit:1}}],!1}c=t===u}else c=!0;if(c){if(void 0!==r.performance){const e=u;ke(r.performance,{instancePath:s+"/performance",parentData:r,parentDataProperty:"performance",rootData:l})||(p=null===p?ke.errors:p.concat(ke.errors),u=p.length),c=e===u}else c=!0;if(c){if(void 0!==r.plugins){const e=u;je(r.plugins,{instancePath:s+"/plugins",parentData:r,parentDataProperty:"plugins",rootData:l})||(p=null===p?je.errors:p.concat(je.errors),u=p.length),c=e===u}else c=!0;if(c){if(void 0!==r.profile){const e=u;if("boolean"!=typeof r.profile)return we.errors=[{params:{type:"boolean"}}],!1;c=e===u}else c=!0;if(c){if(void 0!==r.recordsInputPath){let t=r.recordsInputPath;const n=u,s=u;let o=!1;const a=u;if(!1!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var g=a===u;if(o=o||g,!o){const n=u;if(u===n)if("string"==typeof t){if(t.includes("!")||!0!==e.test(t)){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}g=n===u,o=o||g}if(!o){const e={params:{}};return null===p?p=[e]:p.push(e),u++,we.errors=p,!1}u=s,null!==p&&(s?p.length=s:p=null),c=n===u}else c=!0;if(c){if(void 0!==r.recordsOutputPath){let t=r.recordsOutputPath;const n=u,s=u;let o=!1;const a=u;if(!1!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var v=a===u;if(o=o||v,!o){const n=u;if(u===n)if("string"==typeof t){if(t.includes("!")||!0!==e.test(t)){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}v=n===u,o=o||v}if(!o){const e={params:{}};return null===p?p=[e]:p.push(e),u++,we.errors=p,!1}u=s,null!==p&&(s?p.length=s:p=null),c=n===u}else c=!0;if(c){if(void 0!==r.recordsPath){let t=r.recordsPath;const n=u,s=u;let o=!1;const a=u;if(!1!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var D=a===u;if(o=o||D,!o){const n=u;if(u===n)if("string"==typeof t){if(t.includes("!")||!0!==e.test(t)){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}D=n===u,o=o||D}if(!o){const e={params:{}};return null===p?p=[e]:p.push(e),u++,we.errors=p,!1}u=s,null!==p&&(s?p.length=s:p=null),c=n===u}else c=!0;if(c){if(void 0!==r.resolve){const e=u;Se(r.resolve,{instancePath:s+"/resolve",parentData:r,parentDataProperty:"resolve",rootData:l})||(p=null===p?Se.errors:p.concat(Se.errors),u=p.length),c=e===u}else c=!0;if(c){if(void 0!==r.resolveLoader){const e=u;Ce(r.resolveLoader,{instancePath:s+"/resolveLoader",parentData:r,parentDataProperty:"resolveLoader",rootData:l})||(p=null===p?Ce.errors:p.concat(Ce.errors),u=p.length),c=e===u}else c=!0;if(c){if(void 0!==r.snapshot){let t=r.snapshot;const n=u;if(u==u){if(!t||"object"!=typeof t||Array.isArray(t))return we.errors=[{params:{type:"object"}}],!1;{const n=u;for(const e in t)if("buildDependencies"!==e&&"immutablePaths"!==e&&"managedPaths"!==e&&"module"!==e&&"resolve"!==e&&"resolveBuildDependencies"!==e)return we.errors=[{params:{additionalProperty:e}}],!1;if(n===u){if(void 0!==t.buildDependencies){let e=t.buildDependencies;const n=u;if(u===n){if(!e||"object"!=typeof e||Array.isArray(e))return we.errors=[{params:{type:"object"}}],!1;{const t=u;for(const t in e)if("hash"!==t&&"timestamp"!==t)return we.errors=[{params:{additionalProperty:t}}],!1;if(t===u){if(void 0!==e.hash){const t=u;if("boolean"!=typeof e.hash)return we.errors=[{params:{type:"boolean"}}],!1;var P=t===u}else P=!0;if(P)if(void 0!==e.timestamp){const t=u;if("boolean"!=typeof e.timestamp)return we.errors=[{params:{type:"boolean"}}],!1;P=t===u}else P=!0}}}var A=n===u}else A=!0;if(A){if(void 0!==t.immutablePaths){let n=t.immutablePaths;const r=u;if(u===r){if(!Array.isArray(n))return we.errors=[{params:{type:"array"}}],!1;{const t=n.length;for(let r=0;r=",limit:1}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}h=n===u}else h=!0;if(h)if(void 0!==t.type){const e=u;if("memory"!==t.type){const e={params:{}};null===p?p=[e]:p.push(e),u++}h=e===u}else h=!0}}}}else{const e={params:{type:"object"}};null===p?p=[e]:p.push(e),u++}if(y=s===u,c=c||y,!c){const s=u;if(u==u)if(t&&"object"==typeof t&&!Array.isArray(t)){let s;if(void 0===t.type&&(s="type")){const e={params:{missingProperty:s}};null===p?p=[e]:p.push(e),u++}else{const s=u;for(const e in t)if(!n.call(r,e)){const t={params:{additionalProperty:e}};null===p?p=[t]:p.push(t),u++;break}if(s===u){if(void 0!==t.allowCollectingMemory){const e=u;if("boolean"!=typeof t.allowCollectingMemory){const e={params:{type:"boolean"}};null===p?p=[e]:p.push(e),u++}var d=e===u}else d=!0;if(d){if(void 0!==t.buildDependencies){let e=t.buildDependencies;const n=u;if(u===n)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){let n=e[t];const r=u;if(u===r)if(Array.isArray(n)){const e=n.length;for(let t=0;t=",limit:0}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}d=n===u}else d=!0;if(d){if(void 0!==t.idleTimeoutAfterLargeChanges){let e=t.idleTimeoutAfterLargeChanges;const n=u;if(u===n)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}d=n===u}else d=!0;if(d){if(void 0!==t.idleTimeoutForInitialStore){let e=t.idleTimeoutForInitialStore;const n=u;if(u===n)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}d=n===u}else d=!0;if(d){if(void 0!==t.immutablePaths){let n=t.immutablePaths;const r=u;if(u===r)if(Array.isArray(n)){const t=n.length;for(let r=0;r=",limit:0}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}d=n===u}else d=!0;if(d){if(void 0!==t.maxMemoryGenerations){let e=t.maxMemoryGenerations;const n=u;if(u===n)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"number"}};null===p?p=[e]:p.push(e),u++}d=n===u}else d=!0;if(d){if(void 0!==t.memoryCacheUnaffected){const e=u;if("boolean"!=typeof t.memoryCacheUnaffected){const e={params:{type:"boolean"}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0;if(d){if(void 0!==t.name){const e=u;if("string"!=typeof t.name){const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0;if(d){if(void 0!==t.profile){const e=u;if("boolean"!=typeof t.profile){const e={params:{type:"boolean"}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0;if(d){if(void 0!==t.store){const e=u;if("pack"!==t.store){const e={params:{}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0;if(d){if(void 0!==t.type){const e=u;if("filesystem"!==t.type){const e={params:{}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0;if(d)if(void 0!==t.version){const e=u;if("string"!=typeof t.version){const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}d=e===u}else d=!0}}}}}}}}}}}}}}}}}}}}else{const e={params:{type:"object"}};null===p?p=[e]:p.push(e),u++}y=s===u,c=c||y}}if(!c){const e={params:{}};return null===p?p=[e]:p.push(e),u++,s.errors=p,!1}return u=f,null!==p&&(f?p.length=f:p=null),s.errors=p,0===u}function o(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:a=e}={}){let i=null,l=0;const p=l;let u=!1;const f=l;if(!0!==e){const e={params:{}};null===i?i=[e]:i.push(e),l++}var c=f===l;if(u=u||c,!u){const o=l;s(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:a})||(i=null===i?s.errors:i.concat(s.errors),l=i.length),c=o===l,u=u||c}if(!u){const e={params:{}};return null===i?i=[e]:i.push(e),l++,o.errors=i,!1}return l=p,null!==i&&(p?i.length=p:i=null),o.errors=i,0===l}const a={asyncChunks:{type:"boolean"},baseUri:{type:"string"},chunkLoading:{$ref:"#/definitions/ChunkLoading"},dependOn:{anyOf:[{type:"array",items:{type:"string",minLength:1},minItems:1,uniqueItems:!0},{type:"string",minLength:1}]},filename:{$ref:"#/definitions/EntryFilename"},import:{$ref:"#/definitions/EntryItem"},layer:{$ref:"#/definitions/Layer"},library:{$ref:"#/definitions/LibraryOptions"},publicPath:{$ref:"#/definitions/PublicPath"},runtime:{$ref:"#/definitions/EntryRuntime"},wasmLoading:{$ref:"#/definitions/WasmLoading"}};function i(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const l=a;let p=!1;const u=a;if(!1!==e){const e={params:{}};null===o?o=[e]:o.push(e),a++}var f=u===a;if(p=p||f,!p){const t=a,n=a;let r=!1;const s=a;if("jsonp"!==e&&"import-scripts"!==e&&"require"!==e&&"async-node"!==e&&"import"!==e){const e={params:{}};null===o?o=[e]:o.push(e),a++}var c=s===a;if(r=r||c,!r){const t=a;if("string"!=typeof e){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}c=t===a,r=r||c}if(r)a=n,null!==o&&(n?o.length=n:o=null);else{const e={params:{}};null===o?o=[e]:o.push(e),a++}f=t===a,p=p||f}if(!p){const e={params:{}};return null===o?o=[e]:o.push(e),a++,i.errors=o,!1}return a=l,null!==o&&(l?o.length=l:o=null),i.errors=o,0===a}function l(t,{instancePath:n="",parentData:r,parentDataProperty:s,rootData:o=t}={}){let a=null,i=0;const p=i;let u=!1,f=null;const c=i,m=i;let y=!1;const h=i;if(i===h)if("string"==typeof t){if(t.includes("!")||!1!==e.test(t)){const e={params:{}};null===a?a=[e]:a.push(e),i++}else if(t.length<1){const e={params:{}};null===a?a=[e]:a.push(e),i++}}else{const e={params:{type:"string"}};null===a?a=[e]:a.push(e),i++}var d=h===i;if(y=y||d,!y){const e=i;if(!(t instanceof Function)){const e={params:{}};null===a?a=[e]:a.push(e),i++}d=e===i,y=y||d}if(y)i=m,null!==a&&(m?a.length=m:a=null);else{const e={params:{}};null===a?a=[e]:a.push(e),i++}if(c===i&&(u=!0,f=0),!u){const e={params:{passingSchemas:f}};return null===a?a=[e]:a.push(e),i++,l.errors=a,!1}return i=p,null!==a&&(p?a.length=p:a=null),l.errors=a,0===i}function p(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1;const u=a;if("string"!=typeof e){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}var f=u===a;if(l=l||f,!l){const t=a;if(a==a)if(e&&"object"==typeof e&&!Array.isArray(e)){const t=a;for(const t in e)if("amd"!==t&&"commonjs"!==t&&"commonjs2"!==t&&"root"!==t){const e={params:{additionalProperty:t}};null===o?o=[e]:o.push(e),a++;break}if(t===a){if(void 0!==e.amd){const t=a;if("string"!=typeof e.amd){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}var c=t===a}else c=!0;if(c){if(void 0!==e.commonjs){const t=a;if("string"!=typeof e.commonjs){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}c=t===a}else c=!0;if(c){if(void 0!==e.commonjs2){const t=a;if("string"!=typeof e.commonjs2){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}c=t===a}else c=!0;if(c)if(void 0!==e.root){const t=a;if("string"!=typeof e.root){const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}c=t===a}else c=!0}}}}else{const e={params:{type:"object"}};null===o?o=[e]:o.push(e),a++}f=t===a,l=l||f}if(!l){const e={params:{}};return null===o?o=[e]:o.push(e),a++,p.errors=o,!1}return a=i,null!==o&&(i?o.length=i:o=null),p.errors=o,0===a}function u(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1;const p=a;if(a===p)if(Array.isArray(e))if(e.length<1){const e={params:{limit:1}};null===o?o=[e]:o.push(e),a++}else{const t=e.length;for(let n=0;n1){const r={};for(;n--;){let s=t[n];if("string"==typeof s){if("number"==typeof r[s]){e=r[s];const t={params:{i:n,j:e}};null===p?p=[t]:p.push(t),u++;break}r[s]=n}}}}}else{const e={params:{type:"array"}};null===p?p=[e]:p.push(e),u++}var g=o===u;if(s=s||g,!s){const e=u;if(u===e)if("string"==typeof t){if(t.length<1){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}g=e===u,s=s||g}if(!s){const e={params:{}};return null===p?p=[e]:p.push(e),u++,y.errors=p,!1}u=r,null!==p&&(r?p.length=r:p=null),h=n===u}else h=!0;if(h){if(void 0!==e.filename){const n=u;l(e.filename,{instancePath:t+"/filename",parentData:e,parentDataProperty:"filename",rootData:o})||(p=null===p?l.errors:p.concat(l.errors),u=p.length),h=n===u}else h=!0;if(h){if(void 0!==e.import){let t=e.import;const n=u,r=u;let s=!1;const o=u;if(u===o)if(Array.isArray(t))if(t.length<1){const e={params:{limit:1}};null===p?p=[e]:p.push(e),u++}else{var b=!0;const e=t.length;for(let n=0;n1){const r={};for(;n--;){let s=t[n];if("string"==typeof s){if("number"==typeof r[s]){e=r[s];const t={params:{i:n,j:e}};null===p?p=[t]:p.push(t),u++;break}r[s]=n}}}}}else{const e={params:{type:"array"}};null===p?p=[e]:p.push(e),u++}var v=o===u;if(s=s||v,!s){const e=u;if(u===e)if("string"==typeof t){if(t.length<1){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}v=e===u,s=s||v}if(!s){const e={params:{}};return null===p?p=[e]:p.push(e),u++,y.errors=p,!1}u=r,null!==p&&(r?p.length=r:p=null),h=n===u}else h=!0;if(h){if(void 0!==e.layer){let t=e.layer;const n=u,r=u;let s=!1;const o=u;if(null!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var D=o===u;if(s=s||D,!s){const e=u;if(u===e)if("string"==typeof t){if(t.length<1){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}D=e===u,s=s||D}if(!s){const e={params:{}};return null===p?p=[e]:p.push(e),u++,y.errors=p,!1}u=r,null!==p&&(r?p.length=r:p=null),h=n===u}else h=!0;if(h){if(void 0!==e.library){const n=u;f(e.library,{instancePath:t+"/library",parentData:e,parentDataProperty:"library",rootData:o})||(p=null===p?f.errors:p.concat(f.errors),u=p.length),h=n===u}else h=!0;if(h){if(void 0!==e.publicPath){const n=u;c(e.publicPath,{instancePath:t+"/publicPath",parentData:e,parentDataProperty:"publicPath",rootData:o})||(p=null===p?c.errors:p.concat(c.errors),u=p.length),h=n===u}else h=!0;if(h){if(void 0!==e.runtime){let t=e.runtime;const n=u,r=u;let s=!1;const o=u;if(!1!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var P=o===u;if(s=s||P,!s){const e=u;if(u===e)if("string"==typeof t){if(t.length<1){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}P=e===u,s=s||P}if(!s){const e={params:{}};return null===p?p=[e]:p.push(e),u++,y.errors=p,!1}u=r,null!==p&&(r?p.length=r:p=null),h=n===u}else h=!0;if(h)if(void 0!==e.wasmLoading){const n=u;m(e.wasmLoading,{instancePath:t+"/wasmLoading",parentData:e,parentDataProperty:"wasmLoading",rootData:o})||(p=null===p?m.errors:p.concat(m.errors),u=p.length),h=n===u}else h=!0}}}}}}}}}}}}}return y.errors=p,0===u}function h(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;if(0===a){if(!e||"object"!=typeof e||Array.isArray(e))return h.errors=[{params:{type:"object"}}],!1;for(const n in e){let r=e[n];const u=a,f=a;let c=!1;const m=a,d=a;let g=!1;const b=a;if(a===b)if(Array.isArray(r))if(r.length<1){const e={params:{limit:1}};null===o?o=[e]:o.push(e),a++}else{var i=!0;const e=r.length;for(let t=0;t1){const n={};for(;t--;){let s=r[t];if("string"==typeof s){if("number"==typeof n[s]){e=n[s];const r={params:{i:t,j:e}};null===o?o=[r]:o.push(r),a++;break}n[s]=t}}}}}else{const e={params:{type:"array"}};null===o?o=[e]:o.push(e),a++}var l=b===a;if(g=g||l,!g){const e=a;if(a===e)if("string"==typeof r){if(r.length<1){const e={params:{}};null===o?o=[e]:o.push(e),a++}}else{const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}l=e===a,g=g||l}if(g)a=d,null!==o&&(d?o.length=d:o=null);else{const e={params:{}};null===o?o=[e]:o.push(e),a++}var p=m===a;if(c=c||p,!c){const i=a;y(r,{instancePath:t+"/"+n.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:e,parentDataProperty:n,rootData:s})||(o=null===o?y.errors:o.concat(y.errors),a=o.length),p=i===a,c=c||p}if(!c){const e={params:{}};return null===o?o=[e]:o.push(e),a++,h.errors=o,!1}if(a=f,null!==o&&(f?o.length=f:o=null),u!==a)break}}return h.errors=o,0===a}function d(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1,p=null;const u=a,f=a;let c=!1;const m=a;if(a===m)if(Array.isArray(e))if(e.length<1){const e={params:{limit:1}};null===o?o=[e]:o.push(e),a++}else{var y=!0;const t=e.length;for(let n=0;n1){const r={};for(;n--;){let s=e[n];if("string"==typeof s){if("number"==typeof r[s]){t=r[s];const e={params:{i:n,j:t}};null===o?o=[e]:o.push(e),a++;break}r[s]=n}}}}}else{const e={params:{type:"array"}};null===o?o=[e]:o.push(e),a++}var h=m===a;if(c=c||h,!c){const t=a;if(a===t)if("string"==typeof e){if(e.length<1){const e={params:{}};null===o?o=[e]:o.push(e),a++}}else{const e={params:{type:"string"}};null===o?o=[e]:o.push(e),a++}h=t===a,c=c||h}if(c)a=f,null!==o&&(f?o.length=f:o=null);else{const e={params:{}};null===o?o=[e]:o.push(e),a++}if(u===a&&(l=!0,p=0),!l){const e={params:{passingSchemas:p}};return null===o?o=[e]:o.push(e),a++,d.errors=o,!1}return a=i,null!==o&&(i?o.length=i:o=null),d.errors=o,0===a}function g(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1;const p=a;h(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:s})||(o=null===o?h.errors:o.concat(h.errors),a=o.length);var u=p===a;if(l=l||u,!l){const i=a;d(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:s})||(o=null===o?d.errors:o.concat(d.errors),a=o.length),u=i===a,l=l||u}if(!l){const e={params:{}};return null===o?o=[e]:o.push(e),a++,g.errors=o,!1}return a=i,null!==o&&(i?o.length=i:o=null),g.errors=o,0===a}function b(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1;const p=a;if(!(e instanceof Function)){const e={params:{}};null===o?o=[e]:o.push(e),a++}var u=p===a;if(l=l||u,!l){const i=a;g(e,{instancePath:t,parentData:n,parentDataProperty:r,rootData:s})||(o=null===o?g.errors:o.concat(g.errors),a=o.length),u=i===a,l=l||u}if(!l){const e={params:{}};return null===o?o=[e]:o.push(e),a++,b.errors=o,!1}return a=i,null!==o&&(i?o.length=i:o=null),b.errors=o,0===a}const v={asyncWebAssembly:{type:"boolean"},backCompat:{type:"boolean"},buildHttp:{anyOf:[{$ref:"#/definitions/HttpUriAllowedUris"},{$ref:"#/definitions/HttpUriOptions"}]},cacheUnaffected:{type:"boolean"},css:{anyOf:[{type:"boolean"},{$ref:"#/definitions/CssExperimentOptions"}]},futureDefaults:{type:"boolean"},layers:{type:"boolean"},lazyCompilation:{anyOf:[{type:"boolean"},{$ref:"#/definitions/LazyCompilationOptions"}]},outputModule:{type:"boolean"},syncWebAssembly:{type:"boolean"},topLevelAwait:{type:"boolean"}},D=new RegExp("^https?://","u");function P(e,{instancePath:t="",parentData:n,parentDataProperty:r,rootData:s=e}={}){let o=null,a=0;const i=a;let l=!1,p=null;const u=a;if(a==a)if(Array.isArray(e)){const t=e.length;for(let n=0;n=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var f=m===l;if(c=c||f,!c){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}f=t===l,c=c||f}if(c)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.filename){let n=t.filename;const r=l,s=l;let o=!1;const a=l;if(l===a)if("string"==typeof n){if(n.includes("!")||!1!==e.test(n)){const e={params:{}};null===i?i=[e]:i.push(e),l++}else if(n.length<1){const e={params:{}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}var c=a===l;if(o=o||c,!o){const e=l;if(!(n instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}c=e===l,o=o||c}if(!o){const e={params:{}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=s,null!==i&&(s?i.length=s:i=null),p=r===l}else p=!0;if(p){if(void 0!==t.idHint){const e=l;if("string"!=typeof t.idHint)return pe.errors=[{params:{type:"string"}}],!1;p=e===l}else p=!0;if(p){if(void 0!==t.layer){let e=t.layer;const n=l,r=l;let s=!1;const o=l;if(!(e instanceof RegExp)){const e={params:{}};null===i?i=[e]:i.push(e),l++}var m=o===l;if(s=s||m,!s){const t=l;if("string"!=typeof e){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(m=t===l,s=s||m,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}m=t===l,s=s||m}}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.maxAsyncRequests){let e=t.maxAsyncRequests;const n=l;if(l===n){if("number"!=typeof e)return pe.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return pe.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.maxAsyncSize){let e=t.maxAsyncSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var y=c===l;if(f=f||y,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}y=t===l,f=f||y}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.maxInitialRequests){let e=t.maxInitialRequests;const n=l;if(l===n){if("number"!=typeof e)return pe.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return pe.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.maxInitialSize){let e=t.maxInitialSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var h=c===l;if(f=f||h,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}h=t===l,f=f||h}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.maxSize){let e=t.maxSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var d=c===l;if(f=f||d,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}d=t===l,f=f||d}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minChunks){let e=t.minChunks;const n=l;if(l===n){if("number"!=typeof e)return pe.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return pe.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.minRemainingSize){let e=t.minRemainingSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var g=c===l;if(f=f||g,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}g=t===l,f=f||g}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minSize){let e=t.minSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var b=c===l;if(f=f||b,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}b=t===l,f=f||b}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minSizeReduction){let e=t.minSizeReduction;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var v=c===l;if(f=f||v,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}v=t===l,f=f||v}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.name){let e=t.name;const n=l,r=l;let s=!1;const o=l;if(!1!==e){const e={params:{}};null===i?i=[e]:i.push(e),l++}var D=o===l;if(s=s||D,!s){const t=l;if("string"!=typeof e){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(D=t===l,s=s||D,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}D=t===l,s=s||D}}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.priority){const e=l;if("number"!=typeof t.priority)return pe.errors=[{params:{type:"number"}}],!1;p=e===l}else p=!0;if(p){if(void 0!==t.reuseExistingChunk){const e=l;if("boolean"!=typeof t.reuseExistingChunk)return pe.errors=[{params:{type:"boolean"}}],!1;p=e===l}else p=!0;if(p){if(void 0!==t.test){let e=t.test;const n=l,r=l;let s=!1;const o=l;if(!(e instanceof RegExp)){const e={params:{}};null===i?i=[e]:i.push(e),l++}var P=o===l;if(s=s||P,!s){const t=l;if("string"!=typeof e){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(P=t===l,s=s||P,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}P=t===l,s=s||P}}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.type){let e=t.type;const n=l,r=l;let s=!1;const o=l;if(!(e instanceof RegExp)){const e={params:{}};null===i?i=[e]:i.push(e),l++}var A=o===l;if(s=s||A,!s){const t=l;if("string"!=typeof e){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(A=t===l,s=s||A,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}A=t===l,s=s||A}}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,pe.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p)if(void 0!==t.usedExports){const e=l;if("boolean"!=typeof t.usedExports)return pe.errors=[{params:{type:"boolean"}}],!1;p=e===l}else p=!0}}}}}}}}}}}}}}}}}}}}}}}return pe.errors=i,0===l}function ue(t,{instancePath:r="",parentData:s,parentDataProperty:o,rootData:a=t}={}){let i=null,l=0;if(0===l){if(!t||"object"!=typeof t||Array.isArray(t))return ue.errors=[{params:{type:"object"}}],!1;{const s=l;for(const e in t)if(!n.call(ie,e))return ue.errors=[{params:{additionalProperty:e}}],!1;if(s===l){if(void 0!==t.automaticNameDelimiter){let e=t.automaticNameDelimiter;const n=l;if(l===n){if("string"!=typeof e)return ue.errors=[{params:{type:"string"}}],!1;if(e.length<1)return ue.errors=[{params:{}}],!1}var p=n===l}else p=!0;if(p){if(void 0!==t.cacheGroups){let e=t.cacheGroups;const n=l,s=l,o=l;if(l===o)if(e&&"object"==typeof e&&!Array.isArray(e)){let t;if(void 0===e.test&&(t="test")){const e={};null===i?i=[e]:i.push(e),l++}else if(void 0!==e.test){let t=e.test;const n=l;let r=!1;const s=l;if(!(t instanceof RegExp)){const e={};null===i?i=[e]:i.push(e),l++}var u=s===l;if(r=r||u,!r){const e=l;if("string"!=typeof t){const e={};null===i?i=[e]:i.push(e),l++}if(u=e===l,r=r||u,!r){const e=l;if(!(t instanceof Function)){const e={};null===i?i=[e]:i.push(e),l++}u=e===l,r=r||u}}if(r)l=n,null!==i&&(n?i.length=n:i=null);else{const e={};null===i?i=[e]:i.push(e),l++}}}else{const e={};null===i?i=[e]:i.push(e),l++}if(o===l)return ue.errors=[{params:{}}],!1;if(l=s,null!==i&&(s?i.length=s:i=null),l===n){if(!e||"object"!=typeof e||Array.isArray(e))return ue.errors=[{params:{type:"object"}}],!1;for(const t in e){let n=e[t];const s=l,o=l;let p=!1;const u=l;if(!1!==n){const e={params:{}};null===i?i=[e]:i.push(e),l++}var f=u===l;if(p=p||f,!p){const s=l;if(!(n instanceof RegExp)){const e={params:{}};null===i?i=[e]:i.push(e),l++}if(f=s===l,p=p||f,!p){const s=l;if("string"!=typeof n){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(f=s===l,p=p||f,!p){const s=l;if(!(n instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}if(f=s===l,p=p||f,!p){const s=l;pe(n,{instancePath:r+"/cacheGroups/"+t.replace(/~/g,"~0").replace(/\//g,"~1"),parentData:e,parentDataProperty:t,rootData:a})||(i=null===i?pe.errors:i.concat(pe.errors),l=i.length),f=s===l,p=p||f}}}}if(!p){const e={params:{}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}if(l=o,null!==i&&(o?i.length=o:i=null),s!==l)break}}p=n===l}else p=!0;if(p){if(void 0!==t.chunks){let e=t.chunks;const n=l,r=l;let s=!1;const o=l;if("initial"!==e&&"async"!==e&&"all"!==e){const e={params:{}};null===i?i=[e]:i.push(e),l++}var c=o===l;if(s=s||c,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}c=t===l,s=s||c}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.defaultSizeTypes){let e=t.defaultSizeTypes;const n=l;if(l===n){if(!Array.isArray(e))return ue.errors=[{params:{type:"array"}}],!1;if(e.length<1)return ue.errors=[{params:{limit:1}}],!1;{const t=e.length;for(let n=0;n=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var m=c===l;if(f=f||m,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}m=t===l,f=f||m}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.fallbackCacheGroup){let e=t.fallbackCacheGroup;const n=l;if(l===n){if(!e||"object"!=typeof e||Array.isArray(e))return ue.errors=[{params:{type:"object"}}],!1;{const t=l;for(const t in e)if("automaticNameDelimiter"!==t&&"chunks"!==t&&"maxAsyncSize"!==t&&"maxInitialSize"!==t&&"maxSize"!==t&&"minSize"!==t&&"minSizeReduction"!==t)return ue.errors=[{params:{additionalProperty:t}}],!1;if(t===l){if(void 0!==e.automaticNameDelimiter){let t=e.automaticNameDelimiter;const n=l;if(l===n){if("string"!=typeof t)return ue.errors=[{params:{type:"string"}}],!1;if(t.length<1)return ue.errors=[{params:{}}],!1}var y=n===l}else y=!0;if(y){if(void 0!==e.chunks){let t=e.chunks;const n=l,r=l;let s=!1;const o=l;if("initial"!==t&&"async"!==t&&"all"!==t){const e={params:{}};null===i?i=[e]:i.push(e),l++}var h=o===l;if(s=s||h,!s){const e=l;if(!(t instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}h=e===l,s=s||h}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0;if(y){if(void 0!==e.maxAsyncSize){let t=e.maxAsyncSize;const n=l,r=l;let s=!1,o=null;const a=l,p=l;let u=!1;const f=l;if(l===f)if("number"==typeof t){if(t<0||isNaN(t)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var d=f===l;if(u=u||d,!u){const e=l;if(l===e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const e in t){const n=l;if("number"!=typeof t[e]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}d=e===l,u=u||d}if(u)l=p,null!==i&&(p?i.length=p:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0;if(y){if(void 0!==e.maxInitialSize){let t=e.maxInitialSize;const n=l,r=l;let s=!1,o=null;const a=l,p=l;let u=!1;const f=l;if(l===f)if("number"==typeof t){if(t<0||isNaN(t)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var g=f===l;if(u=u||g,!u){const e=l;if(l===e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const e in t){const n=l;if("number"!=typeof t[e]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}g=e===l,u=u||g}if(u)l=p,null!==i&&(p?i.length=p:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0;if(y){if(void 0!==e.maxSize){let t=e.maxSize;const n=l,r=l;let s=!1,o=null;const a=l,p=l;let u=!1;const f=l;if(l===f)if("number"==typeof t){if(t<0||isNaN(t)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var b=f===l;if(u=u||b,!u){const e=l;if(l===e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const e in t){const n=l;if("number"!=typeof t[e]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}b=e===l,u=u||b}if(u)l=p,null!==i&&(p?i.length=p:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0;if(y){if(void 0!==e.minSize){let t=e.minSize;const n=l,r=l;let s=!1,o=null;const a=l,p=l;let u=!1;const f=l;if(l===f)if("number"==typeof t){if(t<0||isNaN(t)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var v=f===l;if(u=u||v,!u){const e=l;if(l===e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const e in t){const n=l;if("number"!=typeof t[e]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}v=e===l,u=u||v}if(u)l=p,null!==i&&(p?i.length=p:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0;if(y)if(void 0!==e.minSizeReduction){let t=e.minSizeReduction;const n=l,r=l;let s=!1,o=null;const a=l,p=l;let u=!1;const f=l;if(l===f)if("number"==typeof t){if(t<0||isNaN(t)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var D=f===l;if(u=u||D,!u){const e=l;if(l===e)if(t&&"object"==typeof t&&!Array.isArray(t))for(const e in t){const n=l;if("number"!=typeof t[e]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}D=e===l,u=u||D}if(u)l=p,null!==i&&(p?i.length=p:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),y=n===l}else y=!0}}}}}}}}p=n===l}else p=!0;if(p){if(void 0!==t.filename){let n=t.filename;const r=l,s=l;let o=!1;const a=l;if(l===a)if("string"==typeof n){if(n.includes("!")||!1!==e.test(n)){const e={params:{}};null===i?i=[e]:i.push(e),l++}else if(n.length<1){const e={params:{}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}var P=a===l;if(o=o||P,!o){const e=l;if(!(n instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}P=e===l,o=o||P}if(!o){const e={params:{}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=s,null!==i&&(s?i.length=s:i=null),p=r===l}else p=!0;if(p){if(void 0!==t.hidePathInfo){const e=l;if("boolean"!=typeof t.hidePathInfo)return ue.errors=[{params:{type:"boolean"}}],!1;p=e===l}else p=!0;if(p){if(void 0!==t.maxAsyncRequests){let e=t.maxAsyncRequests;const n=l;if(l===n){if("number"!=typeof e)return ue.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return ue.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.maxAsyncSize){let e=t.maxAsyncSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var A=c===l;if(f=f||A,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}A=t===l,f=f||A}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.maxInitialRequests){let e=t.maxInitialRequests;const n=l;if(l===n){if("number"!=typeof e)return ue.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return ue.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.maxInitialSize){let e=t.maxInitialSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var x=c===l;if(f=f||x,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}x=t===l,f=f||x}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.maxSize){let e=t.maxSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var k=c===l;if(f=f||k,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}k=t===l,f=f||k}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minChunks){let e=t.minChunks;const n=l;if(l===n){if("number"!=typeof e)return ue.errors=[{params:{type:"number"}}],!1;if(e<1||isNaN(e))return ue.errors=[{params:{comparison:">=",limit:1}}],!1}p=n===l}else p=!0;if(p){if(void 0!==t.minRemainingSize){let e=t.minRemainingSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var j=c===l;if(f=f||j,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}j=t===l,f=f||j}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minSize){let e=t.minSize;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var S=c===l;if(f=f||S,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}S=t===l,f=f||S}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.minSizeReduction){let e=t.minSizeReduction;const n=l,r=l;let s=!1,o=null;const a=l,u=l;let f=!1;const c=l;if(l===c)if("number"==typeof e){if(e<0||isNaN(e)){const e={params:{comparison:">=",limit:0}};null===i?i=[e]:i.push(e),l++}}else{const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}var C=c===l;if(f=f||C,!f){const t=l;if(l===t)if(e&&"object"==typeof e&&!Array.isArray(e))for(const t in e){const n=l;if("number"!=typeof e[t]){const e={params:{type:"number"}};null===i?i=[e]:i.push(e),l++}if(n!==l)break}else{const e={params:{type:"object"}};null===i?i=[e]:i.push(e),l++}C=t===l,f=f||C}if(f)l=u,null!==i&&(u?i.length=u:i=null);else{const e={params:{}};null===i?i=[e]:i.push(e),l++}if(a===l&&(s=!0,o=0),!s){const e={params:{passingSchemas:o}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p){if(void 0!==t.name){let e=t.name;const n=l,r=l;let s=!1;const o=l;if(!1!==e){const e={params:{}};null===i?i=[e]:i.push(e),l++}var O=o===l;if(s=s||O,!s){const t=l;if("string"!=typeof e){const e={params:{type:"string"}};null===i?i=[e]:i.push(e),l++}if(O=t===l,s=s||O,!s){const t=l;if(!(e instanceof Function)){const e={params:{}};null===i?i=[e]:i.push(e),l++}O=t===l,s=s||O}}if(!s){const e={params:{}};return null===i?i=[e]:i.push(e),l++,ue.errors=i,!1}l=r,null!==i&&(r?i.length=r:i=null),p=n===l}else p=!0;if(p)if(void 0!==t.usedExports){const e=l;if("boolean"!=typeof t.usedExports)return ue.errors=[{params:{type:"boolean"}}],!1;p=e===l}else p=!0}}}}}}}}}}}}}}}}}}}}return ue.errors=i,0===l}function fe(e,{instancePath:t="",parentData:r,parentDataProperty:s,rootData:o=e}={}){let a=null,i=0;if(0===i){if(!e||"object"!=typeof e||Array.isArray(e))return fe.errors=[{params:{type:"object"}}],!1;{const r=i;for(const t in e)if(!n.call(ae,t))return fe.errors=[{params:{additionalProperty:t}}],!1;if(r===i){if(void 0!==e.checkWasmTypes){const t=i;if("boolean"!=typeof e.checkWasmTypes)return fe.errors=[{params:{type:"boolean"}}],!1;var l=t===i}else l=!0;if(l){if(void 0!==e.chunkIds){let t=e.chunkIds;const n=i;if("natural"!==t&&"named"!==t&&"deterministic"!==t&&"size"!==t&&"total-size"!==t&&!1!==t)return fe.errors=[{params:{}}],!1;l=n===i}else l=!0;if(l){if(void 0!==e.concatenateModules){const t=i;if("boolean"!=typeof e.concatenateModules)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.emitOnErrors){const t=i;if("boolean"!=typeof e.emitOnErrors)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.flagIncludedChunks){const t=i;if("boolean"!=typeof e.flagIncludedChunks)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.innerGraph){const t=i;if("boolean"!=typeof e.innerGraph)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.mangleExports){let t=e.mangleExports;const n=i,r=i;let s=!1;const o=i;if("size"!==t&&"deterministic"!==t){const e={params:{}};null===a?a=[e]:a.push(e),i++}var p=o===i;if(s=s||p,!s){const e=i;if("boolean"!=typeof t){const e={params:{type:"boolean"}};null===a?a=[e]:a.push(e),i++}p=e===i,s=s||p}if(!s){const e={params:{}};return null===a?a=[e]:a.push(e),i++,fe.errors=a,!1}i=r,null!==a&&(r?a.length=r:a=null),l=n===i}else l=!0;if(l){if(void 0!==e.mangleWasmImports){const t=i;if("boolean"!=typeof e.mangleWasmImports)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.mergeDuplicateChunks){const t=i;if("boolean"!=typeof e.mergeDuplicateChunks)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.minimize){const t=i;if("boolean"!=typeof e.minimize)return fe.errors=[{params:{type:"boolean"}}],!1;l=t===i}else l=!0;if(l){if(void 0!==e.minimizer){let t=e.minimizer;const n=i;if(i===n){if(!Array.isArray(t))return fe.errors=[{params:{type:"array"}}],!1;{const e=t.length;for(let n=0;n=",limit:1}}],!1}y=n===u}else y=!0;if(y){if(void 0!==t.hashFunction){let e=t.hashFunction;const n=u,r=u;let s=!1;const o=u;if(u===o)if("string"==typeof e){if(e.length<1){const e={params:{}};null===l?l=[e]:l.push(e),u++}}else{const e={params:{type:"string"}};null===l?l=[e]:l.push(e),u++}var v=o===u;if(s=s||v,!s){const t=u;if(!(e instanceof Function)){const e={params:{}};null===l?l=[e]:l.push(e),u++}v=t===u,s=s||v}if(!s){const e={params:{}};return null===l?l=[e]:l.push(e),u++,xe.errors=l,!1}u=r,null!==l&&(r?l.length=r:l=null),y=n===u}else y=!0;if(y){if(void 0!==t.hashSalt){let e=t.hashSalt;const n=u;if(u==u){if("string"!=typeof e)return xe.errors=[{params:{type:"string"}}],!1;if(e.length<1)return xe.errors=[{params:{}}],!1}y=n===u}else y=!0;if(y){if(void 0!==t.hotUpdateChunkFilename){let n=t.hotUpdateChunkFilename;const r=u;if(u==u){if("string"!=typeof n)return xe.errors=[{params:{type:"string"}}],!1;if(n.includes("!")||!1!==e.test(n))return xe.errors=[{params:{}}],!1}y=r===u}else y=!0;if(y){if(void 0!==t.hotUpdateGlobal){const e=u;if("string"!=typeof t.hotUpdateGlobal)return xe.errors=[{params:{type:"string"}}],!1;y=e===u}else y=!0;if(y){if(void 0!==t.hotUpdateMainFilename){let n=t.hotUpdateMainFilename;const r=u;if(u==u){if("string"!=typeof n)return xe.errors=[{params:{type:"string"}}],!1;if(n.includes("!")||!1!==e.test(n))return xe.errors=[{params:{}}],!1}y=r===u}else y=!0;if(y){if(void 0!==t.iife){const e=u;if("boolean"!=typeof t.iife)return xe.errors=[{params:{type:"boolean"}}],!1;y=e===u}else y=!0;if(y){if(void 0!==t.importFunctionName){const e=u;if("string"!=typeof t.importFunctionName)return xe.errors=[{params:{type:"string"}}],!1;y=e===u}else y=!0;if(y){if(void 0!==t.importMetaName){const e=u;if("string"!=typeof t.importMetaName)return xe.errors=[{params:{type:"string"}}],!1;y=e===u}else y=!0;if(y){if(void 0!==t.library){const e=u;Ae(t.library,{instancePath:r+"/library",parentData:t,parentDataProperty:"library",rootData:a})||(l=null===l?Ae.errors:l.concat(Ae.errors),u=l.length),y=e===u}else y=!0;if(y){if(void 0!==t.libraryExport){let e=t.libraryExport;const n=u,r=u;let s=!1,o=null;const a=u,i=u;let p=!1;const f=u;if(u===f)if(Array.isArray(e)){const t=e.length;for(let n=0;n=",limit:1}}],!1}c=t===u}else c=!0;if(c){if(void 0!==r.performance){const e=u;ke(r.performance,{instancePath:s+"/performance",parentData:r,parentDataProperty:"performance",rootData:l})||(p=null===p?ke.errors:p.concat(ke.errors),u=p.length),c=e===u}else c=!0;if(c){if(void 0!==r.plugins){const e=u;je(r.plugins,{instancePath:s+"/plugins",parentData:r,parentDataProperty:"plugins",rootData:l})||(p=null===p?je.errors:p.concat(je.errors),u=p.length),c=e===u}else c=!0;if(c){if(void 0!==r.profile){const e=u;if("boolean"!=typeof r.profile)return we.errors=[{params:{type:"boolean"}}],!1;c=e===u}else c=!0;if(c){if(void 0!==r.recordsInputPath){let t=r.recordsInputPath;const n=u,s=u;let o=!1;const a=u;if(!1!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var g=a===u;if(o=o||g,!o){const n=u;if(u===n)if("string"==typeof t){if(t.includes("!")||!0!==e.test(t)){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}g=n===u,o=o||g}if(!o){const e={params:{}};return null===p?p=[e]:p.push(e),u++,we.errors=p,!1}u=s,null!==p&&(s?p.length=s:p=null),c=n===u}else c=!0;if(c){if(void 0!==r.recordsOutputPath){let t=r.recordsOutputPath;const n=u,s=u;let o=!1;const a=u;if(!1!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var v=a===u;if(o=o||v,!o){const n=u;if(u===n)if("string"==typeof t){if(t.includes("!")||!0!==e.test(t)){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}v=n===u,o=o||v}if(!o){const e={params:{}};return null===p?p=[e]:p.push(e),u++,we.errors=p,!1}u=s,null!==p&&(s?p.length=s:p=null),c=n===u}else c=!0;if(c){if(void 0!==r.recordsPath){let t=r.recordsPath;const n=u,s=u;let o=!1;const a=u;if(!1!==t){const e={params:{}};null===p?p=[e]:p.push(e),u++}var D=a===u;if(o=o||D,!o){const n=u;if(u===n)if("string"==typeof t){if(t.includes("!")||!0!==e.test(t)){const e={params:{}};null===p?p=[e]:p.push(e),u++}}else{const e={params:{type:"string"}};null===p?p=[e]:p.push(e),u++}D=n===u,o=o||D}if(!o){const e={params:{}};return null===p?p=[e]:p.push(e),u++,we.errors=p,!1}u=s,null!==p&&(s?p.length=s:p=null),c=n===u}else c=!0;if(c){if(void 0!==r.resolve){const e=u;Se(r.resolve,{instancePath:s+"/resolve",parentData:r,parentDataProperty:"resolve",rootData:l})||(p=null===p?Se.errors:p.concat(Se.errors),u=p.length),c=e===u}else c=!0;if(c){if(void 0!==r.resolveLoader){const e=u;Ce(r.resolveLoader,{instancePath:s+"/resolveLoader",parentData:r,parentDataProperty:"resolveLoader",rootData:l})||(p=null===p?Ce.errors:p.concat(Ce.errors),u=p.length),c=e===u}else c=!0;if(c){if(void 0!==r.snapshot){let t=r.snapshot;const n=u;if(u==u){if(!t||"object"!=typeof t||Array.isArray(t))return we.errors=[{params:{type:"object"}}],!1;{const n=u;for(const e in t)if("buildDependencies"!==e&&"immutablePaths"!==e&&"managedPaths"!==e&&"module"!==e&&"resolve"!==e&&"resolveBuildDependencies"!==e)return we.errors=[{params:{additionalProperty:e}}],!1;if(n===u){if(void 0!==t.buildDependencies){let e=t.buildDependencies;const n=u;if(u===n){if(!e||"object"!=typeof e||Array.isArray(e))return we.errors=[{params:{type:"object"}}],!1;{const t=u;for(const t in e)if("hash"!==t&&"timestamp"!==t)return we.errors=[{params:{additionalProperty:t}}],!1;if(t===u){if(void 0!==e.hash){const t=u;if("boolean"!=typeof e.hash)return we.errors=[{params:{type:"boolean"}}],!1;var P=t===u}else P=!0;if(P)if(void 0!==e.timestamp){const t=u;if("boolean"!=typeof e.timestamp)return we.errors=[{params:{type:"boolean"}}],!1;P=t===u}else P=!0}}}var A=n===u}else A=!0;if(A){if(void 0!==t.immutablePaths){let n=t.immutablePaths;const r=u;if(u===r){if(!Array.isArray(n))return we.errors=[{params:{type:"array"}}],!1;{const t=n.length;for(let r=0;r Date: Mon, 25 Jul 2022 09:59:58 +0200 Subject: [PATCH 28/28] 5.74.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c39ea53fdb1..769674d939d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "webpack", - "version": "5.73.0", + "version": "5.74.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",