webpack 4.1.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +719 -721
  2. package/bin/webpack.js +69 -10
  3. package/lib/APIPlugin.js +84 -84
  4. package/lib/AmdMainTemplatePlugin.js +75 -77
  5. package/lib/AsyncDependencyToInitialChunkError.js +21 -23
  6. package/lib/BannerPlugin.js +101 -101
  7. package/lib/Chunk.js +477 -469
  8. package/lib/ChunkTemplate.js +51 -53
  9. package/lib/Compilation.js +1858 -1851
  10. package/lib/Compiler.js +493 -478
  11. package/lib/ConcurrentCompilationError.js +19 -0
  12. package/lib/ContextModule.js +696 -685
  13. package/lib/ContextModuleFactory.js +245 -243
  14. package/lib/DefinePlugin.js +197 -197
  15. package/lib/DelegatedModule.js +101 -101
  16. package/lib/DependenciesBlockVariable.js +51 -52
  17. package/lib/Dependency.js +53 -52
  18. package/lib/DllModule.js +54 -54
  19. package/lib/DllModuleFactory.js +29 -29
  20. package/lib/EnvironmentPlugin.js +65 -67
  21. package/lib/EvalDevToolModuleTemplatePlugin.js +60 -60
  22. package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +105 -105
  23. package/lib/ExportPropertyMainTemplatePlugin.js +40 -40
  24. package/lib/ExternalModule.js +159 -159
  25. package/lib/FunctionModuleTemplatePlugin.js +98 -98
  26. package/lib/HotModuleReplacement.runtime.js +631 -631
  27. package/lib/HotModuleReplacementPlugin.js +407 -406
  28. package/lib/HotUpdateChunkTemplate.js +78 -80
  29. package/lib/JavascriptGenerator.js +228 -229
  30. package/lib/JavascriptModulesPlugin.js +184 -158
  31. package/lib/JsonGenerator.js +42 -42
  32. package/lib/MainTemplate.js +406 -402
  33. package/lib/Module.js +343 -340
  34. package/lib/ModuleBuildError.js +42 -42
  35. package/lib/ModuleError.js +28 -28
  36. package/lib/ModuleFilenameHelpers.js +166 -166
  37. package/lib/ModuleTemplate.js +77 -79
  38. package/lib/ModuleWarning.js +30 -30
  39. package/lib/MultiCompiler.js +271 -259
  40. package/lib/MultiModule.js +78 -75
  41. package/lib/MultiModuleFactory.js +23 -23
  42. package/lib/MultiWatching.js +38 -37
  43. package/lib/NoModeWarning.js +23 -21
  44. package/lib/NormalModule.js +478 -470
  45. package/lib/NormalModuleFactory.js +483 -481
  46. package/lib/OptionsDefaulter.js +80 -86
  47. package/lib/Parser.js +2074 -2071
  48. package/lib/ProgressPlugin.js +231 -231
  49. package/lib/RawModule.js +54 -55
  50. package/lib/RecordIdsPlugin.js +160 -160
  51. package/lib/RemovedPluginError.js +13 -13
  52. package/lib/ResolverFactory.js +64 -67
  53. package/lib/RuntimeTemplate.js +267 -297
  54. package/lib/SetVarMainTemplatePlugin.js +57 -57
  55. package/lib/SourceMapDevToolPlugin.js +302 -308
  56. package/lib/Stats.js +1234 -1212
  57. package/lib/Template.js +205 -205
  58. package/lib/TemplatedPathPlugin.js +170 -143
  59. package/lib/UmdMainTemplatePlugin.js +264 -269
  60. package/lib/Watching.js +193 -193
  61. package/lib/WebAssemblyParser.js +50 -54
  62. package/lib/WebpackOptionsApply.js +401 -401
  63. package/lib/WebpackOptionsDefaulter.js +337 -317
  64. package/lib/WebpackOptionsValidationError.js +316 -319
  65. package/lib/debug/ProfilingPlugin.js +409 -405
  66. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +328 -311
  67. package/lib/dependencies/AMDRequireContextDependency.js +20 -20
  68. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +270 -241
  69. package/lib/dependencies/HarmonyAcceptImportDependency.js +23 -23
  70. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +620 -606
  71. package/lib/dependencies/HarmonyExportSpecifierDependency.js +53 -53
  72. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +214 -214
  73. package/lib/dependencies/HarmonyImportSpecifierDependency.js +154 -156
  74. package/lib/dependencies/ImportDependenciesBlock.js +17 -17
  75. package/lib/dependencies/ImportDependency.js +34 -34
  76. package/lib/dependencies/ImportEagerDependency.js +32 -32
  77. package/lib/dependencies/ImportParserPlugin.js +175 -179
  78. package/lib/dependencies/ImportWeakDependency.js +34 -34
  79. package/lib/dependencies/JsonExportsDependency.js +25 -25
  80. package/lib/dependencies/ModuleDependency.js +20 -20
  81. package/lib/dependencies/NullDependency.js +20 -20
  82. package/lib/dependencies/RequireContextDependency.js +22 -22
  83. package/lib/dependencies/RequireIncludeDependency.js +40 -40
  84. package/lib/dependencies/WebpackMissingModule.js +20 -22
  85. package/lib/node/NodeChunkTemplatePlugin.js +31 -31
  86. package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +36 -36
  87. package/lib/node/NodeMainTemplatePlugin.js +320 -273
  88. package/lib/node/ReadFileCompileWasmMainTemplatePlugin.js +113 -115
  89. package/lib/optimize/AggressiveSplittingPlugin.js +281 -281
  90. package/lib/optimize/ConcatenatedModule.js +1364 -1366
  91. package/lib/optimize/RemoveParentModulesPlugin.js +114 -114
  92. package/lib/optimize/SplitChunksPlugin.js +519 -491
  93. package/lib/performance/SizeLimitsPlugin.js +105 -105
  94. package/lib/util/TrackingSet.js +35 -35
  95. package/lib/util/objectToMap.js +10 -10
  96. package/lib/wasm/WasmModuleTemplatePlugin.js +106 -106
  97. package/lib/web/JsonpChunkTemplatePlugin.js +47 -47
  98. package/lib/web/JsonpExportMainTemplatePlugin.js +47 -47
  99. package/lib/web/JsonpHotUpdateChunkTemplatePlugin.js +39 -39
  100. package/lib/web/JsonpMainTemplatePlugin.js +425 -403
  101. package/lib/webpack.js +182 -179
  102. package/lib/webworker/WebWorkerChunkTemplatePlugin.js +35 -35
  103. package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +40 -40
  104. package/lib/webworker/WebWorkerMainTemplatePlugin.js +177 -154
  105. package/package.json +9 -8
  106. package/schemas/WebpackOptions.json +1973 -1951
  107. package/schemas/ajv.absolutePath.js +55 -29
  108. package/schemas/plugins/BannerPlugin.json +85 -85
  109. package/schemas/plugins/DllPlugin.json +28 -28
  110. package/schemas/plugins/DllReferencePlugin.json +99 -99
  111. package/schemas/plugins/HashedModuleIdsPlugin.json +24 -24
  112. package/schemas/plugins/LoaderOptionsPlugin.json +26 -26
  113. package/schemas/plugins/SourceMapDevToolPlugin.json +187 -187
  114. package/schemas/plugins/WatchIgnorePlugin.json +16 -16
  115. package/schemas/plugins/debug/ProfilingPlugin.json +12 -12
  116. package/schemas/plugins/optimize/AggressiveSplittingPlugin.json +22 -22
  117. package/schemas/plugins/optimize/LimitChunkCountPlugin.json +15 -15
  118. package/schemas/plugins/optimize/MinChunkSizePlugin.json +13 -13
@@ -1,29 +1,55 @@
1
- "use strict";
2
-
3
- const getErrorFor = (shouldBeAbsolute, data, schema) => {
4
- const message = shouldBeAbsolute ?
5
- `The provided value ${JSON.stringify(data)} is not an absolute path!`
6
- : `A relative path is expected. However the provided value ${JSON.stringify(data)} is an absolute path!`;
7
-
8
- return {
9
- keyword: "absolutePath",
10
- params: { absolutePath: data },
11
- message: message,
12
- parentSchema: schema,
13
- };
14
- };
15
- module.exports = (ajv) => ajv.addKeyword("absolutePath", {
16
- errors: true,
17
- type: "string",
18
- compile(expected, schema) {
19
- function callback(data) {
20
- const passes = expected === /^(?:[A-Za-z]:\\|\/)/.test(data);
21
- if(!passes) {
22
- callback.errors = [getErrorFor(expected, data, schema)];
23
- }
24
- return passes;
25
- }
26
- callback.errors = [];
27
- return callback;
28
- }
29
- });
1
+ "use strict";
2
+
3
+ const errorMessage = (schema, data, message) => ({
4
+ keyword: "absolutePath",
5
+ params: { absolutePath: data },
6
+ message: message,
7
+ parentSchema: schema
8
+ });
9
+
10
+ const getErrorFor = (shouldBeAbsolute, data, schema) => {
11
+ const message = shouldBeAbsolute
12
+ ? `The provided value ${JSON.stringify(data)} is not an absolute path!`
13
+ : `A relative path is expected. However, the provided value ${JSON.stringify(
14
+ data
15
+ )} is an absolute path!`;
16
+
17
+ return errorMessage(schema, data, message);
18
+ };
19
+
20
+ module.exports = ajv =>
21
+ ajv.addKeyword("absolutePath", {
22
+ errors: true,
23
+ type: "string",
24
+ compile(expected, schema) {
25
+ function callback(data) {
26
+ let passes = true;
27
+ const isExclamationMarkPresent = data.includes("!");
28
+ const isCorrectAbsoluteOrRelativePath =
29
+ expected === /^(?:[A-Za-z]:\\|\/)/.test(data);
30
+
31
+ if (isExclamationMarkPresent) {
32
+ callback.errors = [
33
+ errorMessage(
34
+ schema,
35
+ data,
36
+ `The provided value ${JSON.stringify(
37
+ data
38
+ )} contans exclamation mark (!) which is not allowed because it's reserved for loader syntax.`
39
+ )
40
+ ];
41
+ passes = false;
42
+ }
43
+
44
+ if (!isCorrectAbsoluteOrRelativePath) {
45
+ callback.errors = [getErrorFor(expected, data, schema)];
46
+ passes = false;
47
+ }
48
+
49
+ return passes;
50
+ }
51
+ callback.errors = [];
52
+
53
+ return callback;
54
+ }
55
+ });
@@ -1,85 +1,85 @@
1
- {
2
- "definitions": {
3
- "rule": {
4
- "oneOf": [
5
- {
6
- "instanceof": "RegExp"
7
- },
8
- {
9
- "minLength": 1,
10
- "type": "string"
11
- }
12
- ]
13
- },
14
- "rules": {
15
- "oneOf": [
16
- {
17
- "items": {
18
- "description": "A rule condition",
19
- "anyOf": [
20
- {
21
- "$ref": "#/definitions/rule"
22
- }
23
- ]
24
- },
25
- "type": "array"
26
- },
27
- {
28
- "$ref": "#/definitions/rule"
29
- }
30
- ]
31
- }
32
- },
33
- "oneOf": [
34
- {
35
- "type": "object",
36
- "additionalProperties": false,
37
- "required": [
38
- "banner"
39
- ],
40
- "properties": {
41
- "banner": {
42
- "description": "The banner as string, it will be wrapped in a comment",
43
- "type": "string"
44
- },
45
- "raw": {
46
- "description": "If true, banner will not be wrapped in a comment",
47
- "type": "boolean"
48
- },
49
- "entryOnly": {
50
- "description": "If true, the banner will only be added to the entry chunks",
51
- "type": "boolean"
52
- },
53
- "test": {
54
- "description": "Include all modules that pass test assertion",
55
- "anyOf": [
56
- {
57
- "$ref": "#/definitions/rules"
58
- }
59
- ]
60
- },
61
- "include": {
62
- "description": "Include all modules matching any of these conditions",
63
- "anyOf": [
64
- {
65
- "$ref": "#/definitions/rules"
66
- }
67
- ]
68
- },
69
- "exclude": {
70
- "description": "Exclude all modules matching any of these conditions",
71
- "anyOf": [
72
- {
73
- "$ref": "#/definitions/rules"
74
- }
75
- ]
76
- }
77
- }
78
- },
79
- {
80
- "description": "The banner as string, it will be wrapped in a comment",
81
- "minLength": 1,
82
- "type": "string"
83
- }
84
- ]
85
- }
1
+ {
2
+ "definitions": {
3
+ "rule": {
4
+ "oneOf": [
5
+ {
6
+ "instanceof": "RegExp"
7
+ },
8
+ {
9
+ "minLength": 1,
10
+ "type": "string"
11
+ }
12
+ ]
13
+ },
14
+ "rules": {
15
+ "oneOf": [
16
+ {
17
+ "items": {
18
+ "description": "A rule condition",
19
+ "anyOf": [
20
+ {
21
+ "$ref": "#/definitions/rule"
22
+ }
23
+ ]
24
+ },
25
+ "type": "array"
26
+ },
27
+ {
28
+ "$ref": "#/definitions/rule"
29
+ }
30
+ ]
31
+ }
32
+ },
33
+ "oneOf": [
34
+ {
35
+ "type": "object",
36
+ "additionalProperties": false,
37
+ "required": [
38
+ "banner"
39
+ ],
40
+ "properties": {
41
+ "banner": {
42
+ "description": "The banner as string, it will be wrapped in a comment",
43
+ "type": "string"
44
+ },
45
+ "raw": {
46
+ "description": "If true, banner will not be wrapped in a comment",
47
+ "type": "boolean"
48
+ },
49
+ "entryOnly": {
50
+ "description": "If true, the banner will only be added to the entry chunks",
51
+ "type": "boolean"
52
+ },
53
+ "test": {
54
+ "description": "Include all modules that pass test assertion",
55
+ "anyOf": [
56
+ {
57
+ "$ref": "#/definitions/rules"
58
+ }
59
+ ]
60
+ },
61
+ "include": {
62
+ "description": "Include all modules matching any of these conditions",
63
+ "anyOf": [
64
+ {
65
+ "$ref": "#/definitions/rules"
66
+ }
67
+ ]
68
+ },
69
+ "exclude": {
70
+ "description": "Exclude all modules matching any of these conditions",
71
+ "anyOf": [
72
+ {
73
+ "$ref": "#/definitions/rules"
74
+ }
75
+ ]
76
+ }
77
+ }
78
+ },
79
+ {
80
+ "description": "The banner as string, it will be wrapped in a comment",
81
+ "minLength": 1,
82
+ "type": "string"
83
+ }
84
+ ]
85
+ }
@@ -1,28 +1,28 @@
1
- {
2
- "additionalProperties": false,
3
- "required": [
4
- "path"
5
- ],
6
- "properties": {
7
- "context": {
8
- "description": "Context of requests in the manifest file (defaults to the webpack context)",
9
- "minLength": 1,
10
- "type": "string"
11
- },
12
- "name": {
13
- "description": "Name of the exposed dll function (external name, use value of 'output.library')",
14
- "minLength": 1,
15
- "type": "string"
16
- },
17
- "type": {
18
- "description": "Type of the dll bundle (external type, use value of 'output.libraryTarget')",
19
- "minLength": 1,
20
- "type": "string"
21
- },
22
- "path": {
23
- "description": "Absolute path to the manifest json file (output)",
24
- "minLength": 1,
25
- "type": "string"
26
- }
27
- }
28
- }
1
+ {
2
+ "additionalProperties": false,
3
+ "required": [
4
+ "path"
5
+ ],
6
+ "properties": {
7
+ "context": {
8
+ "description": "Context of requests in the manifest file (defaults to the webpack context)",
9
+ "minLength": 1,
10
+ "type": "string"
11
+ },
12
+ "name": {
13
+ "description": "Name of the exposed dll function (external name, use value of 'output.library')",
14
+ "minLength": 1,
15
+ "type": "string"
16
+ },
17
+ "type": {
18
+ "description": "Type of the dll bundle (external type, use value of 'output.libraryTarget')",
19
+ "minLength": 1,
20
+ "type": "string"
21
+ },
22
+ "path": {
23
+ "description": "Absolute path to the manifest json file (output)",
24
+ "minLength": 1,
25
+ "type": "string"
26
+ }
27
+ }
28
+ }
@@ -1,99 +1,99 @@
1
- {
2
- "additionalProperties": false,
3
- "anyOf": [
4
- {
5
- "required": [
6
- "manifest"
7
- ]
8
- },
9
- {
10
- "required": [
11
- "content"
12
- ]
13
- }
14
- ],
15
- "properties": {
16
- "context": {
17
- "description": "(absolute path) context of requests in the manifest (or content property)",
18
- "type": "string",
19
- "absolutePath": true
20
- },
21
- "manifest": {
22
- "description": "An object containing content and name or a string to the absolute path of the JSON manifest to be loaded upon compilation",
23
- "oneOf": [
24
- {
25
- "type": "object",
26
- "additionalProperties": false,
27
- "properties": {
28
- "content": {
29
- "description": "The mappings from request to module id",
30
- "minLength": 1,
31
- "type": "object"
32
- },
33
- "name": {
34
- "description": "The name where the dll is exposed (external name)",
35
- "minLength": 1,
36
- "type": "string"
37
- },
38
- "type": {
39
- "description": "The type how the dll is exposed (external type)",
40
- "minLength": 1,
41
- "type": "string"
42
- }
43
- }
44
- },
45
- {
46
- "type": "string",
47
- "absolutePath": true
48
- }
49
- ]
50
- },
51
- "content": {
52
- "description": "The mappings from request to module id (defaults to manifest.content)",
53
- "minLength": 1,
54
- "type": "object"
55
- },
56
- "name": {
57
- "description": "The name where the dll is exposed (external name, defaults to manifest.name)",
58
- "minLength": 1,
59
- "type": "string"
60
- },
61
- "type": {
62
- "description": "The way how the export of the dll bundle is used",
63
- "enum": [
64
- "require",
65
- "object"
66
- ]
67
- },
68
- "scope": {
69
- "description": "Prefix which is used for accessing the content of the dll",
70
- "minLength": 1,
71
- "type": "string"
72
- },
73
- "sourceType": {
74
- "description": "How the dll is exposed (libraryTarget, defaults to manifest.type)",
75
- "enum": [
76
- "var",
77
- "assign",
78
- "this",
79
- "window",
80
- "global",
81
- "commonjs",
82
- "commonjs2",
83
- "commonjs-module",
84
- "amd",
85
- "umd",
86
- "umd2",
87
- "jsonp"
88
- ]
89
- },
90
- "extensions": {
91
- "description": "Extensions used to resolve modules in the dll bundle (only used when using 'scope')",
92
- "type": "array",
93
- "items": {
94
- "description": "An extension",
95
- "type": "string"
96
- }
97
- }
98
- }
99
- }
1
+ {
2
+ "additionalProperties": false,
3
+ "anyOf": [
4
+ {
5
+ "required": [
6
+ "manifest"
7
+ ]
8
+ },
9
+ {
10
+ "required": [
11
+ "content"
12
+ ]
13
+ }
14
+ ],
15
+ "properties": {
16
+ "context": {
17
+ "description": "(absolute path) context of requests in the manifest (or content property)",
18
+ "type": "string",
19
+ "absolutePath": true
20
+ },
21
+ "manifest": {
22
+ "description": "An object containing content and name or a string to the absolute path of the JSON manifest to be loaded upon compilation",
23
+ "oneOf": [
24
+ {
25
+ "type": "object",
26
+ "additionalProperties": false,
27
+ "properties": {
28
+ "content": {
29
+ "description": "The mappings from request to module id",
30
+ "minLength": 1,
31
+ "type": "object"
32
+ },
33
+ "name": {
34
+ "description": "The name where the dll is exposed (external name)",
35
+ "minLength": 1,
36
+ "type": "string"
37
+ },
38
+ "type": {
39
+ "description": "The type how the dll is exposed (external type)",
40
+ "minLength": 1,
41
+ "type": "string"
42
+ }
43
+ }
44
+ },
45
+ {
46
+ "type": "string",
47
+ "absolutePath": true
48
+ }
49
+ ]
50
+ },
51
+ "content": {
52
+ "description": "The mappings from request to module id (defaults to manifest.content)",
53
+ "minLength": 1,
54
+ "type": "object"
55
+ },
56
+ "name": {
57
+ "description": "The name where the dll is exposed (external name, defaults to manifest.name)",
58
+ "minLength": 1,
59
+ "type": "string"
60
+ },
61
+ "type": {
62
+ "description": "The way how the export of the dll bundle is used",
63
+ "enum": [
64
+ "require",
65
+ "object"
66
+ ]
67
+ },
68
+ "scope": {
69
+ "description": "Prefix which is used for accessing the content of the dll",
70
+ "minLength": 1,
71
+ "type": "string"
72
+ },
73
+ "sourceType": {
74
+ "description": "How the dll is exposed (libraryTarget, defaults to manifest.type)",
75
+ "enum": [
76
+ "var",
77
+ "assign",
78
+ "this",
79
+ "window",
80
+ "global",
81
+ "commonjs",
82
+ "commonjs2",
83
+ "commonjs-module",
84
+ "amd",
85
+ "umd",
86
+ "umd2",
87
+ "jsonp"
88
+ ]
89
+ },
90
+ "extensions": {
91
+ "description": "Extensions used to resolve modules in the dll bundle (only used when using 'scope')",
92
+ "type": "array",
93
+ "items": {
94
+ "description": "An extension",
95
+ "type": "string"
96
+ }
97
+ }
98
+ }
99
+ }
@@ -1,24 +1,24 @@
1
- {
2
- "type": "object",
3
- "additionalProperties": false,
4
- "properties": {
5
- "hashFunction": {
6
- "description": "The hashing algorithm to use, defaults to 'md5'. All functions from Node.JS' crypto.createHash are supported.",
7
- "type": "string",
8
- "minLength": 1
9
- },
10
- "hashDigest": {
11
- "description": "The encoding to use when generating the hash, defaults to 'base64'. All encodings from Node.JS' hash.digest are supported.",
12
- "enum": [
13
- "hex",
14
- "latin1",
15
- "base64"
16
- ]
17
- },
18
- "hashDigestLength": {
19
- "description": "The prefix length of the hash digest to use, defaults to 4.",
20
- "type": "number",
21
- "minimum": 1
22
- }
23
- }
24
- }
1
+ {
2
+ "type": "object",
3
+ "additionalProperties": false,
4
+ "properties": {
5
+ "hashFunction": {
6
+ "description": "The hashing algorithm to use, defaults to 'md5'. All functions from Node.JS' crypto.createHash are supported.",
7
+ "type": "string",
8
+ "minLength": 1
9
+ },
10
+ "hashDigest": {
11
+ "description": "The encoding to use when generating the hash, defaults to 'base64'. All encodings from Node.JS' hash.digest are supported.",
12
+ "enum": [
13
+ "hex",
14
+ "latin1",
15
+ "base64"
16
+ ]
17
+ },
18
+ "hashDigestLength": {
19
+ "description": "The prefix length of the hash digest to use, defaults to 4.",
20
+ "type": "number",
21
+ "minimum": 1
22
+ }
23
+ }
24
+ }
@@ -1,26 +1,26 @@
1
- {
2
- "type": "object",
3
- "additionalProperties": true,
4
- "properties": {
5
- "debug": {
6
- "description": "Whether loaders should be in debug mode or not. debug will be removed as of webpack 3",
7
- "type": "boolean"
8
- },
9
- "minimize": {
10
- "description": "Where loaders can be switched to minimize mode",
11
- "type": "boolean"
12
- },
13
- "options": {
14
- "description": "A configuration object that can be used to configure older loaders",
15
- "type": "object",
16
- "additionalProperties": true,
17
- "properties": {
18
- "context": {
19
- "description": "The context that can be used to configure older loaders",
20
- "type": "string",
21
- "absolutePath": true
22
- }
23
- }
24
- }
25
- }
26
- }
1
+ {
2
+ "type": "object",
3
+ "additionalProperties": true,
4
+ "properties": {
5
+ "debug": {
6
+ "description": "Whether loaders should be in debug mode or not. debug will be removed as of webpack 3",
7
+ "type": "boolean"
8
+ },
9
+ "minimize": {
10
+ "description": "Where loaders can be switched to minimize mode",
11
+ "type": "boolean"
12
+ },
13
+ "options": {
14
+ "description": "A configuration object that can be used to configure older loaders",
15
+ "type": "object",
16
+ "additionalProperties": true,
17
+ "properties": {
18
+ "context": {
19
+ "description": "The context that can be used to configure older loaders",
20
+ "type": "string",
21
+ "absolutePath": true
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }