webpack 1.13.3 → 1.14.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.
- package/LICENSE +22 -22
- package/README.md +310 -310
- package/buildin/amd-define.js +1 -1
- package/buildin/amd-options.js +1 -1
- package/buildin/module.js +10 -10
- package/hot/dev-server.js +63 -63
- package/hot/log-apply-result.js +25 -25
- package/hot/only-dev-server.js +77 -77
- package/hot/poll.js +37 -37
- package/hot/signal.js +65 -65
- package/lib/APIPlugin.js +49 -49
- package/lib/AbstractPlugin.js +22 -22
- package/lib/AmdMainTemplatePlugin.js +43 -43
- package/lib/ArrayMap.js +50 -50
- package/lib/AsyncDependenciesBlock.js +39 -39
- package/lib/AutomaticPrefetchPlugin.js +35 -35
- package/lib/BannerPlugin.js +34 -34
- package/lib/BasicEvaluatedExpression.js +140 -140
- package/lib/CachePlugin.js +43 -43
- package/lib/CaseSensitiveModulesWarning.js +16 -16
- package/lib/Chunk.js +252 -252
- package/lib/ChunkRenderError.js +17 -17
- package/lib/ChunkTemplate.js +37 -37
- package/lib/CompatibilityPlugin.js +42 -42
- package/lib/Compilation.js +891 -891
- package/lib/Compiler.js +407 -407
- package/lib/ConcatSource.js +5 -5
- package/lib/ConstPlugin.js +54 -54
- package/lib/ContextModule.js +130 -130
- package/lib/ContextModuleFactory.js +132 -132
- package/lib/ContextReplacementPlugin.js +93 -93
- package/lib/CriticalDependenciesWarning.js +24 -24
- package/lib/DefinePlugin.js +126 -126
- package/lib/DelegatedModule.js +69 -69
- package/lib/DelegatedModuleFactoryPlugin.js +51 -51
- package/lib/DelegatedPlugin.js +21 -21
- package/lib/DependenciesBlock.js +57 -57
- package/lib/DependenciesBlockVariable.js +41 -41
- package/lib/Dependency.js +54 -54
- package/lib/DllEntryPlugin.js +32 -32
- package/lib/DllModule.js +55 -55
- package/lib/DllModuleFactory.js +18 -18
- package/lib/DllPlugin.js +30 -30
- package/lib/DllReferencePlugin.js +26 -26
- package/lib/EntryModuleNotFoundError.js +15 -15
- package/lib/EntryOptionPlugin.js +28 -28
- package/lib/EnvironmentPlugin.js +28 -28
- package/lib/EvalDevToolModulePlugin.js +17 -17
- package/lib/EvalDevToolModuleTemplatePlugin.js +29 -29
- package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +68 -68
- package/lib/EvalSourceMapDevToolPlugin.js +25 -25
- package/lib/ExtendedAPIPlugin.js +45 -45
- package/lib/ExternalModule.js +89 -89
- package/lib/ExternalModuleFactoryPlugin.js +86 -86
- package/lib/ExternalsPlugin.js +16 -16
- package/lib/FunctionModulePlugin.js +18 -18
- package/lib/FunctionModuleTemplatePlugin.js +39 -39
- package/lib/HotModuleReplacement.runtime.js +486 -486
- package/lib/HotModuleReplacementPlugin.js +223 -223
- package/lib/HotUpdateChunkTemplate.js +28 -28
- package/lib/IgnorePlugin.js +32 -32
- package/lib/JsonpChunkTemplatePlugin.js +26 -26
- package/lib/JsonpExportMainTemplatePlugin.js +28 -28
- package/lib/JsonpHotUpdateChunkTemplatePlugin.js +26 -26
- package/lib/JsonpMainTemplate.runtime.js +56 -56
- package/lib/JsonpMainTemplatePlugin.js +162 -162
- package/lib/JsonpTemplatePlugin.js +17 -17
- package/lib/LibManifestPlugin.js +49 -49
- package/lib/LibraryTemplatePlugin.js +77 -77
- package/lib/LoaderTargetPlugin.js +16 -16
- package/lib/MainTemplate.js +169 -169
- package/lib/MemoryOutputFileSystem.js +5 -5
- package/lib/Module.js +116 -116
- package/lib/ModuleFilenameHelpers.js +157 -157
- package/lib/ModuleNotFoundError.js +17 -17
- package/lib/ModuleParseError.js +26 -26
- package/lib/ModuleParserHelpers.js +21 -21
- package/lib/ModuleReason.js +9 -9
- package/lib/ModuleTemplate.js +23 -23
- package/lib/MovedToPluginWarningPlugin.js +17 -17
- package/lib/MultiCompiler.js +166 -166
- package/lib/MultiEntryPlugin.js +31 -31
- package/lib/MultiModule.js +71 -71
- package/lib/MultiModuleFactory.js +18 -18
- package/lib/NamedModulesPlugin.js +21 -21
- package/lib/NewWatchingPlugin.js +12 -12
- package/lib/NoErrorsPlugin.js +18 -18
- package/lib/NodeStuffPlugin.js +99 -99
- package/lib/NormalModule.js +322 -322
- package/lib/NormalModuleFactory.js +171 -171
- package/lib/NormalModuleReplacementPlugin.js +40 -40
- package/lib/NullFactory.js +10 -10
- package/lib/OldWatchingPlugin.js +14 -14
- package/lib/OptionsApply.js +10 -10
- package/lib/OriginalSource.js +5 -5
- package/lib/Parser.js +938 -938
- package/lib/PrefetchPlugin.js +25 -25
- package/lib/ProgressPlugin.js +80 -80
- package/lib/ProvidePlugin.js +48 -48
- package/lib/RawModule.js +65 -65
- package/lib/RawSource.js +5 -5
- package/lib/RecordIdsPlugin.js +130 -130
- package/lib/RequestShortener.js +56 -56
- package/lib/RequireJsStuffPlugin.js +38 -38
- package/lib/ResolverPlugin.js +34 -34
- package/lib/SetVarMainTemplatePlugin.js +36 -36
- package/lib/SingleEntryPlugin.js +24 -24
- package/lib/Source.js +5 -5
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +33 -33
- package/lib/SourceMapDevToolPlugin.js +168 -168
- package/lib/SourceMapSource.js +5 -5
- package/lib/Stats.js +732 -732
- package/lib/Template.js +119 -119
- package/lib/TemplatedPathPlugin.js +111 -111
- package/lib/UmdMainTemplatePlugin.js +146 -146
- package/lib/UnsupportedFeatureWarning.js +14 -14
- package/lib/WarnCaseSensitiveModulesPlugin.js +27 -27
- package/lib/WatchIgnorePlugin.js +45 -45
- package/lib/WebpackOptionsApply.js +376 -376
- package/lib/WebpackOptionsDefaulter.js +112 -112
- package/lib/dependencies/AMDDefineDependency.js +63 -63
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +240 -240
- package/lib/dependencies/AMDPlugin.js +115 -115
- package/lib/dependencies/AMDRequireArrayDependency.js +34 -34
- package/lib/dependencies/AMDRequireContextDependency.js +18 -18
- package/lib/dependencies/AMDRequireDependenciesBlock.js +25 -25
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +145 -145
- package/lib/dependencies/AMDRequireDependency.js +64 -64
- package/lib/dependencies/AMDRequireItemDependency.js +17 -17
- package/lib/dependencies/CommonJsPlugin.js +93 -93
- package/lib/dependencies/CommonJsRequireContextDependency.js +18 -18
- package/lib/dependencies/CommonJsRequireDependency.js +17 -17
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +91 -91
- package/lib/dependencies/ConstDependency.js +29 -29
- package/lib/dependencies/ContextDependency.js +24 -24
- package/lib/dependencies/ContextDependencyHelpers.js +34 -34
- package/lib/dependencies/ContextDependencyTemplateAsId.js +22 -22
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +31 -31
- package/lib/dependencies/ContextElementDependency.js +17 -17
- package/lib/dependencies/DelegatedSourceDependency.js +14 -14
- package/lib/dependencies/DepBlockHelpers.js +41 -41
- package/lib/dependencies/DllEntryDependency.js +17 -17
- package/lib/dependencies/LabeledExportsDependency.js +21 -21
- package/lib/dependencies/LabeledModuleDependency.js +36 -36
- package/lib/dependencies/LabeledModuleDependencyParserPlugin.js +76 -76
- package/lib/dependencies/LabeledModulesPlugin.js +26 -26
- package/lib/dependencies/LoaderDependency.js +14 -14
- package/lib/dependencies/LoaderPlugin.js +61 -61
- package/lib/dependencies/LocalModule.js +19 -19
- package/lib/dependencies/LocalModuleDependency.js +23 -23
- package/lib/dependencies/LocalModulesHelpers.js +43 -43
- package/lib/dependencies/ModuleDependency.js +20 -20
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +22 -22
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +22 -22
- package/lib/dependencies/ModuleHotAcceptDependency.js +18 -18
- package/lib/dependencies/ModuleHotDeclineDependency.js +18 -18
- package/lib/dependencies/MultiEntryDependency.js +16 -16
- package/lib/dependencies/NullDependency.js +17 -17
- package/lib/dependencies/NullDependencyTemplate.js +8 -8
- package/lib/dependencies/PrefetchDependency.js +14 -14
- package/lib/dependencies/RequireContextDependency.js +17 -17
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +33 -33
- package/lib/dependencies/RequireContextPlugin.js +64 -64
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +20 -20
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +66 -66
- package/lib/dependencies/RequireEnsureDependency.js +29 -29
- package/lib/dependencies/RequireEnsureItemDependency.js +16 -16
- package/lib/dependencies/RequireEnsurePlugin.js +38 -38
- package/lib/dependencies/RequireHeaderDependency.js +25 -25
- package/lib/dependencies/RequireIncludeDependency.js +25 -25
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +18 -18
- package/lib/dependencies/RequireIncludePlugin.js +31 -31
- package/lib/dependencies/RequireResolveContextDependency.js +18 -18
- package/lib/dependencies/RequireResolveDependency.js +17 -17
- package/lib/dependencies/RequireResolveDependencyParserPlugin.js +69 -69
- package/lib/dependencies/RequireResolveHeaderDependency.js +25 -25
- package/lib/dependencies/SingleEntryDependency.js +14 -14
- package/lib/dependencies/TemplateArgumentDependency.js +26 -26
- package/lib/dependencies/WebpackMissingModule.js +23 -23
- package/lib/dependencies/getFunctionExpression.js +43 -43
- package/lib/node/NodeChunkTemplatePlugin.js +22 -22
- package/lib/node/NodeEnvironmentPlugin.js +25 -25
- package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +24 -24
- package/lib/node/NodeMainTemplate.runtime.js +20 -20
- package/lib/node/NodeMainTemplateAsync.runtime.js +34 -34
- package/lib/node/NodeMainTemplatePlugin.js +164 -164
- package/lib/node/NodeOutputFileSystem.js +17 -17
- package/lib/node/NodeSourcePlugin.js +85 -75
- package/lib/node/NodeTargetPlugin.js +12 -12
- package/lib/node/NodeTemplatePlugin.js +21 -21
- package/lib/node/NodeWatchFileSystem.js +65 -65
- package/lib/node/OldNodeWatchFileSystem.js +265 -265
- package/lib/optimize/AggressiveMergingPlugin.js +115 -115
- package/lib/optimize/CommonsChunkPlugin.js +178 -178
- package/lib/optimize/DedupePlugin.js +227 -227
- package/lib/optimize/FlagIncludedChunksPlugin.js +24 -24
- package/lib/optimize/LimitChunkCountPlugin.js +55 -55
- package/lib/optimize/MergeDuplicateChunksPlugin.js +30 -30
- package/lib/optimize/MinChunkSizePlugin.js +61 -61
- package/lib/optimize/OccurenceOrderPlugin.js +5 -5
- package/lib/optimize/OccurrenceOrderPlugin.js +91 -91
- package/lib/optimize/RemoveEmptyChunksPlugin.js +19 -19
- package/lib/optimize/RemoveParentModulesPlugin.js +50 -50
- package/lib/optimize/UglifyJsPlugin.js +146 -146
- package/lib/removeAndDo.js +13 -13
- package/lib/web/WebEnvironmentPlugin.js +16 -16
- package/lib/webpack.js +113 -113
- package/lib/webpack.web.js +27 -27
- package/lib/webworker/WebWorkerChunkTemplatePlugin.js +26 -26
- package/lib/webworker/WebWorkerMainTemplatePlugin.js +78 -78
- package/lib/webworker/WebWorkerTemplatePlugin.js +15 -15
- package/package.json +4 -4
package/lib/ExternalModule.js
CHANGED
@@ -1,89 +1,89 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var Module = require("./Module");
|
6
|
-
var OriginalSource = require("webpack-core/lib/OriginalSource");
|
7
|
-
var RawSource = require("webpack-core/lib/RawSource");
|
8
|
-
var WebpackMissingModule = require("./dependencies/WebpackMissingModule");
|
9
|
-
|
10
|
-
function ExternalModule(request, type) {
|
11
|
-
Module.call(this);
|
12
|
-
this.request = request;
|
13
|
-
this.type = type;
|
14
|
-
this.built = false;
|
15
|
-
}
|
16
|
-
module.exports = ExternalModule;
|
17
|
-
|
18
|
-
ExternalModule.prototype = Object.create(Module.prototype);
|
19
|
-
|
20
|
-
ExternalModule.prototype.external = true;
|
21
|
-
|
22
|
-
ExternalModule.prototype.identifier = function() {
|
23
|
-
return "external " + JSON.stringify(this.request);
|
24
|
-
};
|
25
|
-
|
26
|
-
ExternalModule.prototype.readableIdentifier = function() {
|
27
|
-
return "external " + JSON.stringify(this.request);
|
28
|
-
};
|
29
|
-
|
30
|
-
ExternalModule.prototype.needRebuild = function() {
|
31
|
-
return false;
|
32
|
-
};
|
33
|
-
|
34
|
-
ExternalModule.prototype.build = function(options, compilation, resolver, fs, callback) {
|
35
|
-
this.builtTime = new Date().getTime();
|
36
|
-
callback();
|
37
|
-
};
|
38
|
-
|
39
|
-
ExternalModule.prototype.source = function() {
|
40
|
-
var str = "throw new Error('Externals not supported');";
|
41
|
-
var request = this.request;
|
42
|
-
if(typeof request === "object") request = request[this.type];
|
43
|
-
switch(this.type) {
|
44
|
-
case "this":
|
45
|
-
case "window":
|
46
|
-
case "global":
|
47
|
-
if(Array.isArray(request)) {
|
48
|
-
str = "(function() { module.exports = " + this.type + request.map(function(r) {
|
49
|
-
return "[" + JSON.stringify(r) + "]";
|
50
|
-
}).join("") + "; }());";
|
51
|
-
} else
|
52
|
-
str = "(function() { module.exports = " + this.type + "[" + JSON.stringify(request) + "]; }());";
|
53
|
-
break;
|
54
|
-
case "commonjs":
|
55
|
-
case "commonjs2":
|
56
|
-
if(Array.isArray(request)) {
|
57
|
-
str = "module.exports = require(" + JSON.stringify(request[0]) + ")" + request.slice(1).map(function(r) {
|
58
|
-
return "[" + JSON.stringify(r) + "]";
|
59
|
-
}).join("") + ";";
|
60
|
-
} else
|
61
|
-
str = "module.exports = require(" + JSON.stringify(request) + ");";
|
62
|
-
break;
|
63
|
-
case "amd":
|
64
|
-
case "umd":
|
65
|
-
case "umd2":
|
66
|
-
str = "";
|
67
|
-
if(this.optional) {
|
68
|
-
str += "if(typeof __WEBPACK_EXTERNAL_MODULE_" + this.id + "__ === 'undefined') {" + WebpackMissingModule.moduleCode(request) + "}\n";
|
69
|
-
}
|
70
|
-
str += "module.exports = __WEBPACK_EXTERNAL_MODULE_" + this.id + "__;";
|
71
|
-
break;
|
72
|
-
default:
|
73
|
-
str = "";
|
74
|
-
if(this.optional) {
|
75
|
-
str += "if(typeof " + request + " === 'undefined') {" + WebpackMissingModule.moduleCode(request) + "}\n";
|
76
|
-
}
|
77
|
-
str += "module.exports = " + request + ";";
|
78
|
-
break;
|
79
|
-
}
|
80
|
-
if(this.useSourceMap) {
|
81
|
-
return new OriginalSource(str, this.identifier());
|
82
|
-
} else {
|
83
|
-
return new RawSource(str);
|
84
|
-
}
|
85
|
-
};
|
86
|
-
|
87
|
-
ExternalModule.prototype.size = function() {
|
88
|
-
return 42;
|
89
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var Module = require("./Module");
|
6
|
+
var OriginalSource = require("webpack-core/lib/OriginalSource");
|
7
|
+
var RawSource = require("webpack-core/lib/RawSource");
|
8
|
+
var WebpackMissingModule = require("./dependencies/WebpackMissingModule");
|
9
|
+
|
10
|
+
function ExternalModule(request, type) {
|
11
|
+
Module.call(this);
|
12
|
+
this.request = request;
|
13
|
+
this.type = type;
|
14
|
+
this.built = false;
|
15
|
+
}
|
16
|
+
module.exports = ExternalModule;
|
17
|
+
|
18
|
+
ExternalModule.prototype = Object.create(Module.prototype);
|
19
|
+
|
20
|
+
ExternalModule.prototype.external = true;
|
21
|
+
|
22
|
+
ExternalModule.prototype.identifier = function() {
|
23
|
+
return "external " + JSON.stringify(this.request);
|
24
|
+
};
|
25
|
+
|
26
|
+
ExternalModule.prototype.readableIdentifier = function() {
|
27
|
+
return "external " + JSON.stringify(this.request);
|
28
|
+
};
|
29
|
+
|
30
|
+
ExternalModule.prototype.needRebuild = function() {
|
31
|
+
return false;
|
32
|
+
};
|
33
|
+
|
34
|
+
ExternalModule.prototype.build = function(options, compilation, resolver, fs, callback) {
|
35
|
+
this.builtTime = new Date().getTime();
|
36
|
+
callback();
|
37
|
+
};
|
38
|
+
|
39
|
+
ExternalModule.prototype.source = function() {
|
40
|
+
var str = "throw new Error('Externals not supported');";
|
41
|
+
var request = this.request;
|
42
|
+
if(typeof request === "object") request = request[this.type];
|
43
|
+
switch(this.type) {
|
44
|
+
case "this":
|
45
|
+
case "window":
|
46
|
+
case "global":
|
47
|
+
if(Array.isArray(request)) {
|
48
|
+
str = "(function() { module.exports = " + this.type + request.map(function(r) {
|
49
|
+
return "[" + JSON.stringify(r) + "]";
|
50
|
+
}).join("") + "; }());";
|
51
|
+
} else
|
52
|
+
str = "(function() { module.exports = " + this.type + "[" + JSON.stringify(request) + "]; }());";
|
53
|
+
break;
|
54
|
+
case "commonjs":
|
55
|
+
case "commonjs2":
|
56
|
+
if(Array.isArray(request)) {
|
57
|
+
str = "module.exports = require(" + JSON.stringify(request[0]) + ")" + request.slice(1).map(function(r) {
|
58
|
+
return "[" + JSON.stringify(r) + "]";
|
59
|
+
}).join("") + ";";
|
60
|
+
} else
|
61
|
+
str = "module.exports = require(" + JSON.stringify(request) + ");";
|
62
|
+
break;
|
63
|
+
case "amd":
|
64
|
+
case "umd":
|
65
|
+
case "umd2":
|
66
|
+
str = "";
|
67
|
+
if(this.optional) {
|
68
|
+
str += "if(typeof __WEBPACK_EXTERNAL_MODULE_" + this.id + "__ === 'undefined') {" + WebpackMissingModule.moduleCode(request) + "}\n";
|
69
|
+
}
|
70
|
+
str += "module.exports = __WEBPACK_EXTERNAL_MODULE_" + this.id + "__;";
|
71
|
+
break;
|
72
|
+
default:
|
73
|
+
str = "";
|
74
|
+
if(this.optional) {
|
75
|
+
str += "if(typeof " + request + " === 'undefined') {" + WebpackMissingModule.moduleCode(request) + "}\n";
|
76
|
+
}
|
77
|
+
str += "module.exports = " + request + ";";
|
78
|
+
break;
|
79
|
+
}
|
80
|
+
if(this.useSourceMap) {
|
81
|
+
return new OriginalSource(str, this.identifier());
|
82
|
+
} else {
|
83
|
+
return new RawSource(str);
|
84
|
+
}
|
85
|
+
};
|
86
|
+
|
87
|
+
ExternalModule.prototype.size = function() {
|
88
|
+
return 42;
|
89
|
+
};
|
@@ -1,86 +1,86 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var ExternalModule = require("./ExternalModule");
|
6
|
-
|
7
|
-
function ExternalModuleFactoryPlugin(type, externals) {
|
8
|
-
this.type = type;
|
9
|
-
this.externals = externals;
|
10
|
-
}
|
11
|
-
module.exports = ExternalModuleFactoryPlugin;
|
12
|
-
|
13
|
-
ExternalModuleFactoryPlugin.prototype.apply = function(normalModuleFactory) {
|
14
|
-
var globalType = this.type;
|
15
|
-
normalModuleFactory.plugin("factory", function(factory) {
|
16
|
-
return function(data, callback) {
|
17
|
-
var context = data.context;
|
18
|
-
var dependency = data.dependency;
|
19
|
-
|
20
|
-
function handleExternal(value, type, callback) {
|
21
|
-
if(typeof type === "function") {
|
22
|
-
callback = type;
|
23
|
-
type = undefined;
|
24
|
-
}
|
25
|
-
if(value === false) return factory(data, callback);
|
26
|
-
if(value === true) value = dependency.request;
|
27
|
-
if(typeof type === "undefined" && /^[a-z0-9]+ /.test(value)) {
|
28
|
-
var idx = value.indexOf(" ");
|
29
|
-
type = value.substr(0, idx);
|
30
|
-
value = value.substr(idx + 1);
|
31
|
-
}
|
32
|
-
callback(null, new ExternalModule(value, type || globalType));
|
33
|
-
return true;
|
34
|
-
}
|
35
|
-
(function handleExternals(externals, callback) {
|
36
|
-
if(typeof externals === "string") {
|
37
|
-
if(externals === dependency.request) {
|
38
|
-
return handleExternal(dependency.request, callback);
|
39
|
-
}
|
40
|
-
} else if(Array.isArray(externals)) {
|
41
|
-
var i = 0;
|
42
|
-
(function next() {
|
43
|
-
do {
|
44
|
-
var async = true;
|
45
|
-
if(i >= externals.length) return callback();
|
46
|
-
handleExternals(externals[i++], function(err, module) {
|
47
|
-
if(err) return callback(err);
|
48
|
-
if(!module) {
|
49
|
-
if(async) {
|
50
|
-
async = false;
|
51
|
-
return;
|
52
|
-
}
|
53
|
-
return next();
|
54
|
-
}
|
55
|
-
callback(null, module);
|
56
|
-
});
|
57
|
-
} while (!async);
|
58
|
-
async = false;
|
59
|
-
}());
|
60
|
-
return;
|
61
|
-
} else if(externals instanceof RegExp) {
|
62
|
-
if(externals.test(dependency.request)) {
|
63
|
-
return handleExternal(dependency.request, callback);
|
64
|
-
}
|
65
|
-
} else if(typeof externals === "function") {
|
66
|
-
externals.call(null, context, dependency.request, function(err, value, type) {
|
67
|
-
if(err) return callback(err);
|
68
|
-
if(typeof value !== "undefined") {
|
69
|
-
handleExternal(value, type, callback);
|
70
|
-
} else {
|
71
|
-
callback();
|
72
|
-
}
|
73
|
-
});
|
74
|
-
return;
|
75
|
-
} else if(typeof externals === "object" && Object.prototype.hasOwnProperty.call(externals, dependency.request)) {
|
76
|
-
return handleExternal(externals[dependency.request], callback);
|
77
|
-
}
|
78
|
-
callback();
|
79
|
-
}(this.externals, function(err, module) {
|
80
|
-
if(err) return callback(err);
|
81
|
-
if(!module) return handleExternal(false, callback);
|
82
|
-
return callback(null, module);
|
83
|
-
}));
|
84
|
-
}.bind(this);
|
85
|
-
}.bind(this));
|
86
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var ExternalModule = require("./ExternalModule");
|
6
|
+
|
7
|
+
function ExternalModuleFactoryPlugin(type, externals) {
|
8
|
+
this.type = type;
|
9
|
+
this.externals = externals;
|
10
|
+
}
|
11
|
+
module.exports = ExternalModuleFactoryPlugin;
|
12
|
+
|
13
|
+
ExternalModuleFactoryPlugin.prototype.apply = function(normalModuleFactory) {
|
14
|
+
var globalType = this.type;
|
15
|
+
normalModuleFactory.plugin("factory", function(factory) {
|
16
|
+
return function(data, callback) {
|
17
|
+
var context = data.context;
|
18
|
+
var dependency = data.dependency;
|
19
|
+
|
20
|
+
function handleExternal(value, type, callback) {
|
21
|
+
if(typeof type === "function") {
|
22
|
+
callback = type;
|
23
|
+
type = undefined;
|
24
|
+
}
|
25
|
+
if(value === false) return factory(data, callback);
|
26
|
+
if(value === true) value = dependency.request;
|
27
|
+
if(typeof type === "undefined" && /^[a-z0-9]+ /.test(value)) {
|
28
|
+
var idx = value.indexOf(" ");
|
29
|
+
type = value.substr(0, idx);
|
30
|
+
value = value.substr(idx + 1);
|
31
|
+
}
|
32
|
+
callback(null, new ExternalModule(value, type || globalType));
|
33
|
+
return true;
|
34
|
+
}
|
35
|
+
(function handleExternals(externals, callback) {
|
36
|
+
if(typeof externals === "string") {
|
37
|
+
if(externals === dependency.request) {
|
38
|
+
return handleExternal(dependency.request, callback);
|
39
|
+
}
|
40
|
+
} else if(Array.isArray(externals)) {
|
41
|
+
var i = 0;
|
42
|
+
(function next() {
|
43
|
+
do {
|
44
|
+
var async = true;
|
45
|
+
if(i >= externals.length) return callback();
|
46
|
+
handleExternals(externals[i++], function(err, module) {
|
47
|
+
if(err) return callback(err);
|
48
|
+
if(!module) {
|
49
|
+
if(async) {
|
50
|
+
async = false;
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
return next();
|
54
|
+
}
|
55
|
+
callback(null, module);
|
56
|
+
});
|
57
|
+
} while (!async);
|
58
|
+
async = false;
|
59
|
+
}());
|
60
|
+
return;
|
61
|
+
} else if(externals instanceof RegExp) {
|
62
|
+
if(externals.test(dependency.request)) {
|
63
|
+
return handleExternal(dependency.request, callback);
|
64
|
+
}
|
65
|
+
} else if(typeof externals === "function") {
|
66
|
+
externals.call(null, context, dependency.request, function(err, value, type) {
|
67
|
+
if(err) return callback(err);
|
68
|
+
if(typeof value !== "undefined") {
|
69
|
+
handleExternal(value, type, callback);
|
70
|
+
} else {
|
71
|
+
callback();
|
72
|
+
}
|
73
|
+
});
|
74
|
+
return;
|
75
|
+
} else if(typeof externals === "object" && Object.prototype.hasOwnProperty.call(externals, dependency.request)) {
|
76
|
+
return handleExternal(externals[dependency.request], callback);
|
77
|
+
}
|
78
|
+
callback();
|
79
|
+
}(this.externals, function(err, module) {
|
80
|
+
if(err) return callback(err);
|
81
|
+
if(!module) return handleExternal(false, callback);
|
82
|
+
return callback(null, module);
|
83
|
+
}));
|
84
|
+
}.bind(this);
|
85
|
+
}.bind(this));
|
86
|
+
};
|
package/lib/ExternalsPlugin.js
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var ExternalModuleFactoryPlugin = require("./ExternalModuleFactoryPlugin");
|
6
|
-
|
7
|
-
function ExternalsPlugin(type, externals) {
|
8
|
-
this.type = type;
|
9
|
-
this.externals = externals;
|
10
|
-
}
|
11
|
-
module.exports = ExternalsPlugin;
|
12
|
-
ExternalsPlugin.prototype.apply = function(compiler) {
|
13
|
-
compiler.plugin("compile", function(params) {
|
14
|
-
params.normalModuleFactory.apply(new ExternalModuleFactoryPlugin(this.type, this.externals));
|
15
|
-
}.bind(this));
|
16
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var ExternalModuleFactoryPlugin = require("./ExternalModuleFactoryPlugin");
|
6
|
+
|
7
|
+
function ExternalsPlugin(type, externals) {
|
8
|
+
this.type = type;
|
9
|
+
this.externals = externals;
|
10
|
+
}
|
11
|
+
module.exports = ExternalsPlugin;
|
12
|
+
ExternalsPlugin.prototype.apply = function(compiler) {
|
13
|
+
compiler.plugin("compile", function(params) {
|
14
|
+
params.normalModuleFactory.apply(new ExternalModuleFactoryPlugin(this.type, this.externals));
|
15
|
+
}.bind(this));
|
16
|
+
};
|
@@ -1,18 +1,18 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var FunctionModuleTemplatePlugin = require("./FunctionModuleTemplatePlugin");
|
6
|
-
var RequestShortener = require("./RequestShortener");
|
7
|
-
|
8
|
-
function FunctionModulePlugin(options, requestShortener) {
|
9
|
-
this.options = options;
|
10
|
-
this.requestShortener = requestShortener;
|
11
|
-
}
|
12
|
-
module.exports = FunctionModulePlugin;
|
13
|
-
FunctionModulePlugin.prototype.apply = function(compiler) {
|
14
|
-
compiler.plugin("compilation", function(compilation) {
|
15
|
-
compilation.moduleTemplate.requestShortener = this.requestShortener || new RequestShortener(compiler.context);
|
16
|
-
compilation.moduleTemplate.apply(new FunctionModuleTemplatePlugin());
|
17
|
-
}.bind(this));
|
18
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var FunctionModuleTemplatePlugin = require("./FunctionModuleTemplatePlugin");
|
6
|
+
var RequestShortener = require("./RequestShortener");
|
7
|
+
|
8
|
+
function FunctionModulePlugin(options, requestShortener) {
|
9
|
+
this.options = options;
|
10
|
+
this.requestShortener = requestShortener;
|
11
|
+
}
|
12
|
+
module.exports = FunctionModulePlugin;
|
13
|
+
FunctionModulePlugin.prototype.apply = function(compiler) {
|
14
|
+
compiler.plugin("compilation", function(compilation) {
|
15
|
+
compilation.moduleTemplate.requestShortener = this.requestShortener || new RequestShortener(compiler.context);
|
16
|
+
compilation.moduleTemplate.apply(new FunctionModuleTemplatePlugin());
|
17
|
+
}.bind(this));
|
18
|
+
};
|
@@ -1,39 +1,39 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
var ConcatSource = require("webpack-core/lib/ConcatSource");
|
6
|
-
var PrefixSource = require("webpack-core/lib/PrefixSource");
|
7
|
-
|
8
|
-
function FunctionModuleTemplatePlugin() {}
|
9
|
-
module.exports = FunctionModuleTemplatePlugin;
|
10
|
-
|
11
|
-
FunctionModuleTemplatePlugin.prototype.apply = function(moduleTemplate) {
|
12
|
-
moduleTemplate.plugin("render", function(moduleSource, module) {
|
13
|
-
var source = new ConcatSource();
|
14
|
-
var defaultArguments = ["module", "exports"];
|
15
|
-
if((module.arguments && module.arguments.length !== 0) || module.hasDependencies()) {
|
16
|
-
defaultArguments.push("__webpack_require__");
|
17
|
-
}
|
18
|
-
source.add("/***/ function(" + defaultArguments.concat(module.arguments || []).join(", ") + ") {\n\n");
|
19
|
-
source.add(new PrefixSource(this.outputOptions.sourcePrefix, moduleSource));
|
20
|
-
source.add("\n\n/***/ }");
|
21
|
-
return source;
|
22
|
-
});
|
23
|
-
moduleTemplate.plugin("package", function(moduleSource, module) {
|
24
|
-
if(this.outputOptions.pathinfo) {
|
25
|
-
var source = new ConcatSource();
|
26
|
-
var req = module.readableIdentifier(this.requestShortener);
|
27
|
-
source.add("/*!****" + req.replace(/./g, "*") + "****!*\\\n");
|
28
|
-
source.add(" !*** " + req.replace(/\*\//g, "*_/") + " ***!\n");
|
29
|
-
source.add(" \\****" + req.replace(/./g, "*") + "****/\n");
|
30
|
-
source.add(moduleSource);
|
31
|
-
return source;
|
32
|
-
}
|
33
|
-
return moduleSource;
|
34
|
-
});
|
35
|
-
moduleTemplate.plugin("hash", function(hash) {
|
36
|
-
hash.update("FunctionModuleTemplatePlugin");
|
37
|
-
hash.update("2");
|
38
|
-
});
|
39
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
var ConcatSource = require("webpack-core/lib/ConcatSource");
|
6
|
+
var PrefixSource = require("webpack-core/lib/PrefixSource");
|
7
|
+
|
8
|
+
function FunctionModuleTemplatePlugin() {}
|
9
|
+
module.exports = FunctionModuleTemplatePlugin;
|
10
|
+
|
11
|
+
FunctionModuleTemplatePlugin.prototype.apply = function(moduleTemplate) {
|
12
|
+
moduleTemplate.plugin("render", function(moduleSource, module) {
|
13
|
+
var source = new ConcatSource();
|
14
|
+
var defaultArguments = ["module", "exports"];
|
15
|
+
if((module.arguments && module.arguments.length !== 0) || module.hasDependencies()) {
|
16
|
+
defaultArguments.push("__webpack_require__");
|
17
|
+
}
|
18
|
+
source.add("/***/ function(" + defaultArguments.concat(module.arguments || []).join(", ") + ") {\n\n");
|
19
|
+
source.add(new PrefixSource(this.outputOptions.sourcePrefix, moduleSource));
|
20
|
+
source.add("\n\n/***/ }");
|
21
|
+
return source;
|
22
|
+
});
|
23
|
+
moduleTemplate.plugin("package", function(moduleSource, module) {
|
24
|
+
if(this.outputOptions.pathinfo) {
|
25
|
+
var source = new ConcatSource();
|
26
|
+
var req = module.readableIdentifier(this.requestShortener);
|
27
|
+
source.add("/*!****" + req.replace(/./g, "*") + "****!*\\\n");
|
28
|
+
source.add(" !*** " + req.replace(/\*\//g, "*_/") + " ***!\n");
|
29
|
+
source.add(" \\****" + req.replace(/./g, "*") + "****/\n");
|
30
|
+
source.add(moduleSource);
|
31
|
+
return source;
|
32
|
+
}
|
33
|
+
return moduleSource;
|
34
|
+
});
|
35
|
+
moduleTemplate.plugin("hash", function(hash) {
|
36
|
+
hash.update("FunctionModuleTemplatePlugin");
|
37
|
+
hash.update("2");
|
38
|
+
});
|
39
|
+
};
|