@rspack/core 0.2.0 → 0.2.1

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.
Files changed (124) hide show
  1. package/dist/compilation.d.ts +2 -0
  2. package/dist/compilation.d.ts.map +1 -1
  3. package/dist/compilation.js +3 -1
  4. package/dist/compilation.js.map +1 -1
  5. package/dist/compiler.d.ts +2 -0
  6. package/dist/compiler.d.ts.map +1 -1
  7. package/dist/compiler.js +44 -11
  8. package/dist/compiler.js.map +1 -1
  9. package/dist/config/adapter-rule-use.d.ts +1 -1
  10. package/dist/config/adapter-rule-use.d.ts.map +1 -1
  11. package/dist/config/adapter-rule-use.js +7 -16
  12. package/dist/config/adapter-rule-use.js.map +1 -1
  13. package/dist/config/adapter.d.ts.map +1 -1
  14. package/dist/config/adapter.js +38 -41
  15. package/dist/config/adapter.js.map +1 -1
  16. package/dist/config/defaults.js +12 -2
  17. package/dist/config/defaults.js.map +1 -1
  18. package/dist/config/index.d.ts +1 -0
  19. package/dist/config/index.d.ts.map +1 -1
  20. package/dist/config/index.js +31 -0
  21. package/dist/config/index.js.map +1 -1
  22. package/dist/config/normalization.d.ts.map +1 -1
  23. package/dist/config/normalization.js +2 -1
  24. package/dist/config/normalization.js.map +1 -1
  25. package/dist/config/schema.check.d.ts.map +1 -1
  26. package/dist/config/schema.check.js +254 -184
  27. package/dist/config/schema.check.js.map +1 -1
  28. package/dist/config/schema.d.ts +676 -646
  29. package/dist/config/schema.js +20 -0
  30. package/dist/config/schema.js.map +1 -1
  31. package/dist/config/types.d.ts +10 -76
  32. package/dist/config/types.d.ts.map +1 -1
  33. package/dist/config/zod/_rewrite.d.ts +15 -0
  34. package/dist/config/zod/_rewrite.d.ts.map +1 -0
  35. package/dist/config/zod/_rewrite.js +3 -0
  36. package/dist/config/zod/_rewrite.js.map +1 -0
  37. package/dist/config/zod/builtins.d.ts +3 -0
  38. package/dist/config/zod/builtins.d.ts.map +1 -0
  39. package/dist/config/zod/builtins.js +10 -0
  40. package/dist/config/zod/builtins.js.map +1 -0
  41. package/dist/config/zod/devtool.d.ts +3 -0
  42. package/dist/config/zod/devtool.d.ts.map +1 -0
  43. package/dist/config/zod/devtool.js +35 -0
  44. package/dist/config/zod/devtool.js.map +1 -0
  45. package/dist/config/zod/entry.d.ts +15 -0
  46. package/dist/config/zod/entry.d.ts.map +1 -0
  47. package/dist/config/zod/entry.js +25 -0
  48. package/dist/config/zod/entry.js.map +1 -0
  49. package/dist/config/zod/experiments.d.ts +24 -0
  50. package/dist/config/zod/experiments.d.ts.map +1 -0
  51. package/dist/config/zod/experiments.js +16 -0
  52. package/dist/config/zod/experiments.js.map +1 -0
  53. package/dist/config/zod/externals-presets.d.ts +24 -0
  54. package/dist/config/zod/externals-presets.d.ts.map +1 -0
  55. package/dist/config/zod/externals-presets.js +18 -0
  56. package/dist/config/zod/externals-presets.js.map +1 -0
  57. package/dist/config/zod/externals-type.d.ts +3 -0
  58. package/dist/config/zod/externals-type.d.ts.map +1 -0
  59. package/dist/config/zod/externals-type.js +31 -0
  60. package/dist/config/zod/externals-type.js.map +1 -0
  61. package/dist/config/zod/externals.d.ts +3 -0
  62. package/dist/config/zod/externals.d.ts.map +1 -0
  63. package/dist/config/zod/externals.js +14 -0
  64. package/dist/config/zod/externals.js.map +1 -0
  65. package/dist/config/zod/index.d.ts +970 -0
  66. package/dist/config/zod/index.d.ts.map +1 -0
  67. package/dist/config/zod/index.js +55 -0
  68. package/dist/config/zod/index.js.map +1 -0
  69. package/dist/config/zod/infrastructure-logging.d.ts +24 -0
  70. package/dist/config/zod/infrastructure-logging.d.ts.map +1 -0
  71. package/dist/config/zod/infrastructure-logging.js +20 -0
  72. package/dist/config/zod/infrastructure-logging.js.map +1 -0
  73. package/dist/config/zod/module.d.ts +1 -0
  74. package/dist/config/zod/module.d.ts.map +1 -0
  75. package/dist/config/zod/module.js +2 -0
  76. package/dist/config/zod/module.js.map +1 -0
  77. package/dist/config/zod/node.d.ts +15 -0
  78. package/dist/config/zod/node.d.ts.map +1 -0
  79. package/dist/config/zod/node.js +24 -0
  80. package/dist/config/zod/node.js.map +1 -0
  81. package/dist/config/zod/optimization/index.d.ts +241 -0
  82. package/dist/config/zod/optimization/index.d.ts.map +1 -0
  83. package/dist/config/zod/optimization/index.js +32 -0
  84. package/dist/config/zod/optimization/index.js.map +1 -0
  85. package/dist/config/zod/optimization/split-chunks.d.ts +169 -0
  86. package/dist/config/zod/optimization/split-chunks.d.ts.map +1 -0
  87. package/dist/config/zod/optimization/split-chunks.js +47 -0
  88. package/dist/config/zod/optimization/split-chunks.js.map +1 -0
  89. package/dist/config/zod/output.d.ts +139 -0
  90. package/dist/config/zod/output.d.ts.map +1 -0
  91. package/dist/config/zod/output.js +92 -0
  92. package/dist/config/zod/output.js.map +1 -0
  93. package/dist/config/zod/snapshot.d.ts +42 -0
  94. package/dist/config/zod/snapshot.d.ts.map +1 -0
  95. package/dist/config/zod/snapshot.js +22 -0
  96. package/dist/config/zod/snapshot.js.map +1 -0
  97. package/dist/config/zod/stats.d.ts +69 -0
  98. package/dist/config/zod/stats.d.ts.map +1 -0
  99. package/dist/config/zod/stats.js +36 -0
  100. package/dist/config/zod/stats.js.map +1 -0
  101. package/dist/config/zod/target.d.ts +3 -0
  102. package/dist/config/zod/target.d.ts.map +1 -0
  103. package/dist/config/zod/target.js +37 -0
  104. package/dist/config/zod/target.js.map +1 -0
  105. package/dist/config/zod/watch-options.d.ts +21 -0
  106. package/dist/config/zod/watch-options.d.ts.map +1 -0
  107. package/dist/config/zod/watch-options.js +22 -0
  108. package/dist/config/zod/watch-options.js.map +1 -0
  109. package/dist/index.d.ts +2 -0
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/loader-runner/index.d.ts.map +1 -1
  112. package/dist/loader-runner/index.js +16 -16
  113. package/dist/loader-runner/index.js.map +1 -1
  114. package/dist/rspack.d.ts.map +1 -1
  115. package/dist/rspack.js +3 -27
  116. package/dist/rspack.js.map +1 -1
  117. package/dist/util/index.d.ts.map +1 -1
  118. package/dist/util/index.js +1 -0
  119. package/dist/util/index.js.map +1 -1
  120. package/package.json +9 -7
  121. package/dist/error/InvalidateConfiguration.d.ts +0 -4
  122. package/dist/error/InvalidateConfiguration.d.ts.map +0 -1
  123. package/dist/error/InvalidateConfiguration.js +0 -10
  124. package/dist/error/InvalidateConfiguration.js.map +0 -1
@@ -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" }] }, "HotUpdateChunkFilename": { "description": "The filename of the Hot Update Chunks. They are inside the output.path directory.", "type": "string", "absolutePath": false }, "HotUpdateMainFilename": { "description": "The filename of the Hot Update Main File. It is inside the 'output.path' directory.", "type": "string", "absolutePath": false }, "HashDigest": { "description": "Digest type used for the hash.", "type": "string" }, "HashDigestLength": { "description": "Number of chars which are used for the hash.", "type": "number", "minimum": 1 }, "HashFunction": { "description": "Algorithm used for generation the hash (see node.js crypto package).", "anyOf": [{ "type": "string", "minLength": 1 }, { "instanceof": "Function" }] }, "HashSalt": { "description": "Any string which is added to the hash to salt it.", "type": "string", "minLength": 1 }, "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" }, "css": { "description": "Enable native css support.", "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" }, "hidePathInfo": { "type": "boolean" }, "maxSize": { "type": "number" }, "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": { "fallbackCacheGroup": { "type": "object", "properties": { "maxSize": { "type": "number" }, "maxInitialSize": { "type": "number" }, "maxAsyncSize": { "type": "number" }, "minSize": { "type": "number" } } }, "hidePathInfo": { "type": "boolean" }, "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" }] }, "maxSize": { "type": "number" }, "maxInitialSize": { "type": "number" }, "maxAsyncSize": { "type": "number" }, "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" }, "hotUpdateChunkFilename": { "$ref": "#/definitions/HotUpdateChunkFilename" }, "hotUpdateMainFilename": { "$ref": "#/definitions/HotUpdateMainFilename" }, "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" }, "hashDigest": { "$ref": "#/definitions/HashDigest" }, "hashDigestLength": { "$ref": "#/definitions/HashDigestLength" }, "hashFunction": { "$ref": "#/definitions/HashFunction" }, "hashSalt": { "$ref": "#/definitions/HashSalt" } } }, "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" } }, "extensionAlias": { "description": "An object which maps extension to extension aliases.", "type": "object", "additionalProperties": { "description": "Extension alias.", "anyOf": [{ "description": "Multiple extensions.", "type": "array", "items": { "description": "Aliased extension.", "type": "string", "minLength": 1 } }, { "description": "Aliased extension.", "type": "string", "minLength": 1 }] } }, "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" }, "exportsFields": { "description": "Fields in the description file (usually package.json) which are used to redirect requests inside the module.", "type": "array", "items": { "description": "Field name from the description file (package.json) which are used to find the default entry point.", "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" }] }, "mimetype": { "description": "Match module mimetype when load from Data URI.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "loader": { "description": "Shortcut for use.loader.", "oneOf": [{ "$ref": "#/definitions/RuleSetLoader" }] }, "options": { "description": "Shortcut for use.options.", "oneOf": [{ "$ref": "#/definitions/RuleSetLoaderOptions" }] }, "scheme": { "description": "Match module scheme.", "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" } } };
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" }] }, "HotUpdateChunkFilename": { "description": "The filename of the Hot Update Chunks. They are inside the output.path directory.", "type": "string", "absolutePath": false }, "HotUpdateMainFilename": { "description": "The filename of the Hot Update Main File. It is inside the 'output.path' directory.", "type": "string", "absolutePath": false }, "HashDigest": { "description": "Digest type used for the hash.", "type": "string" }, "HashDigestLength": { "description": "Number of chars which are used for the hash.", "type": "number", "minimum": 1 }, "HashFunction": { "description": "Algorithm used for generation the hash (see node.js crypto package).", "anyOf": [{ "type": "string", "minLength": 1 }, { "instanceof": "Function" }] }, "HashSalt": { "description": "Any string which is added to the hash to salt it.", "type": "string", "minLength": 1 }, "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" }, "css": { "description": "Enable native css support.", "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" }, "web": { "description": "Treat references to 'http(s)://...' and 'std:...' as external and load them via import when used (Note that this changes execution order as externals are executed before any other code in the chunk).", "type": "boolean" }, "electron": { "description": "Treat common electron built-in modules in main and preload context like 'electron', 'ipc' or 'shell' as external and load them via require() when used.", "type": "boolean" }, "electronMain": { "description": "Treat electron built-in modules in the main context like 'app', 'ipc-main' or 'shell' as external and load them via require() when used.", "type": "boolean" }, "electronPreload": { "description": "Treat electron built-in modules in the preload context like 'web-frame', 'ipc-renderer' or 'shell' as external and load them via require() when used.", "type": "boolean" }, "electronRenderer": { "description": "Treat electron built-in modules in the renderer context like 'web-frame', 'ipc-renderer' or 'shell' 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" }, "hidePathInfo": { "type": "boolean" }, "maxSize": { "type": "number" }, "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": { "fallbackCacheGroup": { "type": "object", "properties": { "maxSize": { "type": "number" }, "maxInitialSize": { "type": "number" }, "maxAsyncSize": { "type": "number" }, "minSize": { "type": "number" } } }, "hidePathInfo": { "type": "boolean" }, "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" }] }, "maxSize": { "type": "number" }, "maxInitialSize": { "type": "number" }, "maxAsyncSize": { "type": "number" }, "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" }, "hotUpdateChunkFilename": { "$ref": "#/definitions/HotUpdateChunkFilename" }, "hotUpdateMainFilename": { "$ref": "#/definitions/HotUpdateMainFilename" }, "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" }, "hashDigest": { "$ref": "#/definitions/HashDigest" }, "hashDigestLength": { "$ref": "#/definitions/HashDigestLength" }, "hashFunction": { "$ref": "#/definitions/HashFunction" }, "hashSalt": { "$ref": "#/definitions/HashSalt" } } }, "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" } }, "extensionAlias": { "description": "An object which maps extension to extension aliases.", "type": "object", "additionalProperties": { "description": "Extension alias.", "anyOf": [{ "description": "Multiple extensions.", "type": "array", "items": { "description": "Aliased extension.", "type": "string", "minLength": 1 } }, { "description": "Aliased extension.", "type": "string", "minLength": 1 }] } }, "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" }, "exportsFields": { "description": "Fields in the description file (usually package.json) which are used to redirect requests inside the module.", "type": "array", "items": { "description": "Field name from the description file (package.json) which are used to find the default entry point.", "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" }] }, "mimetype": { "description": "Match module mimetype when load from Data URI.", "oneOf": [{ "$ref": "#/definitions/RuleSetConditionOrConditions" }] }, "loader": { "description": "Shortcut for use.loader.", "oneOf": [{ "$ref": "#/definitions/RuleSetLoader" }] }, "options": { "description": "Shortcut for use.options.", "oneOf": [{ "$ref": "#/definitions/RuleSetLoaderOptions" }] }, "scheme": { "description": "Match module scheme.", "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" } };
@@ -10,7 +10,7 @@ const schema15 = { "description": "Options for the rspack-dev-server.", "type":
10
10
  const schema16 = { "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$" }] };
11
11
  const schema28 = { "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" }, "css": { "description": "Enable native css support.", "type": "boolean" } } };
12
12
  const schema32 = { "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"] };
13
- const schema33 = { "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" } } };
13
+ const schema33 = { "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" }, "web": { "description": "Treat references to 'http(s)://...' and 'std:...' as external and load them via import when used (Note that this changes execution order as externals are executed before any other code in the chunk).", "type": "boolean" }, "electron": { "description": "Treat common electron built-in modules in main and preload context like 'electron', 'ipc' or 'shell' as external and load them via require() when used.", "type": "boolean" }, "electronMain": { "description": "Treat electron built-in modules in the main context like 'app', 'ipc-main' or 'shell' as external and load them via require() when used.", "type": "boolean" }, "electronPreload": { "description": "Treat electron built-in modules in the preload context like 'web-frame', 'ipc-renderer' or 'shell' as external and load them via require() when used.", "type": "boolean" }, "electronRenderer": { "description": "Treat electron built-in modules in the renderer context like 'web-frame', 'ipc-renderer' or 'shell' as external and load them via require() when used.", "type": "boolean" } } };
14
14
  const schema38 = { "description": "Enable production optimizations or development hints.", "enum": ["development", "production", "none"] };
15
15
  const schema59 = { "description": "Name of the configuration. Used when loading multiple configurations.", "type": "string" };
16
16
  const schema129 = { "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" } } } } };
@@ -9598,7 +9598,7 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9598
9598
  if (data16 && typeof data16 == "object" && !Array.isArray(data16)) {
9599
9599
  const _errs47 = errors;
9600
9600
  for (const key2 in data16) {
9601
- if (!(key2 === "node")) {
9601
+ if (!((((((key2 === "node") || (key2 === "web")) || (key2 === "electron")) || (key2 === "electronMain")) || (key2 === "electronPreload")) || (key2 === "electronRenderer"))) {
9602
9602
  validate10.errors = [{ instancePath: instancePath + "/externalsPresets", schemaPath: "#/definitions/ExternalsPresets/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" }];
9603
9603
  return false;
9604
9604
  break;
@@ -9606,10 +9606,80 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9606
9606
  }
9607
9607
  if (_errs47 === errors) {
9608
9608
  if (data16.node !== undefined) {
9609
+ const _errs48 = errors;
9609
9610
  if (typeof data16.node !== "boolean") {
9610
9611
  validate10.errors = [{ instancePath: instancePath + "/externalsPresets/node", schemaPath: "#/definitions/ExternalsPresets/properties/node/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
9611
9612
  return false;
9612
9613
  }
9614
+ var valid13 = _errs48 === errors;
9615
+ }
9616
+ else {
9617
+ var valid13 = true;
9618
+ }
9619
+ if (valid13) {
9620
+ if (data16.web !== undefined) {
9621
+ const _errs50 = errors;
9622
+ if (typeof data16.web !== "boolean") {
9623
+ validate10.errors = [{ instancePath: instancePath + "/externalsPresets/web", schemaPath: "#/definitions/ExternalsPresets/properties/web/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
9624
+ return false;
9625
+ }
9626
+ var valid13 = _errs50 === errors;
9627
+ }
9628
+ else {
9629
+ var valid13 = true;
9630
+ }
9631
+ if (valid13) {
9632
+ if (data16.electron !== undefined) {
9633
+ const _errs52 = errors;
9634
+ if (typeof data16.electron !== "boolean") {
9635
+ validate10.errors = [{ instancePath: instancePath + "/externalsPresets/electron", schemaPath: "#/definitions/ExternalsPresets/properties/electron/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
9636
+ return false;
9637
+ }
9638
+ var valid13 = _errs52 === errors;
9639
+ }
9640
+ else {
9641
+ var valid13 = true;
9642
+ }
9643
+ if (valid13) {
9644
+ if (data16.electronMain !== undefined) {
9645
+ const _errs54 = errors;
9646
+ if (typeof data16.electronMain !== "boolean") {
9647
+ validate10.errors = [{ instancePath: instancePath + "/externalsPresets/electronMain", schemaPath: "#/definitions/ExternalsPresets/properties/electronMain/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
9648
+ return false;
9649
+ }
9650
+ var valid13 = _errs54 === errors;
9651
+ }
9652
+ else {
9653
+ var valid13 = true;
9654
+ }
9655
+ if (valid13) {
9656
+ if (data16.electronPreload !== undefined) {
9657
+ const _errs56 = errors;
9658
+ if (typeof data16.electronPreload !== "boolean") {
9659
+ validate10.errors = [{ instancePath: instancePath + "/externalsPresets/electronPreload", schemaPath: "#/definitions/ExternalsPresets/properties/electronPreload/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
9660
+ return false;
9661
+ }
9662
+ var valid13 = _errs56 === errors;
9663
+ }
9664
+ else {
9665
+ var valid13 = true;
9666
+ }
9667
+ if (valid13) {
9668
+ if (data16.electronRenderer !== undefined) {
9669
+ const _errs58 = errors;
9670
+ if (typeof data16.electronRenderer !== "boolean") {
9671
+ validate10.errors = [{ instancePath: instancePath + "/externalsPresets/electronRenderer", schemaPath: "#/definitions/ExternalsPresets/properties/electronRenderer/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
9672
+ return false;
9673
+ }
9674
+ var valid13 = _errs58 === errors;
9675
+ }
9676
+ else {
9677
+ var valid13 = true;
9678
+ }
9679
+ }
9680
+ }
9681
+ }
9682
+ }
9613
9683
  }
9614
9684
  }
9615
9685
  }
@@ -9625,162 +9695,162 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9625
9695
  }
9626
9696
  if (valid0) {
9627
9697
  if (data.infrastructureLogging !== undefined) {
9628
- const _errs50 = errors;
9698
+ const _errs60 = errors;
9629
9699
  if (!(validate28(data.infrastructureLogging, { instancePath: instancePath + "/infrastructureLogging", parentData: data, parentDataProperty: "infrastructureLogging", rootData }))) {
9630
9700
  vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);
9631
9701
  errors = vErrors.length;
9632
9702
  }
9633
- var valid0 = _errs50 === errors;
9703
+ var valid0 = _errs60 === errors;
9634
9704
  }
9635
9705
  else {
9636
9706
  var valid0 = true;
9637
9707
  }
9638
9708
  if (valid0) {
9639
9709
  if (data.mode !== undefined) {
9640
- let data19 = data.mode;
9641
- const _errs51 = errors;
9642
- if (data19 !== "development" && data19 !== "production" && data19 !== "none") {
9710
+ let data24 = data.mode;
9711
+ const _errs61 = errors;
9712
+ if (data24 !== "development" && data24 !== "production" && data24 !== "none") {
9643
9713
  validate10.errors = [{ instancePath: instancePath + "/mode", schemaPath: "#/definitions/Mode/enum", keyword: "enum", params: {}, message: "must pass \"enum\" keyword validation" }];
9644
9714
  return false;
9645
9715
  }
9646
- var valid0 = _errs51 === errors;
9716
+ var valid0 = _errs61 === errors;
9647
9717
  }
9648
9718
  else {
9649
9719
  var valid0 = true;
9650
9720
  }
9651
9721
  if (valid0) {
9652
9722
  if (data.module !== undefined) {
9653
- const _errs53 = errors;
9723
+ const _errs63 = errors;
9654
9724
  if (!(validate32(data.module, { instancePath: instancePath + "/module", parentData: data, parentDataProperty: "module", rootData }))) {
9655
9725
  vErrors = vErrors === null ? validate32.errors : vErrors.concat(validate32.errors);
9656
9726
  errors = vErrors.length;
9657
9727
  }
9658
- var valid0 = _errs53 === errors;
9728
+ var valid0 = _errs63 === errors;
9659
9729
  }
9660
9730
  else {
9661
9731
  var valid0 = true;
9662
9732
  }
9663
9733
  if (valid0) {
9664
9734
  if (data.name !== undefined) {
9665
- const _errs54 = errors;
9735
+ const _errs64 = errors;
9666
9736
  if (typeof data.name !== "string") {
9667
9737
  validate10.errors = [{ instancePath: instancePath + "/name", schemaPath: "#/definitions/Name/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
9668
9738
  return false;
9669
9739
  }
9670
- var valid0 = _errs54 === errors;
9740
+ var valid0 = _errs64 === errors;
9671
9741
  }
9672
9742
  else {
9673
9743
  var valid0 = true;
9674
9744
  }
9675
9745
  if (valid0) {
9676
9746
  if (data.node !== undefined) {
9677
- const _errs57 = errors;
9747
+ const _errs67 = errors;
9678
9748
  if (!(validate71(data.node, { instancePath: instancePath + "/node", parentData: data, parentDataProperty: "node", rootData }))) {
9679
9749
  vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
9680
9750
  errors = vErrors.length;
9681
9751
  }
9682
- var valid0 = _errs57 === errors;
9752
+ var valid0 = _errs67 === errors;
9683
9753
  }
9684
9754
  else {
9685
9755
  var valid0 = true;
9686
9756
  }
9687
9757
  if (valid0) {
9688
9758
  if (data.optimization !== undefined) {
9689
- const _errs58 = errors;
9759
+ const _errs68 = errors;
9690
9760
  if (!(validate73(data.optimization, { instancePath: instancePath + "/optimization", parentData: data, parentDataProperty: "optimization", rootData }))) {
9691
9761
  vErrors = vErrors === null ? validate73.errors : vErrors.concat(validate73.errors);
9692
9762
  errors = vErrors.length;
9693
9763
  }
9694
- var valid0 = _errs58 === errors;
9764
+ var valid0 = _errs68 === errors;
9695
9765
  }
9696
9766
  else {
9697
9767
  var valid0 = true;
9698
9768
  }
9699
9769
  if (valid0) {
9700
9770
  if (data.output !== undefined) {
9701
- const _errs59 = errors;
9771
+ const _errs69 = errors;
9702
9772
  if (!(validate79(data.output, { instancePath: instancePath + "/output", parentData: data, parentDataProperty: "output", rootData }))) {
9703
9773
  vErrors = vErrors === null ? validate79.errors : vErrors.concat(validate79.errors);
9704
9774
  errors = vErrors.length;
9705
9775
  }
9706
- var valid0 = _errs59 === errors;
9776
+ var valid0 = _errs69 === errors;
9707
9777
  }
9708
9778
  else {
9709
9779
  var valid0 = true;
9710
9780
  }
9711
9781
  if (valid0) {
9712
9782
  if (data.plugins !== undefined) {
9713
- const _errs60 = errors;
9783
+ const _errs70 = errors;
9714
9784
  if (!(validate112(data.plugins, { instancePath: instancePath + "/plugins", parentData: data, parentDataProperty: "plugins", rootData }))) {
9715
9785
  vErrors = vErrors === null ? validate112.errors : vErrors.concat(validate112.errors);
9716
9786
  errors = vErrors.length;
9717
9787
  }
9718
- var valid0 = _errs60 === errors;
9788
+ var valid0 = _errs70 === errors;
9719
9789
  }
9720
9790
  else {
9721
9791
  var valid0 = true;
9722
9792
  }
9723
9793
  if (valid0) {
9724
9794
  if (data.resolve !== undefined) {
9725
- const _errs61 = errors;
9795
+ const _errs71 = errors;
9726
9796
  if (!(validate114(data.resolve, { instancePath: instancePath + "/resolve", parentData: data, parentDataProperty: "resolve", rootData }))) {
9727
9797
  vErrors = vErrors === null ? validate114.errors : vErrors.concat(validate114.errors);
9728
9798
  errors = vErrors.length;
9729
9799
  }
9730
- var valid0 = _errs61 === errors;
9800
+ var valid0 = _errs71 === errors;
9731
9801
  }
9732
9802
  else {
9733
9803
  var valid0 = true;
9734
9804
  }
9735
9805
  if (valid0) {
9736
9806
  if (data.snapshot !== undefined) {
9737
- let data27 = data.snapshot;
9738
- const _errs62 = errors;
9739
- const _errs63 = errors;
9740
- if (errors === _errs63) {
9741
- if (data27 && typeof data27 == "object" && !Array.isArray(data27)) {
9742
- const _errs65 = errors;
9743
- for (const key3 in data27) {
9807
+ let data32 = data.snapshot;
9808
+ const _errs72 = errors;
9809
+ const _errs73 = errors;
9810
+ if (errors === _errs73) {
9811
+ if (data32 && typeof data32 == "object" && !Array.isArray(data32)) {
9812
+ const _errs75 = errors;
9813
+ for (const key3 in data32) {
9744
9814
  if (!((key3 === "module") || (key3 === "resolve"))) {
9745
9815
  validate10.errors = [{ instancePath: instancePath + "/snapshot", schemaPath: "#/definitions/SnapshotOptions/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key3 }, message: "must NOT have additional properties" }];
9746
9816
  return false;
9747
9817
  break;
9748
9818
  }
9749
9819
  }
9750
- if (_errs65 === errors) {
9751
- if (data27.module !== undefined) {
9752
- let data28 = data27.module;
9753
- const _errs66 = errors;
9754
- if (errors === _errs66) {
9755
- if (data28 && typeof data28 == "object" && !Array.isArray(data28)) {
9756
- const _errs68 = errors;
9757
- for (const key4 in data28) {
9820
+ if (_errs75 === errors) {
9821
+ if (data32.module !== undefined) {
9822
+ let data33 = data32.module;
9823
+ const _errs76 = errors;
9824
+ if (errors === _errs76) {
9825
+ if (data33 && typeof data33 == "object" && !Array.isArray(data33)) {
9826
+ const _errs78 = errors;
9827
+ for (const key4 in data33) {
9758
9828
  if (!((key4 === "hash") || (key4 === "timestamp"))) {
9759
9829
  validate10.errors = [{ instancePath: instancePath + "/snapshot/module", schemaPath: "#/definitions/SnapshotOptions/properties/module/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key4 }, message: "must NOT have additional properties" }];
9760
9830
  return false;
9761
9831
  break;
9762
9832
  }
9763
9833
  }
9764
- if (_errs68 === errors) {
9765
- if (data28.hash !== undefined) {
9766
- const _errs69 = errors;
9767
- if (typeof data28.hash !== "boolean") {
9834
+ if (_errs78 === errors) {
9835
+ if (data33.hash !== undefined) {
9836
+ const _errs79 = errors;
9837
+ if (typeof data33.hash !== "boolean") {
9768
9838
  validate10.errors = [{ instancePath: instancePath + "/snapshot/module/hash", schemaPath: "#/definitions/SnapshotOptions/properties/module/properties/hash/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
9769
9839
  return false;
9770
9840
  }
9771
- var valid18 = _errs69 === errors;
9841
+ var valid18 = _errs79 === errors;
9772
9842
  }
9773
9843
  else {
9774
9844
  var valid18 = true;
9775
9845
  }
9776
9846
  if (valid18) {
9777
- if (data28.timestamp !== undefined) {
9778
- const _errs71 = errors;
9779
- if (typeof data28.timestamp !== "boolean") {
9847
+ if (data33.timestamp !== undefined) {
9848
+ const _errs81 = errors;
9849
+ if (typeof data33.timestamp !== "boolean") {
9780
9850
  validate10.errors = [{ instancePath: instancePath + "/snapshot/module/timestamp", schemaPath: "#/definitions/SnapshotOptions/properties/module/properties/timestamp/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
9781
9851
  return false;
9782
9852
  }
9783
- var valid18 = _errs71 === errors;
9853
+ var valid18 = _errs81 === errors;
9784
9854
  }
9785
9855
  else {
9786
9856
  var valid18 = true;
@@ -9793,45 +9863,45 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9793
9863
  return false;
9794
9864
  }
9795
9865
  }
9796
- var valid17 = _errs66 === errors;
9866
+ var valid17 = _errs76 === errors;
9797
9867
  }
9798
9868
  else {
9799
9869
  var valid17 = true;
9800
9870
  }
9801
9871
  if (valid17) {
9802
- if (data27.resolve !== undefined) {
9803
- let data31 = data27.resolve;
9804
- const _errs73 = errors;
9805
- if (errors === _errs73) {
9806
- if (data31 && typeof data31 == "object" && !Array.isArray(data31)) {
9807
- const _errs75 = errors;
9808
- for (const key5 in data31) {
9872
+ if (data32.resolve !== undefined) {
9873
+ let data36 = data32.resolve;
9874
+ const _errs83 = errors;
9875
+ if (errors === _errs83) {
9876
+ if (data36 && typeof data36 == "object" && !Array.isArray(data36)) {
9877
+ const _errs85 = errors;
9878
+ for (const key5 in data36) {
9809
9879
  if (!((key5 === "hash") || (key5 === "timestamp"))) {
9810
9880
  validate10.errors = [{ instancePath: instancePath + "/snapshot/resolve", schemaPath: "#/definitions/SnapshotOptions/properties/resolve/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key5 }, message: "must NOT have additional properties" }];
9811
9881
  return false;
9812
9882
  break;
9813
9883
  }
9814
9884
  }
9815
- if (_errs75 === errors) {
9816
- if (data31.hash !== undefined) {
9817
- const _errs76 = errors;
9818
- if (typeof data31.hash !== "boolean") {
9885
+ if (_errs85 === errors) {
9886
+ if (data36.hash !== undefined) {
9887
+ const _errs86 = errors;
9888
+ if (typeof data36.hash !== "boolean") {
9819
9889
  validate10.errors = [{ instancePath: instancePath + "/snapshot/resolve/hash", schemaPath: "#/definitions/SnapshotOptions/properties/resolve/properties/hash/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
9820
9890
  return false;
9821
9891
  }
9822
- var valid19 = _errs76 === errors;
9892
+ var valid19 = _errs86 === errors;
9823
9893
  }
9824
9894
  else {
9825
9895
  var valid19 = true;
9826
9896
  }
9827
9897
  if (valid19) {
9828
- if (data31.timestamp !== undefined) {
9829
- const _errs78 = errors;
9830
- if (typeof data31.timestamp !== "boolean") {
9898
+ if (data36.timestamp !== undefined) {
9899
+ const _errs88 = errors;
9900
+ if (typeof data36.timestamp !== "boolean") {
9831
9901
  validate10.errors = [{ instancePath: instancePath + "/snapshot/resolve/timestamp", schemaPath: "#/definitions/SnapshotOptions/properties/resolve/properties/timestamp/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
9832
9902
  return false;
9833
9903
  }
9834
- var valid19 = _errs78 === errors;
9904
+ var valid19 = _errs88 === errors;
9835
9905
  }
9836
9906
  else {
9837
9907
  var valid19 = true;
@@ -9844,7 +9914,7 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9844
9914
  return false;
9845
9915
  }
9846
9916
  }
9847
- var valid17 = _errs73 === errors;
9917
+ var valid17 = _errs83 === errors;
9848
9918
  }
9849
9919
  else {
9850
9920
  var valid17 = true;
@@ -9857,33 +9927,33 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9857
9927
  return false;
9858
9928
  }
9859
9929
  }
9860
- var valid0 = _errs62 === errors;
9930
+ var valid0 = _errs72 === errors;
9861
9931
  }
9862
9932
  else {
9863
9933
  var valid0 = true;
9864
9934
  }
9865
9935
  if (valid0) {
9866
9936
  if (data.stats !== undefined) {
9867
- const _errs80 = errors;
9937
+ const _errs90 = errors;
9868
9938
  if (!(validate117(data.stats, { instancePath: instancePath + "/stats", parentData: data, parentDataProperty: "stats", rootData }))) {
9869
9939
  vErrors = vErrors === null ? validate117.errors : vErrors.concat(validate117.errors);
9870
9940
  errors = vErrors.length;
9871
9941
  }
9872
- var valid0 = _errs80 === errors;
9942
+ var valid0 = _errs90 === errors;
9873
9943
  }
9874
9944
  else {
9875
9945
  var valid0 = true;
9876
9946
  }
9877
9947
  if (valid0) {
9878
9948
  if (data.target !== undefined) {
9879
- let data35 = data.target;
9880
- const _errs81 = errors;
9881
- const _errs83 = errors;
9949
+ let data40 = data.target;
9950
+ const _errs91 = errors;
9951
+ const _errs93 = errors;
9882
9952
  let valid21 = false;
9883
- const _errs84 = errors;
9884
- if (errors === _errs84) {
9885
- if (Array.isArray(data35)) {
9886
- if (data35.length < 1) {
9953
+ const _errs94 = errors;
9954
+ if (errors === _errs94) {
9955
+ if (Array.isArray(data40)) {
9956
+ if (data40.length < 1) {
9887
9957
  const err6 = { instancePath: instancePath + "/target", schemaPath: "#/definitions/Target/anyOf/0/minItems", keyword: "minItems", params: { limit: 1 }, message: "must NOT have fewer than 1 items" };
9888
9958
  if (vErrors === null) {
9889
9959
  vErrors = [err6];
@@ -9895,13 +9965,13 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9895
9965
  }
9896
9966
  else {
9897
9967
  var valid22 = true;
9898
- const len1 = data35.length;
9968
+ const len1 = data40.length;
9899
9969
  for (let i1 = 0; i1 < len1; i1++) {
9900
- let data36 = data35[i1];
9901
- const _errs86 = errors;
9902
- if (errors === _errs86) {
9903
- if (typeof data36 === "string") {
9904
- if (data36.length < 1) {
9970
+ let data41 = data40[i1];
9971
+ const _errs96 = errors;
9972
+ if (errors === _errs96) {
9973
+ if (typeof data41 === "string") {
9974
+ if (data41.length < 1) {
9905
9975
  const err7 = { instancePath: instancePath + "/target/" + i1, schemaPath: "#/definitions/Target/anyOf/0/items/minLength", keyword: "minLength", params: {}, message: "must pass \"minLength\" keyword validation" };
9906
9976
  if (vErrors === null) {
9907
9977
  vErrors = [err7];
@@ -9923,7 +9993,7 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9923
9993
  errors++;
9924
9994
  }
9925
9995
  }
9926
- var valid22 = _errs86 === errors;
9996
+ var valid22 = _errs96 === errors;
9927
9997
  if (!valid22) {
9928
9998
  break;
9929
9999
  }
@@ -9941,11 +10011,11 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9941
10011
  errors++;
9942
10012
  }
9943
10013
  }
9944
- var _valid2 = _errs84 === errors;
10014
+ var _valid2 = _errs94 === errors;
9945
10015
  valid21 = valid21 || _valid2;
9946
10016
  if (!valid21) {
9947
- const _errs88 = errors;
9948
- if (data35 !== false) {
10017
+ const _errs98 = errors;
10018
+ if (data40 !== false) {
9949
10019
  const err10 = { instancePath: instancePath + "/target", schemaPath: "#/definitions/Target/anyOf/1/enum", keyword: "enum", params: {}, message: "must pass \"enum\" keyword validation" };
9950
10020
  if (vErrors === null) {
9951
10021
  vErrors = [err10];
@@ -9955,13 +10025,13 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9955
10025
  }
9956
10026
  errors++;
9957
10027
  }
9958
- var _valid2 = _errs88 === errors;
10028
+ var _valid2 = _errs98 === errors;
9959
10029
  valid21 = valid21 || _valid2;
9960
10030
  if (!valid21) {
9961
- const _errs89 = errors;
9962
- if (errors === _errs89) {
9963
- if (typeof data35 === "string") {
9964
- if (data35.length < 1) {
10031
+ const _errs99 = errors;
10032
+ if (errors === _errs99) {
10033
+ if (typeof data40 === "string") {
10034
+ if (data40.length < 1) {
9965
10035
  const err11 = { instancePath: instancePath + "/target", schemaPath: "#/definitions/Target/anyOf/2/minLength", keyword: "minLength", params: {}, message: "must pass \"minLength\" keyword validation" };
9966
10036
  if (vErrors === null) {
9967
10037
  vErrors = [err11];
@@ -9983,7 +10053,7 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
9983
10053
  errors++;
9984
10054
  }
9985
10055
  }
9986
- var _valid2 = _errs89 === errors;
10056
+ var _valid2 = _errs99 === errors;
9987
10057
  valid21 = valid21 || _valid2;
9988
10058
  }
9989
10059
  }
@@ -10000,89 +10070,89 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10000
10070
  return false;
10001
10071
  }
10002
10072
  else {
10003
- errors = _errs83;
10073
+ errors = _errs93;
10004
10074
  if (vErrors !== null) {
10005
- if (_errs83) {
10006
- vErrors.length = _errs83;
10075
+ if (_errs93) {
10076
+ vErrors.length = _errs93;
10007
10077
  }
10008
10078
  else {
10009
10079
  vErrors = null;
10010
10080
  }
10011
10081
  }
10012
10082
  }
10013
- var valid0 = _errs81 === errors;
10083
+ var valid0 = _errs91 === errors;
10014
10084
  }
10015
10085
  else {
10016
10086
  var valid0 = true;
10017
10087
  }
10018
10088
  if (valid0) {
10019
10089
  if (data.watch !== undefined) {
10020
- const _errs91 = errors;
10090
+ const _errs101 = errors;
10021
10091
  if (typeof data.watch !== "boolean") {
10022
10092
  validate10.errors = [{ instancePath: instancePath + "/watch", schemaPath: "#/definitions/Watch/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
10023
10093
  return false;
10024
10094
  }
10025
- var valid0 = _errs91 === errors;
10095
+ var valid0 = _errs101 === errors;
10026
10096
  }
10027
10097
  else {
10028
10098
  var valid0 = true;
10029
10099
  }
10030
10100
  if (valid0) {
10031
10101
  if (data.watchOptions !== undefined) {
10032
- let data38 = data.watchOptions;
10033
- const _errs94 = errors;
10034
- const _errs95 = errors;
10035
- if (errors === _errs95) {
10036
- if (data38 && typeof data38 == "object" && !Array.isArray(data38)) {
10037
- const _errs97 = errors;
10038
- for (const key6 in data38) {
10102
+ let data43 = data.watchOptions;
10103
+ const _errs104 = errors;
10104
+ const _errs105 = errors;
10105
+ if (errors === _errs105) {
10106
+ if (data43 && typeof data43 == "object" && !Array.isArray(data43)) {
10107
+ const _errs107 = errors;
10108
+ for (const key6 in data43) {
10039
10109
  if (!(((((key6 === "aggregateTimeout") || (key6 === "followSymlinks")) || (key6 === "ignored")) || (key6 === "poll")) || (key6 === "stdin"))) {
10040
10110
  validate10.errors = [{ instancePath: instancePath + "/watchOptions", schemaPath: "#/definitions/WatchOptions/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key6 }, message: "must NOT have additional properties" }];
10041
10111
  return false;
10042
10112
  break;
10043
10113
  }
10044
10114
  }
10045
- if (_errs97 === errors) {
10046
- if (data38.aggregateTimeout !== undefined) {
10047
- const _errs98 = errors;
10048
- if (!(typeof data38.aggregateTimeout == "number")) {
10115
+ if (_errs107 === errors) {
10116
+ if (data43.aggregateTimeout !== undefined) {
10117
+ const _errs108 = errors;
10118
+ if (!(typeof data43.aggregateTimeout == "number")) {
10049
10119
  validate10.errors = [{ instancePath: instancePath + "/watchOptions/aggregateTimeout", schemaPath: "#/definitions/WatchOptions/properties/aggregateTimeout/type", keyword: "type", params: { type: "number" }, message: "must be number" }];
10050
10120
  return false;
10051
10121
  }
10052
- var valid25 = _errs98 === errors;
10122
+ var valid25 = _errs108 === errors;
10053
10123
  }
10054
10124
  else {
10055
10125
  var valid25 = true;
10056
10126
  }
10057
10127
  if (valid25) {
10058
- if (data38.followSymlinks !== undefined) {
10059
- const _errs100 = errors;
10060
- if (typeof data38.followSymlinks !== "boolean") {
10128
+ if (data43.followSymlinks !== undefined) {
10129
+ const _errs110 = errors;
10130
+ if (typeof data43.followSymlinks !== "boolean") {
10061
10131
  validate10.errors = [{ instancePath: instancePath + "/watchOptions/followSymlinks", schemaPath: "#/definitions/WatchOptions/properties/followSymlinks/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
10062
10132
  return false;
10063
10133
  }
10064
- var valid25 = _errs100 === errors;
10134
+ var valid25 = _errs110 === errors;
10065
10135
  }
10066
10136
  else {
10067
10137
  var valid25 = true;
10068
10138
  }
10069
10139
  if (valid25) {
10070
- if (data38.ignored !== undefined) {
10071
- let data41 = data38.ignored;
10072
- const _errs102 = errors;
10073
- const _errs103 = errors;
10140
+ if (data43.ignored !== undefined) {
10141
+ let data46 = data43.ignored;
10142
+ const _errs112 = errors;
10143
+ const _errs113 = errors;
10074
10144
  let valid26 = false;
10075
- const _errs104 = errors;
10076
- if (errors === _errs104) {
10077
- if (Array.isArray(data41)) {
10145
+ const _errs114 = errors;
10146
+ if (errors === _errs114) {
10147
+ if (Array.isArray(data46)) {
10078
10148
  var valid27 = true;
10079
- const len2 = data41.length;
10149
+ const len2 = data46.length;
10080
10150
  for (let i2 = 0; i2 < len2; i2++) {
10081
- let data42 = data41[i2];
10082
- const _errs106 = errors;
10083
- if (errors === _errs106) {
10084
- if (typeof data42 === "string") {
10085
- if (data42.length < 1) {
10151
+ let data47 = data46[i2];
10152
+ const _errs116 = errors;
10153
+ if (errors === _errs116) {
10154
+ if (typeof data47 === "string") {
10155
+ if (data47.length < 1) {
10086
10156
  const err14 = { instancePath: instancePath + "/watchOptions/ignored/" + i2, schemaPath: "#/definitions/WatchOptions/properties/ignored/anyOf/0/items/minLength", keyword: "minLength", params: {}, message: "must pass \"minLength\" keyword validation" };
10087
10157
  if (vErrors === null) {
10088
10158
  vErrors = [err14];
@@ -10104,7 +10174,7 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10104
10174
  errors++;
10105
10175
  }
10106
10176
  }
10107
- var valid27 = _errs106 === errors;
10177
+ var valid27 = _errs116 === errors;
10108
10178
  if (!valid27) {
10109
10179
  break;
10110
10180
  }
@@ -10121,11 +10191,11 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10121
10191
  errors++;
10122
10192
  }
10123
10193
  }
10124
- var _valid3 = _errs104 === errors;
10194
+ var _valid3 = _errs114 === errors;
10125
10195
  valid26 = valid26 || _valid3;
10126
10196
  if (!valid26) {
10127
- const _errs108 = errors;
10128
- if (!(data41 instanceof RegExp)) {
10197
+ const _errs118 = errors;
10198
+ if (!(data46 instanceof RegExp)) {
10129
10199
  const err17 = { instancePath: instancePath + "/watchOptions/ignored", schemaPath: "#/definitions/WatchOptions/properties/ignored/anyOf/1/instanceof", keyword: "instanceof", params: {}, message: "must pass \"instanceof\" keyword validation" };
10130
10200
  if (vErrors === null) {
10131
10201
  vErrors = [err17];
@@ -10135,13 +10205,13 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10135
10205
  }
10136
10206
  errors++;
10137
10207
  }
10138
- var _valid3 = _errs108 === errors;
10208
+ var _valid3 = _errs118 === errors;
10139
10209
  valid26 = valid26 || _valid3;
10140
10210
  if (!valid26) {
10141
- const _errs109 = errors;
10142
- if (errors === _errs109) {
10143
- if (typeof data41 === "string") {
10144
- if (data41.length < 1) {
10211
+ const _errs119 = errors;
10212
+ if (errors === _errs119) {
10213
+ if (typeof data46 === "string") {
10214
+ if (data46.length < 1) {
10145
10215
  const err18 = { instancePath: instancePath + "/watchOptions/ignored", schemaPath: "#/definitions/WatchOptions/properties/ignored/anyOf/2/minLength", keyword: "minLength", params: {}, message: "must pass \"minLength\" keyword validation" };
10146
10216
  if (vErrors === null) {
10147
10217
  vErrors = [err18];
@@ -10163,7 +10233,7 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10163
10233
  errors++;
10164
10234
  }
10165
10235
  }
10166
- var _valid3 = _errs109 === errors;
10236
+ var _valid3 = _errs119 === errors;
10167
10237
  valid26 = valid26 || _valid3;
10168
10238
  }
10169
10239
  }
@@ -10180,29 +10250,29 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10180
10250
  return false;
10181
10251
  }
10182
10252
  else {
10183
- errors = _errs103;
10253
+ errors = _errs113;
10184
10254
  if (vErrors !== null) {
10185
- if (_errs103) {
10186
- vErrors.length = _errs103;
10255
+ if (_errs113) {
10256
+ vErrors.length = _errs113;
10187
10257
  }
10188
10258
  else {
10189
10259
  vErrors = null;
10190
10260
  }
10191
10261
  }
10192
10262
  }
10193
- var valid25 = _errs102 === errors;
10263
+ var valid25 = _errs112 === errors;
10194
10264
  }
10195
10265
  else {
10196
10266
  var valid25 = true;
10197
10267
  }
10198
10268
  if (valid25) {
10199
- if (data38.poll !== undefined) {
10200
- let data43 = data38.poll;
10201
- const _errs111 = errors;
10202
- const _errs112 = errors;
10269
+ if (data43.poll !== undefined) {
10270
+ let data48 = data43.poll;
10271
+ const _errs121 = errors;
10272
+ const _errs122 = errors;
10203
10273
  let valid28 = false;
10204
- const _errs113 = errors;
10205
- if (!(typeof data43 == "number")) {
10274
+ const _errs123 = errors;
10275
+ if (!(typeof data48 == "number")) {
10206
10276
  const err21 = { instancePath: instancePath + "/watchOptions/poll", schemaPath: "#/definitions/WatchOptions/properties/poll/anyOf/0/type", keyword: "type", params: { type: "number" }, message: "must be number" };
10207
10277
  if (vErrors === null) {
10208
10278
  vErrors = [err21];
@@ -10212,11 +10282,11 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10212
10282
  }
10213
10283
  errors++;
10214
10284
  }
10215
- var _valid4 = _errs113 === errors;
10285
+ var _valid4 = _errs123 === errors;
10216
10286
  valid28 = valid28 || _valid4;
10217
10287
  if (!valid28) {
10218
- const _errs115 = errors;
10219
- if (typeof data43 !== "boolean") {
10288
+ const _errs125 = errors;
10289
+ if (typeof data48 !== "boolean") {
10220
10290
  const err22 = { instancePath: instancePath + "/watchOptions/poll", schemaPath: "#/definitions/WatchOptions/properties/poll/anyOf/1/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" };
10221
10291
  if (vErrors === null) {
10222
10292
  vErrors = [err22];
@@ -10226,7 +10296,7 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10226
10296
  }
10227
10297
  errors++;
10228
10298
  }
10229
- var _valid4 = _errs115 === errors;
10299
+ var _valid4 = _errs125 === errors;
10230
10300
  valid28 = valid28 || _valid4;
10231
10301
  }
10232
10302
  if (!valid28) {
@@ -10242,29 +10312,29 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10242
10312
  return false;
10243
10313
  }
10244
10314
  else {
10245
- errors = _errs112;
10315
+ errors = _errs122;
10246
10316
  if (vErrors !== null) {
10247
- if (_errs112) {
10248
- vErrors.length = _errs112;
10317
+ if (_errs122) {
10318
+ vErrors.length = _errs122;
10249
10319
  }
10250
10320
  else {
10251
10321
  vErrors = null;
10252
10322
  }
10253
10323
  }
10254
10324
  }
10255
- var valid25 = _errs111 === errors;
10325
+ var valid25 = _errs121 === errors;
10256
10326
  }
10257
10327
  else {
10258
10328
  var valid25 = true;
10259
10329
  }
10260
10330
  if (valid25) {
10261
- if (data38.stdin !== undefined) {
10262
- const _errs117 = errors;
10263
- if (typeof data38.stdin !== "boolean") {
10331
+ if (data43.stdin !== undefined) {
10332
+ const _errs127 = errors;
10333
+ if (typeof data43.stdin !== "boolean") {
10264
10334
  validate10.errors = [{ instancePath: instancePath + "/watchOptions/stdin", schemaPath: "#/definitions/WatchOptions/properties/stdin/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
10265
10335
  return false;
10266
10336
  }
10267
- var valid25 = _errs117 === errors;
10337
+ var valid25 = _errs127 === errors;
10268
10338
  }
10269
10339
  else {
10270
10340
  var valid25 = true;
@@ -10280,43 +10350,43 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10280
10350
  return false;
10281
10351
  }
10282
10352
  }
10283
- var valid0 = _errs94 === errors;
10353
+ var valid0 = _errs104 === errors;
10284
10354
  }
10285
10355
  else {
10286
10356
  var valid0 = true;
10287
10357
  }
10288
10358
  if (valid0) {
10289
10359
  if (data.builtins !== undefined) {
10290
- let data45 = data.builtins;
10291
- const _errs119 = errors;
10292
- if (errors === _errs119) {
10293
- if (data45 && typeof data45 == "object" && !Array.isArray(data45)) { }
10360
+ let data50 = data.builtins;
10361
+ const _errs129 = errors;
10362
+ if (errors === _errs129) {
10363
+ if (data50 && typeof data50 == "object" && !Array.isArray(data50)) { }
10294
10364
  else {
10295
10365
  validate10.errors = [{ instancePath: instancePath + "/builtins", schemaPath: "#/properties/builtins/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
10296
10366
  return false;
10297
10367
  }
10298
10368
  }
10299
- var valid0 = _errs119 === errors;
10369
+ var valid0 = _errs129 === errors;
10300
10370
  }
10301
10371
  else {
10302
10372
  var valid0 = true;
10303
10373
  }
10304
10374
  if (valid0) {
10305
10375
  if (data.ignoreWarnings !== undefined) {
10306
- let data46 = data.ignoreWarnings;
10307
- const _errs122 = errors;
10308
- const _errs123 = errors;
10309
- if (errors === _errs123) {
10310
- if (Array.isArray(data46)) {
10376
+ let data51 = data.ignoreWarnings;
10377
+ const _errs132 = errors;
10378
+ const _errs133 = errors;
10379
+ if (errors === _errs133) {
10380
+ if (Array.isArray(data51)) {
10311
10381
  var valid30 = true;
10312
- const len3 = data46.length;
10382
+ const len3 = data51.length;
10313
10383
  for (let i3 = 0; i3 < len3; i3++) {
10314
- let data47 = data46[i3];
10315
- const _errs125 = errors;
10316
- const _errs126 = errors;
10384
+ let data52 = data51[i3];
10385
+ const _errs135 = errors;
10386
+ const _errs136 = errors;
10317
10387
  let valid31 = false;
10318
- const _errs127 = errors;
10319
- if (!(data47 instanceof RegExp)) {
10388
+ const _errs137 = errors;
10389
+ if (!(data52 instanceof RegExp)) {
10320
10390
  const err24 = { instancePath: instancePath + "/ignoreWarnings/" + i3, schemaPath: "#/definitions/IgnoreWarnings/items/anyOf/0/instanceof", keyword: "instanceof", params: {}, message: "must pass \"instanceof\" keyword validation" };
10321
10391
  if (vErrors === null) {
10322
10392
  vErrors = [err24];
@@ -10326,11 +10396,11 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10326
10396
  }
10327
10397
  errors++;
10328
10398
  }
10329
- var _valid5 = _errs127 === errors;
10399
+ var _valid5 = _errs137 === errors;
10330
10400
  valid31 = valid31 || _valid5;
10331
10401
  if (!valid31) {
10332
- const _errs128 = errors;
10333
- if (!(data47 instanceof Function)) {
10402
+ const _errs138 = errors;
10403
+ if (!(data52 instanceof Function)) {
10334
10404
  const err25 = { instancePath: instancePath + "/ignoreWarnings/" + i3, schemaPath: "#/definitions/IgnoreWarnings/items/anyOf/1/instanceof", keyword: "instanceof", params: {}, message: "must pass \"instanceof\" keyword validation" };
10335
10405
  if (vErrors === null) {
10336
10406
  vErrors = [err25];
@@ -10340,7 +10410,7 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10340
10410
  }
10341
10411
  errors++;
10342
10412
  }
10343
- var _valid5 = _errs128 === errors;
10413
+ var _valid5 = _errs138 === errors;
10344
10414
  valid31 = valid31 || _valid5;
10345
10415
  }
10346
10416
  if (!valid31) {
@@ -10356,17 +10426,17 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10356
10426
  return false;
10357
10427
  }
10358
10428
  else {
10359
- errors = _errs126;
10429
+ errors = _errs136;
10360
10430
  if (vErrors !== null) {
10361
- if (_errs126) {
10362
- vErrors.length = _errs126;
10431
+ if (_errs136) {
10432
+ vErrors.length = _errs136;
10363
10433
  }
10364
10434
  else {
10365
10435
  vErrors = null;
10366
10436
  }
10367
10437
  }
10368
10438
  }
10369
- var valid30 = _errs125 === errors;
10439
+ var valid30 = _errs135 === errors;
10370
10440
  if (!valid30) {
10371
10441
  break;
10372
10442
  }
@@ -10377,7 +10447,7 @@ function validate10(data, { instancePath = "", parentData, parentDataProperty, r
10377
10447
  return false;
10378
10448
  }
10379
10449
  }
10380
- var valid0 = _errs122 === errors;
10450
+ var valid0 = _errs132 === errors;
10381
10451
  }
10382
10452
  else {
10383
10453
  var valid0 = true;