| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989 | {    "additionalProperties": false,    "definitions": {      "common.pluginFunction": {        "description": "Function acting as plugin",        "instanceof": "Function",        "properties": {          "apply": {            "description": "The run point of the plugin, required method.",            "instanceof": "Function"          }        },        "additionalProperties": true,        "required": [          "apply"        ]      },      "common.pluginObject": {        "description": "Plugin instance",        "type": "object",        "properties": {          "apply": {            "description": "The run point of the plugin, required method.",            "instanceof": "Function"          }        },        "additionalProperties": true,        "required": [          "apply"        ]      },      "common.arrayOfStringOrStringArrayValues": {        "items": {          "description": "string or array of strings",          "anyOf": [            {              "minLength": 1,              "type": "string"            },            {              "items": {                "description": "A non-empty string",                "minLength": 1,                "type": "string"              },              "type": "array"            }          ]        },        "type": "array"      },      "common.arrayOfStringValues": {        "items": {          "description": "A non-empty string",          "minLength": 1,          "type": "string"        },        "type": "array"      },      "common.nonEmptyArrayOfUniqueStringValues": {        "items": {          "description": "A non-empty string",          "minLength": 1,          "type": "string"        },        "minItems": 1,        "type": "array",        "uniqueItems": true      },      "entry": {        "oneOf": [          {            "minProperties": 1,            "additionalProperties": {              "description": "An entry point with name",              "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.",                  "anyOf": [                    {                      "$ref": "#/definitions/common.nonEmptyArrayOfUniqueStringValues"                    }                  ]                }              ]            },            "description": "Multiple entry bundles are created. The key is the chunk name. The value can be a string or an array.",            "type": "object"          },          {            "description": "An entry point without name. The string is resolved to a module which is loaded upon startup.",            "minLength": 1,            "type": "string"          },          {            "description": "An entry point without name. All modules are loaded upon startup. The last one is exported.",            "anyOf": [              {                "$ref": "#/definitions/common.nonEmptyArrayOfUniqueStringValues"              }            ]          },          {            "description": "A Function returning an entry object, an entry string, an entry array or a promise to these things.",            "instanceof": "Function"          }        ]      },      "externals": {        "anyOf": [          {            "description": "An exact matched dependency becomes external. The same string is used as external dependency.",            "type": "string"          },          {            "additionalProperties": {              "description": "The dependency used for the external",              "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": {              "description": "External configuration",              "anyOf": [                {                  "$ref": "#/definitions/externals"                }              ]            },            "type": "array"          }        ]      },      "module": {        "additionalProperties": false,        "properties": {          "exprContextCritical": {            "description": "Enable warnings for full dynamic dependencies",            "type": "boolean"          },          "exprContextRecursive": {            "description": "Enable recursive directory lookup for full dynamic dependencies",            "type": "boolean"          },          "exprContextRegExp": {            "description": "Sets the default regular expression for full dynamic dependencies",            "anyOf": [              {                "type": "boolean"              },              {                "instanceof": "RegExp"              }            ]          },          "exprContextRequest": {            "description": "Set the default request for full dynamic dependencies",            "type": "string"          },          "noParse": {            "description": "Don't parse files matching. It's matched against the full resolved request.",            "anyOf": [              {                "items": {                  "description": "A regular expression, when matched the module is not parsed",                  "instanceof": "RegExp"                },                "minItems": 1,                "type": "array"              },              {                "instanceof": "RegExp"              },              {                "instanceof": "Function"              },              {                "items": {                  "description": "An absolute path, when the module starts with this path it is not parsed",                  "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."          },          "defaultRules": {            "description": "An array of rules applied by default for modules.",            "anyOf": [              {                "$ref": "#/definitions/ruleSet-rules"              }            ]          },          "unknownContextCritical": {            "description": "Enable warnings when using the require function in a not statically analyse-able way",            "type": "boolean"          },          "unknownContextRecursive": {            "description": "Enable recursive directory lookup when using the require function in a not statically analyse-able way",            "type": "boolean"          },          "unknownContextRegExp": {            "description": "Sets the regular expression when using the require function in a not statically analyse-able way",            "anyOf": [              {                "type": "boolean"              },              {                "instanceof": "RegExp"              }            ]          },          "unknownContextRequest": {            "description": "Sets the request when using the require function in a not statically analyse-able way",            "type": "string"          },          "unsafeCache": {            "description": "Cache the resolving of module requests",            "anyOf": [              {                "type": "boolean"              },              {                "instanceof": "Function"              }            ]          },          "wrappedContextCritical": {            "description": "Enable warnings for partial dynamic dependencies",            "type": "boolean"          },          "wrappedContextRecursive": {            "description": "Enable recursive directory lookup for partial dynamic dependencies",            "type": "boolean"          },          "wrappedContextRegExp": {            "description": "Set the inner regular expression for partial dynamic dependencies",            "instanceof": "RegExp"          },          "strictExportPresence": {            "description": "Emit errors instead of warnings when imported names don't exist in imported module",            "type": "boolean"          },          "strictThisContextOnImports": {            "description": "Handle the this context correctly according to the spec for namespace objects",            "type": "boolean"          }        },        "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": {                    "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"                  }                },                "type": "object"              }            ]          },          "chunkFilename": {            "description": "The filename of non-entry chunks as relative path inside the `output.path` directory.",            "type": "string",            "absolutePath": false          },          "webassemblyModuleFilename": {            "description": "The filename of WebAssembly modules as relative path inside the `output.path` directory.",            "type": "string",            "absolutePath": false          },          "globalObject": {            "description": "An expression which is used to address the global object/scope in runtime code",            "type": "string",            "minLength": 1          },          "crossOriginLoading": {            "description": "This option enables cross-origin loading of chunks.",            "enum": [              false,              "anonymous",              "use-credentials"            ]          },          "jsonpScriptType": {            "description": "This option enables loading async chunks via a custom script type, such as script type=\"module\"",            "enum": [              false,              "text/javascript",              "module"            ]          },          "chunkLoadTimeout": {            "description": "Number of milliseconds before chunk request expires",            "type": "number"          },          "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"              }            ]          },          "devtoolNamespace": {            "description": "Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It's useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.",            "type": "string"          },          "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.",            "anyOf": [              {                "type": "string"              },              {                "instanceof": "Function"              }            ],            "absolutePath": false          },          "hashDigest": {            "description": "Digest type used for the hash",            "enum": [              "latin1",              "hex",              "base64"            ]          },          "hashDigestLength": {            "description": "Number of chars which are used for the hash",            "minimum": 1,            "type": "number"          },          "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",            "minLength": 1,            "type": "string"          },          "hotUpdateChunkFilename": {            "description": "The filename of the Hot Update Chunks. They are inside the output.path directory.",            "anyOf": [              {                "type": "string"              },              {                "instanceof": "Function"              }            ],            "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.",            "anyOf": [              {                "type": "string"              },              {                "instanceof": "Function"              }            ],            "absolutePath": false          },          "jsonpFunction": {            "description": "The JSONP function used by webpack for async loading of chunks.",            "type": "string"          },          "chunkCallbackName": {            "description": "The callback function name used by webpack for loading of chunks in WebWorkers.",            "type": "string"          },          "library": {            "anyOf": [              {                "type": "string"              },              {                "items": {                  "description": "A part of the library name",                  "type": "string"                },                "type": "array"              },              {                "type": "object",                "additionalProperties": false,                "properties": {                  "root": {                    "description": "Name of the property exposed globally by a UMD library",                    "anyOf": [                      {                        "type": "string"                      },                      {                        "$ref": "#/definitions/common.arrayOfStringValues"                      }                    ]                  },                  "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"                  }                }              }            ],            "description": "If set, export the bundle as library. `output.library` is the name."          },          "libraryTarget": {            "description": "Type of library",            "enum": [              "var",              "assign",              "this",              "window",              "self",              "global",              "commonjs",              "commonjs2",              "commonjs-module",              "amd",              "umd",              "umd2",              "jsonp"            ]          },          "libraryExport": {            "description": "Specify which export should be exposed as library",            "anyOf": [              {                "type": "string"              },              {                "$ref": "#/definitions/common.arrayOfStringValues"              }            ]          },          "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.",            "anyOf": [              {                "type": "string"              },              {                "instanceof": "Function"              }            ]          },          "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": {            "description": "Redirect module requests",            "anyOf": [              {                "additionalProperties": {                  "description": "New request",                  "type": "string"                },                "type": "object"              },              {                "items": {                  "description": "Alias configuration",                  "additionalProperties": false,                  "properties": {                    "alias": {                      "description": "New request",                      "type": "string"                    },                    "name": {                      "description": "Request to be redirected",                      "type": "string"                    },                    "onlyModule": {                      "description": "Redirect only exact matching request",                      "type": "boolean"                    }                  },                  "type": "object"                },                "type": "array"              }            ]          },          "aliasFields": {            "description": "Fields in the description file (package.json) which are used to redirect requests inside the module",            "anyOf": [              {                "$ref": "#/definitions/common.arrayOfStringOrStringArrayValues"              }            ]          },          "cachePredicate": {            "description": "Predicate function to decide which requests should be cached",            "instanceof": "Function"          },          "cacheWithContext": {            "description": "Include the context information in the cache identifier when caching",            "type": "boolean"          },          "descriptionFiles": {            "description": "Filenames used to find a description file",            "anyOf": [              {                "$ref": "#/definitions/common.arrayOfStringValues"              }            ]          },          "enforceExtension": {            "description": "Enforce using one of the extensions from the extensions option",            "type": "boolean"          },          "enforceModuleExtension": {            "description": "Enforce using one of the module extensions from the moduleExtensions option",            "type": "boolean"          },          "extensions": {            "description": "Extensions added to the request when trying to find the file",            "anyOf": [              {                "$ref": "#/definitions/common.arrayOfStringValues"              }            ]          },          "fileSystem": {            "description": "Filesystem for the resolver"          },          "mainFields": {            "description": "Field names from the description file (package.json) which are used to find the default entry point",            "anyOf": [              {                "$ref": "#/definitions/common.arrayOfStringOrStringArrayValues"              }            ]          },          "mainFiles": {            "description": "Filenames used to find the default entry point if there is no description file or main field",            "anyOf": [              {                "$ref": "#/definitions/common.arrayOfStringValues"              }            ]          },          "moduleExtensions": {            "description": "Extensions added to the module request when trying to find the module",            "anyOf": [              {                "$ref": "#/definitions/common.arrayOfStringValues"              }            ]          },          "modules": {            "description": "Folder names or directory paths where to find modules",            "anyOf": [              {                "$ref": "#/definitions/common.arrayOfStringValues"              }            ]          },          "plugins": {            "description": "Plugins for the resolver",            "type": "array",            "items": {              "description": "Plugin of type object or instanceof Function",              "anyOf": [                {                  "$ref": "#/definitions/common.pluginObject"                },                {                  "$ref": "#/definitions/common.pluginFunction"                }              ]            }          },          "resolver": {            "description": "Custom resolver"          },          "symlinks": {            "description": "Enable resolving symlinks to the original location",            "type": "boolean"          },          "concord": {            "description": "Enable concord resolving extras",            "type": "boolean"          },          "unsafeCache": {            "description": "Enable caching of successfully resolved requests",            "anyOf": [              {                "type": "boolean"              },              {                "additionalProperties": true,                "type": "object"              }            ]          },          "useSyncFileSystemCalls": {            "description": "Use synchronous filesystem calls for the resolver",            "type": "boolean"          }        },        "type": "object"      },      "ruleSet-condition": {        "anyOf": [          {            "instanceof": "RegExp"          },          {            "minLength": 1,            "type": "string"          },          {            "instanceof": "Function"          },          {            "$ref": "#/definitions/ruleSet-conditions"          },          {            "additionalProperties": false,            "properties": {              "and": {                "description": "Logical AND",                "anyOf": [                  {                    "$ref": "#/definitions/ruleSet-conditions"                  }                ]              },              "exclude": {                "description": "Exclude all modules matching any of these conditions",                "anyOf": [                  {                    "$ref": "#/definitions/ruleSet-condition"                  }                ]              },              "include": {                "description": "Exclude all modules matching not any of these conditions",                "anyOf": [                  {                    "$ref": "#/definitions/ruleSet-condition"                  }                ]              },              "not": {                "description": "Logical NOT",                "anyOf": [                  {                    "$ref": "#/definitions/ruleSet-conditions"                  }                ]              },              "or": {                "description": "Logical OR",                "anyOf": [                  {                    "$ref": "#/definitions/ruleSet-conditions"                  }                ]              },              "test": {                "description": "Exclude all modules matching any of these conditions",                "anyOf": [                  {                    "$ref": "#/definitions/ruleSet-condition"                  }                ]              }            },            "type": "object"          }        ]      },      "ruleSet-conditions": {        "items": {          "description": "A rule condition",          "anyOf": [            {              "$ref": "#/definitions/ruleSet-condition"            }          ]        },        "type": "array"      },      "ruleSet-loader": {        "minLength": 1,        "type": "string"      },      "ruleSet-query": {        "anyOf": [          {            "type": "object"          },          {            "type": "string"          }        ]      },      "ruleSet-rule": {        "additionalProperties": false,        "properties": {          "enforce": {            "description": "Enforce this rule as pre or post step",            "enum": [              "pre",              "post"            ]          },          "exclude": {            "description": "Shortcut for resource.exclude",            "allOf": [              {                "$ref": "#/definitions/ruleSet-condition"              },              {                "absolutePath": true              }            ]          },          "include": {            "description": "Shortcut for resource.include",            "allOf": [              {                "$ref": "#/definitions/ruleSet-condition"              },              {                "absolutePath": true              }            ]          },          "issuer": {            "description": "Match the issuer of the module (The module pointing to this module)",            "allOf": [              {                "$ref": "#/definitions/ruleSet-condition"              },              {                "absolutePath": true              }            ]          },          "loader": {            "description": "Shortcut for use.loader",            "anyOf": [              {                "$ref": "#/definitions/ruleSet-loader"              },              {                "$ref": "#/definitions/ruleSet-use"              }            ]          },          "loaders": {            "description": "Shortcut for use.loader",            "anyOf": [              {                "$ref": "#/definitions/ruleSet-use"              }            ]          },          "oneOf": {            "description": "Only execute the first matching rule in this array",            "anyOf": [              {                "$ref": "#/definitions/ruleSet-rules"              }            ]          },          "options": {            "description": "Shortcut for use.options",            "anyOf": [              {                "$ref": "#/definitions/ruleSet-query"              }            ]          },          "parser": {            "description": "Options for parsing",            "additionalProperties": true,            "type": "object"          },          "resolve": {            "description": "Options for the resolver",            "type": "object",            "anyOf": [              {                "$ref": "#/definitions/resolve"              }            ]          },          "sideEffects": {            "description": "Flags a module as with or without side effects",            "type": "boolean"          },          "query": {            "description": "Shortcut for use.query",            "anyOf": [              {                "$ref": "#/definitions/ruleSet-query"              }            ]          },          "type": {            "description": "Module type to use for the module",            "enum": [              "javascript/auto",              "javascript/dynamic",              "javascript/esm",              "json",              "webassembly/experimental"            ]          },          "resource": {            "description": "Match the resource path of the module",            "allOf": [              {                "$ref": "#/definitions/ruleSet-condition"              },              {                "absolutePath": true              }            ]          },          "resourceQuery": {            "description": "Match the resource query of the module",            "anyOf": [              {                "$ref": "#/definitions/ruleSet-condition"              }            ]          },          "compiler": {            "description": "Match the child compiler name",            "anyOf": [              {                "$ref": "#/definitions/ruleSet-condition"              }            ]          },          "rules": {            "description": "Match and execute these rules when this rule is matched",            "anyOf": [              {                "$ref": "#/definitions/ruleSet-rules"              }            ]          },          "test": {            "description": "Shortcut for resource.test",            "allOf": [              {                "$ref": "#/definitions/ruleSet-condition"              },              {                "absolutePath": true              }            ]          },          "use": {            "description": "Modifiers applied to the module when rule is matched",            "anyOf": [              {                "$ref": "#/definitions/ruleSet-use"              }            ]          }        },        "type": "object"      },      "ruleSet-rules": {        "items": {          "description": "A rule",          "anyOf": [            {              "$ref": "#/definitions/ruleSet-rule"            }          ]        },        "type": "array"      },      "ruleSet-use": {        "anyOf": [          {            "$ref": "#/definitions/ruleSet-use-item"          },          {            "instanceof": "Function"          },          {            "items": {              "description": "An use item",              "anyOf": [                {                  "$ref": "#/definitions/ruleSet-use-item"                }              ]            },            "type": "array"          }        ]      },      "ruleSet-use-item": {        "anyOf": [          {            "$ref": "#/definitions/ruleSet-loader"          },          {            "instanceof": "Function"          },          {            "additionalProperties": false,            "properties": {              "loader": {                "description": "Loader name",                "anyOf": [                  {                    "$ref": "#/definitions/ruleSet-loader"                  }                ]              },              "options": {                "description": "Loader options",                "anyOf": [                  {                    "$ref": "#/definitions/ruleSet-query"                  }                ]              },              "ident": {                "description": "Unique loader identifier",                "type": "string"              },              "query": {                "description": "Loader query",                "anyOf": [                  {                    "$ref": "#/definitions/ruleSet-query"                  }                ]              }            },            "type": "object"          }        ]      },      "filter-item-types": {        "anyOf": [          {            "instanceof": "RegExp"          },          {            "type": "string"          },          {            "instanceof": "Function"          }        ]      },      "filter-types": {        "anyOf": [          {            "$ref": "#/definitions/filter-item-types"          },          {            "type": "array",            "items": {              "description": "Rule to filter",              "anyOf": [                {                  "$ref": "#/definitions/filter-item-types"                }              ]            }          }        ]      }    },    "properties": {      "mode": {        "description": "Enable production optimizations or development hints.",        "enum": [          "development",          "production",          "none"        ]      },      "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": {          "description": "References to another configuration to depend on.",          "type": "string"        },        "type": "array"      },      "devServer": {        "description": "Options for the webpack-dev-server",        "type": "object"      },      "devtool": {        "description": "A developer tool to enhance debugging.",        "anyOf": [          {            "type": "string"          },          {            "enum": [              false            ]          }        ]      },      "entry": {        "description": "The entry point(s) of the compilation.",        "anyOf": [          {            "$ref": "#/definitions/entry"          }        ]      },      "externals": {        "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"          }        ]      },      "loader": {        "description": "Custom values available in the loader context.",        "type": "object"      },      "module": {        "description": "Options affecting the normal modules (`NormalModuleFactory`).",        "anyOf": [          {            "$ref": "#/definitions/module"          }        ]      },      "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            ]          },          {            "additionalProperties": {              "description": "Include a polyfill for the node.js module",              "enum": [                false,                true,                "mock",                "empty"              ]            },            "properties": {              "Buffer": {                "description": "Include a polyfill for the 'Buffer' variable",                "enum": [                  false,                  true,                  "mock"                ]              },              "__dirname": {                "description": "Include a polyfill for the '__dirname' variable",                "enum": [                  false,                  true,                  "mock"                ]              },              "__filename": {                "description": "Include a polyfill for the '__filename' variable",                "enum": [                  false,                  true,                  "mock"                ]              },              "console": {                "description": "Include a polyfill for the 'console' variable",                "enum": [                  false,                  true,                  "mock"                ]              },              "global": {                "description": "Include a polyfill for the 'global' variable",                "type": "boolean"              },              "process": {                "description": "Include a polyfill for the 'process' variable",                "enum": [                  false,                  true,                  "mock"                ]              }            },            "type": "object"          }        ]      },      "output": {        "description": "Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.",        "anyOf": [          {            "$ref": "#/definitions/output"          }        ]      },      "optimization": {        "description": "Enables/Disables integrated optimizations",        "type": "object",        "additionalProperties": false,        "properties": {          "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"          },          "mergeDuplicateChunks": {            "description": "Merge chunks which contain the same modules",            "type": "boolean"          },          "flagIncludedChunks": {            "description": "Also flag chunks as loaded which contain a subset of the modules",            "type": "boolean"          },          "occurrenceOrder": {            "description": "Figure out a order of modules which results in the smallest initial bundle",            "type": "boolean"          },          "sideEffects": {            "description": "Skip over modules which are flagged to contain no side effects when exports are not used",            "type": "boolean"          },          "providedExports": {            "description": "Figure out which exports are provided by modules to generate more efficient code",            "type": "boolean"          },          "usedExports": {            "description": "Figure out which exports are used by modules to mangle export names, omit unused exports and generate more efficient code",            "type": "boolean"          },          "concatenateModules": {            "description": "Concatenate modules when possible to generate less modules, more efficient code and enable more optimizations by the minimizer",            "type": "boolean"          },          "splitChunks": {            "description": "Optimize duplication and caching by splitting chunks by shared modules and cache group",            "oneOf": [              {                "enum": [                  false                ]              },              {                "type": "object",                "additionalProperties": false,                "properties": {                  "chunks": {                    "description": "Select chunks for determining shared modules (defaults to \"async\", \"initial\" and \"all\" requires adding these chunks to the HTML)",                    "oneOf": [                      {                        "enum": [                          "initial",                          "async",                          "all"                        ]                      },                      {                        "instanceof": "Function"                      }                    ]                  },                  "minSize": {                    "description": "Minimal size for the created chunk",                    "type": "number",                    "minimum": 0                  },                  "minChunks": {                    "description": "Minimum number of times a module has to be duplicated until it's considered for splitting",                    "type": "number",                    "minimum": 1                  },                  "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                  },                  "name": {                    "description": "Give chunks created a name (chunks with equal name are merged)",                    "oneOf": [                      {                        "type": "boolean"                      },                      {                        "instanceof": "Function"                      },                      {                        "type": "string"                      }                    ]                  },                  "filename": {                    "description": "Sets the template for the filename for created chunks (Only works for initial chunks)",                    "type": "string",                    "minLength": 1                  },                  "automaticNameDelimiter": {                    "description": "Sets the name delimiter for created chunks",                    "type": "string",                    "minLength": 1                  },                  "cacheGroups": {                    "description": "Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks)",                    "type": "object",                    "additionalProperties": {                      "description": "Configuration for a cache group",                      "anyOf": [                        {                          "enum": [                            false                          ]                        },                        {                          "instanceof": "Function"                        },                        {                          "type": "string"                        },                        {                          "instanceof": "RegExp"                        },                        {                          "type": "object",                          "additionalProperties": false,                          "properties": {                            "test": {                              "description": "Assign modules to a cache group",                              "oneOf": [                                {                                  "instanceof": "Function"                                },                                {                                  "type": "string"                                },                                {                                  "instanceof": "RegExp"                                }                              ]                            },                            "chunks": {                              "description": "Select chunks for determining cache group content (defaults to \"initial\", \"initial\" and \"all\" requires adding these chunks to the HTML)",                              "oneOf": [                                {                                  "enum": [                                    "initial",                                    "async",                                    "all"                                  ]                                },                                {                                  "instanceof": "Function"                                }                              ]                            },                            "enforce": {                              "description": "Ignore minimum size, minimum chunks and maximum requests and always create chunks for this cache group",                              "type": "boolean"                            },                            "priority": {                              "description": "Priority of this cache group",                              "type": "number"                            },                            "minSize": {                              "description": "Minimal size for the created chunk",                              "type": "number",                              "minimum": 0                            },                            "minChunks": {                              "description": "Minimum number of times a module has to be duplicated until it's considered for splitting",                              "type": "number",                              "minimum": 1                            },                            "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                            },                            "reuseExistingChunk": {                              "description": "Try to reuse existing chunk (with name) when it has matching modules",                              "type": "boolean"                            },                            "name": {                              "description": "Give chunks for this cache group a name (chunks with equal name are merged)",                              "oneOf": [                                {                                  "type": "boolean"                                },                                {                                  "instanceof": "Function"                                },                                {                                  "type": "string"                                }                              ]                            },                            "filename": {                              "description": "Sets the template for the filename for created chunks (Only works for initial chunks)",                              "type": "string",                              "minLength": 1                            }                          }                        }                      ]                    }                  }                }              }            ]          },          "runtimeChunk": {            "description": "Create an additional chunk which contains only the webpack runtime and chunk hash maps",            "oneOf": [              {                "type": "boolean"              },              {                "enum": [                  "single",                  "multiple"                ]              },              {                "type": "object",                "additionalProperties": false,                "properties": {                  "name": {                    "description": "The name or name factory for the runtime chunks",                    "oneOf": [                      {                        "type": "string"                      },                      {                        "instanceof": "Function"                      }                    ]                  }                }              }            ]          },          "noEmitOnErrors": {            "description": "Avoid emitting assets when errors occur",            "type": "boolean"          },          "namedModules": {            "description": "Use readable module identifiers for better debugging",            "type": "boolean"          },          "namedChunks": {            "description": "Use readable chunk identifiers for better debugging",            "type": "boolean"          },          "portableRecords": {            "description": "Generate records with relative paths to be able to move the context folder",            "type": "boolean"          },          "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": [                {                  "$ref": "#/definitions/common.pluginObject"                },                {                  "$ref": "#/definitions/common.pluginFunction"                }              ]            }          },          "nodeEnv": {            "description": "Set process.env.NODE_ENV to a specific value",            "anyOf": [              {                "enum": [                  false                ]              },              {                "type": "string"              }            ]          }        }      },      "parallelism": {        "description": "The number of parallel processed modules in the compilation.",        "minimum": 1,        "type": "number"      },      "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",        "items": {          "description": "Plugin of type object or instanceof Function",          "anyOf": [            {              "$ref": "#/definitions/common.pluginObject"            },            {              "$ref": "#/definitions/common.pluginFunction"            }          ]        }      },      "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": {        "description": "Options for the resolver",        "anyOf": [          {            "$ref": "#/definitions/resolve"          }        ]      },      "resolveLoader": {        "description": "Options for the resolver when resolving loaders",        "anyOf": [          {            "$ref": "#/definitions/resolve"          }        ]      },      "serve": {        "description": "Options for webpack-dev-server",        "type": "object"      },      "stats": {        "description": "Used by the webpack CLI program to pass stats options.",        "anyOf": [          {            "type": "object",            "additionalProperties": false,            "properties": {              "all": {                "type": "boolean",                "description": "fallback value for stats options when an option is not defined (has precedence over local webpack defaults)"              },              "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"              },              "builtAt": {                "type": "boolean",                "description": "add built at time information"              },              "performance": {                "type": "boolean",                "description": "add performance hint flags"              },              "depth": {                "type": "boolean",                "description": "add module depth in module graph"              },              "assets": {                "type": "boolean",                "description": "add assets information"              },              "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"              },              "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"              },              "nestedModules": {                "type": "boolean",                "description": "add information about modules nested in other modules (like with module concatenation)"              },              "moduleAssets": {                "type": "boolean",                "description": "add information about assets inside modules"              },              "children": {                "type": "boolean",                "description": "add children information"              },              "cached": {                "type": "boolean",                "description": "add also information about cached (not built) modules"              },              "cachedAssets": {                "type": "boolean",                "description": "Show cached assets (setting this to `false` only shows emitted files)"              },              "reasons": {                "type": "boolean",                "description": "add information about the reasons why modules are included"              },              "source": {                "type": "boolean",                "description": "add the source code of modules"              },              "warnings": {                "type": "boolean",                "description": "add warnings"              },              "errors": {                "type": "boolean",                "description": "add errors"              },              "warningsFilter": {                "description": "Suppress warnings that match the specified filters. Filters can be Strings, RegExps or Functions",                "anyOf": [                  {                    "$ref": "#/definitions/filter-types"                  }                ]              },              "excludeAssets": {                "description": "Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions",                "anyOf": [                  {                    "$ref": "#/definitions/filter-types"                  }                ]              },              "excludeModules": {                "description": "Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions",                "anyOf": [                  {                    "$ref": "#/definitions/filter-types"                  },                  {                    "type": "boolean"                  }                ]              },              "exclude": {                "description": "Please use excludeModules instead.",                "anyOf": [                  {                    "$ref": "#/definitions/filter-types"                  },                  {                    "type": "boolean"                  }                ]              },              "entrypoints": {                "type": "boolean",                "description": "Display the entry points with the corresponding bundles"              },              "chunkGroups": {                "type": "boolean",                "description": "Display all chunk groups with the corresponding bundles"              },              "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"              },              "moduleTrace": {                "type": "boolean",                "description": "add dependencies and origin of warnings/errors"              },              "chunksSort": {                "type": "string",                "description": "sort the chunks by that field"              },              "assetsSort": {                "type": "string",                "description": "sort the assets by that field"              },              "publicPath": {                "type": "boolean",                "description": "Add public path information"              },              "outputPath": {                "type": "boolean",                "description": "Add output path information"              },              "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"              }            }          },          {            "type": "boolean"          },          {            "enum": [              "none",              "errors-only",              "minimal",              "normal",              "detailed",              "verbose"            ]          }        ]      },      "target": {        "description": "Environment to build for",        "anyOf": [          {            "enum": [              "web",              "webworker",              "node",              "async-node",              "node-webkit",              "electron-main",              "electron-renderer"            ]          },          {            "instanceof": "Function"          }        ]      },      "watch": {        "description": "Enter watch mode, which rebuilds on file change.",        "type": "boolean"      },      "watchOptions": {        "description": "Options for the watcher",        "additionalProperties": false,        "properties": {          "aggregateTimeout": {            "description": "Delay the rebuilt after the first change. Value is a time in ms.",            "type": "number"          },          "ignored": {            "description": "Ignore some files from watching"          },          "stdin": {            "description": "Stop watching when stdin stream has ended",            "type": "boolean"          },          "poll": {            "description": "Enable polling mode for watching",            "anyOf": [              {                "description": "`true`: use polling.",                "type": "boolean"              },              {                "description": "`number`: use polling with specified interval.",                "type": "number"              }            ]          }        },        "type": "object"      }    },    "type": "object"  }  
 |