webpack 4.15.0 → 4.16.2
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 +761 -758
- package/SECURITY.md +9 -9
- package/buildin/amd-define.js +3 -3
- package/buildin/amd-options.js +2 -2
- package/buildin/global.js +20 -20
- package/buildin/harmony-module.js +24 -24
- package/buildin/module.js +22 -22
- package/buildin/system.js +7 -7
- package/hot/dev-server.js +61 -61
- package/hot/emitter.js +2 -2
- package/hot/log-apply-result.js +44 -44
- package/hot/log.js +45 -45
- package/hot/only-dev-server.js +105 -105
- package/hot/poll.js +40 -37
- package/hot/signal.js +62 -62
- package/lib/APIPlugin.js +84 -84
- package/lib/AmdMainTemplatePlugin.js +87 -87
- package/lib/AsyncDependencyToInitialChunkError.js +31 -31
- package/lib/AutomaticPrefetchPlugin.js +1 -1
- package/lib/BannerPlugin.js +117 -117
- package/lib/BasicEvaluatedExpression.js +211 -211
- package/lib/CachePlugin.js +102 -102
- package/lib/CaseSensitiveModulesWarning.js +67 -67
- package/lib/Chunk.js +833 -811
- package/lib/ChunkGroup.js +4 -4
- package/lib/ChunkRenderError.js +32 -32
- package/lib/CommentCompilationWarning.js +2 -2
- package/lib/CompatibilityPlugin.js +70 -70
- package/lib/Compilation.js +46 -15
- package/lib/ConcurrentCompilationError.js +19 -19
- package/lib/ConstPlugin.js +258 -258
- package/lib/ContextExclusionPlugin.js +28 -17
- package/lib/ContextModule.js +844 -739
- package/lib/ContextModuleFactory.js +262 -256
- package/lib/ContextReplacementPlugin.js +133 -133
- package/lib/DefinePlugin.js +49 -0
- package/lib/DelegatedModule.js +5 -0
- package/lib/DelegatedModuleFactoryPlugin.js +95 -89
- package/lib/DelegatedPlugin.js +39 -39
- package/lib/DependenciesBlock.js +1 -1
- package/lib/Dependency.js +10 -4
- package/lib/DllModule.js +60 -54
- package/lib/DllModuleFactory.js +29 -29
- package/lib/DllPlugin.js +44 -44
- package/lib/DllReferencePlugin.js +132 -84
- package/lib/EntryModuleNotFoundError.js +21 -21
- package/lib/Entrypoint.js +54 -54
- package/lib/EnvironmentPlugin.js +72 -65
- package/lib/ErrorHelpers.js +60 -60
- package/lib/EvalDevToolModulePlugin.js +27 -27
- package/lib/EvalSourceMapDevToolModuleTemplatePlugin.js +115 -115
- package/lib/EvalSourceMapDevToolPlugin.js +41 -41
- package/lib/ExportPropertyMainTemplatePlugin.js +53 -53
- package/lib/ExternalModule.js +165 -159
- package/lib/ExternalsPlugin.js +23 -23
- package/lib/FlagDependencyExportsPlugin.js +146 -146
- package/lib/FlagInitialModulesAsUsedPlugin.js +36 -36
- package/lib/FunctionModuleTemplatePlugin.js +100 -100
- package/lib/Generator.js +60 -52
- package/lib/HarmonyLinkingError.js +17 -17
- package/lib/HashedModuleIdsPlugin.js +53 -53
- package/lib/HotModuleReplacementPlugin.js +411 -413
- package/lib/IgnorePlugin.js +90 -90
- package/lib/JavascriptGenerator.js +229 -229
- package/lib/JavascriptModulesPlugin.js +179 -179
- package/lib/JsonGenerator.js +55 -55
- package/lib/JsonModulesPlugin.js +30 -30
- package/lib/JsonParser.js +27 -27
- package/lib/LibManifestPlugin.js +86 -86
- package/lib/LibraryTemplatePlugin.js +153 -153
- package/lib/LoaderOptionsPlugin.js +53 -53
- package/lib/LoaderTargetPlugin.js +24 -24
- package/lib/MemoryOutputFileSystem.js +5 -5
- package/lib/Module.js +431 -391
- package/lib/ModuleBuildError.js +52 -52
- package/lib/ModuleDependencyError.js +35 -35
- package/lib/ModuleDependencyWarning.js +25 -25
- package/lib/ModuleError.js +36 -36
- package/lib/ModuleFilenameHelpers.js +178 -178
- package/lib/ModuleNotFoundError.js +23 -23
- package/lib/ModuleParseError.js +57 -57
- package/lib/ModuleTemplate.js +93 -93
- package/lib/ModuleWarning.js +36 -36
- package/lib/MultiCompiler.js +283 -283
- package/lib/MultiModule.js +87 -81
- package/lib/MultiModuleFactory.js +23 -23
- package/lib/MultiStats.js +92 -92
- package/lib/MultiWatching.js +38 -38
- package/lib/NamedChunksPlugin.js +29 -29
- package/lib/NamedModulesPlugin.js +57 -57
- package/lib/NoEmitOnErrorsPlugin.js +20 -20
- package/lib/NoModeWarning.js +23 -23
- package/lib/NodeStuffPlugin.js +197 -179
- package/lib/NormalModule.js +542 -536
- package/lib/NormalModuleFactory.js +526 -526
- package/lib/NormalModuleReplacementPlugin.js +51 -51
- package/lib/NullFactory.js +12 -12
- package/lib/OptionsApply.js +10 -10
- package/lib/OptionsDefaulter.js +84 -84
- package/lib/Parser.js +2202 -2193
- package/lib/ParserHelpers.js +103 -103
- package/lib/PrefetchPlugin.js +37 -37
- package/lib/ProgressPlugin.js +246 -246
- package/lib/ProvidePlugin.js +86 -86
- package/lib/RawModule.js +56 -56
- package/lib/RecordIdsPlugin.js +230 -230
- package/lib/RemovedPluginError.js +11 -11
- package/lib/RequestShortener.js +83 -83
- package/lib/RequireJsStuffPlugin.js +69 -69
- package/lib/ResolverFactory.js +64 -64
- package/lib/RuntimeTemplate.js +12 -0
- package/lib/SetVarMainTemplatePlugin.js +69 -69
- package/lib/SingleEntryPlugin.js +6 -1
- package/lib/SizeFormatHelpers.js +24 -24
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +49 -49
- package/lib/SourceMapDevToolPlugin.js +301 -301
- package/lib/Stats.js +28 -5
- package/lib/TemplatedPathPlugin.js +173 -173
- package/lib/UnsupportedFeatureWarning.js +22 -22
- package/lib/UseStrictPlugin.js +54 -54
- package/lib/WarnCaseSensitiveModulesPlugin.js +37 -37
- package/lib/WarnNoModeSetPlugin.js +17 -17
- package/lib/WatchIgnorePlugin.js +100 -100
- package/lib/Watching.js +194 -194
- package/lib/WebpackOptionsApply.js +92 -10
- package/lib/WebpackOptionsDefaulter.js +368 -354
- package/lib/debug/ProfilingPlugin.js +430 -430
- package/lib/dependencies/AMDPlugin.js +250 -250
- package/lib/dependencies/AMDRequireArrayDependency.js +49 -49
- package/lib/dependencies/AMDRequireContextDependency.js +20 -20
- package/lib/dependencies/AMDRequireDependency.js +135 -135
- package/lib/dependencies/AMDRequireItemDependency.js +22 -22
- package/lib/dependencies/CommonJsPlugin.js +161 -161
- package/lib/dependencies/CommonJsRequireContextDependency.js +23 -23
- package/lib/dependencies/CommonJsRequireDependency.js +22 -22
- package/lib/dependencies/CommonJsRequireDependencyParserPlugin.js +6 -0
- package/lib/dependencies/ConstDependency.js +33 -33
- package/lib/dependencies/ContextDependency.js +68 -68
- package/lib/dependencies/ContextDependencyHelpers.js +142 -142
- package/lib/dependencies/ContextDependencyTemplateAsId.js +42 -42
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +38 -38
- package/lib/dependencies/ContextElementDependency.js +21 -21
- package/lib/dependencies/CriticalDependencyWarning.js +20 -20
- package/lib/dependencies/DelegatedSourceDependency.js +18 -18
- package/lib/dependencies/DllEntryDependency.js +20 -20
- package/lib/dependencies/HarmonyAcceptDependency.js +45 -45
- package/lib/dependencies/HarmonyCompatibilityDependency.js +31 -31
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +92 -92
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +139 -139
- package/lib/dependencies/HarmonyExportHeaderDependency.js +30 -30
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +2 -1
- package/lib/dependencies/HarmonyImportDependency.js +109 -109
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +222 -222
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +31 -31
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +167 -167
- package/lib/dependencies/HarmonyInitDependency.js +60 -60
- package/lib/dependencies/HarmonyModulesPlugin.js +146 -146
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +26 -26
- package/lib/dependencies/ImportContextDependency.js +23 -23
- package/lib/dependencies/ImportDependenciesBlock.js +18 -18
- package/lib/dependencies/ImportDependency.js +34 -34
- package/lib/dependencies/ImportEagerDependency.js +32 -32
- package/lib/dependencies/ImportParserPlugin.js +263 -263
- package/lib/dependencies/ImportPlugin.js +82 -82
- package/lib/dependencies/ImportWeakDependency.js +34 -34
- package/lib/dependencies/LoaderPlugin.js +18 -1
- package/lib/dependencies/LocalModule.js +23 -23
- package/lib/dependencies/LocalModulesHelpers.js +52 -52
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +17 -17
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +17 -17
- package/lib/dependencies/ModuleHotAcceptDependency.js +23 -23
- package/lib/dependencies/ModuleHotDeclineDependency.js +23 -23
- package/lib/dependencies/NullDependency.js +20 -20
- package/lib/dependencies/PrefetchDependency.js +18 -18
- package/lib/dependencies/RequireContextDependency.js +22 -22
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +56 -56
- package/lib/dependencies/RequireContextPlugin.js +143 -143
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +33 -33
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +116 -116
- package/lib/dependencies/RequireEnsureDependency.js +58 -58
- package/lib/dependencies/RequireEnsureItemDependency.js +21 -21
- package/lib/dependencies/RequireEnsurePlugin.js +74 -74
- package/lib/dependencies/RequireHeaderDependency.js +26 -26
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +23 -23
- package/lib/dependencies/RequireIncludePlugin.js +61 -61
- package/lib/dependencies/RequireResolveContextDependency.js +23 -23
- package/lib/dependencies/RequireResolveDependency.js +22 -22
- package/lib/dependencies/RequireResolveDependencyParserPlugin.js +85 -85
- package/lib/dependencies/RequireResolveHeaderDependency.js +26 -26
- package/lib/dependencies/SystemPlugin.js +125 -125
- package/lib/dependencies/UnsupportedDependency.js +27 -27
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +29 -29
- package/lib/dependencies/WebAssemblyImportDependency.js +48 -48
- package/lib/dependencies/WebpackMissingModule.js +20 -20
- package/lib/formatLocation.js +75 -61
- package/lib/node/NodeChunkTemplatePlugin.js +31 -31
- package/lib/node/NodeEnvironmentPlugin.js +28 -28
- package/lib/node/NodeHotUpdateChunkTemplatePlugin.js +36 -36
- package/lib/node/NodeMainTemplate.runtime.js +27 -27
- package/lib/node/NodeMainTemplatePlugin.js +323 -323
- package/lib/node/NodeOutputFileSystem.js +22 -22
- package/lib/node/NodeSourcePlugin.js +144 -144
- package/lib/node/NodeTargetPlugin.js +18 -18
- package/lib/node/NodeTemplatePlugin.js +31 -31
- package/lib/node/NodeWatchFileSystem.js +99 -99
- package/lib/node/ReadFileCompileWasmTemplatePlugin.js +61 -61
- package/lib/optimize/AggressiveMergingPlugin.js +87 -87
- package/lib/optimize/AggressiveSplittingPlugin.js +287 -287
- package/lib/optimize/ConcatenatedModule.js +5 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +70 -70
- package/lib/optimize/FlagIncludedChunksPlugin.js +99 -99
- package/lib/optimize/LimitChunkCountPlugin.js +66 -66
- package/lib/optimize/MergeDuplicateChunksPlugin.js +78 -78
- package/lib/optimize/MinChunkSizePlugin.js +77 -77
- package/lib/optimize/NaturalChunkOrderPlugin.js +41 -0
- package/lib/optimize/OccurrenceChunkOrderPlugin.js +61 -0
- package/lib/optimize/OccurrenceModuleOrderPlugin.js +103 -0
- package/lib/optimize/OccurrenceOrderPlugin.js +135 -133
- package/lib/optimize/RemoveEmptyChunksPlugin.js +42 -42
- package/lib/optimize/RemoveParentModulesPlugin.js +127 -127
- package/lib/optimize/RuntimeChunkPlugin.js +41 -41
- package/lib/optimize/SideEffectsFlagPlugin.js +168 -168
- package/lib/optimize/SplitChunksPlugin.js +866 -850
- package/lib/performance/AssetsOverSizeLimitWarning.js +30 -30
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +30 -30
- package/lib/performance/NoAsyncChunksWarning.js +21 -21
- package/lib/performance/SizeLimitsPlugin.js +105 -105
- package/lib/util/SortableSet.js +1 -0
- package/lib/util/StackedSetMap.js +144 -135
- package/lib/util/TrackingSet.js +35 -35
- package/lib/util/cachedMerge.js +35 -35
- package/lib/util/deterministicGrouping.js +251 -251
- package/lib/util/identifier.js +103 -103
- package/lib/util/objectToMap.js +16 -16
- package/lib/validateSchema.js +67 -67
- package/lib/wasm/UnsupportedWebAssemblyFeatureError.js +17 -17
- package/lib/wasm/WasmFinalizeExportsPlugin.js +1 -1
- package/lib/wasm/WebAssemblyGenerator.js +16 -2
- package/lib/wasm/WebAssemblyJavascriptGenerator.js +147 -133
- package/lib/wasm/WebAssemblyParser.js +174 -174
- package/lib/wasm/WebAssemblyUtils.js +59 -59
- package/lib/web/FetchCompileWasmTemplatePlugin.js +37 -37
- package/lib/web/JsonpExportMainTemplatePlugin.js +47 -47
- package/lib/web/JsonpHotUpdateChunkTemplatePlugin.js +39 -39
- package/lib/web/JsonpMainTemplate.runtime.js +65 -65
- package/lib/web/JsonpMainTemplatePlugin.js +1 -1
- package/lib/web/JsonpTemplatePlugin.js +23 -23
- package/lib/web/WebEnvironmentPlugin.js +18 -18
- package/lib/webpack.js +5 -0
- package/lib/webworker/WebWorkerChunkTemplatePlugin.js +35 -35
- package/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js +40 -40
- package/lib/webworker/WebWorkerMainTemplate.runtime.js +65 -65
- package/lib/webworker/WebWorkerMainTemplatePlugin.js +196 -196
- package/lib/webworker/WebWorkerTemplatePlugin.js +25 -25
- package/package.json +22 -13
- package/schemas/WebpackOptions.json +2062 -2036
- package/schemas/ajv.absolutePath.js +55 -55
- package/schemas/plugins/BannerPlugin.json +96 -96
- package/schemas/plugins/DllPlugin.json +32 -32
- package/schemas/plugins/DllReferencePlugin.json +99 -99
- package/schemas/plugins/HashedModuleIdsPlugin.json +24 -24
- package/schemas/plugins/LoaderOptionsPlugin.json +26 -26
- package/schemas/plugins/SourceMapDevToolPlugin.json +187 -187
- package/schemas/plugins/WatchIgnorePlugin.json +16 -16
- package/schemas/plugins/debug/ProfilingPlugin.json +12 -12
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.json +22 -22
- package/schemas/plugins/optimize/LimitChunkCountPlugin.json +15 -15
- package/schemas/plugins/optimize/MinChunkSizePlugin.json +13 -13
- package/schemas/plugins/optimize/OccurrenceOrderChunkIdsPlugin.json +10 -0
- package/schemas/plugins/optimize/OccurrenceOrderModuleIdsPlugin.json +10 -0
@@ -1,82 +1,82 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const ImportDependency = require("./ImportDependency");
|
8
|
-
const ImportEagerDependency = require("./ImportEagerDependency");
|
9
|
-
const ImportWeakDependency = require("./ImportWeakDependency");
|
10
|
-
const ImportContextDependency = require("./ImportContextDependency");
|
11
|
-
const ImportParserPlugin = require("./ImportParserPlugin");
|
12
|
-
|
13
|
-
class ImportPlugin {
|
14
|
-
constructor(options) {
|
15
|
-
this.options = options;
|
16
|
-
}
|
17
|
-
|
18
|
-
apply(compiler) {
|
19
|
-
const options = this.options;
|
20
|
-
compiler.hooks.compilation.tap(
|
21
|
-
"ImportPlugin",
|
22
|
-
(compilation, { contextModuleFactory, normalModuleFactory }) => {
|
23
|
-
compilation.dependencyFactories.set(
|
24
|
-
ImportDependency,
|
25
|
-
normalModuleFactory
|
26
|
-
);
|
27
|
-
compilation.dependencyTemplates.set(
|
28
|
-
ImportDependency,
|
29
|
-
new ImportDependency.Template()
|
30
|
-
);
|
31
|
-
|
32
|
-
compilation.dependencyFactories.set(
|
33
|
-
ImportEagerDependency,
|
34
|
-
normalModuleFactory
|
35
|
-
);
|
36
|
-
compilation.dependencyTemplates.set(
|
37
|
-
ImportEagerDependency,
|
38
|
-
new ImportEagerDependency.Template()
|
39
|
-
);
|
40
|
-
|
41
|
-
compilation.dependencyFactories.set(
|
42
|
-
ImportWeakDependency,
|
43
|
-
normalModuleFactory
|
44
|
-
);
|
45
|
-
compilation.dependencyTemplates.set(
|
46
|
-
ImportWeakDependency,
|
47
|
-
new ImportWeakDependency.Template()
|
48
|
-
);
|
49
|
-
|
50
|
-
compilation.dependencyFactories.set(
|
51
|
-
ImportContextDependency,
|
52
|
-
contextModuleFactory
|
53
|
-
);
|
54
|
-
compilation.dependencyTemplates.set(
|
55
|
-
ImportContextDependency,
|
56
|
-
new ImportContextDependency.Template()
|
57
|
-
);
|
58
|
-
|
59
|
-
const handler = (parser, parserOptions) => {
|
60
|
-
if (
|
61
|
-
typeof parserOptions.import !== "undefined" &&
|
62
|
-
!parserOptions.import
|
63
|
-
)
|
64
|
-
return;
|
65
|
-
|
66
|
-
new ImportParserPlugin(options).apply(parser);
|
67
|
-
};
|
68
|
-
|
69
|
-
normalModuleFactory.hooks.parser
|
70
|
-
.for("javascript/auto")
|
71
|
-
.tap("ImportPlugin", handler);
|
72
|
-
normalModuleFactory.hooks.parser
|
73
|
-
.for("javascript/dynamic")
|
74
|
-
.tap("ImportPlugin", handler);
|
75
|
-
normalModuleFactory.hooks.parser
|
76
|
-
.for("javascript/esm")
|
77
|
-
.tap("ImportPlugin", handler);
|
78
|
-
}
|
79
|
-
);
|
80
|
-
}
|
81
|
-
}
|
82
|
-
module.exports = ImportPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const ImportDependency = require("./ImportDependency");
|
8
|
+
const ImportEagerDependency = require("./ImportEagerDependency");
|
9
|
+
const ImportWeakDependency = require("./ImportWeakDependency");
|
10
|
+
const ImportContextDependency = require("./ImportContextDependency");
|
11
|
+
const ImportParserPlugin = require("./ImportParserPlugin");
|
12
|
+
|
13
|
+
class ImportPlugin {
|
14
|
+
constructor(options) {
|
15
|
+
this.options = options;
|
16
|
+
}
|
17
|
+
|
18
|
+
apply(compiler) {
|
19
|
+
const options = this.options;
|
20
|
+
compiler.hooks.compilation.tap(
|
21
|
+
"ImportPlugin",
|
22
|
+
(compilation, { contextModuleFactory, normalModuleFactory }) => {
|
23
|
+
compilation.dependencyFactories.set(
|
24
|
+
ImportDependency,
|
25
|
+
normalModuleFactory
|
26
|
+
);
|
27
|
+
compilation.dependencyTemplates.set(
|
28
|
+
ImportDependency,
|
29
|
+
new ImportDependency.Template()
|
30
|
+
);
|
31
|
+
|
32
|
+
compilation.dependencyFactories.set(
|
33
|
+
ImportEagerDependency,
|
34
|
+
normalModuleFactory
|
35
|
+
);
|
36
|
+
compilation.dependencyTemplates.set(
|
37
|
+
ImportEagerDependency,
|
38
|
+
new ImportEagerDependency.Template()
|
39
|
+
);
|
40
|
+
|
41
|
+
compilation.dependencyFactories.set(
|
42
|
+
ImportWeakDependency,
|
43
|
+
normalModuleFactory
|
44
|
+
);
|
45
|
+
compilation.dependencyTemplates.set(
|
46
|
+
ImportWeakDependency,
|
47
|
+
new ImportWeakDependency.Template()
|
48
|
+
);
|
49
|
+
|
50
|
+
compilation.dependencyFactories.set(
|
51
|
+
ImportContextDependency,
|
52
|
+
contextModuleFactory
|
53
|
+
);
|
54
|
+
compilation.dependencyTemplates.set(
|
55
|
+
ImportContextDependency,
|
56
|
+
new ImportContextDependency.Template()
|
57
|
+
);
|
58
|
+
|
59
|
+
const handler = (parser, parserOptions) => {
|
60
|
+
if (
|
61
|
+
typeof parserOptions.import !== "undefined" &&
|
62
|
+
!parserOptions.import
|
63
|
+
)
|
64
|
+
return;
|
65
|
+
|
66
|
+
new ImportParserPlugin(options).apply(parser);
|
67
|
+
};
|
68
|
+
|
69
|
+
normalModuleFactory.hooks.parser
|
70
|
+
.for("javascript/auto")
|
71
|
+
.tap("ImportPlugin", handler);
|
72
|
+
normalModuleFactory.hooks.parser
|
73
|
+
.for("javascript/dynamic")
|
74
|
+
.tap("ImportPlugin", handler);
|
75
|
+
normalModuleFactory.hooks.parser
|
76
|
+
.for("javascript/esm")
|
77
|
+
.tap("ImportPlugin", handler);
|
78
|
+
}
|
79
|
+
);
|
80
|
+
}
|
81
|
+
}
|
82
|
+
module.exports = ImportPlugin;
|
@@ -1,34 +1,34 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
|
8
|
-
class ImportWeakDependency extends ModuleDependency {
|
9
|
-
constructor(request, originModule, range) {
|
10
|
-
super(request);
|
11
|
-
this.originModule = originModule;
|
12
|
-
this.range = range;
|
13
|
-
this.weak = true;
|
14
|
-
}
|
15
|
-
|
16
|
-
get type() {
|
17
|
-
return "import() weak";
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
ImportWeakDependency.Template = class ImportDependencyTemplate {
|
22
|
-
apply(dep, source, runtime) {
|
23
|
-
const content = runtime.moduleNamespacePromise({
|
24
|
-
module: dep.module,
|
25
|
-
request: dep.request,
|
26
|
-
strict: dep.originModule.buildMeta.strictHarmonyModule,
|
27
|
-
message: "import() weak",
|
28
|
-
weak: true
|
29
|
-
});
|
30
|
-
source.replace(dep.range[0], dep.range[1] - 1, content);
|
31
|
-
}
|
32
|
-
};
|
33
|
-
|
34
|
-
module.exports = ImportWeakDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
|
8
|
+
class ImportWeakDependency extends ModuleDependency {
|
9
|
+
constructor(request, originModule, range) {
|
10
|
+
super(request);
|
11
|
+
this.originModule = originModule;
|
12
|
+
this.range = range;
|
13
|
+
this.weak = true;
|
14
|
+
}
|
15
|
+
|
16
|
+
get type() {
|
17
|
+
return "import() weak";
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
ImportWeakDependency.Template = class ImportDependencyTemplate {
|
22
|
+
apply(dep, source, runtime) {
|
23
|
+
const content = runtime.moduleNamespacePromise({
|
24
|
+
module: dep.module,
|
25
|
+
request: dep.request,
|
26
|
+
strict: dep.originModule.buildMeta.strictHarmonyModule,
|
27
|
+
message: "import() weak",
|
28
|
+
weak: true
|
29
|
+
});
|
30
|
+
source.replace(dep.range[0], dep.range[1] - 1, content);
|
31
|
+
}
|
32
|
+
};
|
33
|
+
|
34
|
+
module.exports = ImportWeakDependency;
|
@@ -7,6 +7,16 @@
|
|
7
7
|
const LoaderDependency = require("./LoaderDependency");
|
8
8
|
const NormalModule = require("../NormalModule");
|
9
9
|
|
10
|
+
/** @typedef {import("../Module")} Module */
|
11
|
+
|
12
|
+
/**
|
13
|
+
* @callback LoadModuleCallback
|
14
|
+
* @param {Error=} err error object
|
15
|
+
* @param {string=} source source code
|
16
|
+
* @param {object=} map source map
|
17
|
+
* @param {Module=} module loaded module if successful
|
18
|
+
*/
|
19
|
+
|
10
20
|
class LoaderPlugin {
|
11
21
|
apply(compiler) {
|
12
22
|
compiler.hooks.compilation.tap(
|
@@ -23,9 +33,16 @@ class LoaderPlugin {
|
|
23
33
|
compilation.hooks.normalModuleLoader.tap(
|
24
34
|
"LoaderPlugin",
|
25
35
|
(loaderContext, module) => {
|
36
|
+
/**
|
37
|
+
* @param {string} request the request string to load the module from
|
38
|
+
* @param {LoadModuleCallback} callback callback returning the loaded module or error
|
39
|
+
* @returns {void}
|
40
|
+
*/
|
26
41
|
loaderContext.loadModule = (request, callback) => {
|
27
42
|
const dep = new LoaderDependency(request);
|
28
|
-
dep.loc =
|
43
|
+
dep.loc = {
|
44
|
+
name: request
|
45
|
+
};
|
29
46
|
const factory = compilation.dependencyFactories.get(
|
30
47
|
dep.constructor
|
31
48
|
);
|
@@ -1,23 +1,23 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class LocalModule {
|
8
|
-
constructor(module, name, idx) {
|
9
|
-
this.module = module;
|
10
|
-
this.name = name;
|
11
|
-
this.idx = idx;
|
12
|
-
this.used = false;
|
13
|
-
}
|
14
|
-
|
15
|
-
flagUsed() {
|
16
|
-
this.used = true;
|
17
|
-
}
|
18
|
-
|
19
|
-
variableName() {
|
20
|
-
return "__WEBPACK_LOCAL_MODULE_" + this.idx + "__";
|
21
|
-
}
|
22
|
-
}
|
23
|
-
module.exports = LocalModule;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class LocalModule {
|
8
|
+
constructor(module, name, idx) {
|
9
|
+
this.module = module;
|
10
|
+
this.name = name;
|
11
|
+
this.idx = idx;
|
12
|
+
this.used = false;
|
13
|
+
}
|
14
|
+
|
15
|
+
flagUsed() {
|
16
|
+
this.used = true;
|
17
|
+
}
|
18
|
+
|
19
|
+
variableName() {
|
20
|
+
return "__WEBPACK_LOCAL_MODULE_" + this.idx + "__";
|
21
|
+
}
|
22
|
+
}
|
23
|
+
module.exports = LocalModule;
|
@@ -1,52 +1,52 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const LocalModule = require("./LocalModule");
|
8
|
-
const LocalModulesHelpers = exports;
|
9
|
-
|
10
|
-
const lookup = (parent, mod) => {
|
11
|
-
if (mod.charAt(0) !== ".") return mod;
|
12
|
-
|
13
|
-
var path = parent.split("/");
|
14
|
-
var segs = mod.split("/");
|
15
|
-
path.pop();
|
16
|
-
|
17
|
-
for (let i = 0; i < segs.length; i++) {
|
18
|
-
const seg = segs[i];
|
19
|
-
if (seg === "..") {
|
20
|
-
path.pop();
|
21
|
-
} else if (seg !== ".") {
|
22
|
-
path.push(seg);
|
23
|
-
}
|
24
|
-
}
|
25
|
-
|
26
|
-
return path.join("/");
|
27
|
-
};
|
28
|
-
|
29
|
-
LocalModulesHelpers.addLocalModule = (state, name) => {
|
30
|
-
if (!state.localModules) {
|
31
|
-
state.localModules = [];
|
32
|
-
}
|
33
|
-
const m = new LocalModule(state.module, name, state.localModules.length);
|
34
|
-
state.localModules.push(m);
|
35
|
-
return m;
|
36
|
-
};
|
37
|
-
|
38
|
-
LocalModulesHelpers.getLocalModule = (state, name, namedModule) => {
|
39
|
-
if (!state.localModules) return null;
|
40
|
-
if (namedModule) {
|
41
|
-
// resolve dependency name relative to the defining named module
|
42
|
-
name = lookup(namedModule, name);
|
43
|
-
}
|
44
|
-
for (let i = 0; i < state.localModules.length; i++) {
|
45
|
-
if (state.localModules[i].name === name) {
|
46
|
-
return state.localModules[i];
|
47
|
-
}
|
48
|
-
}
|
49
|
-
return null;
|
50
|
-
};
|
51
|
-
|
52
|
-
module.exports = LocalModulesHelpers;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const LocalModule = require("./LocalModule");
|
8
|
+
const LocalModulesHelpers = exports;
|
9
|
+
|
10
|
+
const lookup = (parent, mod) => {
|
11
|
+
if (mod.charAt(0) !== ".") return mod;
|
12
|
+
|
13
|
+
var path = parent.split("/");
|
14
|
+
var segs = mod.split("/");
|
15
|
+
path.pop();
|
16
|
+
|
17
|
+
for (let i = 0; i < segs.length; i++) {
|
18
|
+
const seg = segs[i];
|
19
|
+
if (seg === "..") {
|
20
|
+
path.pop();
|
21
|
+
} else if (seg !== ".") {
|
22
|
+
path.push(seg);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
return path.join("/");
|
27
|
+
};
|
28
|
+
|
29
|
+
LocalModulesHelpers.addLocalModule = (state, name) => {
|
30
|
+
if (!state.localModules) {
|
31
|
+
state.localModules = [];
|
32
|
+
}
|
33
|
+
const m = new LocalModule(state.module, name, state.localModules.length);
|
34
|
+
state.localModules.push(m);
|
35
|
+
return m;
|
36
|
+
};
|
37
|
+
|
38
|
+
LocalModulesHelpers.getLocalModule = (state, name, namedModule) => {
|
39
|
+
if (!state.localModules) return null;
|
40
|
+
if (namedModule) {
|
41
|
+
// resolve dependency name relative to the defining named module
|
42
|
+
name = lookup(namedModule, name);
|
43
|
+
}
|
44
|
+
for (let i = 0; i < state.localModules.length; i++) {
|
45
|
+
if (state.localModules[i].name === name) {
|
46
|
+
return state.localModules[i];
|
47
|
+
}
|
48
|
+
}
|
49
|
+
return null;
|
50
|
+
};
|
51
|
+
|
52
|
+
module.exports = LocalModulesHelpers;
|
@@ -1,17 +1,17 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class ModuleDependencyTemplateAsId {
|
8
|
-
apply(dep, source, runtime) {
|
9
|
-
if (!dep.range) return;
|
10
|
-
const content = runtime.moduleId({
|
11
|
-
module: dep.module,
|
12
|
-
request: dep.request
|
13
|
-
});
|
14
|
-
source.replace(dep.range[0], dep.range[1] - 1, content);
|
15
|
-
}
|
16
|
-
}
|
17
|
-
module.exports = ModuleDependencyTemplateAsId;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class ModuleDependencyTemplateAsId {
|
8
|
+
apply(dep, source, runtime) {
|
9
|
+
if (!dep.range) return;
|
10
|
+
const content = runtime.moduleId({
|
11
|
+
module: dep.module,
|
12
|
+
request: dep.request
|
13
|
+
});
|
14
|
+
source.replace(dep.range[0], dep.range[1] - 1, content);
|
15
|
+
}
|
16
|
+
}
|
17
|
+
module.exports = ModuleDependencyTemplateAsId;
|
@@ -1,17 +1,17 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class ModuleDependencyTemplateAsRequireId {
|
8
|
-
apply(dep, source, runtime) {
|
9
|
-
if (!dep.range) return;
|
10
|
-
const content = runtime.moduleExports({
|
11
|
-
module: dep.module,
|
12
|
-
request: dep.request
|
13
|
-
});
|
14
|
-
source.replace(dep.range[0], dep.range[1] - 1, content);
|
15
|
-
}
|
16
|
-
}
|
17
|
-
module.exports = ModuleDependencyTemplateAsRequireId;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class ModuleDependencyTemplateAsRequireId {
|
8
|
+
apply(dep, source, runtime) {
|
9
|
+
if (!dep.range) return;
|
10
|
+
const content = runtime.moduleExports({
|
11
|
+
module: dep.module,
|
12
|
+
request: dep.request
|
13
|
+
});
|
14
|
+
source.replace(dep.range[0], dep.range[1] - 1, content);
|
15
|
+
}
|
16
|
+
}
|
17
|
+
module.exports = ModuleDependencyTemplateAsRequireId;
|
@@ -1,23 +1,23 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
-
|
9
|
-
class ModuleHotAcceptDependency extends ModuleDependency {
|
10
|
-
constructor(request, range) {
|
11
|
-
super(request);
|
12
|
-
this.range = range;
|
13
|
-
this.weak = true;
|
14
|
-
}
|
15
|
-
|
16
|
-
get type() {
|
17
|
-
return "module.hot.accept";
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
ModuleHotAcceptDependency.Template = ModuleDependencyTemplateAsId;
|
22
|
-
|
23
|
-
module.exports = ModuleHotAcceptDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
+
|
9
|
+
class ModuleHotAcceptDependency extends ModuleDependency {
|
10
|
+
constructor(request, range) {
|
11
|
+
super(request);
|
12
|
+
this.range = range;
|
13
|
+
this.weak = true;
|
14
|
+
}
|
15
|
+
|
16
|
+
get type() {
|
17
|
+
return "module.hot.accept";
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
ModuleHotAcceptDependency.Template = ModuleDependencyTemplateAsId;
|
22
|
+
|
23
|
+
module.exports = ModuleHotAcceptDependency;
|
@@ -1,23 +1,23 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
-
|
9
|
-
class ModuleHotDeclineDependency extends ModuleDependency {
|
10
|
-
constructor(request, range) {
|
11
|
-
super(request);
|
12
|
-
this.range = range;
|
13
|
-
this.weak = true;
|
14
|
-
}
|
15
|
-
|
16
|
-
get type() {
|
17
|
-
return "module.hot.decline";
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
ModuleHotDeclineDependency.Template = ModuleDependencyTemplateAsId;
|
22
|
-
|
23
|
-
module.exports = ModuleHotDeclineDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
const ModuleDependencyTemplateAsId = require("./ModuleDependencyTemplateAsId");
|
8
|
+
|
9
|
+
class ModuleHotDeclineDependency extends ModuleDependency {
|
10
|
+
constructor(request, range) {
|
11
|
+
super(request);
|
12
|
+
this.range = range;
|
13
|
+
this.weak = true;
|
14
|
+
}
|
15
|
+
|
16
|
+
get type() {
|
17
|
+
return "module.hot.decline";
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
ModuleHotDeclineDependency.Template = ModuleDependencyTemplateAsId;
|
22
|
+
|
23
|
+
module.exports = ModuleHotDeclineDependency;
|
@@ -1,20 +1,20 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const Dependency = require("../Dependency");
|
7
|
-
|
8
|
-
class NullDependency extends Dependency {
|
9
|
-
get type() {
|
10
|
-
return "null";
|
11
|
-
}
|
12
|
-
|
13
|
-
updateHash() {}
|
14
|
-
}
|
15
|
-
|
16
|
-
NullDependency.Template = class NullDependencyTemplate {
|
17
|
-
apply() {}
|
18
|
-
};
|
19
|
-
|
20
|
-
module.exports = NullDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const Dependency = require("../Dependency");
|
7
|
+
|
8
|
+
class NullDependency extends Dependency {
|
9
|
+
get type() {
|
10
|
+
return "null";
|
11
|
+
}
|
12
|
+
|
13
|
+
updateHash() {}
|
14
|
+
}
|
15
|
+
|
16
|
+
NullDependency.Template = class NullDependencyTemplate {
|
17
|
+
apply() {}
|
18
|
+
};
|
19
|
+
|
20
|
+
module.exports = NullDependency;
|
@@ -1,18 +1,18 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const ModuleDependency = require("./ModuleDependency");
|
7
|
-
|
8
|
-
class PrefetchDependency extends ModuleDependency {
|
9
|
-
constructor(request) {
|
10
|
-
super(request);
|
11
|
-
}
|
12
|
-
|
13
|
-
get type() {
|
14
|
-
return "prefetch";
|
15
|
-
}
|
16
|
-
}
|
17
|
-
|
18
|
-
module.exports = PrefetchDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const ModuleDependency = require("./ModuleDependency");
|
7
|
+
|
8
|
+
class PrefetchDependency extends ModuleDependency {
|
9
|
+
constructor(request) {
|
10
|
+
super(request);
|
11
|
+
}
|
12
|
+
|
13
|
+
get type() {
|
14
|
+
return "prefetch";
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
module.exports = PrefetchDependency;
|