webpack 3.6.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/bin/convert-argv.js +1 -1
- package/bin/webpack.js +6 -0
- 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/AsyncDependencyToInitialChunkWarning.js +21 -0
- package/lib/AutomaticPrefetchPlugin.js +36 -36
- package/lib/BasicEvaluatedExpression.js +203 -203
- package/lib/CaseSensitiveModulesWarning.js +49 -49
- package/lib/Chunk.js +3 -0
- package/lib/ChunkRenderError.js +24 -24
- package/lib/ChunkTemplate.js +36 -36
- package/lib/CompatibilityPlugin.js +57 -57
- package/lib/Compilation.js +158 -51
- package/lib/Compiler.js +523 -523
- package/lib/ConstPlugin.js +60 -60
- package/lib/ContextExclusionPlugin.js +17 -0
- package/lib/ContextModule.js +431 -431
- package/lib/ContextModuleFactory.js +14 -5
- package/lib/ContextReplacementPlugin.js +111 -111
- package/lib/DefinePlugin.js +123 -123
- package/lib/DelegatedModule.js +98 -92
- 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/ExternalModule.js +7 -0
- 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/FunctionModuleTemplatePlugin.js +7 -3
- 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/JsonpMainTemplate.runtime.js +2 -1
- package/lib/JsonpMainTemplatePlugin.js +2 -0
- 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/ModuleParseError.js +1 -1
- 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/Parser.js +65 -34
- 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/Stats.js +27 -8
- package/lib/UmdMainTemplatePlugin.js +1 -1
- 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/AMDDefineDependencyParserPlugin.js +5 -1
- package/lib/dependencies/AMDPlugin.js +119 -119
- package/lib/dependencies/AMDRequireArrayDependency.js +2 -0
- package/lib/dependencies/AMDRequireContextDependency.js +0 -9
- 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/CommonJsRequireContextDependency.js +0 -10
- package/lib/dependencies/CommonJsRequireDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +89 -89
- package/lib/dependencies/ConstDependency.js +32 -32
- package/lib/dependencies/ContextDependency.js +20 -0
- 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/HarmonyExportDependencyParserPlugin.js +14 -2
- package/lib/dependencies/HarmonyExportExpressionDependency.js +0 -7
- package/lib/dependencies/HarmonyExportHeaderDependency.js +28 -28
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +45 -45
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +0 -13
- package/lib/dependencies/HarmonyModulesHelpers.js +0 -53
- package/lib/dependencies/ImportContextDependency.js +0 -10
- 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/RequireResolveContextDependency.js +0 -10
- 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/CommonsChunkPlugin.js +40 -19
- package/lib/optimize/ConcatenatedModule.js +27 -24
- 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/Queue.js +42 -0
- 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/webpack.js +1 -0
- 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 +69 -0
package/lib/NamedChunksPlugin.js
CHANGED
@@ -1,30 +1,30 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class NamedChunksPlugin {
|
8
|
-
|
9
|
-
static defaultNameResolver(chunk) {
|
10
|
-
return chunk.name || null;
|
11
|
-
}
|
12
|
-
|
13
|
-
constructor(nameResolver) {
|
14
|
-
this.nameResolver = nameResolver || NamedChunksPlugin.defaultNameResolver;
|
15
|
-
}
|
16
|
-
|
17
|
-
apply(compiler) {
|
18
|
-
compiler.plugin("compilation", (compilation) => {
|
19
|
-
compilation.plugin("before-chunk-ids", (chunks) => {
|
20
|
-
chunks.forEach((chunk) => {
|
21
|
-
if(chunk.id === null) {
|
22
|
-
chunk.id = this.nameResolver(chunk);
|
23
|
-
}
|
24
|
-
});
|
25
|
-
});
|
26
|
-
});
|
27
|
-
}
|
28
|
-
}
|
29
|
-
|
30
|
-
module.exports = NamedChunksPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class NamedChunksPlugin {
|
8
|
+
|
9
|
+
static defaultNameResolver(chunk) {
|
10
|
+
return chunk.name || null;
|
11
|
+
}
|
12
|
+
|
13
|
+
constructor(nameResolver) {
|
14
|
+
this.nameResolver = nameResolver || NamedChunksPlugin.defaultNameResolver;
|
15
|
+
}
|
16
|
+
|
17
|
+
apply(compiler) {
|
18
|
+
compiler.plugin("compilation", (compilation) => {
|
19
|
+
compilation.plugin("before-chunk-ids", (chunks) => {
|
20
|
+
chunks.forEach((chunk) => {
|
21
|
+
if(chunk.id === null) {
|
22
|
+
chunk.id = this.nameResolver(chunk);
|
23
|
+
}
|
24
|
+
});
|
25
|
+
});
|
26
|
+
});
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
module.exports = NamedChunksPlugin;
|
@@ -1,27 +1,27 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class NamedModulesPlugin {
|
8
|
-
constructor(options) {
|
9
|
-
this.options = options || {};
|
10
|
-
}
|
11
|
-
|
12
|
-
apply(compiler) {
|
13
|
-
compiler.plugin("compilation", (compilation) => {
|
14
|
-
compilation.plugin("before-module-ids", (modules) => {
|
15
|
-
modules.forEach((module) => {
|
16
|
-
if(module.id === null && module.libIdent) {
|
17
|
-
module.id = module.libIdent({
|
18
|
-
context: this.options.context || compiler.options.context
|
19
|
-
});
|
20
|
-
}
|
21
|
-
});
|
22
|
-
});
|
23
|
-
});
|
24
|
-
}
|
25
|
-
}
|
26
|
-
|
27
|
-
module.exports = NamedModulesPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class NamedModulesPlugin {
|
8
|
+
constructor(options) {
|
9
|
+
this.options = options || {};
|
10
|
+
}
|
11
|
+
|
12
|
+
apply(compiler) {
|
13
|
+
compiler.plugin("compilation", (compilation) => {
|
14
|
+
compilation.plugin("before-module-ids", (modules) => {
|
15
|
+
modules.forEach((module) => {
|
16
|
+
if(module.id === null && module.libIdent) {
|
17
|
+
module.id = module.libIdent({
|
18
|
+
context: this.options.context || compiler.options.context
|
19
|
+
});
|
20
|
+
}
|
21
|
+
});
|
22
|
+
});
|
23
|
+
});
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
module.exports = NamedModulesPlugin;
|
package/lib/NewWatchingPlugin.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
|
-
class NewWatchingPlugin {
|
8
|
-
apply(compiler) {
|
9
|
-
compiler.plugin("compilation", function(compilation) {
|
10
|
-
compilation.warnings.push(new Error("The 'NewWatchingPlugin' is no longer necessary (now default)"));
|
11
|
-
});
|
12
|
-
}
|
13
|
-
}
|
14
|
-
|
15
|
-
module.exports = NewWatchingPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class NewWatchingPlugin {
|
8
|
+
apply(compiler) {
|
9
|
+
compiler.plugin("compilation", function(compilation) {
|
10
|
+
compilation.warnings.push(new Error("The 'NewWatchingPlugin' is no longer necessary (now default)"));
|
11
|
+
});
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
module.exports = NewWatchingPlugin;
|
@@ -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
|
-
class NoEmitOnErrorsPlugin {
|
8
|
-
apply(compiler) {
|
9
|
-
compiler.plugin("should-emit", (compilation) => {
|
10
|
-
if(compilation.errors.length > 0)
|
11
|
-
return false;
|
12
|
-
});
|
13
|
-
compiler.plugin("compilation", (compilation) => {
|
14
|
-
compilation.plugin("should-record", () => {
|
15
|
-
if(compilation.errors.length > 0)
|
16
|
-
return false;
|
17
|
-
});
|
18
|
-
});
|
19
|
-
}
|
20
|
-
}
|
21
|
-
|
22
|
-
module.exports = NoEmitOnErrorsPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class NoEmitOnErrorsPlugin {
|
8
|
+
apply(compiler) {
|
9
|
+
compiler.plugin("should-emit", (compilation) => {
|
10
|
+
if(compilation.errors.length > 0)
|
11
|
+
return false;
|
12
|
+
});
|
13
|
+
compiler.plugin("compilation", (compilation) => {
|
14
|
+
compilation.plugin("should-record", () => {
|
15
|
+
if(compilation.errors.length > 0)
|
16
|
+
return false;
|
17
|
+
});
|
18
|
+
});
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
module.exports = NoEmitOnErrorsPlugin;
|
package/lib/NoErrorsPlugin.js
CHANGED
@@ -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
|
-
let deprecationReported = false;
|
8
|
-
|
9
|
-
class NoErrorsPlugin {
|
10
|
-
apply(compiler) {
|
11
|
-
compiler.plugin("should-emit", (compilation) => {
|
12
|
-
if(!deprecationReported) {
|
13
|
-
compilation.warnings.push("webpack: Using NoErrorsPlugin is deprecated.\n" +
|
14
|
-
"Use NoEmitOnErrorsPlugin instead.\n");
|
15
|
-
deprecationReported = true;
|
16
|
-
}
|
17
|
-
if(compilation.errors.length > 0)
|
18
|
-
return false;
|
19
|
-
});
|
20
|
-
compiler.plugin("compilation", (compilation) => {
|
21
|
-
compilation.plugin("should-record", () => {
|
22
|
-
if(compilation.errors.length > 0)
|
23
|
-
return false;
|
24
|
-
});
|
25
|
-
});
|
26
|
-
}
|
27
|
-
}
|
28
|
-
|
29
|
-
module.exports = NoErrorsPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
let deprecationReported = false;
|
8
|
+
|
9
|
+
class NoErrorsPlugin {
|
10
|
+
apply(compiler) {
|
11
|
+
compiler.plugin("should-emit", (compilation) => {
|
12
|
+
if(!deprecationReported) {
|
13
|
+
compilation.warnings.push("webpack: Using NoErrorsPlugin is deprecated.\n" +
|
14
|
+
"Use NoEmitOnErrorsPlugin instead.\n");
|
15
|
+
deprecationReported = true;
|
16
|
+
}
|
17
|
+
if(compilation.errors.length > 0)
|
18
|
+
return false;
|
19
|
+
});
|
20
|
+
compiler.plugin("compilation", (compilation) => {
|
21
|
+
compilation.plugin("should-record", () => {
|
22
|
+
if(compilation.errors.length > 0)
|
23
|
+
return false;
|
24
|
+
});
|
25
|
+
});
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
module.exports = NoErrorsPlugin;
|
package/lib/NodeStuffPlugin.js
CHANGED
@@ -1,97 +1,97 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const path = require("path");
|
8
|
-
const ParserHelpers = require("./ParserHelpers");
|
9
|
-
const ConstDependency = require("./dependencies/ConstDependency");
|
10
|
-
|
11
|
-
const NullFactory = require("./NullFactory");
|
12
|
-
|
13
|
-
class NodeStuffPlugin {
|
14
|
-
constructor(options) {
|
15
|
-
this.options = options;
|
16
|
-
}
|
17
|
-
|
18
|
-
apply(compiler) {
|
19
|
-
const options = this.options;
|
20
|
-
compiler.plugin("compilation", (compilation, params) => {
|
21
|
-
compilation.dependencyFactories.set(ConstDependency, new NullFactory());
|
22
|
-
compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
|
23
|
-
|
24
|
-
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
25
|
-
|
26
|
-
if(parserOptions.node === false)
|
27
|
-
return;
|
28
|
-
|
29
|
-
let localOptions = options;
|
30
|
-
if(parserOptions.node)
|
31
|
-
localOptions = Object.assign({}, localOptions, parserOptions.node);
|
32
|
-
|
33
|
-
function setConstant(expressionName, value) {
|
34
|
-
parser.plugin(`expression ${expressionName}`, function() {
|
35
|
-
this.state.current.addVariable(expressionName, JSON.stringify(value));
|
36
|
-
return true;
|
37
|
-
});
|
38
|
-
}
|
39
|
-
|
40
|
-
function setModuleConstant(expressionName, fn) {
|
41
|
-
parser.plugin(`expression ${expressionName}`, function() {
|
42
|
-
this.state.current.addVariable(expressionName, JSON.stringify(fn(this.state.module)));
|
43
|
-
return true;
|
44
|
-
});
|
45
|
-
}
|
46
|
-
const context = compiler.context;
|
47
|
-
if(localOptions.__filename === "mock") {
|
48
|
-
setConstant("__filename", "/index.js");
|
49
|
-
} else if(localOptions.__filename) {
|
50
|
-
setModuleConstant("__filename", module => path.relative(context, module.resource));
|
51
|
-
}
|
52
|
-
parser.plugin("evaluate Identifier __filename", function(expr) {
|
53
|
-
if(!this.state.module) return;
|
54
|
-
const resource = this.state.module.resource;
|
55
|
-
const i = resource.indexOf("?");
|
56
|
-
return ParserHelpers.evaluateToString(i < 0 ? resource : resource.substr(0, i))(expr);
|
57
|
-
});
|
58
|
-
if(localOptions.__dirname === "mock") {
|
59
|
-
setConstant("__dirname", "/");
|
60
|
-
} else if(localOptions.__dirname) {
|
61
|
-
setModuleConstant("__dirname", module => path.relative(context, module.context));
|
62
|
-
}
|
63
|
-
parser.plugin("evaluate Identifier __dirname", function(expr) {
|
64
|
-
if(!this.state.module) return;
|
65
|
-
return ParserHelpers.evaluateToString(this.state.module.context)(expr);
|
66
|
-
});
|
67
|
-
parser.plugin("expression require.main", ParserHelpers.toConstantDependency("__webpack_require__.c[__webpack_require__.s]"));
|
68
|
-
parser.plugin(
|
69
|
-
"expression require.extensions",
|
70
|
-
ParserHelpers.expressionIsUnsupported("require.extensions is not supported by webpack. Use a loader instead.")
|
71
|
-
);
|
72
|
-
parser.plugin("expression module.loaded", ParserHelpers.toConstantDependency("module.l"));
|
73
|
-
parser.plugin("expression module.id", ParserHelpers.toConstantDependency("module.i"));
|
74
|
-
parser.plugin("expression module.exports", function() {
|
75
|
-
const module = this.state.module;
|
76
|
-
const isHarmony = module.meta && module.meta.harmonyModule;
|
77
|
-
if(!isHarmony)
|
78
|
-
return true;
|
79
|
-
});
|
80
|
-
parser.plugin("evaluate Identifier module.hot", ParserHelpers.evaluateToIdentifier("module.hot", false));
|
81
|
-
parser.plugin("expression module", function() {
|
82
|
-
const module = this.state.module;
|
83
|
-
const isHarmony = module.meta && module.meta.harmonyModule;
|
84
|
-
let moduleJsPath = path.join(__dirname, "..", "buildin", isHarmony ? "harmony-module.js" : "module.js");
|
85
|
-
if(module.context) {
|
86
|
-
moduleJsPath = path.relative(this.state.module.context, moduleJsPath);
|
87
|
-
if(!/^[A-Z]:/i.test(moduleJsPath)) {
|
88
|
-
moduleJsPath = `./${moduleJsPath.replace(/\\/g, "/")}`;
|
89
|
-
}
|
90
|
-
}
|
91
|
-
return ParserHelpers.addParsedVariableToModule(this, "module", `require(${JSON.stringify(moduleJsPath)})(module)`);
|
92
|
-
});
|
93
|
-
});
|
94
|
-
});
|
95
|
-
}
|
96
|
-
}
|
97
|
-
module.exports = NodeStuffPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const path = require("path");
|
8
|
+
const ParserHelpers = require("./ParserHelpers");
|
9
|
+
const ConstDependency = require("./dependencies/ConstDependency");
|
10
|
+
|
11
|
+
const NullFactory = require("./NullFactory");
|
12
|
+
|
13
|
+
class NodeStuffPlugin {
|
14
|
+
constructor(options) {
|
15
|
+
this.options = options;
|
16
|
+
}
|
17
|
+
|
18
|
+
apply(compiler) {
|
19
|
+
const options = this.options;
|
20
|
+
compiler.plugin("compilation", (compilation, params) => {
|
21
|
+
compilation.dependencyFactories.set(ConstDependency, new NullFactory());
|
22
|
+
compilation.dependencyTemplates.set(ConstDependency, new ConstDependency.Template());
|
23
|
+
|
24
|
+
params.normalModuleFactory.plugin("parser", (parser, parserOptions) => {
|
25
|
+
|
26
|
+
if(parserOptions.node === false)
|
27
|
+
return;
|
28
|
+
|
29
|
+
let localOptions = options;
|
30
|
+
if(parserOptions.node)
|
31
|
+
localOptions = Object.assign({}, localOptions, parserOptions.node);
|
32
|
+
|
33
|
+
function setConstant(expressionName, value) {
|
34
|
+
parser.plugin(`expression ${expressionName}`, function() {
|
35
|
+
this.state.current.addVariable(expressionName, JSON.stringify(value));
|
36
|
+
return true;
|
37
|
+
});
|
38
|
+
}
|
39
|
+
|
40
|
+
function setModuleConstant(expressionName, fn) {
|
41
|
+
parser.plugin(`expression ${expressionName}`, function() {
|
42
|
+
this.state.current.addVariable(expressionName, JSON.stringify(fn(this.state.module)));
|
43
|
+
return true;
|
44
|
+
});
|
45
|
+
}
|
46
|
+
const context = compiler.context;
|
47
|
+
if(localOptions.__filename === "mock") {
|
48
|
+
setConstant("__filename", "/index.js");
|
49
|
+
} else if(localOptions.__filename) {
|
50
|
+
setModuleConstant("__filename", module => path.relative(context, module.resource));
|
51
|
+
}
|
52
|
+
parser.plugin("evaluate Identifier __filename", function(expr) {
|
53
|
+
if(!this.state.module) return;
|
54
|
+
const resource = this.state.module.resource;
|
55
|
+
const i = resource.indexOf("?");
|
56
|
+
return ParserHelpers.evaluateToString(i < 0 ? resource : resource.substr(0, i))(expr);
|
57
|
+
});
|
58
|
+
if(localOptions.__dirname === "mock") {
|
59
|
+
setConstant("__dirname", "/");
|
60
|
+
} else if(localOptions.__dirname) {
|
61
|
+
setModuleConstant("__dirname", module => path.relative(context, module.context));
|
62
|
+
}
|
63
|
+
parser.plugin("evaluate Identifier __dirname", function(expr) {
|
64
|
+
if(!this.state.module) return;
|
65
|
+
return ParserHelpers.evaluateToString(this.state.module.context)(expr);
|
66
|
+
});
|
67
|
+
parser.plugin("expression require.main", ParserHelpers.toConstantDependency("__webpack_require__.c[__webpack_require__.s]"));
|
68
|
+
parser.plugin(
|
69
|
+
"expression require.extensions",
|
70
|
+
ParserHelpers.expressionIsUnsupported("require.extensions is not supported by webpack. Use a loader instead.")
|
71
|
+
);
|
72
|
+
parser.plugin("expression module.loaded", ParserHelpers.toConstantDependency("module.l"));
|
73
|
+
parser.plugin("expression module.id", ParserHelpers.toConstantDependency("module.i"));
|
74
|
+
parser.plugin("expression module.exports", function() {
|
75
|
+
const module = this.state.module;
|
76
|
+
const isHarmony = module.meta && module.meta.harmonyModule;
|
77
|
+
if(!isHarmony)
|
78
|
+
return true;
|
79
|
+
});
|
80
|
+
parser.plugin("evaluate Identifier module.hot", ParserHelpers.evaluateToIdentifier("module.hot", false));
|
81
|
+
parser.plugin("expression module", function() {
|
82
|
+
const module = this.state.module;
|
83
|
+
const isHarmony = module.meta && module.meta.harmonyModule;
|
84
|
+
let moduleJsPath = path.join(__dirname, "..", "buildin", isHarmony ? "harmony-module.js" : "module.js");
|
85
|
+
if(module.context) {
|
86
|
+
moduleJsPath = path.relative(this.state.module.context, moduleJsPath);
|
87
|
+
if(!/^[A-Z]:/i.test(moduleJsPath)) {
|
88
|
+
moduleJsPath = `./${moduleJsPath.replace(/\\/g, "/")}`;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
return ParserHelpers.addParsedVariableToModule(this, "module", `require(${JSON.stringify(moduleJsPath)})(module)`);
|
92
|
+
});
|
93
|
+
});
|
94
|
+
});
|
95
|
+
}
|
96
|
+
}
|
97
|
+
module.exports = NodeStuffPlugin;
|
@@ -1,45 +1,45 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const path = require("path");
|
8
|
-
|
9
|
-
class NormalModuleReplacementPlugin {
|
10
|
-
constructor(resourceRegExp, newResource) {
|
11
|
-
this.resourceRegExp = resourceRegExp;
|
12
|
-
this.newResource = newResource;
|
13
|
-
}
|
14
|
-
|
15
|
-
apply(compiler) {
|
16
|
-
const resourceRegExp = this.resourceRegExp;
|
17
|
-
const newResource = this.newResource;
|
18
|
-
compiler.plugin("normal-module-factory", (nmf) => {
|
19
|
-
nmf.plugin("before-resolve", (result, callback) => {
|
20
|
-
if(!result) return callback();
|
21
|
-
if(resourceRegExp.test(result.request)) {
|
22
|
-
if(typeof newResource === "function") {
|
23
|
-
newResource(result);
|
24
|
-
} else {
|
25
|
-
result.request = newResource;
|
26
|
-
}
|
27
|
-
}
|
28
|
-
return callback(null, result);
|
29
|
-
});
|
30
|
-
nmf.plugin("after-resolve", (result, callback) => {
|
31
|
-
if(!result) return callback();
|
32
|
-
if(resourceRegExp.test(result.resource)) {
|
33
|
-
if(typeof newResource === "function") {
|
34
|
-
newResource(result);
|
35
|
-
} else {
|
36
|
-
result.resource = path.resolve(path.dirname(result.resource), newResource);
|
37
|
-
}
|
38
|
-
}
|
39
|
-
return callback(null, result);
|
40
|
-
});
|
41
|
-
});
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
module.exports = NormalModuleReplacementPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const path = require("path");
|
8
|
+
|
9
|
+
class NormalModuleReplacementPlugin {
|
10
|
+
constructor(resourceRegExp, newResource) {
|
11
|
+
this.resourceRegExp = resourceRegExp;
|
12
|
+
this.newResource = newResource;
|
13
|
+
}
|
14
|
+
|
15
|
+
apply(compiler) {
|
16
|
+
const resourceRegExp = this.resourceRegExp;
|
17
|
+
const newResource = this.newResource;
|
18
|
+
compiler.plugin("normal-module-factory", (nmf) => {
|
19
|
+
nmf.plugin("before-resolve", (result, callback) => {
|
20
|
+
if(!result) return callback();
|
21
|
+
if(resourceRegExp.test(result.request)) {
|
22
|
+
if(typeof newResource === "function") {
|
23
|
+
newResource(result);
|
24
|
+
} else {
|
25
|
+
result.request = newResource;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
return callback(null, result);
|
29
|
+
});
|
30
|
+
nmf.plugin("after-resolve", (result, callback) => {
|
31
|
+
if(!result) return callback();
|
32
|
+
if(resourceRegExp.test(result.resource)) {
|
33
|
+
if(typeof newResource === "function") {
|
34
|
+
newResource(result);
|
35
|
+
} else {
|
36
|
+
result.resource = path.resolve(path.dirname(result.resource), newResource);
|
37
|
+
}
|
38
|
+
}
|
39
|
+
return callback(null, result);
|
40
|
+
});
|
41
|
+
});
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
module.exports = NormalModuleReplacementPlugin;
|
package/lib/NullFactory.js
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class NullFactory {
|
8
|
-
create(data, callback) {
|
9
|
-
return callback();
|
10
|
-
}
|
11
|
-
}
|
12
|
-
module.exports = NullFactory;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class NullFactory {
|
8
|
+
create(data, callback) {
|
9
|
+
return callback();
|
10
|
+
}
|
11
|
+
}
|
12
|
+
module.exports = NullFactory;
|
package/lib/OptionsApply.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class OptionsApply {
|
8
|
-
process(options, compiler) {}
|
9
|
-
}
|
10
|
-
module.exports = OptionsApply;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class OptionsApply {
|
8
|
+
process(options, compiler) {}
|
9
|
+
}
|
10
|
+
module.exports = OptionsApply;
|