@rspack/core 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  module.exports = validate10;
4
4
  module.exports.default = validate10;
5
- const schema11 = { "definitions": { "AssetModuleFilename": { "description": "The filename of asset modules as relative path inside the 'output.path' directory.", "anyOf": [{ "type": "string" }] }, "AssetParserDataUrlOptions": { "description": "Options object for DataUrl condition.", "type": "object", "additionalProperties": false, "properties": { "maxSize": { "description": "Maximum size of asset that should be inline as modules. Default: 8kb.", "type": "number" } } }, "AssetParserOptions": { "description": "Parser options for asset modules.", "type": "object", "additionalProperties": false, "properties": { "dataUrlCondition": { "description": "The condition for inlining the asset as DataUrl.", "anyOf": [{ "$ref": "#/definitions/AssetParserDataUrlOptions" }] } } }, "AuxiliaryComment": { "description": "Add a comment in the UMD wrapper.", "anyOf": [{ "description": "Append the same comment above each import style.", "type": "string" }, { "$ref": "#/definitions/LibraryCustomUmdCommentObject" }] }, "CacheOptions": { "description": "Cache generated modules and chunks to improve performance for multiple incremental builds.", "type": "boolean" }, "ChunkFilename": { "description": "Specifies the filename template of output files of non-initial chunks on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "ChunkFormat": { "description": "The format of chunks (formats included by default are 'array-push' (web/WebWorker), 'commonjs' (node.js), 'module' (ESM), but others might be added by plugins).", "anyOf": [{ "enum": ["array-push", "commonjs", "module", false] }, { "type": "string" }] }, "ChunkLoading": { "description": "The method of loading chunks (methods included by default are 'jsonp' (web), 'import' (ESM), 'importScripts' (WebWorker), 'require' (sync node.js), 'async-node' (async node.js), but others might be added by plugins).", "anyOf": [{ "enum": [false] }, { "$ref": "#/definitions/ChunkLoadingType" }] }, "ChunkLoadingType": { "description": "The method of loading chunks (methods included by default are 'jsonp' (web), 'import' (ESM), 'importScripts' (WebWorker), 'require' (sync node.js), 'async-node' (async node.js), but others might be added by plugins).", "anyOf": [{ "enum": ["jsonp", "import-scripts", "require", "async-node", "import"] }, { "type": "string" }] }, "CrossOriginLoading": { "description": "This option enables cross-origin loading of chunks.", "enum": [false, "anonymous", "use-credentials"] }, "Context": { "description": "The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.", "type": "string" }, "CssChunkFilename": { "description": "Specifies the filename template of non-initial output css files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "CssFilename": { "description": "Specifies the filename template of output css files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "WebassemblyModuleFilename": { "description": "The filename of WebAssembly modules as relative path inside the 'output.path' directory.", "type": "string" }, "EnabledWasmLoadingTypes": { "description": "List of wasm loading types enabled for use by entry points.", "type": "array", "items": { "$ref": "#/definitions/WasmLoadingType" } }, "EnabledChunkLoadingTypes": { "description": "List of chunk loading types enabled for use by entry points.", "type": "array", "items": { "$ref": "#/definitions/ChunkLoadingType" } }, "WasmLoading": { "description": "The method of loading WebAssembly Modules (methods included by default are 'fetch' (web/WebWorker), 'async-node' (node.js), but others might be added by plugins).", "anyOf": [{ "enum": [false] }, { "$ref": "#/definitions/WasmLoadingType" }] }, "WasmLoadingType": { "description": "The method of loading WebAssembly Modules (methods included by default are 'fetch' (web/WebWorker), 'async-node' (node.js), but others might be added by plugins).", "anyOf": [{ "enum": ["fetch-streaming", "fetch", "async-node"] }, { "type": "string" }] }, "Dependencies": { "description": "References to other configurations to depend on.", "type": "array", "items": { "description": "References to another configuration to depend on.", "type": "string" } }, "DevServer": { "description": "Options for the rspack-dev-server.", "type": "object" }, "DevTool": { "description": "A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).", "anyOf": [{ "enum": [false] }, { "type": "string", "pattern": "^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$" }] }, "EnabledLibraryTypes": { "description": "List of library types enabled for use by entry points.", "type": "array", "items": { "$ref": "#/definitions/LibraryType" } }, "Entry": { "description": "The entry point(s) of the compilation.", "anyOf": [{ "$ref": "#/definitions/EntryStatic" }] }, "EntryDescription": { "description": "An object with entry point description.", "type": "object", "additionalProperties": false, "properties": { "import": { "$ref": "#/definitions/EntryItem" }, "runtime": { "$ref": "#/definitions/EntryRuntime" }, "wasmLoading": { "$ref": "#/definitions/WasmLoading" } }, "required": ["import"] }, "EntryFilename": { "description": "Specifies the filename of the output file on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "EntryItem": { "description": "Module(s) that are loaded upon startup.", "anyOf": [{ "description": "All modules are loaded upon startup. The last one is exported.", "type": "array", "items": { "description": "A module that is loaded upon startup. Only the last one is exported.", "type": "string", "minLength": 1 }, "minItems": 1, "uniqueItems": true }, { "description": "The string is resolved to a module which is loaded upon startup.", "type": "string", "minLength": 1 }] }, "EntryObject": { "description": "Multiple entry bundles are created. The key is the entry name. The value can be a string, an array or an entry description object.", "type": "object", "additionalProperties": { "description": "An entry point with name.", "anyOf": [{ "$ref": "#/definitions/EntryItem" }, { "$ref": "#/definitions/EntryDescription" }] } }, "EntryRuntime": { "description": "The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.", "anyOf": [{ "enum": [false] }, { "type": "string", "minLength": 1 }] }, "EntryStatic": { "description": "A static entry description.", "anyOf": [{ "$ref": "#/definitions/EntryObject" }, { "$ref": "#/definitions/EntryUnnamed" }] }, "EntryUnnamed": { "description": "An entry point without name.", "oneOf": [{ "$ref": "#/definitions/EntryItem" }] }, "Experiments": { "description": "Enables/Disables experiments (experimental features with relax SemVer compatibility).", "type": "object", "additionalProperties": false, "properties": { "asyncWebAssembly": { "description": "Support WebAssembly as asynchronous EcmaScript Module.", "type": "boolean" }, "incrementalRebuild": { "description": "Rebuild incrementally", "type": "boolean" }, "lazyCompilation": { "description": "Compile entrypoints and import()s only when they are accessed.", "anyOf": [{ "type": "boolean" }] }, "outputModule": { "description": "Allow output javascript files as module source type.", "type": "boolean" }, "newSplitChunks": { "description": "Enable new SplitChunksPlugin", "type": "boolean" } } }, "ExternalItem": { "description": "Specify dependency that shouldn't be resolved by rspack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.", "anyOf": [{ "description": "Every matched dependency becomes external.", "instanceof": "RegExp" }, { "description": "An exact matched dependency becomes external. The same string is used as external dependency.", "type": "string" }, { "description": "If an dependency matches exactly a property of the object, the property value is used as dependency.", "type": "object", "additionalProperties": { "$ref": "#/definitions/ExternalItemValue" } }, { "description": "The function is called on each dependency (`function(context, request, callback(err, result))`).", "instanceof": "Function" }] }, "ExternalItemValue": { "description": "The dependency used for the external.", "anyOf": [{ "description": "The target of the external.", "type": "string" }, { "description": "`true`: The dependency name is used as target of the external.", "type": "boolean" }] }, "Externals": { "description": "Specify dependencies that shouldn't be resolved by rspack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.", "anyOf": [{ "type": "array", "items": { "$ref": "#/definitions/ExternalItem" } }, { "$ref": "#/definitions/ExternalItem" }] }, "ExternalsPresets": { "description": "Enable presets of externals for specific targets.", "type": "object", "additionalProperties": false, "properties": { "node": { "description": "Treat node.js built-in modules like fs, path or vm as external and load them via require() when used.", "type": "boolean" } } }, "ExternalsType": { "description": "Specifies the default type of externals ('amd*', 'umd*', 'system' and 'jsonp' depend on output.libraryTarget set to the same value).", "enum": ["var", "module", "assign", "this", "window", "self", "global", "commonjs", "commonjs2", "commonjs-module", "commonjs-static", "amd", "amd-require", "umd", "umd2", "jsonp", "system", "promise", "import", "script", "node-commonjs"] }, "Filename": { "description": "Specifies the filename of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "SourceMapFilename": { "description": "Specifies the filename of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "FilenameTemplate": { "description": "Specifies the filename template of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "anyOf": [{ "type": "string", "minLength": 1 }, { "instanceof": "Function" }] }, "FilterItemTypes": { "description": "Filtering value, regexp or function.", "anyOf": [{ "instanceof": "RegExp" }, { "type": "string" }, { "instanceof": "Function" }] }, "FilterTypes": { "description": "Filtering values.", "anyOf": [{ "type": "array", "items": { "description": "Rule to filter.", "oneOf": [{ "$ref": "#/definitions/FilterItemTypes" }] } }, { "$ref": "#/definitions/FilterItemTypes" }] }, "GlobalObject": { "description": "An expression which is used to address the global object/scope in runtime code.", "type": "string", "minLength": 1 }, "ImportFunctionName": { "description": "The name of the native import() function (can be exchanged for a polyfill).", "type": "string" }, "InfrastructureLogging": { "description": "Options for infrastructure level logging.", "type": "object", "additionalProperties": false, "properties": { "appendOnly": { "description": "Only appends lines to the output. Avoids updating existing output e. g. for status messages. This option is only used when no custom console is provided.", "type": "boolean" }, "colors": { "description": "Enables/Disables colorful output. This option is only used when no custom console is provided.", "type": "boolean" }, "console": { "description": "Custom console used for logging." }, "debug": { "description": "Enable debug logging for specific loggers.", "anyOf": [{ "description": "Enable/Disable debug logging for all loggers.", "type": "boolean" }, { "$ref": "#/definitions/FilterTypes" }] }, "level": { "description": "Log level.", "enum": ["none", "error", "warn", "info", "log", "verbose"] }, "stream": { "description": "Stream used for logging output. Defaults to process.stderr. This option is only used when no custom console is provided." } } }, "Library": { "description": "Make the output files a library, exporting the exports of the entry point.", "anyOf": [{ "$ref": "#/definitions/LibraryName" }, { "$ref": "#/definitions/LibraryOptions" }] }, "LibraryCustomUmdCommentObject": { "description": "Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.", "type": "object", "additionalProperties": false, "properties": { "amd": { "description": "Set comment for `amd` section in UMD.", "type": "string" }, "commonjs": { "description": "Set comment for `commonjs` (exports) section in UMD.", "type": "string" }, "commonjs2": { "description": "Set comment for `commonjs2` (module.exports) section in UMD.", "type": "string" }, "root": { "description": "Set comment for `root` (global variable) section in UMD.", "type": "string" } } }, "LibraryCustomUmdObject": { "description": "Description object for all UMD variants of the library name.", "type": "object", "additionalProperties": false, "properties": { "amd": { "description": "Name of the exposed AMD library in the UMD.", "type": "string", "minLength": 1 }, "commonjs": { "description": "Name of the exposed commonjs export in the UMD.", "type": "string", "minLength": 1 }, "root": { "description": "Name of the property exposed globally by a UMD library.", "anyOf": [{ "type": "array", "items": { "description": "Part of the name of the property exposed globally by a UMD library.", "type": "string", "minLength": 1 } }, { "type": "string", "minLength": 1 }] } } }, "LibraryExport": { "description": "Specify which export should be exposed as library.", "anyOf": [{ "type": "array", "items": { "description": "Part of the export that should be exposed as library.", "type": "string", "minLength": 1 } }, { "type": "string", "minLength": 1 }] }, "LibraryName": { "description": "The name of the library (some types allow unnamed libraries too).", "anyOf": [{ "type": "array", "items": { "description": "A part of the library name.", "type": "string", "minLength": 1 }, "minItems": 1 }, { "type": "string", "minLength": 1 }, { "$ref": "#/definitions/LibraryCustomUmdObject" }] }, "LibraryOptions": { "description": "Options for library.", "type": "object", "additionalProperties": false, "properties": { "auxiliaryComment": { "$ref": "#/definitions/AuxiliaryComment" }, "export": { "$ref": "#/definitions/LibraryExport" }, "name": { "$ref": "#/definitions/LibraryName" }, "type": { "$ref": "#/definitions/LibraryType" }, "umdNamedDefine": { "$ref": "#/definitions/UmdNamedDefine" } }, "required": ["type"] }, "LibraryType": { "description": "Type of library (types included by default are 'var', 'module', 'assign', 'assign-properties', 'this', 'window', 'self', 'global', 'commonjs', 'commonjs2', 'commonjs-module', 'commonjs-static', 'amd', 'amd-require', 'umd', 'umd2', 'jsonp', 'system', but others might be added by plugins).", "anyOf": [{ "enum": ["var", "module", "assign", "assign-properties", "this", "window", "self", "global", "commonjs", "commonjs2", "commonjs-module", "commonjs-static", "amd", "amd-require", "umd", "umd2", "jsonp", "system"] }, { "type": "string" }] }, "Mode": { "description": "Enable production optimizations or development hints.", "enum": ["development", "production", "none"] }, "ignoreWarnings": { "description": "ignore warnings based on pattern", "type": "array", "items": { "anyOf": [{ "instanceof": "RegExp" }, { "instanceof": "Function" }] } }, "ModuleOptions": { "description": "Options affecting the normal modules (`NormalModuleFactory`).", "type": "object", "additionalProperties": false, "properties": { "defaultRules": { "description": "An array of rules applied by default for modules.", "oneOf": [{ "$ref": "#/definitions/RuleSetRules" }] }, "parser": { "$ref": "#/definitions/ParserOptionsByModuleType" }, "rules": { "description": "An array of rules applied for modules.", "oneOf": [{ "$ref": "#/definitions/RuleSetRules" }] } } }, "Name": { "description": "Name of the configuration. Used when loading multiple configurations.", "type": "string" }, "Node": { "description": "Include polyfills or mocks for various node stuff.", "anyOf": [{ "enum": [false] }, { "$ref": "#/definitions/NodeOptions" }] }, "NodeOptions": { "description": "Options object for node compatibility features.", "type": "object", "additionalProperties": false, "properties": { "__dirname": { "description": "Include a polyfill for the '__dirname' variable.", "enum": [false, true, "warn-mock", "mock", "eval-only"] }, "__filename": { "description": "Include a polyfill for the '__filename' variable.", "enum": [false, true, "warn-mock", "mock", "eval-only"] }, "global": { "description": "Include a polyfill for the 'global' variable.", "enum": [false, true, "warn"] } } }, "Optimization": { "description": "Enables/Disables integrated optimizations.", "type": "object", "additionalProperties": false, "properties": { "chunkIds": { "description": "Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).", "enum": ["named", "deterministic"] }, "minimize": { "description": "Enable minimizing the output. Uses optimization.minimizer.", "type": "boolean" }, "minimizer": { "description": "Minimizer(s) to use for minimizing the output.", "type": "array", "items": { "description": "Plugin of type object or instanceof Function.", "anyOf": [{ "enum": ["..."] }, { "$ref": "#/definitions/RspackPluginInstance" }, { "$ref": "#/definitions/RspackPluginFunction" }] } }, "moduleIds": { "description": "Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).", "enum": ["named", "deterministic"] }, "removeAvailableModules": { "description": "Removes modules from chunks when these modules are already included in all parents.", "type": "boolean" }, "runtimeChunk": { "$ref": "#/definitions/OptimizationRuntimeChunk" }, "sideEffects": { "description": "Skip over modules which contain no side effects when exports are not used (false: disabled, 'flag': only use manually placed side effects flag, true: also analyse source code for side effects).", "anyOf": [{ "enum": ["flag"] }, { "type": "boolean" }] }, "splitChunks": { "description": "Optimize duplication and caching by splitting chunks by shared modules and cache group.", "anyOf": [{ "enum": [false] }, { "$ref": "#/definitions/OptimizationSplitChunksOptions" }] }, "realContentHash": { "description": "Use real [contenthash] based on final content of the assets.", "type": "boolean" } } }, "OptimizationRuntimeChunk": { "description": "Create an additional chunk which contains only the rspack runtime and chunk hash maps.", "anyOf": [{ "enum": ["single", "multiple"] }, { "type": "boolean" }, { "type": "object", "additionalProperties": false, "properties": { "name": { "description": "The name or name factory for the runtime chunks.", "anyOf": [{ "type": "string" }, { "instanceof": "Function" }] } } }] }, "OptimizationSplitChunksCacheGroup": { "description": "Options object for describing behavior of a cache group selecting modules that should be cached together.", "type": "object", "additionalProperties": false, "properties": { "chunks": { "description": "Select chunks for determining cache group content (defaults to \"initial\", \"initial\" and \"all\" requires adding these chunks to the HTML).", "anyOf": [{ "enum": ["initial", "async", "all"] }, { "instanceof": "Function" }] }, "minChunks": { "description": "Minimum number of times a module has to be duplicated until it's considered for splitting.", "type": "number", "minimum": 1 }, "name": { "description": "Give chunks for this cache group a name (chunks with equal name are merged).", "anyOf": [{ "enum": [false] }, { "type": "string" }, { "instanceof": "Function" }] }, "priority": { "description": "Priority of this cache group.", "type": "number" }, "reuseExistingChunk": { "description": "Try to reuse existing chunk (with name) when it has matching modules.", "type": "boolean" }, "test": { "description": "Assign modules to a cache group by module name.", "anyOf": [{ "instanceof": "RegExp" }] }, "minSize": { "description": "Minimal size for the created chunks.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] } } }, "OptimizationSplitChunksOptions": { "description": "Options object for splitting chunks into smaller chunks.", "type": "object", "additionalProperties": false, "properties": { "name": { "description": "The name or name for chunks.", "anyOf": [{ "type": "string" }] }, "cacheGroups": { "description": "Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks, default categories: 'default', 'defaultVendors').", "type": "object", "additionalProperties": { "description": "Configuration for a cache group.", "anyOf": [{ "$ref": "#/definitions/OptimizationSplitChunksCacheGroup" }] } }, "chunks": { "description": "Select chunks for determining shared modules (defaults to \"async\", \"initial\" and \"all\" requires adding these chunks to the HTML).", "anyOf": [{ "enum": ["initial", "async", "all"] }] }, "enforceSizeThreshold": { "description": "Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] }, "maxAsyncRequests": { "description": "Maximum number of requests which are accepted for on-demand loading.", "type": "number", "minimum": 1 }, "maxInitialRequests": { "description": "Maximum number of initial chunks which are accepted for an entry point.", "type": "number", "minimum": 1 }, "minChunks": { "description": "Minimum number of times a module has to be duplicated until it's considered for splitting.", "type": "number", "minimum": 1 }, "minRemainingSize": { "description": "Minimal size for the chunks the stay after moving the modules to a new chunk.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] }, "minSize": { "description": "Minimal size for the created chunks.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] }, "reuseExistingChunk": { "description": "If the current chunk contains modules already split out from the main bundle, it will be reused instead of a new one being generated. This can affect the resulting file name of the chunk.", "type": "boolean" } } }, "OptimizationSplitChunksSizes": { "description": "Size description for limits.", "anyOf": [{ "description": "Size of the javascript part of the chunk.", "type": "number", "minimum": 0 }] }, "Iife": { "description": "Wrap javascript code into IIFE's to avoid leaking into global scope.", "type": "boolean" }, "Clean": { "description": "Clears the output build directory", "type": "boolean" }, "Output": { "description": "Options affecting the output of the compilation. `output` options tell rspack how to write the compiled files to disk.", "type": "object", "additionalProperties": false, "properties": { "iife": { "$ref": "#/definitions/Iife" }, "clean": { "$ref": "#/definitions/Clean" }, "assetModuleFilename": { "$ref": "#/definitions/AssetModuleFilename" }, "auxiliaryComment": { "oneOf": [{ "$ref": "#/definitions/AuxiliaryComment" }] }, "chunkFormat": { "$ref": "#/definitions/ChunkFormat" }, "chunkLoading": { "$ref": "#/definitions/ChunkLoading" }, "enabledChunkLoadingTypes": { "$ref": "#/definitions/EnabledChunkLoadingTypes" }, "chunkFilename": { "$ref": "#/definitions/ChunkFilename" }, "crossOriginLoading": { "$ref": "#/definitions/CrossOriginLoading" }, "cssChunkFilename": { "$ref": "#/definitions/CssChunkFilename" }, "cssFilename": { "$ref": "#/definitions/CssFilename" }, "enabledWasmLoadingTypes": { "$ref": "#/definitions/EnabledWasmLoadingTypes" }, "wasmLoading": { "$ref": "#/definitions/WasmLoading" }, "webassemblyModuleFilename": { "$ref": "#/definitions/WebassemblyModuleFilename" }, "enabledLibraryTypes": { "$ref": "#/definitions/EnabledLibraryTypes" }, "filename": { "$ref": "#/definitions/Filename" }, "globalObject": { "$ref": "#/definitions/GlobalObject" }, "importFunctionName": { "$ref": "#/definitions/ImportFunctionName" }, "library": { "$ref": "#/definitions/Library" }, "libraryExport": { "oneOf": [{ "$ref": "#/definitions/LibraryExport" }] }, "libraryTarget": { "oneOf": [{ "$ref": "#/definitions/LibraryType" }] }, "module": { "$ref": "#/definitions/OutputModule" }, "path": { "$ref": "#/definitions/Path" }, "publicPath": { "$ref": "#/definitions/PublicPath" }, "strictModuleErrorHandling": { "$ref": "#/definitions/StrictModuleErrorHandling" }, "umdNamedDefine": { "oneOf": [{ "$ref": "#/definitions/UmdNamedDefine" }] }, "uniqueName": { "$ref": "#/definitions/UniqueName" }, "chunkLoadingGlobal": { "$ref": "#/definitions/ChunkLoadingGlobal" }, "trustedTypes": { "description": "Use a Trusted Types policy to create urls for chunks. 'output.uniqueName' is used a default policy name. Passing a string sets a custom policy name.", "anyOf": [{ "enum": [true] }, { "description": "The name of the Trusted Types policy created by webpack to serve bundle chunks.", "type": "string", "minLength": 1 }, { "$ref": "#/definitions/TrustedTypes" }] }, "sourceMapFilename": { "$ref": "#/definitions/SourceMapFilename" } } }, "OutputModule": { "description": "Output javascript files as module source type.", "type": "boolean" }, "ParserOptionsByModuleType": { "description": "Specify options for each parser.", "type": "object", "additionalProperties": { "description": "Options for parsing.", "type": "object", "additionalProperties": true }, "properties": { "asset": { "$ref": "#/definitions/AssetParserOptions" } } }, "Path": { "description": "The output directory as **absolute path** (required).", "type": "string" }, "Plugins": { "description": "Add additional plugins to the compiler.", "type": "array", "items": { "description": "Plugin of type object or instanceof Function.", "anyOf": [{ "$ref": "#/definitions/RspackPluginInstance" }, { "$ref": "#/definitions/RspackPluginFunction" }] } }, "PublicPath": { "description": "The 'publicPath' specifies the public URL address of the output files when referenced in a browser.", "anyOf": [{ "enum": ["auto"] }, { "$ref": "#/definitions/RawPublicPath" }] }, "RawPublicPath": { "description": "The 'publicPath' specifies the public URL address of the output files when referenced in a browser.", "anyOf": [{ "type": "string" }] }, "Resolve": { "description": "Options for the resolver.", "oneOf": [{ "$ref": "#/definitions/ResolveOptions" }] }, "ResolveAlias": { "description": "Redirect module requests.", "anyOf": [{ "type": "object", "additionalProperties": { "description": "New request.", "anyOf": [{ "description": "Multiple alternative requests.", "type": "array", "items": { "description": "One choice of request.", "type": "string", "minLength": 1 } }, { "description": "Ignore request (replace with empty module).", "enum": [false] }, { "description": "New request.", "type": "string", "minLength": 1 }] } }] }, "ResolveOptions": { "description": "Options object for resolving requests.", "type": "object", "additionalProperties": false, "properties": { "alias": { "$ref": "#/definitions/ResolveAlias" }, "browserField": { "description": "Fields in the description file (usually package.json) which are used to redirect requests inside the module.", "type": "boolean" }, "conditionNames": { "description": "Condition names for exports field entry point.", "type": "array", "items": { "description": "Condition names for exports field entry point.", "type": "string" } }, "extensions": { "description": "Extensions added to the request when trying to find the file.", "type": "array", "items": { "description": "Extension added to the request when trying to find the file.", "type": "string" } }, "fallback": { "description": "Redirect module requests when normal resolving fails.", "oneOf": [{ "$ref": "#/definitions/ResolveAlias" }] }, "fullySpecified": { "description": "Treats the request specified by the user as fully specified, meaning no extensions are added and the mainFiles in directories are not resolved (This doesn't affect requests from mainFields, aliasFields or aliases).", "type": "boolean" }, "mainFields": { "description": "Field names from the description file (package.json) which are used to find the default entry point.", "type": "array", "items": { "description": "Field name from the description file (package.json) which are used to find the default entry point.", "anyOf": [{ "type": "array", "items": { "description": "Part of the field path from the description file (package.json) which are used to find the default entry point.", "type": "string", "minLength": 1 } }, { "type": "string", "minLength": 1 }] } }, "mainFiles": { "description": "Filenames used to find the default entry point if there is no description file or main field.", "type": "array", "items": { "description": "Filename used to find the default entry point if there is no description file or main field.", "type": "string", "minLength": 1 } }, "modules": { "description": "Folder names or directory paths where to find modules.", "type": "array", "items": { "description": "Folder name or directory path where to find modules.", "type": "string", "minLength": 1 } }, "preferRelative": { "description": "Prefer to resolve module requests as relative request and fallback to resolving as module.", "type": "boolean" }, "byDependency": { "description": "Extra resolve options per dependency category. Typical categories are \"commonjs\", \"amd\", \"esm\".", "type": "object", "additionalProperties": { "description": "Options object for resolving requests.", "oneOf": [{ "$ref": "#/definitions/ResolveOptions" }] } }, "tsConfigPath": { "description": "Path to tsconfig.json", "type": "string" } } }, "RuleSetCondition": { "description": "A condition matcher.", "anyOf": [{ "instanceof": "RegExp" }, { "type": "string" }, { "instanceof": "Function" }, { "$ref": "#/definitions/RuleSetLogicalConditions" }, { "$ref": "#/definitions/RuleSetConditions" }] }, "RuleSetConditionOrConditions": { "description": "One or multiple rule conditions.", "anyOf": [{ "$ref": "#/definitions/RuleSetCondition" }, { "$ref": "#/definitions/RuleSetConditions" }] }, "RuleSetConditions": { "description": "A list of rule conditions.", "type": "array", "items": { "description": "A rule condition.", "oneOf": [{ "$ref": "#/definitions/RuleSetCondition" }] } }, "RuleSetLoader": { "description": "A loader request.", "type": "string", "minLength": 1 }, "RuleSetLoaderOptions": { "description": "Options passed to a loader.", "anyOf": [{ "type": "string" }, { "type": "object" }] }, "RuleSetLogicalConditions": { "description": "Logic operators used in a condition matcher.", "type": "object", "additionalProperties": false, "properties": { "and": { "description": "Logical AND.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditions" }] }, "not": { "description": "Logical NOT.", "oneOf": [{ "$ref": "#/definitions/RuleSetCondition" }] }, "or": { "description": "Logical OR.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditions" }] } } }, "RuleSetRule": { "description": "A rule description with conditions and effects for modules.", "type": "object", "additionalProperties": false, "properties": { "enforce": { "description": "Enforce this rule as pre or post step.", "enum": ["pre", "post"] }, "exclude": { "description": "Shortcut for resource.exclude.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "generator": { "description": "The options for the module generator.", "type": "object" }, "include": { "description": "Shortcut for resource.include.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "issuer": { "description": "Match the issuer of the module (The module pointing to this module).", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "dependency": { "description": "Match dependency type.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "descriptionData": { "description": "Match values of properties in the description file (usually package.json).", "type": "object", "additionalProperties": { "$ref": "#/definitions/RuleSetConditionOrConditions" } }, "oneOf": { "description": "Only execute the first matching rule in this array.", "type": "array", "items": { "description": "A rule.", "oneOf": [{ "$ref": "#/definitions/RuleSetRule" }] } }, "parser": { "description": "Options for parsing.", "type": "object", "additionalProperties": true }, "resolve": { "description": "Options for the resolver.", "type": "object", "oneOf": [{ "$ref": "#/definitions/ResolveOptions" }] }, "resource": { "description": "Match the resource path of the module.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "resourceFragment": { "description": "Match the resource fragment of the module.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "resourceQuery": { "description": "Match the resource query of the module.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "rules": { "description": "Match and execute these rules when this rule is matched.", "type": "array", "items": { "description": "A rule.", "oneOf": [{ "$ref": "#/definitions/RuleSetRule" }] } }, "sideEffects": { "description": "Flags a module as with or without side effects.", "type": "boolean" }, "test": { "description": "Shortcut for resource.test.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "type": { "description": "Module type to use for the module.", "type": "string" }, "use": { "description": "Modifiers applied to the module when rule is matched.", "oneOf": [{ "$ref": "#/definitions/RuleSetUse" }] } } }, "RuleSetRules": { "description": "A list of rules.", "type": "array", "items": { "description": "A rule.", "anyOf": [{ "enum": ["..."] }, { "$ref": "#/definitions/RuleSetRule" }] } }, "RuleSetUse": { "description": "A list of descriptions of loaders applied.", "anyOf": [{ "type": "array", "items": { "description": "An use item.", "oneOf": [{ "$ref": "#/definitions/RuleSetUseItem" }] } }, { "$ref": "#/definitions/RuleSetUseItem" }] }, "RuleSetUseItem": { "description": "A description of an applied loader.", "anyOf": [{ "type": "object", "additionalProperties": false, "properties": { "loader": { "description": "Loader name.", "oneOf": [{ "$ref": "#/definitions/RuleSetLoader" }] }, "options": { "description": "Loader options.", "oneOf": [{ "$ref": "#/definitions/RuleSetLoaderOptions" }] } } }, { "$ref": "#/definitions/RuleSetLoader" }] }, "SnapshotOptions": { "description": "Options affecting how file system snapshots are created and validated.", "type": "object", "additionalProperties": false, "properties": { "module": { "description": "Options for snapshotting dependencies of modules to determine if they need to be built again.", "type": "object", "additionalProperties": false, "properties": { "hash": { "description": "Use hashes of the content of the files/directories to determine invalidation.", "type": "boolean" }, "timestamp": { "description": "Use timestamps of the files/directories to determine invalidation.", "type": "boolean" } } }, "resolve": { "description": "Options for snapshotting dependencies of request resolving to determine if requests need to be re-resolved.", "type": "object", "additionalProperties": false, "properties": { "hash": { "description": "Use hashes of the content of the files/directories to determine invalidation.", "type": "boolean" }, "timestamp": { "description": "Use timestamps of the files/directories to determine invalidation.", "type": "boolean" } } } } }, "StatsOptions": { "description": "Stats options object.", "type": "object", "additionalProperties": true, "properties": { "all": { "description": "Fallback value for stats options when an option is not defined (has precedence over local rspack defaults).", "type": "boolean" }, "assets": { "description": "Add assets information.", "type": "boolean" }, "chunkGroups": { "description": "Display all chunk groups with the corresponding bundles.", "type": "boolean" }, "chunks": { "description": "Add chunk information.", "type": "boolean" }, "colors": { "description": "Enables/Disables colorful output.", "type": "boolean" }, "entrypoints": { "description": "Display the entry points with the corresponding bundles.", "anyOf": [{ "enum": ["auto"] }, { "type": "boolean" }] }, "errors": { "description": "Add errors.", "type": "boolean" }, "errorsCount": { "description": "Add errors count.", "type": "boolean" }, "hash": { "description": "Add the hash of the compilation.", "type": "boolean" }, "modules": { "description": "Add built modules information.", "type": "boolean" }, "preset": { "description": "Preset for the default values.", "anyOf": [{ "type": "boolean" }, { "type": "string" }] }, "publicPath": { "description": "Add public path information.", "type": "boolean" }, "reasons": { "description": "Add information about the reasons why modules are included.", "type": "boolean" }, "warnings": { "description": "Add warnings.", "type": "boolean" }, "warningsCount": { "description": "Add warnings count.", "type": "boolean" }, "outputPath": { "description": "Add output path information.", "type": "boolean" }, "chunkModules": { "description": "Add built modules information to chunk information.", "type": "boolean" }, "chunkRelations": { "description": "Add information about parent, children and sibling chunks to chunk information.", "type": "boolean" }, "timings": { "description": "Add timing information.", "type": "boolean" }, "builtAt": { "description": "Add built at time information.", "type": "boolean" } } }, "StatsValue": { "description": "Stats options object or preset name.", "anyOf": [{ "enum": ["none", "errors-only", "errors-warnings", "normal", "verbose"] }, { "type": "boolean" }, { "$ref": "#/definitions/StatsOptions" }] }, "StrictModuleErrorHandling": { "description": "Handles error in module loading correctly at a performance cost. This will handle module error compatible with the EcmaScript Modules spec.", "type": "boolean" }, "Target": { "description": "Environment to build for. An array of environments to build for all of them when possible.", "anyOf": [{ "type": "array", "items": { "description": "Environment to build for.", "type": "string", "minLength": 1 }, "minItems": 1 }, { "enum": [false] }, { "type": "string", "minLength": 1 }] }, "TrustedTypes": { "description": "Use a Trusted Types policy to create urls for chunks.", "type": "object", "additionalProperties": false, "properties": { "policyName": { "description": "The name of the Trusted Types policy created by webpack to serve bundle chunks.", "type": "string", "minLength": 1 } } }, "UmdNamedDefine": { "description": "If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.", "type": "boolean" }, "UniqueName": { "description": "A unique name of the rspack build to avoid multiple rspack runtimes to conflict when using globals.", "type": "string", "minLength": 1 }, "ChunkLoadingGlobal": { "description": "The global variable used by rspack for loading of chunks.", "type": "string", "minLength": 1 }, "Watch": { "description": "Enter watch mode, which rebuilds on file change.", "type": "boolean" }, "WatchOptions": { "description": "Options for the watcher.", "type": "object", "additionalProperties": false, "properties": { "aggregateTimeout": { "description": "Delay the rebuilt after the first change. Value is a time in ms.", "type": "number" }, "followSymlinks": { "description": "Resolve symlinks and watch symlink and real file. This is usually not needed as rspack already resolves symlinks ('resolve.symlinks').", "type": "boolean" }, "ignored": { "description": "Ignore some files from watching (glob pattern or regexp).", "anyOf": [{ "type": "array", "items": { "description": "A glob pattern for files that should be ignored from watching.", "type": "string", "minLength": 1 } }, { "instanceof": "RegExp" }, { "description": "A single glob pattern for files that should be ignored from watching.", "type": "string", "minLength": 1 }] }, "poll": { "description": "Enable polling mode for watching.", "anyOf": [{ "description": "`number`: use polling with specified interval.", "type": "number" }, { "description": "`true`: use polling.", "type": "boolean" }] }, "stdin": { "description": "Stop watching when stdin stream has ended.", "type": "boolean" } } }, "RspackPluginFunction": { "description": "Function acting as plugin.", "instanceof": "Function" }, "RspackPluginInstance": { "description": "Plugin instance.", "type": "object", "additionalProperties": true, "properties": { "apply": { "description": "The run point of the plugin, required method.", "instanceof": "Function" } }, "required": ["apply"] } }, "title": "RspackOptions", "description": "Options object as provided by the user.", "type": "object", "additionalProperties": false, "properties": { "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" }, "externalsType": { "$ref": "#/definitions/ExternalsType" }, "externalsPresets": { "$ref": "#/definitions/ExternalsPresets" }, "infrastructureLogging": { "$ref": "#/definitions/InfrastructureLogging" }, "mode": { "$ref": "#/definitions/Mode" }, "module": { "$ref": "#/definitions/ModuleOptions" }, "name": { "$ref": "#/definitions/Name" }, "node": { "$ref": "#/definitions/Node" }, "optimization": { "$ref": "#/definitions/Optimization" }, "output": { "$ref": "#/definitions/Output" }, "plugins": { "$ref": "#/definitions/Plugins" }, "resolve": { "$ref": "#/definitions/Resolve" }, "snapshot": { "$ref": "#/definitions/SnapshotOptions" }, "stats": { "$ref": "#/definitions/StatsValue" }, "target": { "$ref": "#/definitions/Target" }, "watch": { "$ref": "#/definitions/Watch" }, "watchOptions": { "$ref": "#/definitions/WatchOptions" }, "builtins": { "description": "Builtins features in rspack", "type": "object", "additionalProperties": true }, "ignoreWarnings": { "$ref": "#/definitions/ignoreWarnings" } } };
5
+ const schema11 = { "definitions": { "AssetModuleFilename": { "description": "The filename of asset modules as relative path inside the 'output.path' directory.", "anyOf": [{ "type": "string" }] }, "AssetParserDataUrlOptions": { "description": "Options object for DataUrl condition.", "type": "object", "additionalProperties": false, "properties": { "maxSize": { "description": "Maximum size of asset that should be inline as modules. Default: 8kb.", "type": "number" } } }, "AssetParserOptions": { "description": "Parser options for asset modules.", "type": "object", "additionalProperties": false, "properties": { "dataUrlCondition": { "description": "The condition for inlining the asset as DataUrl.", "anyOf": [{ "$ref": "#/definitions/AssetParserDataUrlOptions" }] } } }, "AuxiliaryComment": { "description": "Add a comment in the UMD wrapper.", "anyOf": [{ "description": "Append the same comment above each import style.", "type": "string" }, { "$ref": "#/definitions/LibraryCustomUmdCommentObject" }] }, "CacheOptions": { "description": "Cache generated modules and chunks to improve performance for multiple incremental builds.", "type": "boolean" }, "ChunkFilename": { "description": "Specifies the filename template of output files of non-initial chunks on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "ChunkFormat": { "description": "The format of chunks (formats included by default are 'array-push' (web/WebWorker), 'commonjs' (node.js), 'module' (ESM), but others might be added by plugins).", "anyOf": [{ "enum": ["array-push", "commonjs", "module", false] }, { "type": "string" }] }, "ChunkLoading": { "description": "The method of loading chunks (methods included by default are 'jsonp' (web), 'import' (ESM), 'importScripts' (WebWorker), 'require' (sync node.js), 'async-node' (async node.js), but others might be added by plugins).", "anyOf": [{ "enum": [false] }, { "$ref": "#/definitions/ChunkLoadingType" }] }, "ChunkLoadingType": { "description": "The method of loading chunks (methods included by default are 'jsonp' (web), 'import' (ESM), 'importScripts' (WebWorker), 'require' (sync node.js), 'async-node' (async node.js), but others might be added by plugins).", "anyOf": [{ "enum": ["jsonp", "import-scripts", "require", "async-node", "import"] }, { "type": "string" }] }, "CrossOriginLoading": { "description": "This option enables cross-origin loading of chunks.", "enum": [false, "anonymous", "use-credentials"] }, "Context": { "description": "The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.", "type": "string" }, "CssChunkFilename": { "description": "Specifies the filename template of non-initial output css files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "CssFilename": { "description": "Specifies the filename template of output css files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "WebassemblyModuleFilename": { "description": "The filename of WebAssembly modules as relative path inside the 'output.path' directory.", "type": "string" }, "EnabledWasmLoadingTypes": { "description": "List of wasm loading types enabled for use by entry points.", "type": "array", "items": { "$ref": "#/definitions/WasmLoadingType" } }, "EnabledChunkLoadingTypes": { "description": "List of chunk loading types enabled for use by entry points.", "type": "array", "items": { "$ref": "#/definitions/ChunkLoadingType" } }, "WasmLoading": { "description": "The method of loading WebAssembly Modules (methods included by default are 'fetch' (web/WebWorker), 'async-node' (node.js), but others might be added by plugins).", "anyOf": [{ "enum": [false] }, { "$ref": "#/definitions/WasmLoadingType" }] }, "WasmLoadingType": { "description": "The method of loading WebAssembly Modules (methods included by default are 'fetch' (web/WebWorker), 'async-node' (node.js), but others might be added by plugins).", "anyOf": [{ "enum": ["fetch-streaming", "fetch", "async-node"] }, { "type": "string" }] }, "Dependencies": { "description": "References to other configurations to depend on.", "type": "array", "items": { "description": "References to another configuration to depend on.", "type": "string" } }, "DevServer": { "description": "Options for the rspack-dev-server.", "type": "object" }, "DevTool": { "description": "A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).", "anyOf": [{ "enum": [false] }, { "type": "string", "pattern": "^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$" }] }, "EnabledLibraryTypes": { "description": "List of library types enabled for use by entry points.", "type": "array", "items": { "$ref": "#/definitions/LibraryType" } }, "Entry": { "description": "The entry point(s) of the compilation.", "anyOf": [{ "$ref": "#/definitions/EntryStatic" }] }, "EntryDescription": { "description": "An object with entry point description.", "type": "object", "additionalProperties": false, "properties": { "import": { "$ref": "#/definitions/EntryItem" }, "runtime": { "$ref": "#/definitions/EntryRuntime" }, "wasmLoading": { "$ref": "#/definitions/WasmLoading" } }, "required": ["import"] }, "EntryFilename": { "description": "Specifies the filename of the output file on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "EntryItem": { "description": "Module(s) that are loaded upon startup.", "anyOf": [{ "description": "All modules are loaded upon startup. The last one is exported.", "type": "array", "items": { "description": "A module that is loaded upon startup. Only the last one is exported.", "type": "string", "minLength": 1 }, "minItems": 1, "uniqueItems": true }, { "description": "The string is resolved to a module which is loaded upon startup.", "type": "string", "minLength": 1 }] }, "EntryObject": { "description": "Multiple entry bundles are created. The key is the entry name. The value can be a string, an array or an entry description object.", "type": "object", "additionalProperties": { "description": "An entry point with name.", "anyOf": [{ "$ref": "#/definitions/EntryItem" }, { "$ref": "#/definitions/EntryDescription" }] } }, "EntryRuntime": { "description": "The name of the runtime chunk. If set a runtime chunk with this name is created or an existing entrypoint is used as runtime.", "anyOf": [{ "enum": [false] }, { "type": "string", "minLength": 1 }] }, "EntryStatic": { "description": "A static entry description.", "anyOf": [{ "$ref": "#/definitions/EntryObject" }, { "$ref": "#/definitions/EntryUnnamed" }] }, "EntryUnnamed": { "description": "An entry point without name.", "oneOf": [{ "$ref": "#/definitions/EntryItem" }] }, "Experiments": { "description": "Enables/Disables experiments (experimental features with relax SemVer compatibility).", "type": "object", "additionalProperties": false, "properties": { "asyncWebAssembly": { "description": "Support WebAssembly as asynchronous EcmaScript Module.", "type": "boolean" }, "incrementalRebuild": { "description": "Rebuild incrementally", "type": "boolean" }, "lazyCompilation": { "description": "Compile entrypoints and import()s only when they are accessed.", "anyOf": [{ "type": "boolean" }] }, "outputModule": { "description": "Allow output javascript files as module source type.", "type": "boolean" }, "newSplitChunks": { "description": "Enable new SplitChunksPlugin", "type": "boolean" } } }, "ExternalItem": { "description": "Specify dependency that shouldn't be resolved by rspack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.", "anyOf": [{ "description": "Every matched dependency becomes external.", "instanceof": "RegExp" }, { "description": "An exact matched dependency becomes external. The same string is used as external dependency.", "type": "string" }, { "description": "If an dependency matches exactly a property of the object, the property value is used as dependency.", "type": "object", "additionalProperties": { "$ref": "#/definitions/ExternalItemValue" } }, { "description": "The function is called on each dependency (`function(context, request, callback(err, result))`).", "instanceof": "Function" }] }, "ExternalItemValue": { "description": "The dependency used for the external.", "anyOf": [{ "type": "array", "items": { "description": "A part of the target of the external.", "type": "string", "minLength": 1 } }, { "description": "The target of the external.", "type": "string" }, { "description": "`true`: The dependency name is used as target of the external.", "type": "boolean" }] }, "Externals": { "description": "Specify dependencies that shouldn't be resolved by rspack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.", "anyOf": [{ "type": "array", "items": { "$ref": "#/definitions/ExternalItem" } }, { "$ref": "#/definitions/ExternalItem" }] }, "ExternalsPresets": { "description": "Enable presets of externals for specific targets.", "type": "object", "additionalProperties": false, "properties": { "node": { "description": "Treat node.js built-in modules like fs, path or vm as external and load them via require() when used.", "type": "boolean" } } }, "ExternalsType": { "description": "Specifies the default type of externals ('amd*', 'umd*', 'system' and 'jsonp' depend on output.libraryTarget set to the same value).", "enum": ["var", "module", "assign", "this", "window", "self", "global", "commonjs", "commonjs2", "commonjs-module", "commonjs-static", "amd", "amd-require", "umd", "umd2", "jsonp", "system", "promise", "import", "script", "node-commonjs"] }, "Filename": { "description": "Specifies the filename of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "SourceMapFilename": { "description": "Specifies the filename of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "oneOf": [{ "$ref": "#/definitions/FilenameTemplate" }] }, "FilenameTemplate": { "description": "Specifies the filename template of output files on disk. You must **not** specify an absolute path here, but the path may contain folders separated by '/'! The specified path is joined with the value of the 'output.path' option to determine the location on disk.", "anyOf": [{ "type": "string", "minLength": 1 }, { "instanceof": "Function" }] }, "FilterItemTypes": { "description": "Filtering value, regexp or function.", "anyOf": [{ "instanceof": "RegExp" }, { "type": "string" }, { "instanceof": "Function" }] }, "FilterTypes": { "description": "Filtering values.", "anyOf": [{ "type": "array", "items": { "description": "Rule to filter.", "oneOf": [{ "$ref": "#/definitions/FilterItemTypes" }] } }, { "$ref": "#/definitions/FilterItemTypes" }] }, "GlobalObject": { "description": "An expression which is used to address the global object/scope in runtime code.", "type": "string", "minLength": 1 }, "ImportFunctionName": { "description": "The name of the native import() function (can be exchanged for a polyfill).", "type": "string" }, "InfrastructureLogging": { "description": "Options for infrastructure level logging.", "type": "object", "additionalProperties": false, "properties": { "appendOnly": { "description": "Only appends lines to the output. Avoids updating existing output e. g. for status messages. This option is only used when no custom console is provided.", "type": "boolean" }, "colors": { "description": "Enables/Disables colorful output. This option is only used when no custom console is provided.", "type": "boolean" }, "console": { "description": "Custom console used for logging." }, "debug": { "description": "Enable debug logging for specific loggers.", "anyOf": [{ "description": "Enable/Disable debug logging for all loggers.", "type": "boolean" }, { "$ref": "#/definitions/FilterTypes" }] }, "level": { "description": "Log level.", "enum": ["none", "error", "warn", "info", "log", "verbose"] }, "stream": { "description": "Stream used for logging output. Defaults to process.stderr. This option is only used when no custom console is provided." } } }, "Library": { "description": "Make the output files a library, exporting the exports of the entry point.", "anyOf": [{ "$ref": "#/definitions/LibraryName" }, { "$ref": "#/definitions/LibraryOptions" }] }, "LibraryCustomUmdCommentObject": { "description": "Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.", "type": "object", "additionalProperties": false, "properties": { "amd": { "description": "Set comment for `amd` section in UMD.", "type": "string" }, "commonjs": { "description": "Set comment for `commonjs` (exports) section in UMD.", "type": "string" }, "commonjs2": { "description": "Set comment for `commonjs2` (module.exports) section in UMD.", "type": "string" }, "root": { "description": "Set comment for `root` (global variable) section in UMD.", "type": "string" } } }, "LibraryCustomUmdObject": { "description": "Description object for all UMD variants of the library name.", "type": "object", "additionalProperties": false, "properties": { "amd": { "description": "Name of the exposed AMD library in the UMD.", "type": "string", "minLength": 1 }, "commonjs": { "description": "Name of the exposed commonjs export in the UMD.", "type": "string", "minLength": 1 }, "root": { "description": "Name of the property exposed globally by a UMD library.", "anyOf": [{ "type": "array", "items": { "description": "Part of the name of the property exposed globally by a UMD library.", "type": "string", "minLength": 1 } }, { "type": "string", "minLength": 1 }] } } }, "LibraryExport": { "description": "Specify which export should be exposed as library.", "anyOf": [{ "type": "array", "items": { "description": "Part of the export that should be exposed as library.", "type": "string", "minLength": 1 } }, { "type": "string", "minLength": 1 }] }, "LibraryName": { "description": "The name of the library (some types allow unnamed libraries too).", "anyOf": [{ "type": "array", "items": { "description": "A part of the library name.", "type": "string", "minLength": 1 }, "minItems": 1 }, { "type": "string", "minLength": 1 }, { "$ref": "#/definitions/LibraryCustomUmdObject" }] }, "LibraryOptions": { "description": "Options for library.", "type": "object", "additionalProperties": false, "properties": { "auxiliaryComment": { "$ref": "#/definitions/AuxiliaryComment" }, "export": { "$ref": "#/definitions/LibraryExport" }, "name": { "$ref": "#/definitions/LibraryName" }, "type": { "$ref": "#/definitions/LibraryType" }, "umdNamedDefine": { "$ref": "#/definitions/UmdNamedDefine" } }, "required": ["type"] }, "LibraryType": { "description": "Type of library (types included by default are 'var', 'module', 'assign', 'assign-properties', 'this', 'window', 'self', 'global', 'commonjs', 'commonjs2', 'commonjs-module', 'commonjs-static', 'amd', 'amd-require', 'umd', 'umd2', 'jsonp', 'system', but others might be added by plugins).", "anyOf": [{ "enum": ["var", "module", "assign", "assign-properties", "this", "window", "self", "global", "commonjs", "commonjs2", "commonjs-module", "commonjs-static", "amd", "amd-require", "umd", "umd2", "jsonp", "system"] }, { "type": "string" }] }, "Mode": { "description": "Enable production optimizations or development hints.", "enum": ["development", "production", "none"] }, "ignoreWarnings": { "description": "ignore warnings based on pattern", "type": "array", "items": { "anyOf": [{ "instanceof": "RegExp" }, { "instanceof": "Function" }] } }, "ModuleOptions": { "description": "Options affecting the normal modules (`NormalModuleFactory`).", "type": "object", "additionalProperties": false, "properties": { "defaultRules": { "description": "An array of rules applied by default for modules.", "oneOf": [{ "$ref": "#/definitions/RuleSetRules" }] }, "parser": { "$ref": "#/definitions/ParserOptionsByModuleType" }, "rules": { "description": "An array of rules applied for modules.", "oneOf": [{ "$ref": "#/definitions/RuleSetRules" }] } } }, "Name": { "description": "Name of the configuration. Used when loading multiple configurations.", "type": "string" }, "Node": { "description": "Include polyfills or mocks for various node stuff.", "anyOf": [{ "enum": [false] }, { "$ref": "#/definitions/NodeOptions" }] }, "NodeOptions": { "description": "Options object for node compatibility features.", "type": "object", "additionalProperties": false, "properties": { "__dirname": { "description": "Include a polyfill for the '__dirname' variable.", "enum": [false, true, "warn-mock", "mock", "eval-only"] }, "__filename": { "description": "Include a polyfill for the '__filename' variable.", "enum": [false, true, "warn-mock", "mock", "eval-only"] }, "global": { "description": "Include a polyfill for the 'global' variable.", "enum": [false, true, "warn"] } } }, "Optimization": { "description": "Enables/Disables integrated optimizations.", "type": "object", "additionalProperties": false, "properties": { "chunkIds": { "description": "Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).", "enum": ["named", "deterministic"] }, "minimize": { "description": "Enable minimizing the output. Uses optimization.minimizer.", "type": "boolean" }, "minimizer": { "description": "Minimizer(s) to use for minimizing the output.", "type": "array", "items": { "description": "Plugin of type object or instanceof Function.", "anyOf": [{ "enum": ["..."] }, { "$ref": "#/definitions/RspackPluginInstance" }, { "$ref": "#/definitions/RspackPluginFunction" }] } }, "moduleIds": { "description": "Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).", "enum": ["named", "deterministic"] }, "removeAvailableModules": { "description": "Removes modules from chunks when these modules are already included in all parents.", "type": "boolean" }, "removeEmptyChunks": { "description": "Remove chunks which are empty.", "type": "boolean" }, "runtimeChunk": { "$ref": "#/definitions/OptimizationRuntimeChunk" }, "sideEffects": { "description": "Skip over modules which contain no side effects when exports are not used (false: disabled, 'flag': only use manually placed side effects flag, true: also analyse source code for side effects).", "anyOf": [{ "enum": ["flag"] }, { "type": "boolean" }] }, "splitChunks": { "description": "Optimize duplication and caching by splitting chunks by shared modules and cache group.", "anyOf": [{ "enum": [false] }, { "$ref": "#/definitions/OptimizationSplitChunksOptions" }] }, "realContentHash": { "description": "Use real [contenthash] based on final content of the assets.", "type": "boolean" } } }, "OptimizationRuntimeChunk": { "description": "Create an additional chunk which contains only the rspack runtime and chunk hash maps.", "anyOf": [{ "enum": ["single", "multiple"] }, { "type": "boolean" }, { "type": "object", "additionalProperties": false, "properties": { "name": { "description": "The name or name factory for the runtime chunks.", "anyOf": [{ "type": "string" }, { "instanceof": "Function" }] } } }] }, "OptimizationSplitChunksCacheGroup": { "description": "Options object for describing behavior of a cache group selecting modules that should be cached together.", "type": "object", "additionalProperties": false, "properties": { "chunks": { "description": "Select chunks for determining cache group content (defaults to \"initial\", \"initial\" and \"all\" requires adding these chunks to the HTML).", "anyOf": [{ "enum": ["initial", "async", "all"] }, { "instanceof": "Function" }] }, "minChunks": { "description": "Minimum number of times a module has to be duplicated until it's considered for splitting.", "type": "number", "minimum": 1 }, "name": { "description": "Give chunks for this cache group a name (chunks with equal name are merged).", "anyOf": [{ "enum": [false] }, { "type": "string" }, { "instanceof": "Function" }] }, "priority": { "description": "Priority of this cache group.", "type": "number" }, "reuseExistingChunk": { "description": "Try to reuse existing chunk (with name) when it has matching modules.", "type": "boolean" }, "enforce": { "description": "ignore splitChunks.minSize, splitChunks.minChunks, splitChunks.maxAsyncRequests and splitChunks.maxInitialRequests options and always create chunks for this cache group.", "type": "boolean" }, "test": { "description": "Assign modules to a cache group by module name.", "anyOf": [{ "instanceof": "RegExp" }] }, "minSize": { "description": "Minimal size for the created chunks.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] } } }, "OptimizationSplitChunksOptions": { "description": "Options object for splitting chunks into smaller chunks.", "type": "object", "additionalProperties": false, "properties": { "name": { "description": "The name or name for chunks.", "anyOf": [{ "type": "string" }] }, "cacheGroups": { "description": "Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks, default categories: 'default', 'defaultVendors').", "type": "object", "additionalProperties": { "description": "Configuration for a cache group.", "anyOf": [{ "$ref": "#/definitions/OptimizationSplitChunksCacheGroup" }] } }, "chunks": { "description": "Select chunks for determining shared modules (defaults to \"async\", \"initial\" and \"all\" requires adding these chunks to the HTML).", "anyOf": [{ "enum": ["initial", "async", "all"] }] }, "enforceSizeThreshold": { "description": "Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] }, "maxAsyncRequests": { "description": "Maximum number of requests which are accepted for on-demand loading.", "type": "number", "minimum": 1 }, "maxInitialRequests": { "description": "Maximum number of initial chunks which are accepted for an entry point.", "type": "number", "minimum": 1 }, "minChunks": { "description": "Minimum number of times a module has to be duplicated until it's considered for splitting.", "type": "number", "minimum": 1 }, "minRemainingSize": { "description": "Minimal size for the chunks the stay after moving the modules to a new chunk.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] }, "minSize": { "description": "Minimal size for the created chunks.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] }, "reuseExistingChunk": { "description": "If the current chunk contains modules already split out from the main bundle, it will be reused instead of a new one being generated. This can affect the resulting file name of the chunk.", "type": "boolean" } } }, "OptimizationSplitChunksSizes": { "description": "Size description for limits.", "anyOf": [{ "description": "Size of the javascript part of the chunk.", "type": "number", "minimum": 0 }] }, "Iife": { "description": "Wrap javascript code into IIFE's to avoid leaking into global scope.", "type": "boolean" }, "Clean": { "description": "Clears the output build directory", "type": "boolean" }, "Output": { "description": "Options affecting the output of the compilation. `output` options tell rspack how to write the compiled files to disk.", "type": "object", "additionalProperties": false, "properties": { "iife": { "$ref": "#/definitions/Iife" }, "clean": { "$ref": "#/definitions/Clean" }, "assetModuleFilename": { "$ref": "#/definitions/AssetModuleFilename" }, "auxiliaryComment": { "oneOf": [{ "$ref": "#/definitions/AuxiliaryComment" }] }, "chunkFormat": { "$ref": "#/definitions/ChunkFormat" }, "chunkLoading": { "$ref": "#/definitions/ChunkLoading" }, "enabledChunkLoadingTypes": { "$ref": "#/definitions/EnabledChunkLoadingTypes" }, "chunkFilename": { "$ref": "#/definitions/ChunkFilename" }, "crossOriginLoading": { "$ref": "#/definitions/CrossOriginLoading" }, "cssChunkFilename": { "$ref": "#/definitions/CssChunkFilename" }, "cssFilename": { "$ref": "#/definitions/CssFilename" }, "enabledWasmLoadingTypes": { "$ref": "#/definitions/EnabledWasmLoadingTypes" }, "wasmLoading": { "$ref": "#/definitions/WasmLoading" }, "webassemblyModuleFilename": { "$ref": "#/definitions/WebassemblyModuleFilename" }, "enabledLibraryTypes": { "$ref": "#/definitions/EnabledLibraryTypes" }, "filename": { "$ref": "#/definitions/Filename" }, "globalObject": { "$ref": "#/definitions/GlobalObject" }, "importFunctionName": { "$ref": "#/definitions/ImportFunctionName" }, "library": { "$ref": "#/definitions/Library" }, "libraryExport": { "oneOf": [{ "$ref": "#/definitions/LibraryExport" }] }, "libraryTarget": { "oneOf": [{ "$ref": "#/definitions/LibraryType" }] }, "module": { "$ref": "#/definitions/OutputModule" }, "path": { "$ref": "#/definitions/Path" }, "publicPath": { "$ref": "#/definitions/PublicPath" }, "strictModuleErrorHandling": { "$ref": "#/definitions/StrictModuleErrorHandling" }, "umdNamedDefine": { "oneOf": [{ "$ref": "#/definitions/UmdNamedDefine" }] }, "uniqueName": { "$ref": "#/definitions/UniqueName" }, "chunkLoadingGlobal": { "$ref": "#/definitions/ChunkLoadingGlobal" }, "trustedTypes": { "description": "Use a Trusted Types policy to create urls for chunks. 'output.uniqueName' is used a default policy name. Passing a string sets a custom policy name.", "anyOf": [{ "enum": [true] }, { "description": "The name of the Trusted Types policy created by webpack to serve bundle chunks.", "type": "string", "minLength": 1 }, { "$ref": "#/definitions/TrustedTypes" }] }, "sourceMapFilename": { "$ref": "#/definitions/SourceMapFilename" } } }, "OutputModule": { "description": "Output javascript files as module source type.", "type": "boolean" }, "ParserOptionsByModuleType": { "description": "Specify options for each parser.", "type": "object", "additionalProperties": { "description": "Options for parsing.", "type": "object", "additionalProperties": true }, "properties": { "asset": { "$ref": "#/definitions/AssetParserOptions" } } }, "Path": { "description": "The output directory as **absolute path** (required).", "type": "string" }, "Plugins": { "description": "Add additional plugins to the compiler.", "type": "array", "items": { "description": "Plugin of type object or instanceof Function.", "anyOf": [{ "$ref": "#/definitions/RspackPluginInstance" }, { "$ref": "#/definitions/RspackPluginFunction" }] } }, "PublicPath": { "description": "The 'publicPath' specifies the public URL address of the output files when referenced in a browser.", "anyOf": [{ "enum": ["auto"] }, { "$ref": "#/definitions/RawPublicPath" }] }, "RawPublicPath": { "description": "The 'publicPath' specifies the public URL address of the output files when referenced in a browser.", "anyOf": [{ "type": "string" }] }, "Resolve": { "description": "Options for the resolver.", "oneOf": [{ "$ref": "#/definitions/ResolveOptions" }] }, "ResolveAlias": { "description": "Redirect module requests.", "anyOf": [{ "type": "object", "additionalProperties": { "description": "New request.", "anyOf": [{ "description": "Multiple alternative requests.", "type": "array", "items": { "description": "One choice of request.", "type": "string", "minLength": 1 } }, { "description": "Ignore request (replace with empty module).", "enum": [false] }, { "description": "New request.", "type": "string", "minLength": 1 }] } }] }, "ResolveOptions": { "description": "Options object for resolving requests.", "type": "object", "additionalProperties": false, "properties": { "alias": { "$ref": "#/definitions/ResolveAlias" }, "browserField": { "description": "Fields in the description file (usually package.json) which are used to redirect requests inside the module.", "type": "boolean" }, "conditionNames": { "description": "Condition names for exports field entry point.", "type": "array", "items": { "description": "Condition names for exports field entry point.", "type": "string" } }, "extensions": { "description": "Extensions added to the request when trying to find the file.", "type": "array", "items": { "description": "Extension added to the request when trying to find the file.", "type": "string" } }, "fallback": { "description": "Redirect module requests when normal resolving fails.", "oneOf": [{ "$ref": "#/definitions/ResolveAlias" }] }, "fullySpecified": { "description": "Treats the request specified by the user as fully specified, meaning no extensions are added and the mainFiles in directories are not resolved (This doesn't affect requests from mainFields, aliasFields or aliases).", "type": "boolean" }, "mainFields": { "description": "Field names from the description file (package.json) which are used to find the default entry point.", "type": "array", "items": { "description": "Field name from the description file (package.json) which are used to find the default entry point.", "anyOf": [{ "type": "array", "items": { "description": "Part of the field path from the description file (package.json) which are used to find the default entry point.", "type": "string", "minLength": 1 } }, { "type": "string", "minLength": 1 }] } }, "mainFiles": { "description": "Filenames used to find the default entry point if there is no description file or main field.", "type": "array", "items": { "description": "Filename used to find the default entry point if there is no description file or main field.", "type": "string", "minLength": 1 } }, "modules": { "description": "Folder names or directory paths where to find modules.", "type": "array", "items": { "description": "Folder name or directory path where to find modules.", "type": "string", "minLength": 1 } }, "preferRelative": { "description": "Prefer to resolve module requests as relative request and fallback to resolving as module.", "type": "boolean" }, "byDependency": { "description": "Extra resolve options per dependency category. Typical categories are \"commonjs\", \"amd\", \"esm\".", "type": "object", "additionalProperties": { "description": "Options object for resolving requests.", "oneOf": [{ "$ref": "#/definitions/ResolveOptions" }] } }, "tsConfigPath": { "description": "Path to tsconfig.json", "type": "string" } } }, "RuleSetCondition": { "description": "A condition matcher.", "anyOf": [{ "instanceof": "RegExp" }, { "type": "string" }, { "instanceof": "Function" }, { "$ref": "#/definitions/RuleSetLogicalConditions" }, { "$ref": "#/definitions/RuleSetConditions" }] }, "RuleSetConditionOrConditions": { "description": "One or multiple rule conditions.", "anyOf": [{ "$ref": "#/definitions/RuleSetCondition" }, { "$ref": "#/definitions/RuleSetConditions" }] }, "RuleSetConditions": { "description": "A list of rule conditions.", "type": "array", "items": { "description": "A rule condition.", "oneOf": [{ "$ref": "#/definitions/RuleSetCondition" }] } }, "RuleSetLoader": { "description": "A loader request.", "type": "string", "minLength": 1 }, "RuleSetLoaderOptions": { "description": "Options passed to a loader.", "anyOf": [{ "type": "string" }, { "type": "object" }] }, "RuleSetLogicalConditions": { "description": "Logic operators used in a condition matcher.", "type": "object", "additionalProperties": false, "properties": { "and": { "description": "Logical AND.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditions" }] }, "not": { "description": "Logical NOT.", "oneOf": [{ "$ref": "#/definitions/RuleSetCondition" }] }, "or": { "description": "Logical OR.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditions" }] } } }, "RuleSetRule": { "description": "A rule description with conditions and effects for modules.", "type": "object", "additionalProperties": false, "properties": { "enforce": { "description": "Enforce this rule as pre or post step.", "enum": ["pre", "post"] }, "exclude": { "description": "Shortcut for resource.exclude.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "generator": { "description": "The options for the module generator.", "type": "object" }, "include": { "description": "Shortcut for resource.include.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "issuer": { "description": "Match the issuer of the module (The module pointing to this module).", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "dependency": { "description": "Match dependency type.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "descriptionData": { "description": "Match values of properties in the description file (usually package.json).", "type": "object", "additionalProperties": { "$ref": "#/definitions/RuleSetConditionOrConditions" } }, "oneOf": { "description": "Only execute the first matching rule in this array.", "type": "array", "items": { "description": "A rule.", "oneOf": [{ "$ref": "#/definitions/RuleSetRule" }] } }, "parser": { "description": "Options for parsing.", "type": "object", "additionalProperties": true }, "resolve": { "description": "Options for the resolver.", "type": "object", "oneOf": [{ "$ref": "#/definitions/ResolveOptions" }] }, "resource": { "description": "Match the resource path of the module.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "resourceFragment": { "description": "Match the resource fragment of the module.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "resourceQuery": { "description": "Match the resource query of the module.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "rules": { "description": "Match and execute these rules when this rule is matched.", "type": "array", "items": { "description": "A rule.", "oneOf": [{ "$ref": "#/definitions/RuleSetRule" }] } }, "sideEffects": { "description": "Flags a module as with or without side effects.", "type": "boolean" }, "test": { "description": "Shortcut for resource.test.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "type": { "description": "Module type to use for the module.", "type": "string" }, "use": { "description": "Modifiers applied to the module when rule is matched.", "oneOf": [{ "$ref": "#/definitions/RuleSetUse" }] } } }, "RuleSetRules": { "description": "A list of rules.", "type": "array", "items": { "description": "A rule.", "anyOf": [{ "enum": ["..."] }, { "$ref": "#/definitions/RuleSetRule" }] } }, "RuleSetUse": { "description": "A list of descriptions of loaders applied.", "anyOf": [{ "type": "array", "items": { "description": "An use item.", "oneOf": [{ "$ref": "#/definitions/RuleSetUseItem" }] } }, { "$ref": "#/definitions/RuleSetUseItem" }] }, "RuleSetUseItem": { "description": "A description of an applied loader.", "anyOf": [{ "type": "object", "additionalProperties": false, "properties": { "loader": { "description": "Loader name.", "oneOf": [{ "$ref": "#/definitions/RuleSetLoader" }] }, "options": { "description": "Loader options.", "oneOf": [{ "$ref": "#/definitions/RuleSetLoaderOptions" }] } } }, { "$ref": "#/definitions/RuleSetLoader" }] }, "SnapshotOptions": { "description": "Options affecting how file system snapshots are created and validated.", "type": "object", "additionalProperties": false, "properties": { "module": { "description": "Options for snapshotting dependencies of modules to determine if they need to be built again.", "type": "object", "additionalProperties": false, "properties": { "hash": { "description": "Use hashes of the content of the files/directories to determine invalidation.", "type": "boolean" }, "timestamp": { "description": "Use timestamps of the files/directories to determine invalidation.", "type": "boolean" } } }, "resolve": { "description": "Options for snapshotting dependencies of request resolving to determine if requests need to be re-resolved.", "type": "object", "additionalProperties": false, "properties": { "hash": { "description": "Use hashes of the content of the files/directories to determine invalidation.", "type": "boolean" }, "timestamp": { "description": "Use timestamps of the files/directories to determine invalidation.", "type": "boolean" } } } } }, "StatsOptions": { "description": "Stats options object.", "type": "object", "additionalProperties": true, "properties": { "all": { "description": "Fallback value for stats options when an option is not defined (has precedence over local rspack defaults).", "type": "boolean" }, "assets": { "description": "Add assets information.", "type": "boolean" }, "chunkGroups": { "description": "Display all chunk groups with the corresponding bundles.", "type": "boolean" }, "chunks": { "description": "Add chunk information.", "type": "boolean" }, "colors": { "description": "Enables/Disables colorful output.", "type": "boolean" }, "entrypoints": { "description": "Display the entry points with the corresponding bundles.", "anyOf": [{ "enum": ["auto"] }, { "type": "boolean" }] }, "errors": { "description": "Add errors.", "type": "boolean" }, "errorsCount": { "description": "Add errors count.", "type": "boolean" }, "hash": { "description": "Add the hash of the compilation.", "type": "boolean" }, "modules": { "description": "Add built modules information.", "type": "boolean" }, "preset": { "description": "Preset for the default values.", "anyOf": [{ "type": "boolean" }, { "type": "string" }] }, "publicPath": { "description": "Add public path information.", "type": "boolean" }, "reasons": { "description": "Add information about the reasons why modules are included.", "type": "boolean" }, "warnings": { "description": "Add warnings.", "type": "boolean" }, "warningsCount": { "description": "Add warnings count.", "type": "boolean" }, "outputPath": { "description": "Add output path information.", "type": "boolean" }, "chunkModules": { "description": "Add built modules information to chunk information.", "type": "boolean" }, "chunkRelations": { "description": "Add information about parent, children and sibling chunks to chunk information.", "type": "boolean" }, "timings": { "description": "Add timing information.", "type": "boolean" }, "builtAt": { "description": "Add built at time information.", "type": "boolean" }, "nestedModules": { "description": "Add information about modules nested in other modules (like with module concatenation).", "type": "boolean" } } }, "StatsValue": { "description": "Stats options object or preset name.", "anyOf": [{ "enum": ["none", "errors-only", "errors-warnings", "normal", "verbose"] }, { "type": "boolean" }, { "$ref": "#/definitions/StatsOptions" }] }, "StrictModuleErrorHandling": { "description": "Handles error in module loading correctly at a performance cost. This will handle module error compatible with the EcmaScript Modules spec.", "type": "boolean" }, "Target": { "description": "Environment to build for. An array of environments to build for all of them when possible.", "anyOf": [{ "type": "array", "items": { "description": "Environment to build for.", "type": "string", "minLength": 1 }, "minItems": 1 }, { "enum": [false] }, { "type": "string", "minLength": 1 }] }, "TrustedTypes": { "description": "Use a Trusted Types policy to create urls for chunks.", "type": "object", "additionalProperties": false, "properties": { "policyName": { "description": "The name of the Trusted Types policy created by webpack to serve bundle chunks.", "type": "string", "minLength": 1 } } }, "UmdNamedDefine": { "description": "If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.", "type": "boolean" }, "UniqueName": { "description": "A unique name of the rspack build to avoid multiple rspack runtimes to conflict when using globals.", "type": "string", "minLength": 1 }, "ChunkLoadingGlobal": { "description": "The global variable used by rspack for loading of chunks.", "type": "string", "minLength": 1 }, "Watch": { "description": "Enter watch mode, which rebuilds on file change.", "type": "boolean" }, "WatchOptions": { "description": "Options for the watcher.", "type": "object", "additionalProperties": false, "properties": { "aggregateTimeout": { "description": "Delay the rebuilt after the first change. Value is a time in ms.", "type": "number" }, "followSymlinks": { "description": "Resolve symlinks and watch symlink and real file. This is usually not needed as rspack already resolves symlinks ('resolve.symlinks').", "type": "boolean" }, "ignored": { "description": "Ignore some files from watching (glob pattern or regexp).", "anyOf": [{ "type": "array", "items": { "description": "A glob pattern for files that should be ignored from watching.", "type": "string", "minLength": 1 } }, { "instanceof": "RegExp" }, { "description": "A single glob pattern for files that should be ignored from watching.", "type": "string", "minLength": 1 }] }, "poll": { "description": "Enable polling mode for watching.", "anyOf": [{ "description": "`number`: use polling with specified interval.", "type": "number" }, { "description": "`true`: use polling.", "type": "boolean" }] }, "stdin": { "description": "Stop watching when stdin stream has ended.", "type": "boolean" } } }, "RspackPluginFunction": { "description": "Function acting as plugin.", "instanceof": "Function" }, "RspackPluginInstance": { "description": "Plugin instance.", "type": "object", "additionalProperties": true, "properties": { "apply": { "description": "The run point of the plugin, required method.", "instanceof": "Function" } }, "required": ["apply"] } }, "title": "RspackOptions", "description": "Options object as provided by the user.", "type": "object", "additionalProperties": false, "properties": { "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" }, "externalsType": { "$ref": "#/definitions/ExternalsType" }, "externalsPresets": { "$ref": "#/definitions/ExternalsPresets" }, "infrastructureLogging": { "$ref": "#/definitions/InfrastructureLogging" }, "mode": { "$ref": "#/definitions/Mode" }, "module": { "$ref": "#/definitions/ModuleOptions" }, "name": { "$ref": "#/definitions/Name" }, "node": { "$ref": "#/definitions/Node" }, "optimization": { "$ref": "#/definitions/Optimization" }, "output": { "$ref": "#/definitions/Output" }, "plugins": { "$ref": "#/definitions/Plugins" }, "resolve": { "$ref": "#/definitions/Resolve" }, "snapshot": { "$ref": "#/definitions/SnapshotOptions" }, "stats": { "$ref": "#/definitions/StatsValue" }, "target": { "$ref": "#/definitions/Target" }, "watch": { "$ref": "#/definitions/Watch" }, "watchOptions": { "$ref": "#/definitions/WatchOptions" }, "builtins": { "description": "Builtins features in rspack", "type": "object", "additionalProperties": true }, "ignoreWarnings": { "$ref": "#/definitions/ignoreWarnings" } } };
6
6
  const schema12 = { "description": "Cache generated modules and chunks to improve performance for multiple incremental builds.", "type": "boolean" };
7
7
  const schema13 = { "description": "The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.", "type": "string" };
8
8
  const schema14 = { "description": "References to other configurations to depend on.", "type": "array", "items": { "description": "References to another configuration to depend on.", "type": "string" } };
@@ -797,7 +797,7 @@ else {
797
797
  } validate11.errors = vErrors; return errors === 0; }
798
798
  const schema29 = { "description": "Specify dependencies that shouldn't be resolved by rspack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.", "anyOf": [{ "type": "array", "items": { "$ref": "#/definitions/ExternalItem" } }, { "$ref": "#/definitions/ExternalItem" }] };
799
799
  const schema30 = { "description": "Specify dependency that shouldn't be resolved by rspack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.", "anyOf": [{ "description": "Every matched dependency becomes external.", "instanceof": "RegExp" }, { "description": "An exact matched dependency becomes external. The same string is used as external dependency.", "type": "string" }, { "description": "If an dependency matches exactly a property of the object, the property value is used as dependency.", "type": "object", "additionalProperties": { "$ref": "#/definitions/ExternalItemValue" } }, { "description": "The function is called on each dependency (`function(context, request, callback(err, result))`).", "instanceof": "Function" }] };
800
- const schema31 = { "description": "The dependency used for the external.", "anyOf": [{ "description": "The target of the external.", "type": "string" }, { "description": "`true`: The dependency name is used as target of the external.", "type": "boolean" }] };
800
+ const schema31 = { "description": "The dependency used for the external.", "anyOf": [{ "type": "array", "items": { "description": "A part of the target of the external.", "type": "string", "minLength": 1 } }, { "description": "The target of the external.", "type": "string" }, { "description": "`true`: The dependency name is used as target of the external.", "type": "boolean" }] };
801
801
  function validate24(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; const _errs0 = errors; let valid0 = false; const _errs1 = errors; if (!(data instanceof RegExp)) {
802
802
  const err0 = { instancePath, schemaPath: "#/anyOf/0/instanceof", keyword: "instanceof", params: {}, message: "must pass \"instanceof\" keyword validation" };
803
803
  if (vErrors === null) {
@@ -831,40 +831,93 @@ function validate24(data, { instancePath = "", parentData, parentDataProperty, r
831
831
  const _errs9 = errors;
832
832
  let valid3 = false;
833
833
  const _errs10 = errors;
834
- if (typeof data0 !== "string") {
835
- const err2 = { instancePath: instancePath + "/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/definitions/ExternalItemValue/anyOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
836
- if (vErrors === null) {
837
- vErrors = [err2];
834
+ if (errors === _errs10) {
835
+ if (Array.isArray(data0)) {
836
+ var valid4 = true;
837
+ const len0 = data0.length;
838
+ for (let i0 = 0; i0 < len0; i0++) {
839
+ let data1 = data0[i0];
840
+ const _errs12 = errors;
841
+ if (errors === _errs12) {
842
+ if (typeof data1 === "string") {
843
+ if (data1.length < 1) {
844
+ const err2 = { instancePath: instancePath + "/" + key0.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i0, schemaPath: "#/definitions/ExternalItemValue/anyOf/0/items/minLength", keyword: "minLength", params: {}, message: "must pass \"minLength\" keyword validation" };
845
+ if (vErrors === null) {
846
+ vErrors = [err2];
847
+ }
848
+ else {
849
+ vErrors.push(err2);
850
+ }
851
+ errors++;
852
+ }
853
+ }
854
+ else {
855
+ const err3 = { instancePath: instancePath + "/" + key0.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i0, schemaPath: "#/definitions/ExternalItemValue/anyOf/0/items/type", keyword: "type", params: { type: "string" }, message: "must be string" };
856
+ if (vErrors === null) {
857
+ vErrors = [err3];
858
+ }
859
+ else {
860
+ vErrors.push(err3);
861
+ }
862
+ errors++;
863
+ }
864
+ }
865
+ var valid4 = _errs12 === errors;
866
+ if (!valid4) {
867
+ break;
868
+ }
869
+ }
838
870
  }
839
871
  else {
840
- vErrors.push(err2);
872
+ const err4 = { instancePath: instancePath + "/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/definitions/ExternalItemValue/anyOf/0/type", keyword: "type", params: { type: "array" }, message: "must be array" };
873
+ if (vErrors === null) {
874
+ vErrors = [err4];
875
+ }
876
+ else {
877
+ vErrors.push(err4);
878
+ }
879
+ errors++;
841
880
  }
842
- errors++;
843
881
  }
844
882
  var _valid1 = _errs10 === errors;
845
883
  valid3 = valid3 || _valid1;
846
884
  if (!valid3) {
847
- const _errs12 = errors;
848
- if (typeof data0 !== "boolean") {
849
- const err3 = { instancePath: instancePath + "/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/definitions/ExternalItemValue/anyOf/1/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
885
+ const _errs14 = errors;
886
+ if (typeof data0 !== "string") {
887
+ const err5 = { instancePath: instancePath + "/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/definitions/ExternalItemValue/anyOf/1/type", keyword: "type", params: { type: "string" }, message: "must be string" };
850
888
  if (vErrors === null) {
851
- vErrors = [err3];
889
+ vErrors = [err5];
852
890
  }
853
891
  else {
854
- vErrors.push(err3);
892
+ vErrors.push(err5);
855
893
  }
856
894
  errors++;
857
895
  }
858
- var _valid1 = _errs12 === errors;
896
+ var _valid1 = _errs14 === errors;
859
897
  valid3 = valid3 || _valid1;
898
+ if (!valid3) {
899
+ const _errs16 = errors;
900
+ if (typeof data0 !== "boolean") {
901
+ const err6 = { instancePath: instancePath + "/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/definitions/ExternalItemValue/anyOf/2/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
902
+ if (vErrors === null) {
903
+ vErrors = [err6];
904
+ }
905
+ else {
906
+ vErrors.push(err6);
907
+ }
908
+ errors++;
909
+ }
910
+ var _valid1 = _errs16 === errors;
911
+ valid3 = valid3 || _valid1;
912
+ }
860
913
  }
861
914
  if (!valid3) {
862
- const err4 = { instancePath: instancePath + "/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/definitions/ExternalItemValue/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
915
+ const err7 = { instancePath: instancePath + "/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/definitions/ExternalItemValue/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
863
916
  if (vErrors === null) {
864
- vErrors = [err4];
917
+ vErrors = [err7];
865
918
  }
866
919
  else {
867
- vErrors.push(err4);
920
+ vErrors.push(err7);
868
921
  }
869
922
  errors++;
870
923
  }
@@ -886,12 +939,12 @@ function validate24(data, { instancePath = "", parentData, parentDataProperty, r
886
939
  }
887
940
  }
888
941
  else {
889
- const err5 = { instancePath, schemaPath: "#/anyOf/2/type", keyword: "type", params: { type: "object" }, message: "must be object" };
942
+ const err8 = { instancePath, schemaPath: "#/anyOf/2/type", keyword: "type", params: { type: "object" }, message: "must be object" };
890
943
  if (vErrors === null) {
891
- vErrors = [err5];
944
+ vErrors = [err8];
892
945
  }
893
946
  else {
894
- vErrors.push(err5);
947
+ vErrors.push(err8);
895
948
  }
896
949
  errors++;
897
950
  }
@@ -899,28 +952,28 @@ function validate24(data, { instancePath = "", parentData, parentDataProperty, r
899
952
  var _valid0 = _errs4 === errors;
900
953
  valid0 = valid0 || _valid0;
901
954
  if (!valid0) {
902
- const _errs14 = errors;
955
+ const _errs18 = errors;
903
956
  if (!(data instanceof Function)) {
904
- const err6 = { instancePath, schemaPath: "#/anyOf/3/instanceof", keyword: "instanceof", params: {}, message: "must pass \"instanceof\" keyword validation" };
957
+ const err9 = { instancePath, schemaPath: "#/anyOf/3/instanceof", keyword: "instanceof", params: {}, message: "must pass \"instanceof\" keyword validation" };
905
958
  if (vErrors === null) {
906
- vErrors = [err6];
959
+ vErrors = [err9];
907
960
  }
908
961
  else {
909
- vErrors.push(err6);
962
+ vErrors.push(err9);
910
963
  }
911
964
  errors++;
912
965
  }
913
- var _valid0 = _errs14 === errors;
966
+ var _valid0 = _errs18 === errors;
914
967
  valid0 = valid0 || _valid0;
915
968
  }
916
969
  }
917
970
  } if (!valid0) {
918
- const err7 = { instancePath, schemaPath: "#/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
971
+ const err10 = { instancePath, schemaPath: "#/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
919
972
  if (vErrors === null) {
920
- vErrors = [err7];
973
+ vErrors = [err10];
921
974
  }
922
975
  else {
923
- vErrors.push(err7);
976
+ vErrors.push(err10);
924
977
  }
925
978
  errors++;
926
979
  validate24.errors = vErrors;
@@ -3904,18 +3957,18 @@ else {
3904
3957
  }
3905
3958
  }
3906
3959
  } validate69.errors = vErrors; return errors === 0; }
3907
- const schema60 = { "description": "Enables/Disables integrated optimizations.", "type": "object", "additionalProperties": false, "properties": { "chunkIds": { "description": "Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).", "enum": ["named", "deterministic"] }, "minimize": { "description": "Enable minimizing the output. Uses optimization.minimizer.", "type": "boolean" }, "minimizer": { "description": "Minimizer(s) to use for minimizing the output.", "type": "array", "items": { "description": "Plugin of type object or instanceof Function.", "anyOf": [{ "enum": ["..."] }, { "$ref": "#/definitions/RspackPluginInstance" }, { "$ref": "#/definitions/RspackPluginFunction" }] } }, "moduleIds": { "description": "Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).", "enum": ["named", "deterministic"] }, "removeAvailableModules": { "description": "Removes modules from chunks when these modules are already included in all parents.", "type": "boolean" }, "runtimeChunk": { "$ref": "#/definitions/OptimizationRuntimeChunk" }, "sideEffects": { "description": "Skip over modules which contain no side effects when exports are not used (false: disabled, 'flag': only use manually placed side effects flag, true: also analyse source code for side effects).", "anyOf": [{ "enum": ["flag"] }, { "type": "boolean" }] }, "splitChunks": { "description": "Optimize duplication and caching by splitting chunks by shared modules and cache group.", "anyOf": [{ "enum": [false] }, { "$ref": "#/definitions/OptimizationSplitChunksOptions" }] }, "realContentHash": { "description": "Use real [contenthash] based on final content of the assets.", "type": "boolean" } } };
3960
+ const schema60 = { "description": "Enables/Disables integrated optimizations.", "type": "object", "additionalProperties": false, "properties": { "chunkIds": { "description": "Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).", "enum": ["named", "deterministic"] }, "minimize": { "description": "Enable minimizing the output. Uses optimization.minimizer.", "type": "boolean" }, "minimizer": { "description": "Minimizer(s) to use for minimizing the output.", "type": "array", "items": { "description": "Plugin of type object or instanceof Function.", "anyOf": [{ "enum": ["..."] }, { "$ref": "#/definitions/RspackPluginInstance" }, { "$ref": "#/definitions/RspackPluginFunction" }] } }, "moduleIds": { "description": "Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).", "enum": ["named", "deterministic"] }, "removeAvailableModules": { "description": "Removes modules from chunks when these modules are already included in all parents.", "type": "boolean" }, "removeEmptyChunks": { "description": "Remove chunks which are empty.", "type": "boolean" }, "runtimeChunk": { "$ref": "#/definitions/OptimizationRuntimeChunk" }, "sideEffects": { "description": "Skip over modules which contain no side effects when exports are not used (false: disabled, 'flag': only use manually placed side effects flag, true: also analyse source code for side effects).", "anyOf": [{ "enum": ["flag"] }, { "type": "boolean" }] }, "splitChunks": { "description": "Optimize duplication and caching by splitting chunks by shared modules and cache group.", "anyOf": [{ "enum": [false] }, { "$ref": "#/definitions/OptimizationSplitChunksOptions" }] }, "realContentHash": { "description": "Use real [contenthash] based on final content of the assets.", "type": "boolean" } } };
3908
3961
  const schema61 = { "description": "Plugin instance.", "type": "object", "additionalProperties": true, "properties": { "apply": { "description": "The run point of the plugin, required method.", "instanceof": "Function" } }, "required": ["apply"] };
3909
3962
  const schema62 = { "description": "Function acting as plugin.", "instanceof": "Function" };
3910
3963
  const schema63 = { "description": "Create an additional chunk which contains only the rspack runtime and chunk hash maps.", "anyOf": [{ "enum": ["single", "multiple"] }, { "type": "boolean" }, { "type": "object", "additionalProperties": false, "properties": { "name": { "description": "The name or name factory for the runtime chunks.", "anyOf": [{ "type": "string" }, { "instanceof": "Function" }] } } }] };
3911
3964
  const schema64 = { "description": "Options object for splitting chunks into smaller chunks.", "type": "object", "additionalProperties": false, "properties": { "name": { "description": "The name or name for chunks.", "anyOf": [{ "type": "string" }] }, "cacheGroups": { "description": "Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks, default categories: 'default', 'defaultVendors').", "type": "object", "additionalProperties": { "description": "Configuration for a cache group.", "anyOf": [{ "$ref": "#/definitions/OptimizationSplitChunksCacheGroup" }] } }, "chunks": { "description": "Select chunks for determining shared modules (defaults to \"async\", \"initial\" and \"all\" requires adding these chunks to the HTML).", "anyOf": [{ "enum": ["initial", "async", "all"] }] }, "enforceSizeThreshold": { "description": "Size threshold at which splitting is enforced and other restrictions (minRemainingSize, maxAsyncRequests, maxInitialRequests) are ignored.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] }, "maxAsyncRequests": { "description": "Maximum number of requests which are accepted for on-demand loading.", "type": "number", "minimum": 1 }, "maxInitialRequests": { "description": "Maximum number of initial chunks which are accepted for an entry point.", "type": "number", "minimum": 1 }, "minChunks": { "description": "Minimum number of times a module has to be duplicated until it's considered for splitting.", "type": "number", "minimum": 1 }, "minRemainingSize": { "description": "Minimal size for the chunks the stay after moving the modules to a new chunk.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] }, "minSize": { "description": "Minimal size for the created chunks.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] }, "reuseExistingChunk": { "description": "If the current chunk contains modules already split out from the main bundle, it will be reused instead of a new one being generated. This can affect the resulting file name of the chunk.", "type": "boolean" } } };
3912
3965
  const schema66 = { "description": "Size description for limits.", "anyOf": [{ "description": "Size of the javascript part of the chunk.", "type": "number", "minimum": 0 }] };
3913
- const schema65 = { "description": "Options object for describing behavior of a cache group selecting modules that should be cached together.", "type": "object", "additionalProperties": false, "properties": { "chunks": { "description": "Select chunks for determining cache group content (defaults to \"initial\", \"initial\" and \"all\" requires adding these chunks to the HTML).", "anyOf": [{ "enum": ["initial", "async", "all"] }, { "instanceof": "Function" }] }, "minChunks": { "description": "Minimum number of times a module has to be duplicated until it's considered for splitting.", "type": "number", "minimum": 1 }, "name": { "description": "Give chunks for this cache group a name (chunks with equal name are merged).", "anyOf": [{ "enum": [false] }, { "type": "string" }, { "instanceof": "Function" }] }, "priority": { "description": "Priority of this cache group.", "type": "number" }, "reuseExistingChunk": { "description": "Try to reuse existing chunk (with name) when it has matching modules.", "type": "boolean" }, "test": { "description": "Assign modules to a cache group by module name.", "anyOf": [{ "instanceof": "RegExp" }] }, "minSize": { "description": "Minimal size for the created chunks.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] } } };
3966
+ const schema65 = { "description": "Options object for describing behavior of a cache group selecting modules that should be cached together.", "type": "object", "additionalProperties": false, "properties": { "chunks": { "description": "Select chunks for determining cache group content (defaults to \"initial\", \"initial\" and \"all\" requires adding these chunks to the HTML).", "anyOf": [{ "enum": ["initial", "async", "all"] }, { "instanceof": "Function" }] }, "minChunks": { "description": "Minimum number of times a module has to be duplicated until it's considered for splitting.", "type": "number", "minimum": 1 }, "name": { "description": "Give chunks for this cache group a name (chunks with equal name are merged).", "anyOf": [{ "enum": [false] }, { "type": "string" }, { "instanceof": "Function" }] }, "priority": { "description": "Priority of this cache group.", "type": "number" }, "reuseExistingChunk": { "description": "Try to reuse existing chunk (with name) when it has matching modules.", "type": "boolean" }, "enforce": { "description": "ignore splitChunks.minSize, splitChunks.minChunks, splitChunks.maxAsyncRequests and splitChunks.maxInitialRequests options and always create chunks for this cache group.", "type": "boolean" }, "test": { "description": "Assign modules to a cache group by module name.", "anyOf": [{ "instanceof": "RegExp" }] }, "minSize": { "description": "Minimal size for the created chunks.", "oneOf": [{ "$ref": "#/definitions/OptimizationSplitChunksSizes" }] } } };
3914
3967
  function validate73(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (errors === 0) {
3915
3968
  if (data && typeof data == "object" && !Array.isArray(data)) {
3916
3969
  const _errs1 = errors;
3917
3970
  for (const key0 in data) {
3918
- if (!(((((((key0 === "chunks") || (key0 === "minChunks")) || (key0 === "name")) || (key0 === "priority")) || (key0 === "reuseExistingChunk")) || (key0 === "test")) || (key0 === "minSize"))) {
3971
+ if (!((((((((key0 === "chunks") || (key0 === "minChunks")) || (key0 === "name")) || (key0 === "priority")) || (key0 === "reuseExistingChunk")) || (key0 === "enforce")) || (key0 === "test")) || (key0 === "minSize"))) {
3919
3972
  validate73.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
3920
3973
  return false;
3921
3974
  break;
@@ -4106,141 +4159,154 @@ function validate73(data, { instancePath = "", parentData, parentDataProperty, r
4106
4159
  var valid0 = true;
4107
4160
  }
4108
4161
  if (valid0) {
4109
- if (data.test !== undefined) {
4162
+ if (data.enforce !== undefined) {
4110
4163
  const _errs18 = errors;
4111
- const _errs19 = errors;
4112
- let valid3 = false;
4113
- const _errs20 = errors;
4114
- if (!(data.test instanceof RegExp)) {
4115
- const err7 = { instancePath: instancePath + "/test", schemaPath: "#/properties/test/anyOf/0/instanceof", keyword: "instanceof", params: {}, message: "must pass \"instanceof\" keyword validation" };
4116
- if (vErrors === null) {
4117
- vErrors = [err7];
4118
- }
4119
- else {
4120
- vErrors.push(err7);
4121
- }
4122
- errors++;
4123
- }
4124
- var _valid2 = _errs20 === errors;
4125
- valid3 = valid3 || _valid2;
4126
- if (!valid3) {
4127
- const err8 = { instancePath: instancePath + "/test", schemaPath: "#/properties/test/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
4128
- if (vErrors === null) {
4129
- vErrors = [err8];
4130
- }
4131
- else {
4132
- vErrors.push(err8);
4133
- }
4134
- errors++;
4135
- validate73.errors = vErrors;
4164
+ if (typeof data.enforce !== "boolean") {
4165
+ validate73.errors = [{ instancePath: instancePath + "/enforce", schemaPath: "#/properties/enforce/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
4136
4166
  return false;
4137
4167
  }
4138
- else {
4139
- errors = _errs19;
4140
- if (vErrors !== null) {
4141
- if (_errs19) {
4142
- vErrors.length = _errs19;
4143
- }
4144
- else {
4145
- vErrors = null;
4146
- }
4147
- }
4148
- }
4149
4168
  var valid0 = _errs18 === errors;
4150
4169
  }
4151
4170
  else {
4152
4171
  var valid0 = true;
4153
4172
  }
4154
4173
  if (valid0) {
4155
- if (data.minSize !== undefined) {
4156
- let data6 = data.minSize;
4174
+ if (data.test !== undefined) {
4175
+ const _errs20 = errors;
4157
4176
  const _errs21 = errors;
4177
+ let valid3 = false;
4158
4178
  const _errs22 = errors;
4159
- let valid4 = false;
4160
- let passing0 = null;
4161
- const _errs23 = errors;
4162
- const _errs25 = errors;
4163
- let valid6 = false;
4164
- const _errs26 = errors;
4165
- if (errors === _errs26) {
4166
- if (typeof data6 == "number") {
4167
- if (data6 < 0 || isNaN(data6)) {
4168
- const err9 = { instancePath: instancePath + "/minSize", schemaPath: "#/definitions/OptimizationSplitChunksSizes/anyOf/0/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
4169
- if (vErrors === null) {
4170
- vErrors = [err9];
4171
- }
4172
- else {
4173
- vErrors.push(err9);
4174
- }
4175
- errors++;
4176
- }
4179
+ if (!(data.test instanceof RegExp)) {
4180
+ const err7 = { instancePath: instancePath + "/test", schemaPath: "#/properties/test/anyOf/0/instanceof", keyword: "instanceof", params: {}, message: "must pass \"instanceof\" keyword validation" };
4181
+ if (vErrors === null) {
4182
+ vErrors = [err7];
4177
4183
  }
4178
4184
  else {
4179
- const err10 = { instancePath: instancePath + "/minSize", schemaPath: "#/definitions/OptimizationSplitChunksSizes/anyOf/0/type", keyword: "type", params: { type: "number" }, message: "must be number" };
4180
- if (vErrors === null) {
4181
- vErrors = [err10];
4182
- }
4183
- else {
4184
- vErrors.push(err10);
4185
- }
4186
- errors++;
4185
+ vErrors.push(err7);
4187
4186
  }
4187
+ errors++;
4188
4188
  }
4189
- var _valid4 = _errs26 === errors;
4190
- valid6 = valid6 || _valid4;
4191
- if (!valid6) {
4192
- const err11 = { instancePath: instancePath + "/minSize", schemaPath: "#/definitions/OptimizationSplitChunksSizes/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
4189
+ var _valid2 = _errs22 === errors;
4190
+ valid3 = valid3 || _valid2;
4191
+ if (!valid3) {
4192
+ const err8 = { instancePath: instancePath + "/test", schemaPath: "#/properties/test/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
4193
4193
  if (vErrors === null) {
4194
- vErrors = [err11];
4194
+ vErrors = [err8];
4195
4195
  }
4196
4196
  else {
4197
- vErrors.push(err11);
4197
+ vErrors.push(err8);
4198
4198
  }
4199
4199
  errors++;
4200
+ validate73.errors = vErrors;
4201
+ return false;
4200
4202
  }
4201
4203
  else {
4202
- errors = _errs25;
4204
+ errors = _errs21;
4203
4205
  if (vErrors !== null) {
4204
- if (_errs25) {
4205
- vErrors.length = _errs25;
4206
+ if (_errs21) {
4207
+ vErrors.length = _errs21;
4206
4208
  }
4207
4209
  else {
4208
4210
  vErrors = null;
4209
4211
  }
4210
4212
  }
4211
4213
  }
4212
- var _valid3 = _errs23 === errors;
4213
- if (_valid3) {
4214
- valid4 = true;
4215
- passing0 = 0;
4216
- }
4217
- if (!valid4) {
4218
- const err12 = { instancePath: instancePath + "/minSize", schemaPath: "#/properties/minSize/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" };
4219
- if (vErrors === null) {
4220
- vErrors = [err12];
4214
+ var valid0 = _errs20 === errors;
4215
+ }
4216
+ else {
4217
+ var valid0 = true;
4218
+ }
4219
+ if (valid0) {
4220
+ if (data.minSize !== undefined) {
4221
+ let data7 = data.minSize;
4222
+ const _errs23 = errors;
4223
+ const _errs24 = errors;
4224
+ let valid4 = false;
4225
+ let passing0 = null;
4226
+ const _errs25 = errors;
4227
+ const _errs27 = errors;
4228
+ let valid6 = false;
4229
+ const _errs28 = errors;
4230
+ if (errors === _errs28) {
4231
+ if (typeof data7 == "number") {
4232
+ if (data7 < 0 || isNaN(data7)) {
4233
+ const err9 = { instancePath: instancePath + "/minSize", schemaPath: "#/definitions/OptimizationSplitChunksSizes/anyOf/0/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
4234
+ if (vErrors === null) {
4235
+ vErrors = [err9];
4236
+ }
4237
+ else {
4238
+ vErrors.push(err9);
4239
+ }
4240
+ errors++;
4241
+ }
4242
+ }
4243
+ else {
4244
+ const err10 = { instancePath: instancePath + "/minSize", schemaPath: "#/definitions/OptimizationSplitChunksSizes/anyOf/0/type", keyword: "type", params: { type: "number" }, message: "must be number" };
4245
+ if (vErrors === null) {
4246
+ vErrors = [err10];
4247
+ }
4248
+ else {
4249
+ vErrors.push(err10);
4250
+ }
4251
+ errors++;
4252
+ }
4253
+ }
4254
+ var _valid4 = _errs28 === errors;
4255
+ valid6 = valid6 || _valid4;
4256
+ if (!valid6) {
4257
+ const err11 = { instancePath: instancePath + "/minSize", schemaPath: "#/definitions/OptimizationSplitChunksSizes/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
4258
+ if (vErrors === null) {
4259
+ vErrors = [err11];
4260
+ }
4261
+ else {
4262
+ vErrors.push(err11);
4263
+ }
4264
+ errors++;
4221
4265
  }
4222
4266
  else {
4223
- vErrors.push(err12);
4267
+ errors = _errs27;
4268
+ if (vErrors !== null) {
4269
+ if (_errs27) {
4270
+ vErrors.length = _errs27;
4271
+ }
4272
+ else {
4273
+ vErrors = null;
4274
+ }
4275
+ }
4224
4276
  }
4225
- errors++;
4226
- validate73.errors = vErrors;
4227
- return false;
4228
- }
4229
- else {
4230
- errors = _errs22;
4231
- if (vErrors !== null) {
4232
- if (_errs22) {
4233
- vErrors.length = _errs22;
4277
+ var _valid3 = _errs25 === errors;
4278
+ if (_valid3) {
4279
+ valid4 = true;
4280
+ passing0 = 0;
4281
+ }
4282
+ if (!valid4) {
4283
+ const err12 = { instancePath: instancePath + "/minSize", schemaPath: "#/properties/minSize/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" };
4284
+ if (vErrors === null) {
4285
+ vErrors = [err12];
4234
4286
  }
4235
4287
  else {
4236
- vErrors = null;
4288
+ vErrors.push(err12);
4289
+ }
4290
+ errors++;
4291
+ validate73.errors = vErrors;
4292
+ return false;
4293
+ }
4294
+ else {
4295
+ errors = _errs24;
4296
+ if (vErrors !== null) {
4297
+ if (_errs24) {
4298
+ vErrors.length = _errs24;
4299
+ }
4300
+ else {
4301
+ vErrors = null;
4302
+ }
4237
4303
  }
4238
4304
  }
4305
+ var valid0 = _errs23 === errors;
4306
+ }
4307
+ else {
4308
+ var valid0 = true;
4239
4309
  }
4240
- var valid0 = _errs21 === errors;
4241
- }
4242
- else {
4243
- var valid0 = true;
4244
4310
  }
4245
4311
  }
4246
4312
  }
@@ -4964,286 +5030,299 @@ function validate71(data, { instancePath = "", parentData, parentDataProperty, r
4964
5030
  var valid0 = true;
4965
5031
  }
4966
5032
  if (valid0) {
4967
- if (data.runtimeChunk !== undefined) {
4968
- let data7 = data.runtimeChunk;
5033
+ if (data.removeEmptyChunks !== undefined) {
4969
5034
  const _errs20 = errors;
4970
- const _errs22 = errors;
4971
- let valid7 = false;
4972
- const _errs23 = errors;
4973
- if (data7 !== "single" && data7 !== "multiple") {
4974
- const err6 = { instancePath: instancePath + "/runtimeChunk", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/0/enum", keyword: "enum", params: {}, message: "must pass \"enum\" keyword validation" };
4975
- if (vErrors === null) {
4976
- vErrors = [err6];
4977
- }
4978
- else {
4979
- vErrors.push(err6);
4980
- }
4981
- errors++;
5035
+ if (typeof data.removeEmptyChunks !== "boolean") {
5036
+ validate71.errors = [{ instancePath: instancePath + "/removeEmptyChunks", schemaPath: "#/properties/removeEmptyChunks/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
5037
+ return false;
4982
5038
  }
4983
- var _valid1 = _errs23 === errors;
4984
- valid7 = valid7 || _valid1;
4985
- if (!valid7) {
5039
+ var valid0 = _errs20 === errors;
5040
+ }
5041
+ else {
5042
+ var valid0 = true;
5043
+ }
5044
+ if (valid0) {
5045
+ if (data.runtimeChunk !== undefined) {
5046
+ let data8 = data.runtimeChunk;
5047
+ const _errs22 = errors;
4986
5048
  const _errs24 = errors;
4987
- if (typeof data7 !== "boolean") {
4988
- const err7 = { instancePath: instancePath + "/runtimeChunk", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/1/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
5049
+ let valid7 = false;
5050
+ const _errs25 = errors;
5051
+ if (data8 !== "single" && data8 !== "multiple") {
5052
+ const err6 = { instancePath: instancePath + "/runtimeChunk", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/0/enum", keyword: "enum", params: {}, message: "must pass \"enum\" keyword validation" };
4989
5053
  if (vErrors === null) {
4990
- vErrors = [err7];
5054
+ vErrors = [err6];
4991
5055
  }
4992
5056
  else {
4993
- vErrors.push(err7);
5057
+ vErrors.push(err6);
4994
5058
  }
4995
5059
  errors++;
4996
5060
  }
4997
- var _valid1 = _errs24 === errors;
5061
+ var _valid1 = _errs25 === errors;
4998
5062
  valid7 = valid7 || _valid1;
4999
5063
  if (!valid7) {
5000
5064
  const _errs26 = errors;
5001
- if (errors === _errs26) {
5002
- if (data7 && typeof data7 == "object" && !Array.isArray(data7)) {
5003
- const _errs28 = errors;
5004
- for (const key1 in data7) {
5005
- if (!(key1 === "name")) {
5006
- const err8 = { instancePath: instancePath + "/runtimeChunk", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/2/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" };
5007
- if (vErrors === null) {
5008
- vErrors = [err8];
5009
- }
5010
- else {
5011
- vErrors.push(err8);
5012
- }
5013
- errors++;
5014
- break;
5015
- }
5016
- }
5017
- if (_errs28 === errors) {
5018
- if (data7.name !== undefined) {
5019
- let data8 = data7.name;
5020
- const _errs30 = errors;
5021
- let valid9 = false;
5022
- const _errs31 = errors;
5023
- if (typeof data8 !== "string") {
5024
- const err9 = { instancePath: instancePath + "/runtimeChunk/name", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/2/properties/name/anyOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
5065
+ if (typeof data8 !== "boolean") {
5066
+ const err7 = { instancePath: instancePath + "/runtimeChunk", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/1/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
5067
+ if (vErrors === null) {
5068
+ vErrors = [err7];
5069
+ }
5070
+ else {
5071
+ vErrors.push(err7);
5072
+ }
5073
+ errors++;
5074
+ }
5075
+ var _valid1 = _errs26 === errors;
5076
+ valid7 = valid7 || _valid1;
5077
+ if (!valid7) {
5078
+ const _errs28 = errors;
5079
+ if (errors === _errs28) {
5080
+ if (data8 && typeof data8 == "object" && !Array.isArray(data8)) {
5081
+ const _errs30 = errors;
5082
+ for (const key1 in data8) {
5083
+ if (!(key1 === "name")) {
5084
+ const err8 = { instancePath: instancePath + "/runtimeChunk", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/2/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" };
5025
5085
  if (vErrors === null) {
5026
- vErrors = [err9];
5086
+ vErrors = [err8];
5027
5087
  }
5028
5088
  else {
5029
- vErrors.push(err9);
5089
+ vErrors.push(err8);
5030
5090
  }
5031
5091
  errors++;
5092
+ break;
5032
5093
  }
5033
- var _valid2 = _errs31 === errors;
5034
- valid9 = valid9 || _valid2;
5035
- if (!valid9) {
5094
+ }
5095
+ if (_errs30 === errors) {
5096
+ if (data8.name !== undefined) {
5097
+ let data9 = data8.name;
5098
+ const _errs32 = errors;
5099
+ let valid9 = false;
5036
5100
  const _errs33 = errors;
5037
- if (!(data8 instanceof Function)) {
5038
- const err10 = { instancePath: instancePath + "/runtimeChunk/name", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/2/properties/name/anyOf/1/instanceof", keyword: "instanceof", params: {}, message: "must pass \"instanceof\" keyword validation" };
5101
+ if (typeof data9 !== "string") {
5102
+ const err9 = { instancePath: instancePath + "/runtimeChunk/name", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/2/properties/name/anyOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
5039
5103
  if (vErrors === null) {
5040
- vErrors = [err10];
5104
+ vErrors = [err9];
5041
5105
  }
5042
5106
  else {
5043
- vErrors.push(err10);
5107
+ vErrors.push(err9);
5044
5108
  }
5045
5109
  errors++;
5046
5110
  }
5047
5111
  var _valid2 = _errs33 === errors;
5048
5112
  valid9 = valid9 || _valid2;
5049
- }
5050
- if (!valid9) {
5051
- const err11 = { instancePath: instancePath + "/runtimeChunk/name", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/2/properties/name/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
5052
- if (vErrors === null) {
5053
- vErrors = [err11];
5054
- }
5055
- else {
5056
- vErrors.push(err11);
5113
+ if (!valid9) {
5114
+ const _errs35 = errors;
5115
+ if (!(data9 instanceof Function)) {
5116
+ const err10 = { instancePath: instancePath + "/runtimeChunk/name", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/2/properties/name/anyOf/1/instanceof", keyword: "instanceof", params: {}, message: "must pass \"instanceof\" keyword validation" };
5117
+ if (vErrors === null) {
5118
+ vErrors = [err10];
5119
+ }
5120
+ else {
5121
+ vErrors.push(err10);
5122
+ }
5123
+ errors++;
5124
+ }
5125
+ var _valid2 = _errs35 === errors;
5126
+ valid9 = valid9 || _valid2;
5057
5127
  }
5058
- errors++;
5059
- }
5060
- else {
5061
- errors = _errs30;
5062
- if (vErrors !== null) {
5063
- if (_errs30) {
5064
- vErrors.length = _errs30;
5128
+ if (!valid9) {
5129
+ const err11 = { instancePath: instancePath + "/runtimeChunk/name", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/2/properties/name/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
5130
+ if (vErrors === null) {
5131
+ vErrors = [err11];
5065
5132
  }
5066
5133
  else {
5067
- vErrors = null;
5134
+ vErrors.push(err11);
5135
+ }
5136
+ errors++;
5137
+ }
5138
+ else {
5139
+ errors = _errs32;
5140
+ if (vErrors !== null) {
5141
+ if (_errs32) {
5142
+ vErrors.length = _errs32;
5143
+ }
5144
+ else {
5145
+ vErrors = null;
5146
+ }
5068
5147
  }
5069
5148
  }
5070
5149
  }
5071
5150
  }
5072
5151
  }
5073
- }
5074
- else {
5075
- const err12 = { instancePath: instancePath + "/runtimeChunk", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/2/type", keyword: "type", params: { type: "object" }, message: "must be object" };
5076
- if (vErrors === null) {
5077
- vErrors = [err12];
5078
- }
5079
5152
  else {
5080
- vErrors.push(err12);
5153
+ const err12 = { instancePath: instancePath + "/runtimeChunk", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf/2/type", keyword: "type", params: { type: "object" }, message: "must be object" };
5154
+ if (vErrors === null) {
5155
+ vErrors = [err12];
5156
+ }
5157
+ else {
5158
+ vErrors.push(err12);
5159
+ }
5160
+ errors++;
5081
5161
  }
5082
- errors++;
5083
- }
5084
- }
5085
- var _valid1 = _errs26 === errors;
5086
- valid7 = valid7 || _valid1;
5087
- }
5088
- }
5089
- if (!valid7) {
5090
- const err13 = { instancePath: instancePath + "/runtimeChunk", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
5091
- if (vErrors === null) {
5092
- vErrors = [err13];
5093
- }
5094
- else {
5095
- vErrors.push(err13);
5096
- }
5097
- errors++;
5098
- validate71.errors = vErrors;
5099
- return false;
5100
- }
5101
- else {
5102
- errors = _errs22;
5103
- if (vErrors !== null) {
5104
- if (_errs22) {
5105
- vErrors.length = _errs22;
5106
- }
5107
- else {
5108
- vErrors = null;
5109
- }
5110
- }
5111
- }
5112
- var valid0 = _errs20 === errors;
5113
- }
5114
- else {
5115
- var valid0 = true;
5116
- }
5117
- if (valid0) {
5118
- if (data.sideEffects !== undefined) {
5119
- let data9 = data.sideEffects;
5120
- const _errs34 = errors;
5121
- const _errs35 = errors;
5122
- let valid10 = false;
5123
- const _errs36 = errors;
5124
- if (data9 !== "flag") {
5125
- const err14 = { instancePath: instancePath + "/sideEffects", schemaPath: "#/properties/sideEffects/anyOf/0/enum", keyword: "enum", params: {}, message: "must pass \"enum\" keyword validation" };
5126
- if (vErrors === null) {
5127
- vErrors = [err14];
5128
- }
5129
- else {
5130
- vErrors.push(err14);
5131
- }
5132
- errors++;
5133
- }
5134
- var _valid3 = _errs36 === errors;
5135
- valid10 = valid10 || _valid3;
5136
- if (!valid10) {
5137
- const _errs37 = errors;
5138
- if (typeof data9 !== "boolean") {
5139
- const err15 = { instancePath: instancePath + "/sideEffects", schemaPath: "#/properties/sideEffects/anyOf/1/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
5140
- if (vErrors === null) {
5141
- vErrors = [err15];
5142
5162
  }
5143
- else {
5144
- vErrors.push(err15);
5145
- }
5146
- errors++;
5163
+ var _valid1 = _errs28 === errors;
5164
+ valid7 = valid7 || _valid1;
5147
5165
  }
5148
- var _valid3 = _errs37 === errors;
5149
- valid10 = valid10 || _valid3;
5150
5166
  }
5151
- if (!valid10) {
5152
- const err16 = { instancePath: instancePath + "/sideEffects", schemaPath: "#/properties/sideEffects/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
5167
+ if (!valid7) {
5168
+ const err13 = { instancePath: instancePath + "/runtimeChunk", schemaPath: "#/definitions/OptimizationRuntimeChunk/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
5153
5169
  if (vErrors === null) {
5154
- vErrors = [err16];
5170
+ vErrors = [err13];
5155
5171
  }
5156
5172
  else {
5157
- vErrors.push(err16);
5173
+ vErrors.push(err13);
5158
5174
  }
5159
5175
  errors++;
5160
5176
  validate71.errors = vErrors;
5161
5177
  return false;
5162
5178
  }
5163
5179
  else {
5164
- errors = _errs35;
5180
+ errors = _errs24;
5165
5181
  if (vErrors !== null) {
5166
- if (_errs35) {
5167
- vErrors.length = _errs35;
5182
+ if (_errs24) {
5183
+ vErrors.length = _errs24;
5168
5184
  }
5169
5185
  else {
5170
5186
  vErrors = null;
5171
5187
  }
5172
5188
  }
5173
5189
  }
5174
- var valid0 = _errs34 === errors;
5190
+ var valid0 = _errs22 === errors;
5175
5191
  }
5176
5192
  else {
5177
5193
  var valid0 = true;
5178
5194
  }
5179
5195
  if (valid0) {
5180
- if (data.splitChunks !== undefined) {
5181
- let data10 = data.splitChunks;
5182
- const _errs39 = errors;
5183
- const _errs40 = errors;
5184
- let valid11 = false;
5185
- const _errs41 = errors;
5186
- if (data10 !== false) {
5187
- const err17 = { instancePath: instancePath + "/splitChunks", schemaPath: "#/properties/splitChunks/anyOf/0/enum", keyword: "enum", params: {}, message: "must pass \"enum\" keyword validation" };
5196
+ if (data.sideEffects !== undefined) {
5197
+ let data10 = data.sideEffects;
5198
+ const _errs36 = errors;
5199
+ const _errs37 = errors;
5200
+ let valid10 = false;
5201
+ const _errs38 = errors;
5202
+ if (data10 !== "flag") {
5203
+ const err14 = { instancePath: instancePath + "/sideEffects", schemaPath: "#/properties/sideEffects/anyOf/0/enum", keyword: "enum", params: {}, message: "must pass \"enum\" keyword validation" };
5188
5204
  if (vErrors === null) {
5189
- vErrors = [err17];
5205
+ vErrors = [err14];
5190
5206
  }
5191
5207
  else {
5192
- vErrors.push(err17);
5208
+ vErrors.push(err14);
5193
5209
  }
5194
5210
  errors++;
5195
5211
  }
5196
- var _valid4 = _errs41 === errors;
5197
- valid11 = valid11 || _valid4;
5198
- if (!valid11) {
5199
- const _errs42 = errors;
5200
- if (!(validate72(data10, { instancePath: instancePath + "/splitChunks", parentData: data, parentDataProperty: "splitChunks", rootData }))) {
5201
- vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
5202
- errors = vErrors.length;
5212
+ var _valid3 = _errs38 === errors;
5213
+ valid10 = valid10 || _valid3;
5214
+ if (!valid10) {
5215
+ const _errs39 = errors;
5216
+ if (typeof data10 !== "boolean") {
5217
+ const err15 = { instancePath: instancePath + "/sideEffects", schemaPath: "#/properties/sideEffects/anyOf/1/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
5218
+ if (vErrors === null) {
5219
+ vErrors = [err15];
5220
+ }
5221
+ else {
5222
+ vErrors.push(err15);
5223
+ }
5224
+ errors++;
5203
5225
  }
5204
- var _valid4 = _errs42 === errors;
5205
- valid11 = valid11 || _valid4;
5226
+ var _valid3 = _errs39 === errors;
5227
+ valid10 = valid10 || _valid3;
5206
5228
  }
5207
- if (!valid11) {
5208
- const err18 = { instancePath: instancePath + "/splitChunks", schemaPath: "#/properties/splitChunks/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
5229
+ if (!valid10) {
5230
+ const err16 = { instancePath: instancePath + "/sideEffects", schemaPath: "#/properties/sideEffects/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
5209
5231
  if (vErrors === null) {
5210
- vErrors = [err18];
5232
+ vErrors = [err16];
5211
5233
  }
5212
5234
  else {
5213
- vErrors.push(err18);
5235
+ vErrors.push(err16);
5214
5236
  }
5215
5237
  errors++;
5216
5238
  validate71.errors = vErrors;
5217
5239
  return false;
5218
5240
  }
5219
5241
  else {
5220
- errors = _errs40;
5242
+ errors = _errs37;
5221
5243
  if (vErrors !== null) {
5222
- if (_errs40) {
5223
- vErrors.length = _errs40;
5244
+ if (_errs37) {
5245
+ vErrors.length = _errs37;
5224
5246
  }
5225
5247
  else {
5226
5248
  vErrors = null;
5227
5249
  }
5228
5250
  }
5229
5251
  }
5230
- var valid0 = _errs39 === errors;
5252
+ var valid0 = _errs36 === errors;
5231
5253
  }
5232
5254
  else {
5233
5255
  var valid0 = true;
5234
5256
  }
5235
5257
  if (valid0) {
5236
- if (data.realContentHash !== undefined) {
5258
+ if (data.splitChunks !== undefined) {
5259
+ let data11 = data.splitChunks;
5260
+ const _errs41 = errors;
5261
+ const _errs42 = errors;
5262
+ let valid11 = false;
5237
5263
  const _errs43 = errors;
5238
- if (typeof data.realContentHash !== "boolean") {
5239
- validate71.errors = [{ instancePath: instancePath + "/realContentHash", schemaPath: "#/properties/realContentHash/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
5264
+ if (data11 !== false) {
5265
+ const err17 = { instancePath: instancePath + "/splitChunks", schemaPath: "#/properties/splitChunks/anyOf/0/enum", keyword: "enum", params: {}, message: "must pass \"enum\" keyword validation" };
5266
+ if (vErrors === null) {
5267
+ vErrors = [err17];
5268
+ }
5269
+ else {
5270
+ vErrors.push(err17);
5271
+ }
5272
+ errors++;
5273
+ }
5274
+ var _valid4 = _errs43 === errors;
5275
+ valid11 = valid11 || _valid4;
5276
+ if (!valid11) {
5277
+ const _errs44 = errors;
5278
+ if (!(validate72(data11, { instancePath: instancePath + "/splitChunks", parentData: data, parentDataProperty: "splitChunks", rootData }))) {
5279
+ vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
5280
+ errors = vErrors.length;
5281
+ }
5282
+ var _valid4 = _errs44 === errors;
5283
+ valid11 = valid11 || _valid4;
5284
+ }
5285
+ if (!valid11) {
5286
+ const err18 = { instancePath: instancePath + "/splitChunks", schemaPath: "#/properties/splitChunks/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
5287
+ if (vErrors === null) {
5288
+ vErrors = [err18];
5289
+ }
5290
+ else {
5291
+ vErrors.push(err18);
5292
+ }
5293
+ errors++;
5294
+ validate71.errors = vErrors;
5240
5295
  return false;
5241
5296
  }
5242
- var valid0 = _errs43 === errors;
5297
+ else {
5298
+ errors = _errs42;
5299
+ if (vErrors !== null) {
5300
+ if (_errs42) {
5301
+ vErrors.length = _errs42;
5302
+ }
5303
+ else {
5304
+ vErrors = null;
5305
+ }
5306
+ }
5307
+ }
5308
+ var valid0 = _errs41 === errors;
5243
5309
  }
5244
5310
  else {
5245
5311
  var valid0 = true;
5246
5312
  }
5313
+ if (valid0) {
5314
+ if (data.realContentHash !== undefined) {
5315
+ const _errs45 = errors;
5316
+ if (typeof data.realContentHash !== "boolean") {
5317
+ validate71.errors = [{ instancePath: instancePath + "/realContentHash", schemaPath: "#/properties/realContentHash/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
5318
+ return false;
5319
+ }
5320
+ var valid0 = _errs45 === errors;
5321
+ }
5322
+ else {
5323
+ var valid0 = true;
5324
+ }
5325
+ }
5247
5326
  }
5248
5327
  }
5249
5328
  }
@@ -7887,7 +7966,7 @@ else {
7887
7966
  }
7888
7967
  } validate112.errors = vErrors; return errors === 0; }
7889
7968
  const schema122 = { "description": "Stats options object or preset name.", "anyOf": [{ "enum": ["none", "errors-only", "errors-warnings", "normal", "verbose"] }, { "type": "boolean" }, { "$ref": "#/definitions/StatsOptions" }] };
7890
- const schema123 = { "description": "Stats options object.", "type": "object", "additionalProperties": true, "properties": { "all": { "description": "Fallback value for stats options when an option is not defined (has precedence over local rspack defaults).", "type": "boolean" }, "assets": { "description": "Add assets information.", "type": "boolean" }, "chunkGroups": { "description": "Display all chunk groups with the corresponding bundles.", "type": "boolean" }, "chunks": { "description": "Add chunk information.", "type": "boolean" }, "colors": { "description": "Enables/Disables colorful output.", "type": "boolean" }, "entrypoints": { "description": "Display the entry points with the corresponding bundles.", "anyOf": [{ "enum": ["auto"] }, { "type": "boolean" }] }, "errors": { "description": "Add errors.", "type": "boolean" }, "errorsCount": { "description": "Add errors count.", "type": "boolean" }, "hash": { "description": "Add the hash of the compilation.", "type": "boolean" }, "modules": { "description": "Add built modules information.", "type": "boolean" }, "preset": { "description": "Preset for the default values.", "anyOf": [{ "type": "boolean" }, { "type": "string" }] }, "publicPath": { "description": "Add public path information.", "type": "boolean" }, "reasons": { "description": "Add information about the reasons why modules are included.", "type": "boolean" }, "warnings": { "description": "Add warnings.", "type": "boolean" }, "warningsCount": { "description": "Add warnings count.", "type": "boolean" }, "outputPath": { "description": "Add output path information.", "type": "boolean" }, "chunkModules": { "description": "Add built modules information to chunk information.", "type": "boolean" }, "chunkRelations": { "description": "Add information about parent, children and sibling chunks to chunk information.", "type": "boolean" }, "timings": { "description": "Add timing information.", "type": "boolean" }, "builtAt": { "description": "Add built at time information.", "type": "boolean" } } };
7969
+ const schema123 = { "description": "Stats options object.", "type": "object", "additionalProperties": true, "properties": { "all": { "description": "Fallback value for stats options when an option is not defined (has precedence over local rspack defaults).", "type": "boolean" }, "assets": { "description": "Add assets information.", "type": "boolean" }, "chunkGroups": { "description": "Display all chunk groups with the corresponding bundles.", "type": "boolean" }, "chunks": { "description": "Add chunk information.", "type": "boolean" }, "colors": { "description": "Enables/Disables colorful output.", "type": "boolean" }, "entrypoints": { "description": "Display the entry points with the corresponding bundles.", "anyOf": [{ "enum": ["auto"] }, { "type": "boolean" }] }, "errors": { "description": "Add errors.", "type": "boolean" }, "errorsCount": { "description": "Add errors count.", "type": "boolean" }, "hash": { "description": "Add the hash of the compilation.", "type": "boolean" }, "modules": { "description": "Add built modules information.", "type": "boolean" }, "preset": { "description": "Preset for the default values.", "anyOf": [{ "type": "boolean" }, { "type": "string" }] }, "publicPath": { "description": "Add public path information.", "type": "boolean" }, "reasons": { "description": "Add information about the reasons why modules are included.", "type": "boolean" }, "warnings": { "description": "Add warnings.", "type": "boolean" }, "warningsCount": { "description": "Add warnings count.", "type": "boolean" }, "outputPath": { "description": "Add output path information.", "type": "boolean" }, "chunkModules": { "description": "Add built modules information to chunk information.", "type": "boolean" }, "chunkRelations": { "description": "Add information about parent, children and sibling chunks to chunk information.", "type": "boolean" }, "timings": { "description": "Add timing information.", "type": "boolean" }, "builtAt": { "description": "Add built at time information.", "type": "boolean" }, "nestedModules": { "description": "Add information about modules nested in other modules (like with module concatenation).", "type": "boolean" } } };
7891
7970
  function validate115(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; const _errs0 = errors; let valid0 = false; const _errs1 = errors; if (data !== "none" && data !== "errors-only" && data !== "errors-warnings" && data !== "normal" && data !== "verbose") {
7892
7971
  const err0 = { instancePath, schemaPath: "#/anyOf/0/enum", keyword: "enum", params: {}, message: "must pass \"enum\" keyword validation" };
7893
7972
  if (vErrors === null) {
@@ -8359,6 +8438,25 @@ function validate115(data, { instancePath = "", parentData, parentDataProperty,
8359
8438
  else {
8360
8439
  var valid2 = true;
8361
8440
  }
8441
+ if (valid2) {
8442
+ if (data.nestedModules !== undefined) {
8443
+ const _errs55 = errors;
8444
+ if (typeof data.nestedModules !== "boolean") {
8445
+ const err26 = { instancePath: instancePath + "/nestedModules", schemaPath: "#/definitions/StatsOptions/properties/nestedModules/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
8446
+ if (vErrors === null) {
8447
+ vErrors = [err26];
8448
+ }
8449
+ else {
8450
+ vErrors.push(err26);
8451
+ }
8452
+ errors++;
8453
+ }
8454
+ var valid2 = _errs55 === errors;
8455
+ }
8456
+ else {
8457
+ var valid2 = true;
8458
+ }
8459
+ }
8362
8460
  }
8363
8461
  }
8364
8462
  }
@@ -8380,12 +8478,12 @@ function validate115(data, { instancePath = "", parentData, parentDataProperty,
8380
8478
  }
8381
8479
  }
8382
8480
  else {
8383
- const err26 = { instancePath, schemaPath: "#/definitions/StatsOptions/type", keyword: "type", params: { type: "object" }, message: "must be object" };
8481
+ const err27 = { instancePath, schemaPath: "#/definitions/StatsOptions/type", keyword: "type", params: { type: "object" }, message: "must be object" };
8384
8482
  if (vErrors === null) {
8385
- vErrors = [err26];
8483
+ vErrors = [err27];
8386
8484
  }
8387
8485
  else {
8388
- vErrors.push(err26);
8486
+ vErrors.push(err27);
8389
8487
  }
8390
8488
  errors++;
8391
8489
  }
@@ -8394,12 +8492,12 @@ function validate115(data, { instancePath = "", parentData, parentDataProperty,
8394
8492
  valid0 = valid0 || _valid0;
8395
8493
  }
8396
8494
  } if (!valid0) {
8397
- const err27 = { instancePath, schemaPath: "#/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
8495
+ const err28 = { instancePath, schemaPath: "#/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
8398
8496
  if (vErrors === null) {
8399
- vErrors = [err27];
8497
+ vErrors = [err28];
8400
8498
  }
8401
8499
  else {
8402
- vErrors.push(err27);
8500
+ vErrors.push(err28);
8403
8501
  }
8404
8502
  errors++;
8405
8503
  validate115.errors = vErrors;