summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/validateSchema.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-11-01 20:49:36 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-11-01 20:49:36 +0800
commite99f950f5018cfe737c0d1150e50d97c6e6a4823 (patch)
tree16f329a1b22128ed67f3fcae15a9b0a030f2ccbf /node_modules/webpack/lib/validateSchema.js
parentc5d8a744dd584749e0b920119b42e731e37e5f62 (diff)
update
Diffstat (limited to 'node_modules/webpack/lib/validateSchema.js')
-rw-r--r--node_modules/webpack/lib/validateSchema.js179
1 files changed, 0 insertions, 179 deletions
diff --git a/node_modules/webpack/lib/validateSchema.js b/node_modules/webpack/lib/validateSchema.js
deleted file mode 100644
index fae211a3..00000000
--- a/node_modules/webpack/lib/validateSchema.js
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
-*/
-
-"use strict";
-
-const { validate } = require("schema-utils");
-
-/* cSpell:disable */
-const DID_YOU_MEAN = {
- rules: "module.rules",
- loaders: "module.rules or module.rules.*.use",
- query: "module.rules.*.options (BREAKING CHANGE since webpack 5)",
- noParse: "module.noParse",
- filename: "output.filename or module.rules.*.generator.filename",
- file: "output.filename",
- chunkFilename: "output.chunkFilename",
- chunkfilename: "output.chunkFilename",
- ecmaVersion:
- "output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)",
- ecmaversion:
- "output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)",
- ecma: "output.environment (output.ecmaVersion was a temporary configuration option during webpack 5 beta)",
- path: "output.path",
- pathinfo: "output.pathinfo",
- pathInfo: "output.pathinfo",
- jsonpFunction: "output.chunkLoadingGlobal (BREAKING CHANGE since webpack 5)",
- chunkCallbackName:
- "output.chunkLoadingGlobal (BREAKING CHANGE since webpack 5)",
- jsonpScriptType: "output.scriptType (BREAKING CHANGE since webpack 5)",
- hotUpdateFunction: "output.hotUpdateGlobal (BREAKING CHANGE since webpack 5)",
- splitChunks: "optimization.splitChunks",
- immutablePaths: "snapshot.immutablePaths",
- managedPaths: "snapshot.managedPaths",
- maxModules: "stats.modulesSpace (BREAKING CHANGE since webpack 5)",
- hashedModuleIds:
- 'optimization.moduleIds: "hashed" (BREAKING CHANGE since webpack 5)',
- namedChunks:
- 'optimization.chunkIds: "named" (BREAKING CHANGE since webpack 5)',
- namedModules:
- 'optimization.moduleIds: "named" (BREAKING CHANGE since webpack 5)',
- occurrenceOrder:
- 'optimization.chunkIds: "size" and optimization.moduleIds: "size" (BREAKING CHANGE since webpack 5)',
- automaticNamePrefix:
- "optimization.splitChunks.[cacheGroups.*].idHint (BREAKING CHANGE since webpack 5)",
- noEmitOnErrors:
- "optimization.emitOnErrors (BREAKING CHANGE since webpack 5: logic is inverted to avoid negative flags)",
- Buffer:
- "to use the ProvidePlugin to process the Buffer variable to modules as polyfill\n" +
- "BREAKING CHANGE: webpack 5 no longer provided Node.js polyfills by default.\n" +
- "Note: if you are using 'node.Buffer: false', you can just remove that as this is the default behavior now.\n" +
- "To provide a polyfill to modules use:\n" +
- 'new ProvidePlugin({ Buffer: ["buffer", "Buffer"] }) and npm install buffer.',
- process:
- "to use the ProvidePlugin to process the process variable to modules as polyfill\n" +
- "BREAKING CHANGE: webpack 5 no longer provided Node.js polyfills by default.\n" +
- "Note: if you are using 'node.process: false', you can just remove that as this is the default behavior now.\n" +
- "To provide a polyfill to modules use:\n" +
- 'new ProvidePlugin({ process: "process" }) and npm install buffer.'
-};
-
-const REMOVED = {
- concord:
- "BREAKING CHANGE: resolve.concord has been removed and is no longer available.",
- devtoolLineToLine:
- "BREAKING CHANGE: output.devtoolLineToLine has been removed and is no longer available."
-};
-/* cSpell:enable */
-
-/**
- * @param {Parameters<typeof validate>[0]} schema a json schema
- * @param {Parameters<typeof validate>[1]} options the options that should be validated
- * @param {Parameters<typeof validate>[2]=} validationConfiguration configuration for generating errors
- * @returns {void}
- */
-const validateSchema = (schema, options, validationConfiguration) => {
- validate(
- schema,
- options,
- validationConfiguration || {
- name: "Webpack",
- postFormatter: (formattedError, error) => {
- const children = error.children;
- if (
- children &&
- children.some(
- child =>
- child.keyword === "absolutePath" &&
- child.dataPath === ".output.filename"
- )
- ) {
- return `${formattedError}\nPlease use output.path to specify absolute path and output.filename for the file name.`;
- }
-
- if (
- children &&
- children.some(
- child =>
- child.keyword === "pattern" && child.dataPath === ".devtool"
- )
- ) {
- return (
- `${formattedError}\n` +
- "BREAKING CHANGE since webpack 5: The devtool option is more strict.\n" +
- "Please strictly follow the order of the keywords in the pattern."
- );
- }
-
- if (error.keyword === "additionalProperties") {
- const params =
- /** @type {import("ajv").AdditionalPropertiesParams} */ (
- error.params
- );
- if (
- Object.prototype.hasOwnProperty.call(
- DID_YOU_MEAN,
- params.additionalProperty
- )
- ) {
- return `${formattedError}\nDid you mean ${
- DID_YOU_MEAN[
- /** @type {keyof DID_YOU_MEAN} */ (params.additionalProperty)
- ]
- }?`;
- }
-
- if (
- Object.prototype.hasOwnProperty.call(
- REMOVED,
- params.additionalProperty
- )
- ) {
- return `${formattedError}\n${
- REMOVED[/** @type {keyof REMOVED} */ (params.additionalProperty)]
- }?`;
- }
-
- if (!error.dataPath) {
- if (params.additionalProperty === "debug") {
- return (
- `${formattedError}\n` +
- "The 'debug' property was removed in webpack 2.0.0.\n" +
- "Loaders should be updated to allow passing this option via loader options in module.rules.\n" +
- "Until loaders are updated one can use the LoaderOptionsPlugin to switch loaders into debug mode:\n" +
- "plugins: [\n" +
- " new webpack.LoaderOptionsPlugin({\n" +
- " debug: true\n" +
- " })\n" +
- "]"
- );
- }
-
- if (params.additionalProperty) {
- return (
- `${formattedError}\n` +
- "For typos: please correct them.\n" +
- "For loader options: webpack >= v2.0.0 no longer allows custom properties in configuration.\n" +
- " Loaders should be updated to allow passing options via loader options in module.rules.\n" +
- " Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:\n" +
- " plugins: [\n" +
- " new webpack.LoaderOptionsPlugin({\n" +
- " // test: /\\.xxx$/, // may apply this only for some modules\n" +
- " options: {\n" +
- ` ${params.additionalProperty}: …\n` +
- " }\n" +
- " })\n" +
- " ]"
- );
- }
- }
- }
-
- return formattedError;
- }
- }
- );
-};
-module.exports = validateSchema;