wallet-core/node_modules/webpack/schemas/webpackOptionsSchema.json

1500 lines
46 KiB
JSON
Raw Normal View History

2017-05-03 15:35:00 +02:00
{
"additionalProperties": false,
"definitions": {
"common.arrayOfStringOrStringArrayValues": {
"items": {
2017-12-10 21:51:33 +01:00
"description": "string or array of strings",
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"items": {
2017-12-10 21:51:33 +01:00
"description": "A non-empty string",
2017-05-03 15:35:00 +02:00
"minLength": 1,
"type": "string"
},
"type": "array"
}
]
},
"type": "array"
},
"common.arrayOfStringValues": {
"items": {
2017-12-10 21:51:33 +01:00
"description": "A non-empty string",
2017-05-03 15:35:00 +02:00
"minLength": 1,
"type": "string"
},
"type": "array"
},
"common.nonEmptyArrayOfUniqueStringValues": {
"items": {
2017-12-10 21:51:33 +01:00
"description": "A non-empty string",
2017-05-03 15:35:00 +02:00
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"entry": {
"oneOf": [
{
"minProperties": 1,
"additionalProperties": {
2017-12-10 21:51:33 +01:00
"description": "An entry point with name",
2017-05-03 15:35:00 +02:00
"oneOf": [
{
"description": "The string is resolved to a module which is loaded upon startup.",
"minLength": 1,
"type": "string"
},
{
"description": "All modules are loaded upon startup. The last one is exported.",
2017-12-10 21:51:33 +01:00
"anyOf": [
{
"$ref": "#/definitions/common.nonEmptyArrayOfUniqueStringValues"
}
]
2017-05-03 15:35:00 +02:00
}
]
},
"description": "Multiple entry bundles are created. The key is the chunk name. The value can be a string or an array.",
"type": "object"
},
{
2017-12-10 21:51:33 +01:00
"description": "An entry point without name. The string is resolved to a module which is loaded upon startup.",
2017-05-03 15:35:00 +02:00
"minLength": 1,
"type": "string"
},
{
2017-12-10 21:51:33 +01:00
"description": "An entry point without name. All modules are loaded upon startup. The last one is exported.",
"anyOf": [
2017-05-03 15:35:00 +02:00
{
"$ref": "#/definitions/common.nonEmptyArrayOfUniqueStringValues"
}
2017-12-10 21:51:33 +01:00
]
2017-05-03 15:35:00 +02:00
},
{
2017-12-10 21:51:33 +01:00
"description": "A Function returning an entry object, an entry string, an entry array or a promise to these things.",
2017-05-03 15:35:00 +02:00
"instanceof": "Function"
}
]
},
"externals": {
"anyOf": [
{
"description": "An exact matched dependency becomes external. The same string is used as external dependency.",
"type": "string"
},
{
"additionalProperties": {
2017-12-10 21:51:33 +01:00
"description": "The dependency used for the external",
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "boolean"
}
]
},
"description": "If an dependency matches exactly a property of the object, the property value is used as dependency.",
"type": "object"
},
{
"description": "`function(context, request, callback(err, result))` The function is called on each dependency.",
"instanceof": "Function"
},
{
"description": "Every matched dependency becomes external.",
"instanceof": "RegExp"
},
{
"items": {
2017-12-10 21:51:33 +01:00
"description": "External configuration",
"anyOf": [
{
"$ref": "#/definitions/externals"
}
]
2017-05-03 15:35:00 +02:00
},
"type": "array"
}
2017-12-10 21:51:33 +01:00
]
2017-05-03 15:35:00 +02:00
},
"module": {
"additionalProperties": false,
"properties": {
"exprContextCritical": {
2017-12-10 21:51:33 +01:00
"description": "Enable warnings for full dynamic dependencies",
2017-05-03 15:35:00 +02:00
"type": "boolean"
},
"exprContextRecursive": {
2017-12-10 21:51:33 +01:00
"description": "Enable recursive directory lookup for full dynamic dependencies",
2017-05-03 15:35:00 +02:00
"type": "boolean"
},
"exprContextRegExp": {
2017-12-10 21:51:33 +01:00
"description": "Sets the default regular expression for full dynamic dependencies",
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"type": "boolean"
},
{
"instanceof": "RegExp"
}
]
},
"exprContextRequest": {
2017-12-10 21:51:33 +01:00
"description": "Set the default request for full dynamic dependencies",
2017-05-03 15:35:00 +02:00
"type": "string"
},
"loaders": {
2017-12-10 21:51:33 +01:00
"description": "An array of automatically applied loaders.",
"anyOf": [
2017-05-03 15:35:00 +02:00
{
"$ref": "#/definitions/ruleSet-rules"
}
2017-12-10 21:51:33 +01:00
]
2017-05-03 15:35:00 +02:00
},
"noParse": {
"description": "Don't parse files matching. It's matched against the full resolved request.",
"anyOf": [
{
"items": {
2017-12-10 21:51:33 +01:00
"description": "A regular expression, when matched the module is not parsed",
2017-05-03 15:35:00 +02:00
"instanceof": "RegExp"
},
"minItems": 1,
"type": "array"
},
{
"instanceof": "RegExp"
},
2017-08-14 05:01:11 +02:00
{
"instanceof": "Function"
},
2017-05-03 15:35:00 +02:00
{
"items": {
2017-12-10 21:51:33 +01:00
"description": "An absolute path, when the module starts with this path it is not parsed",
2017-05-03 15:35:00 +02:00
"type": "string",
"absolutePath": true
},
"minItems": 1,
"type": "array"
},
{
"type": "string",
"absolutePath": true
}
]
},
"rules": {
"allOf": [
{
"$ref": "#/definitions/ruleSet-rules"
}
],
"description": "An array of rules applied for modules."
},
"unknownContextCritical": {
2017-12-10 21:51:33 +01:00
"description": "Enable warnings when using the require function in a not statically analyse-able way",
2017-05-03 15:35:00 +02:00
"type": "boolean"
},
"unknownContextRecursive": {
2017-12-10 21:51:33 +01:00
"description": "Enable recursive directory lookup when using the require function in a not statically analyse-able way",
2017-05-03 15:35:00 +02:00
"type": "boolean"
},
"unknownContextRegExp": {
2017-12-10 21:51:33 +01:00
"description": "Sets the regular expression when using the require function in a not statically analyse-able way",
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"type": "boolean"
},
{
"instanceof": "RegExp"
}
]
},
"unknownContextRequest": {
2017-12-10 21:51:33 +01:00
"description": "Sets the request when using the require function in a not statically analyse-able way",
2017-05-03 15:35:00 +02:00
"type": "string"
},
"unsafeCache": {
2017-12-10 21:51:33 +01:00
"description": "Cache the resolving of module requests",
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"type": "boolean"
},
{
"instanceof": "Function"
}
]
},
"wrappedContextCritical": {
2017-12-10 21:51:33 +01:00
"description": "Enable warnings for partial dynamic dependencies",
2017-05-03 15:35:00 +02:00
"type": "boolean"
},
"wrappedContextRecursive": {
2017-12-10 21:51:33 +01:00
"description": "Enable recursive directory lookup for partial dynamic dependencies",
2017-05-03 15:35:00 +02:00
"type": "boolean"
},
"wrappedContextRegExp": {
2017-12-10 21:51:33 +01:00
"description": "Set the inner regular expression for partial dynamic dependencies",
2017-05-03 15:35:00 +02:00
"instanceof": "RegExp"
},
"strictExportPresence": {
2017-12-10 21:51:33 +01:00
"description": "Emit errors instead of warnings when imported names don't exist in imported module",
2017-05-03 15:35:00 +02:00
"type": "boolean"
2017-08-14 05:01:11 +02:00
},
"strictThisContextOnImports": {
2017-12-10 21:51:33 +01:00
"description": "Handle the this context correctly according to the spec for namespace objects",
2017-08-14 05:01:11 +02:00
"type": "boolean"
2017-05-03 15:35:00 +02:00
}
},
"type": "object"
},
"output": {
"additionalProperties": false,
"properties": {
"auxiliaryComment": {
"description": "Add a comment in the UMD wrapper.",
"anyOf": [
{
"description": "Append the same comment above each import style.",
"type": "string"
},
{
"additionalProperties": false,
"description": "Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.",
"properties": {
"amd": {
2017-12-10 21:51:33 +01:00
"description": "Set comment for `amd` section in UMD",
2017-05-03 15:35:00 +02:00
"type": "string"
},
"commonjs": {
2017-12-10 21:51:33 +01:00
"description": "Set comment for `commonjs` (exports) section in UMD",
2017-05-03 15:35:00 +02:00
"type": "string"
},
"commonjs2": {
2017-12-10 21:51:33 +01:00
"description": "Set comment for `commonjs2` (module.exports) section in UMD",
2017-05-03 15:35:00 +02:00
"type": "string"
},
"root": {
2017-12-10 21:51:33 +01:00
"description": "Set comment for `root` (global variable) section in UMD",
2017-05-03 15:35:00 +02:00
"type": "string"
}
},
"type": "object"
}
]
},
"chunkFilename": {
"description": "The filename of non-entry chunks as relative path inside the `output.path` directory.",
"type": "string",
"absolutePath": false
},
"crossOriginLoading": {
"description": "This option enables cross-origin loading of chunks.",
"enum": [
false,
"anonymous",
"use-credentials"
]
},
2017-05-24 15:10:37 +02:00
"chunkLoadTimeout": {
"description": "Number of milliseconds before chunk request expires",
"type": "number"
},
2017-05-03 15:35:00 +02:00
"devtoolFallbackModuleFilenameTemplate": {
"description": "Similar to `output.devtoolModuleFilenameTemplate`, but used in the case of duplicate module identifiers.",
"anyOf": [
{
"type": "string"
},
{
"instanceof": "Function"
}
]
},
"devtoolLineToLine": {
"description": "Enable line to line mapped mode for all/specified modules. Line to line mapped mode uses a simple SourceMap where each line of the generated source is mapped to the same line of the original source. Its a performance optimization. Only use it if your performance need to be better and you are sure that input lines match which generated lines.",
"anyOf": [
{
"description": "`true` enables it for all modules (not recommended)",
"type": "boolean"
},
{
"description": "An object similar to `module.loaders` enables it for specific files.",
"type": "object"
}
]
},
"devtoolModuleFilenameTemplate": {
"description": "Filename template string of function for the sources array in a generated SourceMap.",
"anyOf": [
{
"type": "string"
},
{
"instanceof": "Function"
}
]
},
"filename": {
"description": "Specifies the name of each output file on disk. You must **not** specify an absolute path here! The `output.path` option determines the location on disk the files are written to, filename is used solely for naming the individual files.",
"type": "string",
"absolutePath": false
},
"hashDigest": {
2017-12-10 21:51:33 +01:00
"description": "Digest type used for the hash",
"enum": [
"latin1",
"hex",
"base64"
]
2017-05-03 15:35:00 +02:00
},
"hashDigestLength": {
2017-12-10 21:51:33 +01:00
"description": "Number of chars which are used for the hash",
2017-05-03 15:35:00 +02:00
"minimum": 1,
"type": "number"
},
"hashFunction": {
2017-12-10 21:51:33 +01:00
"description": "Algorithm used for generation the hash (see node.js crypto package)",
2017-05-03 15:35:00 +02:00
"minLength": 1,
"type": "string"
},
2017-05-24 15:10:37 +02:00
"hashSalt": {
2017-12-10 21:51:33 +01:00
"description": "Any string which is added to the hash to salt it",
2017-05-24 15:10:37 +02:00
"minLength": 1,
"type": "string"
},
2017-05-03 15:35:00 +02:00
"hotUpdateChunkFilename": {
"description": "The filename of the Hot Update Chunks. They are inside the output.path directory.",
"type": "string",
"absolutePath": false
},
"hotUpdateFunction": {
"description": "The JSONP function used by webpack for async loading of hot update chunks.",
"type": "string"
},
"hotUpdateMainFilename": {
"description": "The filename of the Hot Update Main File. It is inside the `output.path` directory.",
"type": "string",
"absolutePath": false
},
"jsonpFunction": {
"description": "The JSONP function used by webpack for async loading of chunks.",
"type": "string"
},
"library": {
"anyOf": [
{
"type": "string"
},
{
"items": {
2017-12-10 21:51:33 +01:00
"description": "A part of the library name",
2017-05-03 15:35:00 +02:00
"type": "string"
},
"type": "array"
2017-08-14 05:01:11 +02:00
},
{
"type": "object",
2017-12-10 21:51:33 +01:00
"additionalProperties": false,
2017-08-14 05:01:11 +02:00
"properties": {
2017-12-10 21:51:33 +01:00
"root": {
"description": "Name of the property exposed globally by a UMD library",
"type": "string"
},
"amd": {
"description": "Name of the exposed AMD library in the UMD",
"type": "string"
},
"commonjs": {
"description": "Name of the exposed commonjs export in the UMD",
"type": "string"
}
2017-08-14 05:01:11 +02:00
}
2017-05-03 15:35:00 +02:00
}
],
"description": "If set, export the bundle as library. `output.library` is the name."
},
"libraryTarget": {
2017-12-10 21:51:33 +01:00
"description": "Type of library",
2017-05-03 15:35:00 +02:00
"enum": [
"var",
"assign",
"this",
"window",
"global",
"commonjs",
"commonjs2",
"commonjs-module",
"amd",
"umd",
"umd2",
"jsonp"
]
},
2017-08-14 05:01:11 +02:00
"libraryExport": {
2017-12-10 21:51:33 +01:00
"description": "Specify which export should be exposed as library",
2017-08-14 05:01:11 +02:00
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/definitions/common.arrayOfStringValues"
}
]
},
2017-05-03 15:35:00 +02:00
"path": {
"description": "The output directory as **absolute path** (required).",
"type": "string",
"absolutePath": true
},
"pathinfo": {
"description": "Include comments with information about the modules.",
"type": "boolean"
},
"publicPath": {
"description": "The `publicPath` specifies the public URL address of the output files when referenced in a browser.",
"type": "string"
},
"sourceMapFilename": {
"description": "The filename of the SourceMaps for the JavaScript files. They are inside the `output.path` directory.",
"type": "string",
"absolutePath": false
},
"sourcePrefix": {
"description": "Prefixes every line of the source in the bundle with this string.",
"type": "string"
},
"strictModuleExceptionHandling": {
"description": "Handles exceptions in module loading correctly at a performance cost.",
"type": "boolean"
},
"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"
}
},
"type": "object"
},
"resolve": {
"additionalProperties": false,
"properties": {
"alias": {
2017-12-10 21:51:33 +01:00
"description": "Redirect module requests",
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"additionalProperties": {
2017-12-10 21:51:33 +01:00
"description": "New request",
2017-05-03 15:35:00 +02:00
"type": "string"
},
"type": "object"
},
{
"items": {
2017-12-10 21:51:33 +01:00
"description": "Alias configuration",
2017-05-03 15:35:00 +02:00
"additionalProperties": false,
"properties": {
"alias": {
2017-12-10 21:51:33 +01:00
"description": "New request",
2017-05-03 15:35:00 +02:00
"type": "string"
},
"name": {
2017-12-10 21:51:33 +01:00
"description": "Request to be redirected",
2017-05-03 15:35:00 +02:00
"type": "string"
},
"onlyModule": {
2017-12-10 21:51:33 +01:00
"description": "Redirect only exact matching request",
2017-05-03 15:35:00 +02:00
"type": "boolean"
}
},
"type": "object"
},
"type": "array"
}
]
},
"aliasFields": {
2017-12-10 21:51:33 +01:00
"description": "Fields in the description file (package.json) which are used to redirect requests inside the module",
"anyOf": [
{
"$ref": "#/definitions/common.arrayOfStringOrStringArrayValues"
}
]
2017-05-03 15:35:00 +02:00
},
"cachePredicate": {
2017-12-10 21:51:33 +01:00
"description": "Predicate function to decide which requests should be cached",
2017-05-03 15:35:00 +02:00
"instanceof": "Function"
},
2017-08-14 05:01:11 +02:00
"cacheWithContext": {
2017-12-10 21:51:33 +01:00
"description": "Include the context information in the cache identifier when caching",
2017-08-14 05:01:11 +02:00
"type": "boolean"
},
2017-05-03 15:35:00 +02:00
"descriptionFiles": {
2017-12-10 21:51:33 +01:00
"description": "Filenames used to find a description file",
"anyOf": [
{
"$ref": "#/definitions/common.arrayOfStringValues"
}
]
2017-05-03 15:35:00 +02:00
},
"enforceExtension": {
2017-12-10 21:51:33 +01:00
"description": "Enforce using one of the extensions from the extensions option",
2017-05-03 15:35:00 +02:00
"type": "boolean"
},
"enforceModuleExtension": {
2017-12-10 21:51:33 +01:00
"description": "Enforce using one of the module extensions from the moduleExtensions option",
2017-05-03 15:35:00 +02:00
"type": "boolean"
},
"extensions": {
2017-12-10 21:51:33 +01:00
"description": "Extensions added to the request when trying to find the file",
"anyOf": [
{
"$ref": "#/definitions/common.arrayOfStringValues"
}
]
},
"fileSystem": {
"description": "Filesystem for the resolver"
2017-05-03 15:35:00 +02:00
},
"mainFields": {
2017-12-10 21:51:33 +01:00
"description": "Field names from the description file (package.json) which are used to find the default entry point",
"anyOf": [
{
"$ref": "#/definitions/common.arrayOfStringOrStringArrayValues"
}
]
2017-05-03 15:35:00 +02:00
},
"mainFiles": {
2017-12-10 21:51:33 +01:00
"description": "Filenames used to find the default entry point if there is no description file or main field",
"anyOf": [
{
"$ref": "#/definitions/common.arrayOfStringValues"
}
]
2017-05-03 15:35:00 +02:00
},
"moduleExtensions": {
2017-12-10 21:51:33 +01:00
"description": "Extenstions added to the module request when trying to find the module",
"anyOf": [
{
"$ref": "#/definitions/common.arrayOfStringValues"
}
]
2017-05-03 15:35:00 +02:00
},
"modules": {
2017-12-10 21:51:33 +01:00
"description": "Folder names or directory paths where to find modules",
"anyOf": [
{
"$ref": "#/definitions/common.arrayOfStringValues"
}
]
2017-05-03 15:35:00 +02:00
},
"plugins": {
2017-12-10 21:51:33 +01:00
"description": "Plugins for the resolver",
2017-05-03 15:35:00 +02:00
"type": "array"
},
2017-12-10 21:51:33 +01:00
"resolver": {
"description": "Custom resolver"
},
2017-05-03 15:35:00 +02:00
"symlinks": {
2017-12-10 21:51:33 +01:00
"description": "Enable resolving symlinks to the original location",
2017-05-03 15:35:00 +02:00
"type": "boolean"
},
"unsafeCache": {
2017-12-10 21:51:33 +01:00
"description": "Enable caching of successfully resolved requests",
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"type": "boolean"
},
{
"additionalProperties": true,
"type": "object"
}
]
},
"useSyncFileSystemCalls": {
2017-12-10 21:51:33 +01:00
"description": "Use synchronous filesystem calls for the resolver",
2017-05-03 15:35:00 +02:00
"type": "boolean"
}
},
"type": "object"
},
"ruleSet-condition": {
"anyOf": [
{
"instanceof": "RegExp"
},
{
"minLength": 1,
"type": "string"
},
{
"instanceof": "Function"
},
{
"$ref": "#/definitions/ruleSet-conditions"
},
{
"additionalProperties": false,
"properties": {
"and": {
2017-12-10 21:51:33 +01:00
"description": "Logical AND",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-conditions"
}
]
2017-05-03 15:35:00 +02:00
},
"exclude": {
2017-12-10 21:51:33 +01:00
"description": "Exclude all modules matching any of these conditions",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-condition"
}
]
2017-05-03 15:35:00 +02:00
},
"include": {
2017-12-10 21:51:33 +01:00
"description": "Exclude all modules matching not any of these conditions",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-condition"
}
]
2017-05-03 15:35:00 +02:00
},
"not": {
2017-12-10 21:51:33 +01:00
"description": "Logical NOT",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-conditions"
}
]
2017-05-03 15:35:00 +02:00
},
"or": {
2017-12-10 21:51:33 +01:00
"description": "Logical OR",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-conditions"
}
]
2017-05-03 15:35:00 +02:00
},
"test": {
2017-12-10 21:51:33 +01:00
"description": "Exclude all modules matching any of these conditions",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-condition"
}
]
2017-05-03 15:35:00 +02:00
}
},
"type": "object"
}
]
},
"ruleSet-conditions": {
"items": {
2017-12-10 21:51:33 +01:00
"description": "A rule condition",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-condition"
}
]
2017-05-03 15:35:00 +02:00
},
"type": "array"
},
"ruleSet-loader": {
"minLength": 1,
"type": "string"
},
"ruleSet-query": {
"anyOf": [
{
"type": "object"
},
{
"type": "string"
}
]
},
"ruleSet-rule": {
"additionalProperties": false,
"properties": {
"enforce": {
2017-12-10 21:51:33 +01:00
"description": "Enforce this rule as pre or post step",
2017-05-03 15:35:00 +02:00
"enum": [
"pre",
"post"
]
},
"exclude": {
2017-12-10 21:51:33 +01:00
"description": "Shortcut for resource.exclude",
2017-05-03 15:35:00 +02:00
"allOf": [
{
"$ref": "#/definitions/ruleSet-condition"
},
{
"absolutePath": true
}
]
},
"include": {
2017-12-10 21:51:33 +01:00
"description": "Shortcut for resource.include",
2017-05-03 15:35:00 +02:00
"allOf": [
{
"$ref": "#/definitions/ruleSet-condition"
},
{
"absolutePath": true
}
]
},
"issuer": {
2017-12-10 21:51:33 +01:00
"description": "Match the issuer of the module (The module pointing to this module)",
2017-05-03 15:35:00 +02:00
"allOf": [
{
"$ref": "#/definitions/ruleSet-condition"
},
{
"absolutePath": true
}
]
},
"loader": {
2017-12-10 21:51:33 +01:00
"description": "Shortcut for use.loader",
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"$ref": "#/definitions/ruleSet-loader"
},
{
"$ref": "#/definitions/ruleSet-use"
}
]
},
"loaders": {
2017-12-10 21:51:33 +01:00
"description": "Shortcut for use.loader",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-use"
}
]
2017-05-03 15:35:00 +02:00
},
"oneOf": {
2017-12-10 21:51:33 +01:00
"description": "Only execute the first matching rule in this array",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-rules"
}
]
2017-05-03 15:35:00 +02:00
},
"options": {
2017-12-10 21:51:33 +01:00
"description": "Shortcut for use.options",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-query"
}
]
2017-05-03 15:35:00 +02:00
},
"parser": {
2017-12-10 21:51:33 +01:00
"description": "Options for parsing",
2017-05-03 15:35:00 +02:00
"additionalProperties": true,
"type": "object"
},
"query": {
2017-12-10 21:51:33 +01:00
"description": "Shortcut for use.query",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-query"
}
]
2017-05-03 15:35:00 +02:00
},
"resource": {
2017-12-10 21:51:33 +01:00
"description": "Match the resource path of the module",
2017-05-03 15:35:00 +02:00
"allOf": [
{
"$ref": "#/definitions/ruleSet-condition"
},
{
"absolutePath": true
}
]
},
"resourceQuery": {
2017-12-10 21:51:33 +01:00
"description": "Match the resource query of the module",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-condition"
}
]
2017-05-03 15:35:00 +02:00
},
"compiler": {
2017-12-10 21:51:33 +01:00
"description": "Match the child compiler name",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-condition"
}
]
2017-05-03 15:35:00 +02:00
},
"rules": {
2017-12-10 21:51:33 +01:00
"description": "Match and execute these rules when this rule is matched",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-rules"
}
]
2017-05-03 15:35:00 +02:00
},
"test": {
2017-12-10 21:51:33 +01:00
"description": "Shortcut for resource.test",
2017-05-03 15:35:00 +02:00
"allOf": [
{
"$ref": "#/definitions/ruleSet-condition"
},
{
"absolutePath": true
}
]
},
"use": {
2017-12-10 21:51:33 +01:00
"description": "Modifiers applied to the module when rule is matched",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-use"
}
]
2017-05-03 15:35:00 +02:00
}
},
"type": "object"
},
"ruleSet-rules": {
"items": {
2017-12-10 21:51:33 +01:00
"description": "A rule",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-rule"
}
]
2017-05-03 15:35:00 +02:00
},
"type": "array"
},
"ruleSet-use": {
"anyOf": [
{
"$ref": "#/definitions/ruleSet-use-item"
},
{
"instanceof": "Function"
},
{
"items": {
2017-12-10 21:51:33 +01:00
"description": "An use item",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-use-item"
}
]
2017-05-03 15:35:00 +02:00
},
"type": "array"
}
]
},
"ruleSet-use-item": {
"anyOf": [
{
"$ref": "#/definitions/ruleSet-loader"
},
{
"instanceof": "Function"
},
{
"additionalProperties": false,
"properties": {
"loader": {
2017-12-10 21:51:33 +01:00
"description": "Loader name",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-loader"
}
]
2017-05-03 15:35:00 +02:00
},
"options": {
2017-12-10 21:51:33 +01:00
"description": "Loader options",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-query"
}
]
2017-05-03 15:35:00 +02:00
},
"query": {
2017-12-10 21:51:33 +01:00
"description": "Loader query",
"anyOf": [
{
"$ref": "#/definitions/ruleSet-query"
}
]
2017-05-03 15:35:00 +02:00
}
},
"type": "object"
}
]
},
2017-08-14 05:01:11 +02:00
"filter-item-types": {
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"instanceof": "RegExp"
},
{
"type": "string"
},
{
"instanceof": "Function"
}
]
2017-08-14 05:01:11 +02:00
},
"filter-types": {
"anyOf": [
{
"$ref": "#/definitions/filter-item-types"
},
{
"type": "array",
"items": {
2017-12-10 21:51:33 +01:00
"description": "Rule to filter",
"anyOf": [
{
"$ref": "#/definitions/filter-item-types"
}
]
2017-08-14 05:01:11 +02:00
}
}
]
2017-05-03 15:35:00 +02:00
}
},
"properties": {
"amd": {
"description": "Set the value of `require.amd` and `define.amd`."
},
"bail": {
"description": "Report the first error as a hard error instead of tolerating it.",
"type": "boolean"
},
"cache": {
"description": "Cache generated modules and chunks to improve performance for multiple incremental builds.",
"anyOf": [
{
"description": "You can pass `false` to disable it.",
"type": "boolean"
},
{
"description": "You can pass an object to enable it and let webpack use the passed object as cache. This way you can share the cache object between multiple compiler calls.",
"type": "object"
}
]
},
"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",
"absolutePath": true
},
"dependencies": {
"description": "References to other configurations to depend on.",
"items": {
2017-12-10 21:51:33 +01:00
"description": "References to another configuration to depend on.",
2017-05-03 15:35:00 +02:00
"type": "string"
},
"type": "array"
},
"devServer": {
2017-12-10 21:51:33 +01:00
"description": "Options for the webpack-dev-server",
2017-05-03 15:35:00 +02:00
"type": "object"
},
"devtool": {
"description": "A developer tool to enhance debugging.",
"anyOf": [
{
"type": "string"
},
{
"enum": [
false
]
}
]
},
"entry": {
2017-12-10 21:51:33 +01:00
"description": "The entry point(s) of the compilation.",
"anyOf": [
{
"$ref": "#/definitions/entry"
}
]
2017-05-03 15:35:00 +02:00
},
"externals": {
2017-12-10 21:51:33 +01:00
"description": "Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.",
"anyOf": [
{
"$ref": "#/definitions/externals"
}
]
2017-05-03 15:35:00 +02:00
},
"loader": {
"description": "Custom values available in the loader context.",
"type": "object"
},
"module": {
2017-12-10 21:51:33 +01:00
"description": "Options affecting the normal modules (`NormalModuleFactory`).",
"anyOf": [
{
"$ref": "#/definitions/module"
}
]
2017-05-03 15:35:00 +02:00
},
"name": {
"description": "Name of the configuration. Used when loading multiple configurations.",
"type": "string"
},
"node": {
"description": "Include polyfills or mocks for various node stuff.",
2017-08-14 05:01:11 +02:00
"anyOf": [
{
2017-05-03 15:35:00 +02:00
"enum": [
2017-08-14 05:01:11 +02:00
false
2017-05-03 15:35:00 +02:00
]
},
2017-08-14 05:01:11 +02:00
{
"additionalProperties": {
2017-12-10 21:51:33 +01:00
"description": "Include a polyfill for the node.js module",
2017-08-14 05:01:11 +02:00
"enum": [
false,
true,
"mock",
"empty"
]
},
"properties": {
"Buffer": {
2017-12-10 21:51:33 +01:00
"description": "Include a polyfill for the 'Buffer' variable",
2017-08-14 05:01:11 +02:00
"enum": [
false,
true,
"mock"
]
},
"__dirname": {
2017-12-10 21:51:33 +01:00
"description": "Include a polyfill for the '__dirname' variable",
2017-08-14 05:01:11 +02:00
"enum": [
false,
true,
"mock"
]
},
"__filename": {
2017-12-10 21:51:33 +01:00
"description": "Include a polyfill for the '__filename' variable",
2017-08-14 05:01:11 +02:00
"enum": [
false,
true,
"mock"
]
},
"console": {
2017-12-10 21:51:33 +01:00
"description": "Include a polyfill for the 'console' variable",
2017-08-14 05:01:11 +02:00
"enum": [
false,
true,
"mock"
]
},
"global": {
2017-12-10 21:51:33 +01:00
"description": "Include a polyfill for the 'global' variable",
2017-08-14 05:01:11 +02:00
"type": "boolean"
},
"process": {
2017-12-10 21:51:33 +01:00
"description": "Include a polyfill for the 'process' variable",
2017-08-14 05:01:11 +02:00
"enum": [
false,
true,
"mock"
]
}
},
"type": "object"
2017-05-03 15:35:00 +02:00
}
2017-08-14 05:01:11 +02:00
]
2017-05-03 15:35:00 +02:00
},
"output": {
2017-12-10 21:51:33 +01:00
"description": "Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.",
"anyOf": [
{
"$ref": "#/definitions/output"
}
]
2017-05-03 15:35:00 +02:00
},
2017-08-14 05:01:11 +02:00
"parallelism": {
"description": "The number of parallel processed modules in the compilation.",
"minimum": 1,
"type": "number"
},
2017-05-03 15:35:00 +02:00
"performance": {
"description": "Configuration for web performance recommendations.",
"anyOf": [
{
"enum": [
false
]
},
{
"additionalProperties": false,
"properties": {
"assetFilter": {
"description": "Filter function to select assets that are checked",
"instanceof": "Function"
},
"hints": {
"description": "Sets the format of the hints: warnings, errors or nothing at all",
"enum": [
false,
"warning",
"error"
]
},
"maxEntrypointSize": {
"description": "Total size of an entry point (in bytes)",
"type": "number"
},
"maxAssetSize": {
"description": "Filesize limit (in bytes) when exceeded, that webpack will provide performance hints",
"type": "number"
}
},
"type": "object"
}
]
},
"plugins": {
"description": "Add additional plugins to the compiler.",
"type": "array"
},
"profile": {
"description": "Capture timing information for each module.",
"type": "boolean"
},
"recordsInputPath": {
"description": "Store compiler state to a json file.",
"type": "string",
"absolutePath": true
},
"recordsOutputPath": {
"description": "Load compiler state from a json file.",
"type": "string",
"absolutePath": true
},
"recordsPath": {
"description": "Store/Load compiler state from/to a json file. This will result in persistent ids of modules and chunks. An absolute path is expected. `recordsPath` is used for `recordsInputPath` and `recordsOutputPath` if they left undefined.",
"type": "string",
"absolutePath": true
},
"resolve": {
2017-12-10 21:51:33 +01:00
"description": "Options for the resolver",
"anyOf": [
{
"$ref": "#/definitions/resolve"
}
]
2017-05-03 15:35:00 +02:00
},
"resolveLoader": {
2017-12-10 21:51:33 +01:00
"description": "Options for the resolver when resolving loaders",
"anyOf": [
{
"$ref": "#/definitions/resolve"
}
]
2017-05-03 15:35:00 +02:00
},
"stats": {
"description": "Used by the webpack CLI program to pass stats options.",
"anyOf": [
{
"type": "object",
2017-12-10 21:51:33 +01:00
"additionalProperties": false,
2017-05-03 15:35:00 +02:00
"properties": {
2017-12-10 21:51:33 +01:00
"all": {
"type": "boolean",
"description": "fallback value for stats options when an option is not defined (has precedence over local webpack defaults)"
},
2017-05-03 15:35:00 +02:00
"context": {
"type": "string",
"description": "context directory for request shortening",
"absolutePath": true
},
"hash": {
"type": "boolean",
"description": "add the hash of the compilation"
},
"version": {
"type": "boolean",
"description": "add webpack version information"
},
"timings": {
"type": "boolean",
"description": "add timing information"
},
2017-12-10 21:51:33 +01:00
"performance": {
"type": "boolean",
"description": "add performance hint flags"
},
"depth": {
"type": "boolean",
"description": "add module depth in module graph"
},
2017-05-03 15:35:00 +02:00
"assets": {
"type": "boolean",
"description": "add assets information"
},
2017-12-10 21:51:33 +01:00
"env": {
"type": "boolean",
"description": "add --env information"
},
"colors": {
"description": "Enables/Disables colorful output",
"oneOf": [
{
"type": "boolean",
"description": "`webpack --colors` equivalent"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"bold": {
"description": "Custom color for bold text",
"type": "string"
},
"red": {
"description": "Custom color for red text",
"type": "string"
},
"green": {
"description": "Custom color for green text",
"type": "string"
},
"cyan": {
"description": "Custom color for cyan text",
"type": "string"
},
"magenta": {
"description": "Custom color for magenta text",
"type": "string"
},
"yellow": {
"description": "Custom color for yellow text",
"type": "string"
}
}
}
]
},
"maxModules": {
"type": "number",
"description": "Set the maximum number of modules to be shown"
},
2017-05-03 15:35:00 +02:00
"chunks": {
"type": "boolean",
"description": "add chunk information"
},
"chunkModules": {
"type": "boolean",
"description": "add built modules information to chunk information"
},
"modules": {
"type": "boolean",
"description": "add built modules information"
},
"children": {
"type": "boolean",
"description": "add children information"
},
"cached": {
"type": "boolean",
"description": "add also information about cached (not built) modules"
},
2017-12-10 21:51:33 +01:00
"cachedAssets": {
"type": "boolean",
"description": "Show cached assets (setting this to `false` only shows emitted files)"
},
2017-05-03 15:35:00 +02:00
"reasons": {
"type": "boolean",
"description": "add information about the reasons why modules are included"
},
"source": {
"type": "boolean",
"description": "add the source code of modules"
},
2017-12-10 21:51:33 +01:00
"warnings": {
"type": "boolean",
"description": "add warnings"
},
"errors": {
"type": "boolean",
"description": "add errors"
},
2017-05-03 15:35:00 +02:00
"warningsFilter": {
"description": "Suppress warnings that match the specified filters. Filters can be Strings, RegExps or Functions",
2017-12-10 21:51:33 +01:00
"anyOf": [
{
"$ref": "#/definitions/filter-types"
}
]
2017-08-14 05:01:11 +02:00
},
"excludeAssets": {
"description": "Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions",
2017-12-10 21:51:33 +01:00
"anyOf": [
{
"$ref": "#/definitions/filter-types"
}
]
2017-08-14 05:01:11 +02:00
},
"excludeModules": {
"description": "Suppress modules that match the specified filters. Filters can be Strings, RegExps or Functions",
2017-12-10 21:51:33 +01:00
"anyOf": [
{
"$ref": "#/definitions/filter-types"
}
]
2017-08-14 05:01:11 +02:00
},
"exclude": {
"description": "Please use excludeModules instead.",
2017-12-10 21:51:33 +01:00
"anyOf": [
{
"$ref": "#/definitions/filter-types"
}
]
},
"entrypoints": {
"type": "boolean",
"description": "Display the entry points with the corresponding bundles"
2017-05-03 15:35:00 +02:00
},
"errorDetails": {
"type": "boolean",
"description": "add details to errors (like resolving log)"
},
"chunkOrigins": {
"type": "boolean",
"description": "add the origins of chunks and chunk merging info"
},
"modulesSort": {
"type": "string",
"description": "sort the modules by that field"
},
2017-05-24 15:10:37 +02:00
"moduleTrace": {
"type": "boolean",
"description": "add dependencies and origin of warnings/errors"
},
2017-05-03 15:35:00 +02:00
"chunksSort": {
"type": "string",
"description": "sort the chunks by that field"
},
"assetsSort": {
"type": "string",
"description": "sort the assets by that field"
2017-08-14 05:01:11 +02:00
},
2017-12-10 21:51:33 +01:00
"publicPath": {
"type": "boolean",
"description": "Add public path information"
},
2017-08-14 05:01:11 +02:00
"providedExports": {
"type": "boolean",
"description": "show exports provided by modules"
},
"usedExports": {
"type": "boolean",
"description": "show exports used by modules"
},
"optimizationBailout": {
"type": "boolean",
"description": "show reasons why optimization bailed out for modules"
2017-05-03 15:35:00 +02:00
}
}
},
{
"type": "boolean"
},
{
"enum": [
"none",
"errors-only",
"minimal",
"normal",
2017-08-14 05:01:11 +02:00
"detailed",
2017-05-03 15:35:00 +02:00
"verbose"
]
}
]
},
"target": {
2017-12-10 21:51:33 +01:00
"description": "Environment to build for",
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"enum": [
"web",
"webworker",
"node",
"async-node",
"node-webkit",
"atom",
"electron",
"electron-main",
"electron-renderer"
]
},
{
"instanceof": "Function"
}
]
},
"watch": {
"description": "Enter watch mode, which rebuilds on file change.",
"type": "boolean"
},
"watchOptions": {
2017-12-10 21:51:33 +01:00
"description": "Options for the watcher",
"additionalProperties": false,
2017-05-03 15:35:00 +02:00
"properties": {
"aggregateTimeout": {
"description": "Delay the rebuilt after the first change. Value is a time in ms.",
"type": "number"
},
2017-12-10 21:51:33 +01:00
"ignored": {
"description": "Ignore some files from watching"
},
"stdin": {
"description": "Stop watching when stdin stream has ended",
"type": "boolean"
},
2017-05-03 15:35:00 +02:00
"poll": {
2017-12-10 21:51:33 +01:00
"description": "Enable polling mode for watching",
2017-05-03 15:35:00 +02:00
"anyOf": [
{
"description": "`true`: use polling.",
"type": "boolean"
},
{
"description": "`number`: use polling with specified interval.",
"type": "number"
}
]
}
},
"type": "object"
}
},
"required": [
"entry"
],
"type": "object"
}