webpack 3.8.0 → 3.8.1
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.
- package/LICENSE +20 -20
- package/README.md +716 -716
- package/buildin/.eslintrc +7 -7
- package/buildin/amd-define.js +3 -3
- package/buildin/amd-options.js +2 -2
- package/buildin/global.js +21 -21
- package/buildin/harmony-module.js +24 -24
- package/buildin/module.js +22 -22
- package/buildin/system.js +7 -7
- package/hot/.eslintrc +9 -9
- package/hot/dev-server.js +53 -53
- package/hot/emitter.js +2 -2
- package/hot/log-apply-result.js +38 -38
- package/hot/log.js +44 -44
- package/hot/only-dev-server.js +71 -71
- package/hot/poll.js +34 -34
- package/hot/signal.js +51 -51
- package/lib/APIPlugin.js +45 -45
- package/lib/AsyncDependenciesBlock.js +43 -43
- package/lib/AutomaticPrefetchPlugin.js +36 -36
- package/lib/BasicEvaluatedExpression.js +203 -203
- package/lib/CaseSensitiveModulesWarning.js +49 -49
- package/lib/ChunkRenderError.js +24 -24
- package/lib/ChunkTemplate.js +36 -36
- package/lib/CompatibilityPlugin.js +57 -57
- package/lib/Compiler.js +523 -523
- package/lib/ConstPlugin.js +60 -60
- package/lib/ContextModule.js +431 -431
- package/lib/ContextReplacementPlugin.js +111 -111
- package/lib/DefinePlugin.js +123 -123
- package/lib/DelegatedModule.js +98 -98
- package/lib/DelegatedModuleFactoryPlugin.js +59 -59
- package/lib/DelegatedPlugin.js +30 -30
- package/lib/DependenciesBlockVariable.js +51 -51
- package/lib/DllEntryPlugin.js +37 -37
- package/lib/DllModule.js +58 -58
- package/lib/DllModuleFactory.js +20 -20
- package/lib/DllPlugin.js +38 -38
- package/lib/DllReferencePlugin.js +62 -62
- package/lib/DynamicEntryPlugin.js +59 -59
- package/lib/EntryModuleNotFoundError.js +22 -22
- package/lib/EntryOptionPlugin.js +31 -31
- package/lib/EnvironmentPlugin.js +50 -50
- package/lib/ErrorHelpers.js +31 -31
- package/lib/EvalDevToolModulePlugin.js +22 -22
- package/lib/EvalDevToolModuleTemplatePlugin.js +33 -33
- package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +75 -75
- package/lib/EvalSourceMapDevToolPlugin.js +32 -32
- package/lib/ExportPropertyMainTemplatePlugin.js +31 -31
- package/lib/ExtendedAPIPlugin.js +47 -47
- package/lib/ExternalModuleFactoryPlugin.js +91 -91
- package/lib/ExternalsPlugin.js +21 -21
- package/lib/FlagDependencyExportsPlugin.js +101 -101
- package/lib/FunctionModulePlugin.js +24 -24
- package/lib/HashedModuleIdsPlugin.js +42 -42
- package/lib/HotUpdateChunkTemplate.js +31 -31
- package/lib/IgnorePlugin.js +69 -69
- package/lib/JsonpExportMainTemplatePlugin.js +37 -37
- package/lib/JsonpHotUpdateChunkTemplatePlugin.js +27 -27
- package/lib/JsonpTemplatePlugin.js +21 -21
- package/lib/LibManifestPlugin.js +63 -63
- package/lib/LibraryTemplatePlugin.js +92 -92
- package/lib/LoaderOptionsPlugin.js +36 -36
- package/lib/LoaderTargetPlugin.js +19 -19
- package/lib/MemoryOutputFileSystem.js +5 -5
- package/lib/ModuleBuildError.js +42 -42
- package/lib/ModuleDependencyError.js +22 -22
- package/lib/ModuleDependencyWarning.js +22 -22
- package/lib/ModuleError.js +24 -24
- package/lib/ModuleFilenameHelpers.js +162 -162
- package/lib/ModuleNotFoundError.js +26 -26
- package/lib/ModuleReason.js +50 -50
- package/lib/ModuleTemplate.js +23 -23
- package/lib/ModuleWarning.js +24 -24
- package/lib/MovedToPluginWarningPlugin.js +21 -21
- package/lib/MultiCompiler.js +164 -164
- package/lib/MultiEntryPlugin.js +39 -39
- package/lib/MultiModuleFactory.js +19 -19
- package/lib/MultiStats.js +79 -79
- package/lib/MultiWatching.js +32 -32
- package/lib/NamedChunksPlugin.js +30 -30
- package/lib/NamedModulesPlugin.js +27 -27
- package/lib/NewWatchingPlugin.js +15 -15
- package/lib/NoEmitOnErrorsPlugin.js +22 -22
- package/lib/NoErrorsPlugin.js +29 -29
- package/lib/NodeStuffPlugin.js +97 -97
- package/lib/NormalModuleReplacementPlugin.js +45 -45
- package/lib/NullFactory.js +12 -12
- package/lib/OptionsApply.js +10 -10
- package/lib/ParserHelpers.js +85 -85
- package/lib/PrefetchPlugin.js +31 -31
- package/lib/ProgressPlugin.js +192 -192
- package/lib/ProvidePlugin.js +55 -55
- package/lib/RawModule.js +54 -54
- package/lib/RequestShortener.js +63 -63
- package/lib/RequireJsStuffPlugin.js +31 -31
- package/lib/RuleSet.js +444 -444
- package/lib/SetVarMainTemplatePlugin.js +41 -41
- package/lib/SingleEntryPlugin.js +35 -35
- package/lib/SizeFormatHelpers.js +18 -18
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +37 -37
- package/lib/UnsupportedFeatureWarning.js +21 -21
- package/lib/UseStrictPlugin.js +34 -34
- package/lib/WarnCaseSensitiveModulesPlugin.js +31 -31
- package/lib/WatchIgnorePlugin.js +49 -49
- package/lib/WebpackError.js +11 -11
- package/lib/WebpackOptionsDefaulter.js +129 -129
- package/lib/WebpackOptionsValidationError.js +196 -196
- package/lib/compareLocations.js +36 -36
- package/lib/dependencies/AMDDefineDependency.js +142 -142
- package/lib/dependencies/AMDPlugin.js +119 -119
- package/lib/dependencies/AMDRequireDependenciesBlock.js +33 -33
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +177 -177
- package/lib/dependencies/AMDRequireDependency.js +67 -67
- package/lib/dependencies/AMDRequireItemDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +89 -89
- package/lib/dependencies/ConstDependency.js +32 -32
- package/lib/dependencies/ContextDependencyHelpers.js +71 -71
- package/lib/dependencies/ContextElementDependency.js +21 -21
- package/lib/dependencies/CriticalDependencyWarning.js +20 -20
- package/lib/dependencies/DelegatedExportsDependency.js +33 -33
- package/lib/dependencies/DelegatedSourceDependency.js +18 -18
- package/lib/dependencies/DllEntryDependency.js +20 -20
- package/lib/dependencies/HarmonyCompatibilityDependency.js +30 -30
- package/lib/dependencies/HarmonyExportHeaderDependency.js +28 -28
- package/lib/dependencies/ImportDependenciesBlock.js +17 -17
- package/lib/dependencies/ImportEagerContextDependency.js +22 -22
- package/lib/dependencies/ImportLazyContextDependency.js +22 -22
- package/lib/dependencies/ImportLazyOnceContextDependency.js +22 -22
- package/lib/dependencies/ImportParserPlugin.js +89 -89
- package/lib/dependencies/ImportPlugin.js +60 -60
- package/lib/dependencies/ImportWeakContextDependency.js +22 -22
- package/lib/dependencies/LoaderDependency.js +18 -18
- package/lib/dependencies/LoaderPlugin.js +60 -60
- package/lib/dependencies/LocalModule.js +23 -23
- package/lib/dependencies/LocalModuleDependency.js +24 -24
- package/lib/dependencies/LocalModulesHelpers.js +46 -46
- package/lib/dependencies/ModuleDependency.js +23 -23
- package/lib/dependencies/ModuleHotAcceptDependency.js +23 -23
- package/lib/dependencies/ModuleHotDeclineDependency.js +23 -23
- package/lib/dependencies/MultiEntryDependency.js +20 -20
- package/lib/dependencies/NullDependency.js +24 -24
- package/lib/dependencies/PrefetchDependency.js +18 -18
- package/lib/dependencies/RequireContextDependency.js +26 -26
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +50 -50
- package/lib/dependencies/RequireContextPlugin.js +96 -96
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +22 -22
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +102 -102
- package/lib/dependencies/RequireEnsureDependency.js +38 -38
- package/lib/dependencies/RequireEnsureItemDependency.js +21 -21
- package/lib/dependencies/RequireEnsurePlugin.js +40 -40
- package/lib/dependencies/RequireHeaderDependency.js +26 -26
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +21 -21
- package/lib/dependencies/RequireIncludePlugin.js +33 -33
- package/lib/dependencies/RequireResolveDependency.js +22 -22
- package/lib/dependencies/RequireResolveDependencyParserPlugin.js +71 -71
- package/lib/dependencies/RequireResolveHeaderDependency.js +26 -26
- package/lib/dependencies/SingleEntryDependency.js +18 -18
- package/lib/dependencies/SystemPlugin.js +44 -44
- package/lib/dependencies/UnsupportedDependency.js +23 -23
- package/lib/dependencies/WebpackMissingModule.js +18 -18
- package/lib/dependencies/getFunctionExpression.js +44 -44
- package/lib/formatLocation.js +54 -54
- package/lib/node/NodeChunkTemplatePlugin.js +27 -27
- package/lib/node/NodeEnvironmentPlugin.js +25 -25
- package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +27 -27
- package/lib/node/NodeMainTemplate.runtime.js +24 -24
- package/lib/node/NodeMainTemplateAsync.runtime.js +40 -40
- package/lib/node/NodeOutputFileSystem.js +22 -22
- package/lib/node/NodeSourcePlugin.js +88 -88
- package/lib/node/NodeTargetPlugin.js +15 -15
- package/lib/node/NodeTemplatePlugin.js +27 -27
- package/lib/node/NodeWatchFileSystem.js +72 -72
- package/lib/optimize/ChunkModuleIdRangePlugin.js +53 -53
- package/lib/optimize/DedupePlugin.js +15 -15
- package/lib/optimize/FlagIncludedChunksPlugin.js +35 -35
- package/lib/optimize/LimitChunkCountPlugin.js +59 -59
- package/lib/optimize/MinChunkSizePlugin.js +65 -65
- package/lib/optimize/RemoveEmptyChunksPlugin.js +21 -21
- package/lib/optimize/UglifyJsPlugin.js +9 -9
- package/lib/performance/AssetsOverSizeLimitWarning.js +23 -23
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +28 -28
- package/lib/performance/NoAsyncChunksWarning.js +20 -20
- package/lib/performance/SizeLimitsPlugin.js +102 -102
- package/lib/prepareOptions.js +29 -29
- package/lib/removeAndDo.js +15 -15
- package/lib/util/Semaphore.js +32 -32
- package/lib/util/identifier.js +38 -38
- package/lib/validateSchema.js +66 -66
- package/lib/web/WebEnvironmentPlugin.js +18 -18
- package/lib/webworker/WebWorkerChunkTemplatePlugin.js +29 -29
- package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +28 -28
- package/lib/webworker/WebWorkerMainTemplate.runtime.js +58 -58
- package/lib/webworker/WebWorkerTemplatePlugin.js +20 -20
- package/package.json +1 -1
- package/schemas/ajv.absolutePath.js +29 -29
- package/schemas/webpackOptionsSchema.json +16 -0
package/lib/prepareOptions.js
CHANGED
@@ -1,29 +1,29 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
module.exports = function prepareOptions(options, argv) {
|
4
|
-
argv = argv || {};
|
5
|
-
|
6
|
-
options = handleExport(options);
|
7
|
-
|
8
|
-
if(Array.isArray(options)) {
|
9
|
-
options = options.map(_options => handleFunction(_options, argv));
|
10
|
-
} else {
|
11
|
-
options = handleFunction(options, argv);
|
12
|
-
}
|
13
|
-
return options;
|
14
|
-
};
|
15
|
-
|
16
|
-
function handleExport(options) {
|
17
|
-
const isES6DefaultExported = (
|
18
|
-
typeof options === "object" && options !== null && typeof options.default !== "undefined"
|
19
|
-
);
|
20
|
-
options = isES6DefaultExported ? options.default : options;
|
21
|
-
return options;
|
22
|
-
}
|
23
|
-
|
24
|
-
function handleFunction(options, argv) {
|
25
|
-
if(typeof options === "function") {
|
26
|
-
options = options(argv.env, argv);
|
27
|
-
}
|
28
|
-
return options;
|
29
|
-
}
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
module.exports = function prepareOptions(options, argv) {
|
4
|
+
argv = argv || {};
|
5
|
+
|
6
|
+
options = handleExport(options);
|
7
|
+
|
8
|
+
if(Array.isArray(options)) {
|
9
|
+
options = options.map(_options => handleFunction(_options, argv));
|
10
|
+
} else {
|
11
|
+
options = handleFunction(options, argv);
|
12
|
+
}
|
13
|
+
return options;
|
14
|
+
};
|
15
|
+
|
16
|
+
function handleExport(options) {
|
17
|
+
const isES6DefaultExported = (
|
18
|
+
typeof options === "object" && options !== null && typeof options.default !== "undefined"
|
19
|
+
);
|
20
|
+
options = isES6DefaultExported ? options.default : options;
|
21
|
+
return options;
|
22
|
+
}
|
23
|
+
|
24
|
+
function handleFunction(options, argv) {
|
25
|
+
if(typeof options === "function") {
|
26
|
+
options = options(argv.env, argv);
|
27
|
+
}
|
28
|
+
return options;
|
29
|
+
}
|
package/lib/removeAndDo.js
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
module.exports = function removeAndDo(collection, thing, action) {
|
8
|
-
const idx = this[collection].indexOf(thing);
|
9
|
-
const hasThingInCollection = idx >= 0;
|
10
|
-
if(hasThingInCollection) {
|
11
|
-
this[collection].splice(idx, 1);
|
12
|
-
thing[action](this);
|
13
|
-
}
|
14
|
-
return hasThingInCollection;
|
15
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
module.exports = function removeAndDo(collection, thing, action) {
|
8
|
+
const idx = this[collection].indexOf(thing);
|
9
|
+
const hasThingInCollection = idx >= 0;
|
10
|
+
if(hasThingInCollection) {
|
11
|
+
this[collection].splice(idx, 1);
|
12
|
+
thing[action](this);
|
13
|
+
}
|
14
|
+
return hasThingInCollection;
|
15
|
+
};
|
package/lib/util/Semaphore.js
CHANGED
@@ -1,32 +1,32 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class Semaphore {
|
8
|
-
constructor(available) {
|
9
|
-
this.available = available;
|
10
|
-
this.waiters = [];
|
11
|
-
}
|
12
|
-
|
13
|
-
acquire(callback) {
|
14
|
-
if(this.available > 0) {
|
15
|
-
this.available--;
|
16
|
-
callback();
|
17
|
-
} else {
|
18
|
-
this.waiters.push(callback);
|
19
|
-
}
|
20
|
-
}
|
21
|
-
|
22
|
-
release() {
|
23
|
-
if(this.waiters.length > 0) {
|
24
|
-
const callback = this.waiters.pop();
|
25
|
-
process.nextTick(callback);
|
26
|
-
} else {
|
27
|
-
this.available++;
|
28
|
-
}
|
29
|
-
}
|
30
|
-
}
|
31
|
-
|
32
|
-
module.exports = Semaphore;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class Semaphore {
|
8
|
+
constructor(available) {
|
9
|
+
this.available = available;
|
10
|
+
this.waiters = [];
|
11
|
+
}
|
12
|
+
|
13
|
+
acquire(callback) {
|
14
|
+
if(this.available > 0) {
|
15
|
+
this.available--;
|
16
|
+
callback();
|
17
|
+
} else {
|
18
|
+
this.waiters.push(callback);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
release() {
|
23
|
+
if(this.waiters.length > 0) {
|
24
|
+
const callback = this.waiters.pop();
|
25
|
+
process.nextTick(callback);
|
26
|
+
} else {
|
27
|
+
this.available++;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
module.exports = Semaphore;
|
package/lib/util/identifier.js
CHANGED
@@ -1,38 +1,38 @@
|
|
1
|
-
"use strict";
|
2
|
-
const path = require("path");
|
3
|
-
|
4
|
-
const looksLikeAbsolutePath = (maybeAbsolutePath) => {
|
5
|
-
return /^(?:[a-z]:\\|\/)/i.test(maybeAbsolutePath);
|
6
|
-
};
|
7
|
-
|
8
|
-
const normalizePathSeparator = (p) => p.replace(/\\/g, "/");
|
9
|
-
|
10
|
-
const _makePathsRelative = (context, identifier) => {
|
11
|
-
return identifier
|
12
|
-
.split(/([|! ])/)
|
13
|
-
.map(str => looksLikeAbsolutePath(str) ?
|
14
|
-
normalizePathSeparator(path.relative(context, str)) : str)
|
15
|
-
.join("");
|
16
|
-
};
|
17
|
-
|
18
|
-
exports.makePathsRelative = (context, identifier, cache) => {
|
19
|
-
if(!cache) return _makePathsRelative(context, identifier);
|
20
|
-
|
21
|
-
const relativePaths = cache.relativePaths || (cache.relativePaths = new Map());
|
22
|
-
|
23
|
-
let cachedResult;
|
24
|
-
let contextCache = relativePaths.get(context);
|
25
|
-
if(typeof contextCache === "undefined") {
|
26
|
-
relativePaths.set(context, contextCache = new Map());
|
27
|
-
} else {
|
28
|
-
cachedResult = contextCache.get(identifier);
|
29
|
-
}
|
30
|
-
|
31
|
-
if(typeof cachedResult !== "undefined") {
|
32
|
-
return cachedResult;
|
33
|
-
} else {
|
34
|
-
const relativePath = _makePathsRelative(context, identifier);
|
35
|
-
contextCache.set(identifier, relativePath);
|
36
|
-
return relativePath;
|
37
|
-
}
|
38
|
-
};
|
1
|
+
"use strict";
|
2
|
+
const path = require("path");
|
3
|
+
|
4
|
+
const looksLikeAbsolutePath = (maybeAbsolutePath) => {
|
5
|
+
return /^(?:[a-z]:\\|\/)/i.test(maybeAbsolutePath);
|
6
|
+
};
|
7
|
+
|
8
|
+
const normalizePathSeparator = (p) => p.replace(/\\/g, "/");
|
9
|
+
|
10
|
+
const _makePathsRelative = (context, identifier) => {
|
11
|
+
return identifier
|
12
|
+
.split(/([|! ])/)
|
13
|
+
.map(str => looksLikeAbsolutePath(str) ?
|
14
|
+
normalizePathSeparator(path.relative(context, str)) : str)
|
15
|
+
.join("");
|
16
|
+
};
|
17
|
+
|
18
|
+
exports.makePathsRelative = (context, identifier, cache) => {
|
19
|
+
if(!cache) return _makePathsRelative(context, identifier);
|
20
|
+
|
21
|
+
const relativePaths = cache.relativePaths || (cache.relativePaths = new Map());
|
22
|
+
|
23
|
+
let cachedResult;
|
24
|
+
let contextCache = relativePaths.get(context);
|
25
|
+
if(typeof contextCache === "undefined") {
|
26
|
+
relativePaths.set(context, contextCache = new Map());
|
27
|
+
} else {
|
28
|
+
cachedResult = contextCache.get(identifier);
|
29
|
+
}
|
30
|
+
|
31
|
+
if(typeof cachedResult !== "undefined") {
|
32
|
+
return cachedResult;
|
33
|
+
} else {
|
34
|
+
const relativePath = _makePathsRelative(context, identifier);
|
35
|
+
contextCache.set(identifier, relativePath);
|
36
|
+
return relativePath;
|
37
|
+
}
|
38
|
+
};
|
package/lib/validateSchema.js
CHANGED
@@ -1,66 +1,66 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Gajus Kuizinas @gajus
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const Ajv = require("ajv");
|
8
|
-
const ajv = new Ajv({
|
9
|
-
errorDataPath: "configuration",
|
10
|
-
allErrors: true,
|
11
|
-
verbose: true
|
12
|
-
});
|
13
|
-
require("ajv-keywords")(ajv, ["instanceof"]);
|
14
|
-
require("../schemas/ajv.absolutePath")(ajv);
|
15
|
-
|
16
|
-
function validateSchema(schema, options) {
|
17
|
-
if(Array.isArray(options)) {
|
18
|
-
const errors = options.map((options) => validateObject(schema, options));
|
19
|
-
errors.forEach((list, idx) => {
|
20
|
-
list.forEach(function applyPrefix(err) {
|
21
|
-
err.dataPath = `[${idx}]${err.dataPath}`;
|
22
|
-
if(err.children) {
|
23
|
-
err.children.forEach(applyPrefix);
|
24
|
-
}
|
25
|
-
});
|
26
|
-
});
|
27
|
-
return errors.reduce((arr, items) => {
|
28
|
-
return arr.concat(items);
|
29
|
-
}, []);
|
30
|
-
} else {
|
31
|
-
return validateObject(schema, options);
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
function validateObject(schema, options) {
|
36
|
-
const validate = ajv.compile(schema);
|
37
|
-
const valid = validate(options);
|
38
|
-
return valid ? [] : filterErrors(validate.errors);
|
39
|
-
}
|
40
|
-
|
41
|
-
function filterErrors(errors) {
|
42
|
-
let newErrors = [];
|
43
|
-
errors.forEach((err) => {
|
44
|
-
const dataPath = err.dataPath;
|
45
|
-
let children = [];
|
46
|
-
newErrors = newErrors.filter((oldError) => {
|
47
|
-
if(oldError.dataPath.includes(dataPath)) {
|
48
|
-
if(oldError.children) {
|
49
|
-
children = children.concat(oldError.children.slice(0));
|
50
|
-
}
|
51
|
-
oldError.children = undefined;
|
52
|
-
children.push(oldError);
|
53
|
-
return false;
|
54
|
-
}
|
55
|
-
return true;
|
56
|
-
});
|
57
|
-
if(children.length) {
|
58
|
-
err.children = children;
|
59
|
-
}
|
60
|
-
newErrors.push(err);
|
61
|
-
});
|
62
|
-
|
63
|
-
return newErrors;
|
64
|
-
}
|
65
|
-
|
66
|
-
module.exports = validateSchema;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Gajus Kuizinas @gajus
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const Ajv = require("ajv");
|
8
|
+
const ajv = new Ajv({
|
9
|
+
errorDataPath: "configuration",
|
10
|
+
allErrors: true,
|
11
|
+
verbose: true
|
12
|
+
});
|
13
|
+
require("ajv-keywords")(ajv, ["instanceof"]);
|
14
|
+
require("../schemas/ajv.absolutePath")(ajv);
|
15
|
+
|
16
|
+
function validateSchema(schema, options) {
|
17
|
+
if(Array.isArray(options)) {
|
18
|
+
const errors = options.map((options) => validateObject(schema, options));
|
19
|
+
errors.forEach((list, idx) => {
|
20
|
+
list.forEach(function applyPrefix(err) {
|
21
|
+
err.dataPath = `[${idx}]${err.dataPath}`;
|
22
|
+
if(err.children) {
|
23
|
+
err.children.forEach(applyPrefix);
|
24
|
+
}
|
25
|
+
});
|
26
|
+
});
|
27
|
+
return errors.reduce((arr, items) => {
|
28
|
+
return arr.concat(items);
|
29
|
+
}, []);
|
30
|
+
} else {
|
31
|
+
return validateObject(schema, options);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
function validateObject(schema, options) {
|
36
|
+
const validate = ajv.compile(schema);
|
37
|
+
const valid = validate(options);
|
38
|
+
return valid ? [] : filterErrors(validate.errors);
|
39
|
+
}
|
40
|
+
|
41
|
+
function filterErrors(errors) {
|
42
|
+
let newErrors = [];
|
43
|
+
errors.forEach((err) => {
|
44
|
+
const dataPath = err.dataPath;
|
45
|
+
let children = [];
|
46
|
+
newErrors = newErrors.filter((oldError) => {
|
47
|
+
if(oldError.dataPath.includes(dataPath)) {
|
48
|
+
if(oldError.children) {
|
49
|
+
children = children.concat(oldError.children.slice(0));
|
50
|
+
}
|
51
|
+
oldError.children = undefined;
|
52
|
+
children.push(oldError);
|
53
|
+
return false;
|
54
|
+
}
|
55
|
+
return true;
|
56
|
+
});
|
57
|
+
if(children.length) {
|
58
|
+
err.children = children;
|
59
|
+
}
|
60
|
+
newErrors.push(err);
|
61
|
+
});
|
62
|
+
|
63
|
+
return newErrors;
|
64
|
+
}
|
65
|
+
|
66
|
+
module.exports = validateSchema;
|
@@ -1,18 +1,18 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class WebEnvironmentPlugin {
|
8
|
-
constructor(inputFileSystem, outputFileSystem) {
|
9
|
-
this.inputFileSystem = inputFileSystem;
|
10
|
-
this.outputFileSystem = outputFileSystem;
|
11
|
-
}
|
12
|
-
|
13
|
-
apply(compiler) {
|
14
|
-
compiler.outputFileSystem = this.outputFileSystem;
|
15
|
-
}
|
16
|
-
}
|
17
|
-
|
18
|
-
module.exports = WebEnvironmentPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class WebEnvironmentPlugin {
|
8
|
+
constructor(inputFileSystem, outputFileSystem) {
|
9
|
+
this.inputFileSystem = inputFileSystem;
|
10
|
+
this.outputFileSystem = outputFileSystem;
|
11
|
+
}
|
12
|
+
|
13
|
+
apply(compiler) {
|
14
|
+
compiler.outputFileSystem = this.outputFileSystem;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
module.exports = WebEnvironmentPlugin;
|
@@ -1,29 +1,29 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const ConcatSource = require("webpack-sources").ConcatSource;
|
8
|
-
const Template = require("../Template");
|
9
|
-
|
10
|
-
class WebWorkerChunkTemplatePlugin {
|
11
|
-
|
12
|
-
apply(chunkTemplate) {
|
13
|
-
chunkTemplate.plugin("render", function(modules, chunk) {
|
14
|
-
const chunkCallbackName = this.outputOptions.chunkCallbackName || Template.toIdentifier("webpackChunk" + (this.outputOptions.library || ""));
|
15
|
-
const source = new ConcatSource();
|
16
|
-
source.add(`${chunkCallbackName}(${JSON.stringify(chunk.ids)},`);
|
17
|
-
source.add(modules);
|
18
|
-
source.add(")");
|
19
|
-
return source;
|
20
|
-
});
|
21
|
-
chunkTemplate.plugin("hash", function(hash) {
|
22
|
-
hash.update("webworker");
|
23
|
-
hash.update("3");
|
24
|
-
hash.update(`${this.outputOptions.chunkCallbackName}`);
|
25
|
-
hash.update(`${this.outputOptions.library}`);
|
26
|
-
});
|
27
|
-
}
|
28
|
-
}
|
29
|
-
module.exports = WebWorkerChunkTemplatePlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const ConcatSource = require("webpack-sources").ConcatSource;
|
8
|
+
const Template = require("../Template");
|
9
|
+
|
10
|
+
class WebWorkerChunkTemplatePlugin {
|
11
|
+
|
12
|
+
apply(chunkTemplate) {
|
13
|
+
chunkTemplate.plugin("render", function(modules, chunk) {
|
14
|
+
const chunkCallbackName = this.outputOptions.chunkCallbackName || Template.toIdentifier("webpackChunk" + (this.outputOptions.library || ""));
|
15
|
+
const source = new ConcatSource();
|
16
|
+
source.add(`${chunkCallbackName}(${JSON.stringify(chunk.ids)},`);
|
17
|
+
source.add(modules);
|
18
|
+
source.add(")");
|
19
|
+
return source;
|
20
|
+
});
|
21
|
+
chunkTemplate.plugin("hash", function(hash) {
|
22
|
+
hash.update("webworker");
|
23
|
+
hash.update("3");
|
24
|
+
hash.update(`${this.outputOptions.chunkCallbackName}`);
|
25
|
+
hash.update(`${this.outputOptions.library}`);
|
26
|
+
});
|
27
|
+
}
|
28
|
+
}
|
29
|
+
module.exports = WebWorkerChunkTemplatePlugin;
|
@@ -1,28 +1,28 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ConcatSource = require("webpack-sources").ConcatSource;
|
7
|
-
const Template = require("../Template");
|
8
|
-
|
9
|
-
class WebWorkerHotUpdateChunkTemplatePlugin {
|
10
|
-
|
11
|
-
apply(hotUpdateChunkTemplate) {
|
12
|
-
hotUpdateChunkTemplate.plugin("render", function(modulesSource, modules, removedModules, hash, id) {
|
13
|
-
const chunkCallbackName = this.outputOptions.hotUpdateFunction || Template.toIdentifier("webpackHotUpdate" + (this.outputOptions.library || ""));
|
14
|
-
const source = new ConcatSource();
|
15
|
-
source.add(chunkCallbackName + "(" + JSON.stringify(id) + ",");
|
16
|
-
source.add(modulesSource);
|
17
|
-
source.add(")");
|
18
|
-
return source;
|
19
|
-
});
|
20
|
-
hotUpdateChunkTemplate.plugin("hash", function(hash) {
|
21
|
-
hash.update("WebWorkerHotUpdateChunkTemplatePlugin");
|
22
|
-
hash.update("3");
|
23
|
-
hash.update(this.outputOptions.hotUpdateFunction + "");
|
24
|
-
hash.update(this.outputOptions.library + "");
|
25
|
-
});
|
26
|
-
}
|
27
|
-
}
|
28
|
-
module.exports = WebWorkerHotUpdateChunkTemplatePlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ConcatSource = require("webpack-sources").ConcatSource;
|
7
|
+
const Template = require("../Template");
|
8
|
+
|
9
|
+
class WebWorkerHotUpdateChunkTemplatePlugin {
|
10
|
+
|
11
|
+
apply(hotUpdateChunkTemplate) {
|
12
|
+
hotUpdateChunkTemplate.plugin("render", function(modulesSource, modules, removedModules, hash, id) {
|
13
|
+
const chunkCallbackName = this.outputOptions.hotUpdateFunction || Template.toIdentifier("webpackHotUpdate" + (this.outputOptions.library || ""));
|
14
|
+
const source = new ConcatSource();
|
15
|
+
source.add(chunkCallbackName + "(" + JSON.stringify(id) + ",");
|
16
|
+
source.add(modulesSource);
|
17
|
+
source.add(")");
|
18
|
+
return source;
|
19
|
+
});
|
20
|
+
hotUpdateChunkTemplate.plugin("hash", function(hash) {
|
21
|
+
hash.update("WebWorkerHotUpdateChunkTemplatePlugin");
|
22
|
+
hash.update("3");
|
23
|
+
hash.update(this.outputOptions.hotUpdateFunction + "");
|
24
|
+
hash.update(this.outputOptions.library + "");
|
25
|
+
});
|
26
|
+
}
|
27
|
+
}
|
28
|
+
module.exports = WebWorkerHotUpdateChunkTemplatePlugin;
|
@@ -1,58 +1,58 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
/*globals installedChunks hotAddUpdateChunk parentHotUpdateCallback importScripts XMLHttpRequest $require$ $hotChunkFilename$ $hotMainFilename$ */
|
6
|
-
module.exports = function() {
|
7
|
-
function webpackHotUpdateCallback(chunkId, moreModules) { // eslint-disable-line no-unused-vars
|
8
|
-
hotAddUpdateChunk(chunkId, moreModules);
|
9
|
-
if(parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);
|
10
|
-
} //$semicolon
|
11
|
-
|
12
|
-
function hotDownloadUpdateChunk(chunkId) { // eslint-disable-line no-unused-vars
|
13
|
-
importScripts($require$.p + $hotChunkFilename$);
|
14
|
-
}
|
15
|
-
|
16
|
-
function hotDownloadManifest(requestTimeout) { // eslint-disable-line no-unused-vars
|
17
|
-
requestTimeout = requestTimeout || 10000;
|
18
|
-
return new Promise(function(resolve, reject) {
|
19
|
-
if(typeof XMLHttpRequest === "undefined")
|
20
|
-
return reject(new Error("No browser support"));
|
21
|
-
try {
|
22
|
-
var request = new XMLHttpRequest();
|
23
|
-
var requestPath = $require$.p + $hotMainFilename$;
|
24
|
-
request.open("GET", requestPath, true);
|
25
|
-
request.timeout = requestTimeout;
|
26
|
-
request.send(null);
|
27
|
-
} catch(err) {
|
28
|
-
return reject(err);
|
29
|
-
}
|
30
|
-
request.onreadystatechange = function() {
|
31
|
-
if(request.readyState !== 4) return;
|
32
|
-
if(request.status === 0) {
|
33
|
-
// timeout
|
34
|
-
reject(new Error("Manifest request to " + requestPath + " timed out."));
|
35
|
-
} else if(request.status === 404) {
|
36
|
-
// no update available
|
37
|
-
resolve();
|
38
|
-
} else if(request.status !== 200 && request.status !== 304) {
|
39
|
-
// other failure
|
40
|
-
reject(new Error("Manifest request to " + requestPath + " failed."));
|
41
|
-
} else {
|
42
|
-
// success
|
43
|
-
try {
|
44
|
-
var update = JSON.parse(request.responseText);
|
45
|
-
} catch(e) {
|
46
|
-
reject(e);
|
47
|
-
return;
|
48
|
-
}
|
49
|
-
resolve(update);
|
50
|
-
}
|
51
|
-
};
|
52
|
-
});
|
53
|
-
}
|
54
|
-
|
55
|
-
function hotDisposeChunk(chunkId) { //eslint-disable-line no-unused-vars
|
56
|
-
delete installedChunks[chunkId];
|
57
|
-
}
|
58
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
/*globals installedChunks hotAddUpdateChunk parentHotUpdateCallback importScripts XMLHttpRequest $require$ $hotChunkFilename$ $hotMainFilename$ */
|
6
|
+
module.exports = function() {
|
7
|
+
function webpackHotUpdateCallback(chunkId, moreModules) { // eslint-disable-line no-unused-vars
|
8
|
+
hotAddUpdateChunk(chunkId, moreModules);
|
9
|
+
if(parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);
|
10
|
+
} //$semicolon
|
11
|
+
|
12
|
+
function hotDownloadUpdateChunk(chunkId) { // eslint-disable-line no-unused-vars
|
13
|
+
importScripts($require$.p + $hotChunkFilename$);
|
14
|
+
}
|
15
|
+
|
16
|
+
function hotDownloadManifest(requestTimeout) { // eslint-disable-line no-unused-vars
|
17
|
+
requestTimeout = requestTimeout || 10000;
|
18
|
+
return new Promise(function(resolve, reject) {
|
19
|
+
if(typeof XMLHttpRequest === "undefined")
|
20
|
+
return reject(new Error("No browser support"));
|
21
|
+
try {
|
22
|
+
var request = new XMLHttpRequest();
|
23
|
+
var requestPath = $require$.p + $hotMainFilename$;
|
24
|
+
request.open("GET", requestPath, true);
|
25
|
+
request.timeout = requestTimeout;
|
26
|
+
request.send(null);
|
27
|
+
} catch(err) {
|
28
|
+
return reject(err);
|
29
|
+
}
|
30
|
+
request.onreadystatechange = function() {
|
31
|
+
if(request.readyState !== 4) return;
|
32
|
+
if(request.status === 0) {
|
33
|
+
// timeout
|
34
|
+
reject(new Error("Manifest request to " + requestPath + " timed out."));
|
35
|
+
} else if(request.status === 404) {
|
36
|
+
// no update available
|
37
|
+
resolve();
|
38
|
+
} else if(request.status !== 200 && request.status !== 304) {
|
39
|
+
// other failure
|
40
|
+
reject(new Error("Manifest request to " + requestPath + " failed."));
|
41
|
+
} else {
|
42
|
+
// success
|
43
|
+
try {
|
44
|
+
var update = JSON.parse(request.responseText);
|
45
|
+
} catch(e) {
|
46
|
+
reject(e);
|
47
|
+
return;
|
48
|
+
}
|
49
|
+
resolve(update);
|
50
|
+
}
|
51
|
+
};
|
52
|
+
});
|
53
|
+
}
|
54
|
+
|
55
|
+
function hotDisposeChunk(chunkId) { //eslint-disable-line no-unused-vars
|
56
|
+
delete installedChunks[chunkId];
|
57
|
+
}
|
58
|
+
};
|