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
@@ -1,62 +1,62 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const DelegatedSourceDependency = require("./dependencies/DelegatedSourceDependency");
|
8
|
-
const DelegatedModuleFactoryPlugin = require("./DelegatedModuleFactoryPlugin");
|
9
|
-
const ExternalModuleFactoryPlugin = require("./ExternalModuleFactoryPlugin");
|
10
|
-
const DelegatedExportsDependency = require("./dependencies/DelegatedExportsDependency");
|
11
|
-
const NullFactory = require("./NullFactory");
|
12
|
-
|
13
|
-
class DllReferencePlugin {
|
14
|
-
constructor(options) {
|
15
|
-
this.options = options;
|
16
|
-
}
|
17
|
-
|
18
|
-
apply(compiler) {
|
19
|
-
compiler.plugin("compilation", (compilation, params) => {
|
20
|
-
const normalModuleFactory = params.normalModuleFactory;
|
21
|
-
compilation.dependencyFactories.set(DelegatedSourceDependency, normalModuleFactory);
|
22
|
-
compilation.dependencyFactories.set(DelegatedExportsDependency, new NullFactory());
|
23
|
-
});
|
24
|
-
|
25
|
-
compiler.plugin("before-compile", (params, callback) => {
|
26
|
-
const manifest = this.options.manifest;
|
27
|
-
if(typeof manifest === "string") {
|
28
|
-
params.compilationDependencies.push(manifest);
|
29
|
-
compiler.inputFileSystem.readFile(manifest, function(err, result) {
|
30
|
-
if(err) return callback(err);
|
31
|
-
params["dll reference " + manifest] = JSON.parse(result.toString("utf-8"));
|
32
|
-
return callback();
|
33
|
-
});
|
34
|
-
} else {
|
35
|
-
return callback();
|
36
|
-
}
|
37
|
-
});
|
38
|
-
|
39
|
-
compiler.plugin("compile", (params) => {
|
40
|
-
let manifest = this.options.manifest;
|
41
|
-
if(typeof manifest === "string") {
|
42
|
-
manifest = params["dll reference " + manifest];
|
43
|
-
}
|
44
|
-
const name = this.options.name || manifest.name;
|
45
|
-
const sourceType = this.options.sourceType || "var";
|
46
|
-
const externals = {};
|
47
|
-
const source = "dll-reference " + name;
|
48
|
-
externals[source] = name;
|
49
|
-
params.normalModuleFactory.apply(new ExternalModuleFactoryPlugin(sourceType, externals));
|
50
|
-
params.normalModuleFactory.apply(new DelegatedModuleFactoryPlugin({
|
51
|
-
source: source,
|
52
|
-
type: this.options.type,
|
53
|
-
scope: this.options.scope,
|
54
|
-
context: this.options.context || compiler.options.context,
|
55
|
-
content: this.options.content || manifest.content,
|
56
|
-
extensions: this.options.extensions
|
57
|
-
}));
|
58
|
-
});
|
59
|
-
}
|
60
|
-
}
|
61
|
-
|
62
|
-
module.exports = DllReferencePlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const DelegatedSourceDependency = require("./dependencies/DelegatedSourceDependency");
|
8
|
+
const DelegatedModuleFactoryPlugin = require("./DelegatedModuleFactoryPlugin");
|
9
|
+
const ExternalModuleFactoryPlugin = require("./ExternalModuleFactoryPlugin");
|
10
|
+
const DelegatedExportsDependency = require("./dependencies/DelegatedExportsDependency");
|
11
|
+
const NullFactory = require("./NullFactory");
|
12
|
+
|
13
|
+
class DllReferencePlugin {
|
14
|
+
constructor(options) {
|
15
|
+
this.options = options;
|
16
|
+
}
|
17
|
+
|
18
|
+
apply(compiler) {
|
19
|
+
compiler.plugin("compilation", (compilation, params) => {
|
20
|
+
const normalModuleFactory = params.normalModuleFactory;
|
21
|
+
compilation.dependencyFactories.set(DelegatedSourceDependency, normalModuleFactory);
|
22
|
+
compilation.dependencyFactories.set(DelegatedExportsDependency, new NullFactory());
|
23
|
+
});
|
24
|
+
|
25
|
+
compiler.plugin("before-compile", (params, callback) => {
|
26
|
+
const manifest = this.options.manifest;
|
27
|
+
if(typeof manifest === "string") {
|
28
|
+
params.compilationDependencies.push(manifest);
|
29
|
+
compiler.inputFileSystem.readFile(manifest, function(err, result) {
|
30
|
+
if(err) return callback(err);
|
31
|
+
params["dll reference " + manifest] = JSON.parse(result.toString("utf-8"));
|
32
|
+
return callback();
|
33
|
+
});
|
34
|
+
} else {
|
35
|
+
return callback();
|
36
|
+
}
|
37
|
+
});
|
38
|
+
|
39
|
+
compiler.plugin("compile", (params) => {
|
40
|
+
let manifest = this.options.manifest;
|
41
|
+
if(typeof manifest === "string") {
|
42
|
+
manifest = params["dll reference " + manifest];
|
43
|
+
}
|
44
|
+
const name = this.options.name || manifest.name;
|
45
|
+
const sourceType = this.options.sourceType || "var";
|
46
|
+
const externals = {};
|
47
|
+
const source = "dll-reference " + name;
|
48
|
+
externals[source] = name;
|
49
|
+
params.normalModuleFactory.apply(new ExternalModuleFactoryPlugin(sourceType, externals));
|
50
|
+
params.normalModuleFactory.apply(new DelegatedModuleFactoryPlugin({
|
51
|
+
source: source,
|
52
|
+
type: this.options.type,
|
53
|
+
scope: this.options.scope,
|
54
|
+
context: this.options.context || compiler.options.context,
|
55
|
+
content: this.options.content || manifest.content,
|
56
|
+
extensions: this.options.extensions
|
57
|
+
}));
|
58
|
+
});
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
module.exports = DllReferencePlugin;
|
@@ -1,59 +1,59 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Naoyuki Kanezawa @nkzawa
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const MultiEntryDependency = require("./dependencies/MultiEntryDependency");
|
8
|
-
const SingleEntryDependency = require("./dependencies/SingleEntryDependency");
|
9
|
-
const MultiModuleFactory = require("./MultiModuleFactory");
|
10
|
-
const MultiEntryPlugin = require("./MultiEntryPlugin");
|
11
|
-
const SingleEntryPlugin = require("./SingleEntryPlugin");
|
12
|
-
|
13
|
-
class DynamicEntryPlugin {
|
14
|
-
constructor(context, entry) {
|
15
|
-
this.context = context;
|
16
|
-
this.entry = entry;
|
17
|
-
}
|
18
|
-
|
19
|
-
apply(compiler) {
|
20
|
-
compiler.plugin("compilation", (compilation, params) => {
|
21
|
-
const multiModuleFactory = new MultiModuleFactory();
|
22
|
-
const normalModuleFactory = params.normalModuleFactory;
|
23
|
-
|
24
|
-
compilation.dependencyFactories.set(MultiEntryDependency, multiModuleFactory);
|
25
|
-
compilation.dependencyFactories.set(SingleEntryDependency, normalModuleFactory);
|
26
|
-
});
|
27
|
-
|
28
|
-
compiler.plugin("make", (compilation, callback) => {
|
29
|
-
const addEntry = (entry, name) => {
|
30
|
-
const dep = DynamicEntryPlugin.createDependency(entry, name);
|
31
|
-
return new Promise((resolve, reject) => {
|
32
|
-
compilation.addEntry(this.context, dep, name, (err) => {
|
33
|
-
if(err) return reject(err);
|
34
|
-
resolve();
|
35
|
-
});
|
36
|
-
});
|
37
|
-
};
|
38
|
-
|
39
|
-
Promise.resolve(this.entry()).then((entry) => {
|
40
|
-
if(typeof entry === "string" || Array.isArray(entry)) {
|
41
|
-
addEntry(entry, "main").then(() => callback(), callback);
|
42
|
-
} else if(typeof entry === "object") {
|
43
|
-
Promise.all(Object.keys(entry).map((name) => {
|
44
|
-
return addEntry(entry[name], name);
|
45
|
-
})).then(() => callback(), callback);
|
46
|
-
}
|
47
|
-
});
|
48
|
-
});
|
49
|
-
}
|
50
|
-
}
|
51
|
-
|
52
|
-
module.exports = DynamicEntryPlugin;
|
53
|
-
|
54
|
-
DynamicEntryPlugin.createDependency = function(entry, name) {
|
55
|
-
if(Array.isArray(entry))
|
56
|
-
return MultiEntryPlugin.createDependency(entry, name);
|
57
|
-
else
|
58
|
-
return SingleEntryPlugin.createDependency(entry, name);
|
59
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Naoyuki Kanezawa @nkzawa
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const MultiEntryDependency = require("./dependencies/MultiEntryDependency");
|
8
|
+
const SingleEntryDependency = require("./dependencies/SingleEntryDependency");
|
9
|
+
const MultiModuleFactory = require("./MultiModuleFactory");
|
10
|
+
const MultiEntryPlugin = require("./MultiEntryPlugin");
|
11
|
+
const SingleEntryPlugin = require("./SingleEntryPlugin");
|
12
|
+
|
13
|
+
class DynamicEntryPlugin {
|
14
|
+
constructor(context, entry) {
|
15
|
+
this.context = context;
|
16
|
+
this.entry = entry;
|
17
|
+
}
|
18
|
+
|
19
|
+
apply(compiler) {
|
20
|
+
compiler.plugin("compilation", (compilation, params) => {
|
21
|
+
const multiModuleFactory = new MultiModuleFactory();
|
22
|
+
const normalModuleFactory = params.normalModuleFactory;
|
23
|
+
|
24
|
+
compilation.dependencyFactories.set(MultiEntryDependency, multiModuleFactory);
|
25
|
+
compilation.dependencyFactories.set(SingleEntryDependency, normalModuleFactory);
|
26
|
+
});
|
27
|
+
|
28
|
+
compiler.plugin("make", (compilation, callback) => {
|
29
|
+
const addEntry = (entry, name) => {
|
30
|
+
const dep = DynamicEntryPlugin.createDependency(entry, name);
|
31
|
+
return new Promise((resolve, reject) => {
|
32
|
+
compilation.addEntry(this.context, dep, name, (err) => {
|
33
|
+
if(err) return reject(err);
|
34
|
+
resolve();
|
35
|
+
});
|
36
|
+
});
|
37
|
+
};
|
38
|
+
|
39
|
+
Promise.resolve(this.entry()).then((entry) => {
|
40
|
+
if(typeof entry === "string" || Array.isArray(entry)) {
|
41
|
+
addEntry(entry, "main").then(() => callback(), callback);
|
42
|
+
} else if(typeof entry === "object") {
|
43
|
+
Promise.all(Object.keys(entry).map((name) => {
|
44
|
+
return addEntry(entry[name], name);
|
45
|
+
})).then(() => callback(), callback);
|
46
|
+
}
|
47
|
+
});
|
48
|
+
});
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
module.exports = DynamicEntryPlugin;
|
53
|
+
|
54
|
+
DynamicEntryPlugin.createDependency = function(entry, name) {
|
55
|
+
if(Array.isArray(entry))
|
56
|
+
return MultiEntryPlugin.createDependency(entry, name);
|
57
|
+
else
|
58
|
+
return SingleEntryPlugin.createDependency(entry, name);
|
59
|
+
};
|
@@ -1,22 +1,22 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const WebpackError = require("./WebpackError");
|
8
|
-
|
9
|
-
class EntryModuleNotFoundError extends WebpackError {
|
10
|
-
constructor(err) {
|
11
|
-
super();
|
12
|
-
|
13
|
-
this.name = "EntryModuleNotFoundError";
|
14
|
-
this.message = "Entry module not found: " + err;
|
15
|
-
this.details = err.details;
|
16
|
-
this.error = err;
|
17
|
-
|
18
|
-
Error.captureStackTrace(this, this.constructor);
|
19
|
-
}
|
20
|
-
}
|
21
|
-
|
22
|
-
module.exports = EntryModuleNotFoundError;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const WebpackError = require("./WebpackError");
|
8
|
+
|
9
|
+
class EntryModuleNotFoundError extends WebpackError {
|
10
|
+
constructor(err) {
|
11
|
+
super();
|
12
|
+
|
13
|
+
this.name = "EntryModuleNotFoundError";
|
14
|
+
this.message = "Entry module not found: " + err;
|
15
|
+
this.details = err.details;
|
16
|
+
this.error = err;
|
17
|
+
|
18
|
+
Error.captureStackTrace(this, this.constructor);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
module.exports = EntryModuleNotFoundError;
|
package/lib/EntryOptionPlugin.js
CHANGED
@@ -1,31 +1,31 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const SingleEntryPlugin = require("./SingleEntryPlugin");
|
8
|
-
const MultiEntryPlugin = require("./MultiEntryPlugin");
|
9
|
-
const DynamicEntryPlugin = require("./DynamicEntryPlugin");
|
10
|
-
|
11
|
-
function itemToPlugin(context, item, name) {
|
12
|
-
if(Array.isArray(item)) {
|
13
|
-
return new MultiEntryPlugin(context, item, name);
|
14
|
-
}
|
15
|
-
return new SingleEntryPlugin(context, item, name);
|
16
|
-
}
|
17
|
-
|
18
|
-
module.exports = class EntryOptionPlugin {
|
19
|
-
apply(compiler) {
|
20
|
-
compiler.plugin("entry-option", (context, entry) => {
|
21
|
-
if(typeof entry === "string" || Array.isArray(entry)) {
|
22
|
-
compiler.apply(itemToPlugin(context, entry, "main"));
|
23
|
-
} else if(typeof entry === "object") {
|
24
|
-
Object.keys(entry).forEach(name => compiler.apply(itemToPlugin(context, entry[name], name)));
|
25
|
-
} else if(typeof entry === "function") {
|
26
|
-
compiler.apply(new DynamicEntryPlugin(context, entry));
|
27
|
-
}
|
28
|
-
return true;
|
29
|
-
});
|
30
|
-
}
|
31
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const SingleEntryPlugin = require("./SingleEntryPlugin");
|
8
|
+
const MultiEntryPlugin = require("./MultiEntryPlugin");
|
9
|
+
const DynamicEntryPlugin = require("./DynamicEntryPlugin");
|
10
|
+
|
11
|
+
function itemToPlugin(context, item, name) {
|
12
|
+
if(Array.isArray(item)) {
|
13
|
+
return new MultiEntryPlugin(context, item, name);
|
14
|
+
}
|
15
|
+
return new SingleEntryPlugin(context, item, name);
|
16
|
+
}
|
17
|
+
|
18
|
+
module.exports = class EntryOptionPlugin {
|
19
|
+
apply(compiler) {
|
20
|
+
compiler.plugin("entry-option", (context, entry) => {
|
21
|
+
if(typeof entry === "string" || Array.isArray(entry)) {
|
22
|
+
compiler.apply(itemToPlugin(context, entry, "main"));
|
23
|
+
} else if(typeof entry === "object") {
|
24
|
+
Object.keys(entry).forEach(name => compiler.apply(itemToPlugin(context, entry[name], name)));
|
25
|
+
} else if(typeof entry === "function") {
|
26
|
+
compiler.apply(new DynamicEntryPlugin(context, entry));
|
27
|
+
}
|
28
|
+
return true;
|
29
|
+
});
|
30
|
+
}
|
31
|
+
};
|
package/lib/EnvironmentPlugin.js
CHANGED
@@ -1,50 +1,50 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Authors Simen Brekken @simenbrekken, Einar Löve @einarlove
|
4
|
-
*/
|
5
|
-
|
6
|
-
"use strict";
|
7
|
-
|
8
|
-
const DefinePlugin = require("./DefinePlugin");
|
9
|
-
|
10
|
-
class EnvironmentPlugin {
|
11
|
-
constructor(keys) {
|
12
|
-
if(Array.isArray(keys)) {
|
13
|
-
this.keys = keys;
|
14
|
-
this.defaultValues = {};
|
15
|
-
} else if(keys && typeof keys === "object") {
|
16
|
-
this.keys = Object.keys(keys);
|
17
|
-
this.defaultValues = keys;
|
18
|
-
} else {
|
19
|
-
this.keys = Array.prototype.slice.call(arguments);
|
20
|
-
this.defaultValues = {};
|
21
|
-
}
|
22
|
-
}
|
23
|
-
|
24
|
-
apply(compiler) {
|
25
|
-
const definitions = this.keys.reduce((defs, key) => {
|
26
|
-
const value = process.env[key] !== undefined ? process.env[key] : this.defaultValues[key];
|
27
|
-
|
28
|
-
if(value === undefined) {
|
29
|
-
compiler.plugin("this-compilation", compilation => {
|
30
|
-
const error = new Error(
|
31
|
-
`EnvironmentPlugin - ${key} environment variable is undefined.\n\n` +
|
32
|
-
"You can pass an object with default values to suppress this warning.\n" +
|
33
|
-
"See https://webpack.js.org/plugins/environment-plugin for example."
|
34
|
-
);
|
35
|
-
|
36
|
-
error.name = "EnvVariableNotDefinedError";
|
37
|
-
compilation.warnings.push(error);
|
38
|
-
});
|
39
|
-
}
|
40
|
-
|
41
|
-
defs[`process.env.${key}`] = typeof value === "undefined" ? "undefined" : JSON.stringify(value);
|
42
|
-
|
43
|
-
return defs;
|
44
|
-
}, {});
|
45
|
-
|
46
|
-
compiler.apply(new DefinePlugin(definitions));
|
47
|
-
}
|
48
|
-
}
|
49
|
-
|
50
|
-
module.exports = EnvironmentPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Authors Simen Brekken @simenbrekken, Einar Löve @einarlove
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
const DefinePlugin = require("./DefinePlugin");
|
9
|
+
|
10
|
+
class EnvironmentPlugin {
|
11
|
+
constructor(keys) {
|
12
|
+
if(Array.isArray(keys)) {
|
13
|
+
this.keys = keys;
|
14
|
+
this.defaultValues = {};
|
15
|
+
} else if(keys && typeof keys === "object") {
|
16
|
+
this.keys = Object.keys(keys);
|
17
|
+
this.defaultValues = keys;
|
18
|
+
} else {
|
19
|
+
this.keys = Array.prototype.slice.call(arguments);
|
20
|
+
this.defaultValues = {};
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
apply(compiler) {
|
25
|
+
const definitions = this.keys.reduce((defs, key) => {
|
26
|
+
const value = process.env[key] !== undefined ? process.env[key] : this.defaultValues[key];
|
27
|
+
|
28
|
+
if(value === undefined) {
|
29
|
+
compiler.plugin("this-compilation", compilation => {
|
30
|
+
const error = new Error(
|
31
|
+
`EnvironmentPlugin - ${key} environment variable is undefined.\n\n` +
|
32
|
+
"You can pass an object with default values to suppress this warning.\n" +
|
33
|
+
"See https://webpack.js.org/plugins/environment-plugin for example."
|
34
|
+
);
|
35
|
+
|
36
|
+
error.name = "EnvVariableNotDefinedError";
|
37
|
+
compilation.warnings.push(error);
|
38
|
+
});
|
39
|
+
}
|
40
|
+
|
41
|
+
defs[`process.env.${key}`] = typeof value === "undefined" ? "undefined" : JSON.stringify(value);
|
42
|
+
|
43
|
+
return defs;
|
44
|
+
}, {});
|
45
|
+
|
46
|
+
compiler.apply(new DefinePlugin(definitions));
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
module.exports = EnvironmentPlugin;
|
package/lib/ErrorHelpers.js
CHANGED
@@ -1,31 +1,31 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const loaderFlag = "LOADER_EXECUTION";
|
8
|
-
|
9
|
-
exports.cutOffLoaderExecution = (stack) => {
|
10
|
-
stack = stack.split("\n");
|
11
|
-
for(let i = 0; i < stack.length; i++)
|
12
|
-
if(stack[i].indexOf(loaderFlag) >= 0)
|
13
|
-
stack.length = i;
|
14
|
-
return stack.join("\n");
|
15
|
-
};
|
16
|
-
|
17
|
-
exports.cutOffMessage = (stack, message) => {
|
18
|
-
const nextLine = stack.indexOf("\n");
|
19
|
-
if(nextLine === -1) {
|
20
|
-
return stack === message ? "" : stack;
|
21
|
-
} else {
|
22
|
-
const firstLine = stack.substr(0, nextLine);
|
23
|
-
return firstLine === message ? stack.substr(nextLine + 1) : stack;
|
24
|
-
}
|
25
|
-
};
|
26
|
-
|
27
|
-
exports.cleanUp = (stack, message) => {
|
28
|
-
stack = exports.cutOffLoaderExecution(stack);
|
29
|
-
stack = exports.cutOffMessage(stack, message);
|
30
|
-
return stack;
|
31
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const loaderFlag = "LOADER_EXECUTION";
|
8
|
+
|
9
|
+
exports.cutOffLoaderExecution = (stack) => {
|
10
|
+
stack = stack.split("\n");
|
11
|
+
for(let i = 0; i < stack.length; i++)
|
12
|
+
if(stack[i].indexOf(loaderFlag) >= 0)
|
13
|
+
stack.length = i;
|
14
|
+
return stack.join("\n");
|
15
|
+
};
|
16
|
+
|
17
|
+
exports.cutOffMessage = (stack, message) => {
|
18
|
+
const nextLine = stack.indexOf("\n");
|
19
|
+
if(nextLine === -1) {
|
20
|
+
return stack === message ? "" : stack;
|
21
|
+
} else {
|
22
|
+
const firstLine = stack.substr(0, nextLine);
|
23
|
+
return firstLine === message ? stack.substr(nextLine + 1) : stack;
|
24
|
+
}
|
25
|
+
};
|
26
|
+
|
27
|
+
exports.cleanUp = (stack, message) => {
|
28
|
+
stack = exports.cutOffLoaderExecution(stack);
|
29
|
+
stack = exports.cutOffMessage(stack, message);
|
30
|
+
return stack;
|
31
|
+
};
|
@@ -1,22 +1,22 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const EvalDevToolModuleTemplatePlugin = require("./EvalDevToolModuleTemplatePlugin");
|
8
|
-
|
9
|
-
class EvalDevToolModulePlugin {
|
10
|
-
constructor(sourceUrlComment, moduleFilenameTemplate) {
|
11
|
-
this.sourceUrlComment = sourceUrlComment;
|
12
|
-
this.moduleFilenameTemplate = moduleFilenameTemplate;
|
13
|
-
}
|
14
|
-
|
15
|
-
apply(compiler) {
|
16
|
-
compiler.plugin("compilation", (compilation) => {
|
17
|
-
compilation.moduleTemplate.apply(new EvalDevToolModuleTemplatePlugin(this.sourceUrlComment, this.moduleFilenameTemplate));
|
18
|
-
});
|
19
|
-
}
|
20
|
-
}
|
21
|
-
|
22
|
-
module.exports = EvalDevToolModulePlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const EvalDevToolModuleTemplatePlugin = require("./EvalDevToolModuleTemplatePlugin");
|
8
|
+
|
9
|
+
class EvalDevToolModulePlugin {
|
10
|
+
constructor(sourceUrlComment, moduleFilenameTemplate) {
|
11
|
+
this.sourceUrlComment = sourceUrlComment;
|
12
|
+
this.moduleFilenameTemplate = moduleFilenameTemplate;
|
13
|
+
}
|
14
|
+
|
15
|
+
apply(compiler) {
|
16
|
+
compiler.plugin("compilation", (compilation) => {
|
17
|
+
compilation.moduleTemplate.apply(new EvalDevToolModuleTemplatePlugin(this.sourceUrlComment, this.moduleFilenameTemplate));
|
18
|
+
});
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
module.exports = EvalDevToolModulePlugin;
|
@@ -1,33 +1,33 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const RawSource = require("webpack-sources").RawSource;
|
8
|
-
const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
|
9
|
-
|
10
|
-
class EvalDevToolModuleTemplatePlugin {
|
11
|
-
constructor(sourceUrlComment, moduleFilenameTemplate) {
|
12
|
-
this.sourceUrlComment = sourceUrlComment || "\n//# sourceURL=[url]";
|
13
|
-
this.moduleFilenameTemplate = moduleFilenameTemplate || "webpack:///[resourcePath]?[loaders]";
|
14
|
-
}
|
15
|
-
|
16
|
-
apply(moduleTemplate) {
|
17
|
-
moduleTemplate.plugin("module", (source, module) => {
|
18
|
-
const content = source.source();
|
19
|
-
const str = ModuleFilenameHelpers.createFilename(module, this.moduleFilenameTemplate, moduleTemplate.requestShortener);
|
20
|
-
const footer = ["\n",
|
21
|
-
ModuleFilenameHelpers.createFooter(module, moduleTemplate.requestShortener),
|
22
|
-
this.sourceUrlComment.replace(/\[url\]/g, encodeURI(str).replace(/%2F/g, "/").replace(/%20/g, "_").replace(/%5E/g, "^").replace(/%5C/g, "\\").replace(/^\//, ""))
|
23
|
-
].join("\n");
|
24
|
-
return new RawSource(`eval(${JSON.stringify(content + footer)});`);
|
25
|
-
});
|
26
|
-
moduleTemplate.plugin("hash", hash => {
|
27
|
-
hash.update("EvalDevToolModuleTemplatePlugin");
|
28
|
-
hash.update("2");
|
29
|
-
});
|
30
|
-
}
|
31
|
-
}
|
32
|
-
|
33
|
-
module.exports = EvalDevToolModuleTemplatePlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const RawSource = require("webpack-sources").RawSource;
|
8
|
+
const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
|
9
|
+
|
10
|
+
class EvalDevToolModuleTemplatePlugin {
|
11
|
+
constructor(sourceUrlComment, moduleFilenameTemplate) {
|
12
|
+
this.sourceUrlComment = sourceUrlComment || "\n//# sourceURL=[url]";
|
13
|
+
this.moduleFilenameTemplate = moduleFilenameTemplate || "webpack:///[resourcePath]?[loaders]";
|
14
|
+
}
|
15
|
+
|
16
|
+
apply(moduleTemplate) {
|
17
|
+
moduleTemplate.plugin("module", (source, module) => {
|
18
|
+
const content = source.source();
|
19
|
+
const str = ModuleFilenameHelpers.createFilename(module, this.moduleFilenameTemplate, moduleTemplate.requestShortener);
|
20
|
+
const footer = ["\n",
|
21
|
+
ModuleFilenameHelpers.createFooter(module, moduleTemplate.requestShortener),
|
22
|
+
this.sourceUrlComment.replace(/\[url\]/g, encodeURI(str).replace(/%2F/g, "/").replace(/%20/g, "_").replace(/%5E/g, "^").replace(/%5C/g, "\\").replace(/^\//, ""))
|
23
|
+
].join("\n");
|
24
|
+
return new RawSource(`eval(${JSON.stringify(content + footer)});`);
|
25
|
+
});
|
26
|
+
moduleTemplate.plugin("hash", hash => {
|
27
|
+
hash.update("EvalDevToolModuleTemplatePlugin");
|
28
|
+
hash.update("2");
|
29
|
+
});
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
module.exports = EvalDevToolModuleTemplatePlugin;
|