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. It’ s 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"
}