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,38 +1,38 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
class ContextDependencyTemplateAsRequireCall {
|
8
|
-
apply(dep, source, runtime) {
|
9
|
-
const moduleExports = runtime.moduleExports({
|
10
|
-
module: dep.module,
|
11
|
-
request: dep.request
|
12
|
-
});
|
13
|
-
|
14
|
-
if (dep.module) {
|
15
|
-
if (dep.valueRange) {
|
16
|
-
if (Array.isArray(dep.replaces)) {
|
17
|
-
for (let i = 0; i < dep.replaces.length; i++) {
|
18
|
-
const rep = dep.replaces[i];
|
19
|
-
source.replace(rep.range[0], rep.range[1] - 1, rep.value);
|
20
|
-
}
|
21
|
-
}
|
22
|
-
source.replace(dep.valueRange[1], dep.range[1] - 1, ")");
|
23
|
-
source.replace(
|
24
|
-
dep.range[0],
|
25
|
-
dep.valueRange[0] - 1,
|
26
|
-
`${moduleExports}(${
|
27
|
-
typeof dep.prepend === "string" ? JSON.stringify(dep.prepend) : ""
|
28
|
-
}`
|
29
|
-
);
|
30
|
-
} else {
|
31
|
-
source.replace(dep.range[0], dep.range[1] - 1, moduleExports);
|
32
|
-
}
|
33
|
-
} else {
|
34
|
-
source.replace(dep.range[0], dep.range[1] - 1, moduleExports);
|
35
|
-
}
|
36
|
-
}
|
37
|
-
}
|
38
|
-
module.exports = ContextDependencyTemplateAsRequireCall;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
class ContextDependencyTemplateAsRequireCall {
|
8
|
+
apply(dep, source, runtime) {
|
9
|
+
const moduleExports = runtime.moduleExports({
|
10
|
+
module: dep.module,
|
11
|
+
request: dep.request
|
12
|
+
});
|
13
|
+
|
14
|
+
if (dep.module) {
|
15
|
+
if (dep.valueRange) {
|
16
|
+
if (Array.isArray(dep.replaces)) {
|
17
|
+
for (let i = 0; i < dep.replaces.length; i++) {
|
18
|
+
const rep = dep.replaces[i];
|
19
|
+
source.replace(rep.range[0], rep.range[1] - 1, rep.value);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
source.replace(dep.valueRange[1], dep.range[1] - 1, ")");
|
23
|
+
source.replace(
|
24
|
+
dep.range[0],
|
25
|
+
dep.valueRange[0] - 1,
|
26
|
+
`${moduleExports}(${
|
27
|
+
typeof dep.prepend === "string" ? JSON.stringify(dep.prepend) : ""
|
28
|
+
}`
|
29
|
+
);
|
30
|
+
} else {
|
31
|
+
source.replace(dep.range[0], dep.range[1] - 1, moduleExports);
|
32
|
+
}
|
33
|
+
} else {
|
34
|
+
source.replace(dep.range[0], dep.range[1] - 1, moduleExports);
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
module.exports = ContextDependencyTemplateAsRequireCall;
|
@@ -1,21 +1,21 @@
|
|
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 ContextElementDependency extends ModuleDependency {
|
9
|
-
constructor(request, userRequest) {
|
10
|
-
super(request);
|
11
|
-
if (userRequest) {
|
12
|
-
this.userRequest = userRequest;
|
13
|
-
}
|
14
|
-
}
|
15
|
-
|
16
|
-
get type() {
|
17
|
-
return "context element";
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
module.exports = ContextElementDependency;
|
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 ContextElementDependency extends ModuleDependency {
|
9
|
+
constructor(request, userRequest) {
|
10
|
+
super(request);
|
11
|
+
if (userRequest) {
|
12
|
+
this.userRequest = userRequest;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
get type() {
|
17
|
+
return "context element";
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
module.exports = ContextElementDependency;
|
@@ -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
|
-
|
7
|
-
const WebpackError = require("../WebpackError");
|
8
|
-
|
9
|
-
class CriticalDependencyWarning extends WebpackError {
|
10
|
-
constructor(message) {
|
11
|
-
super();
|
12
|
-
|
13
|
-
this.name = "CriticalDependencyWarning";
|
14
|
-
this.message = "Critical dependency: " + message;
|
15
|
-
|
16
|
-
Error.captureStackTrace(this, this.constructor);
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
module.exports = CriticalDependencyWarning;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const WebpackError = require("../WebpackError");
|
8
|
+
|
9
|
+
class CriticalDependencyWarning extends WebpackError {
|
10
|
+
constructor(message) {
|
11
|
+
super();
|
12
|
+
|
13
|
+
this.name = "CriticalDependencyWarning";
|
14
|
+
this.message = "Critical dependency: " + message;
|
15
|
+
|
16
|
+
Error.captureStackTrace(this, this.constructor);
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
module.exports = CriticalDependencyWarning;
|
@@ -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 DelegatedSourceDependency extends ModuleDependency {
|
9
|
-
constructor(request) {
|
10
|
-
super(request);
|
11
|
-
}
|
12
|
-
|
13
|
-
get type() {
|
14
|
-
return "delegated source";
|
15
|
-
}
|
16
|
-
}
|
17
|
-
|
18
|
-
module.exports = DelegatedSourceDependency;
|
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 DelegatedSourceDependency extends ModuleDependency {
|
9
|
+
constructor(request) {
|
10
|
+
super(request);
|
11
|
+
}
|
12
|
+
|
13
|
+
get type() {
|
14
|
+
return "delegated source";
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
module.exports = DelegatedSourceDependency;
|
@@ -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 DllEntryDependency extends Dependency {
|
9
|
-
constructor(dependencies, name) {
|
10
|
-
super();
|
11
|
-
this.dependencies = dependencies;
|
12
|
-
this.name = name;
|
13
|
-
}
|
14
|
-
|
15
|
-
get type() {
|
16
|
-
return "dll entry";
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
module.exports = DllEntryDependency;
|
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 DllEntryDependency extends Dependency {
|
9
|
+
constructor(dependencies, name) {
|
10
|
+
super();
|
11
|
+
this.dependencies = dependencies;
|
12
|
+
this.name = name;
|
13
|
+
}
|
14
|
+
|
15
|
+
get type() {
|
16
|
+
return "dll entry";
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
module.exports = DllEntryDependency;
|
@@ -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 NullDependency = require("./NullDependency");
|
8
|
-
const HarmonyImportDependency = require("./HarmonyImportDependency");
|
9
|
-
|
10
|
-
class HarmonyAcceptDependency extends NullDependency {
|
11
|
-
constructor(range, dependencies, hasCallback) {
|
12
|
-
super();
|
13
|
-
this.range = range;
|
14
|
-
this.dependencies = dependencies;
|
15
|
-
this.hasCallback = hasCallback;
|
16
|
-
}
|
17
|
-
|
18
|
-
get type() {
|
19
|
-
return "accepted harmony modules";
|
20
|
-
}
|
21
|
-
}
|
22
|
-
|
23
|
-
HarmonyAcceptDependency.Template = class HarmonyAcceptDependencyTemplate {
|
24
|
-
apply(dep, source, runtime) {
|
25
|
-
const content = dep.dependencies
|
26
|
-
.filter(dependency =>
|
27
|
-
HarmonyImportDependency.Template.isImportEmitted(dependency, source)
|
28
|
-
)
|
29
|
-
.map(dependency => dependency.getImportStatement(true, runtime))
|
30
|
-
.join("");
|
31
|
-
|
32
|
-
if (dep.hasCallback) {
|
33
|
-
source.insert(
|
34
|
-
dep.range[0],
|
35
|
-
`function(__WEBPACK_OUTDATED_DEPENDENCIES__) { ${content}(`
|
36
|
-
);
|
37
|
-
source.insert(dep.range[1], ")(__WEBPACK_OUTDATED_DEPENDENCIES__); }");
|
38
|
-
return;
|
39
|
-
}
|
40
|
-
|
41
|
-
source.insert(dep.range[1] - 0.5, `, function() { ${content} }`);
|
42
|
-
}
|
43
|
-
};
|
44
|
-
|
45
|
-
module.exports = HarmonyAcceptDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const NullDependency = require("./NullDependency");
|
8
|
+
const HarmonyImportDependency = require("./HarmonyImportDependency");
|
9
|
+
|
10
|
+
class HarmonyAcceptDependency extends NullDependency {
|
11
|
+
constructor(range, dependencies, hasCallback) {
|
12
|
+
super();
|
13
|
+
this.range = range;
|
14
|
+
this.dependencies = dependencies;
|
15
|
+
this.hasCallback = hasCallback;
|
16
|
+
}
|
17
|
+
|
18
|
+
get type() {
|
19
|
+
return "accepted harmony modules";
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
HarmonyAcceptDependency.Template = class HarmonyAcceptDependencyTemplate {
|
24
|
+
apply(dep, source, runtime) {
|
25
|
+
const content = dep.dependencies
|
26
|
+
.filter(dependency =>
|
27
|
+
HarmonyImportDependency.Template.isImportEmitted(dependency, source)
|
28
|
+
)
|
29
|
+
.map(dependency => dependency.getImportStatement(true, runtime))
|
30
|
+
.join("");
|
31
|
+
|
32
|
+
if (dep.hasCallback) {
|
33
|
+
source.insert(
|
34
|
+
dep.range[0],
|
35
|
+
`function(__WEBPACK_OUTDATED_DEPENDENCIES__) { ${content}(`
|
36
|
+
);
|
37
|
+
source.insert(dep.range[1], ")(__WEBPACK_OUTDATED_DEPENDENCIES__); }");
|
38
|
+
return;
|
39
|
+
}
|
40
|
+
|
41
|
+
source.insert(dep.range[1] - 0.5, `, function() { ${content} }`);
|
42
|
+
}
|
43
|
+
};
|
44
|
+
|
45
|
+
module.exports = HarmonyAcceptDependency;
|
@@ -1,31 +1,31 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
const NullDependency = require("./NullDependency");
|
7
|
-
|
8
|
-
class HarmonyCompatibilityDependency extends NullDependency {
|
9
|
-
constructor(originModule) {
|
10
|
-
super();
|
11
|
-
this.originModule = originModule;
|
12
|
-
}
|
13
|
-
|
14
|
-
get type() {
|
15
|
-
return "harmony export header";
|
16
|
-
}
|
17
|
-
}
|
18
|
-
|
19
|
-
HarmonyCompatibilityDependency.Template = class HarmonyExportDependencyTemplate {
|
20
|
-
apply(dep, source, runtime) {
|
21
|
-
const usedExports = dep.originModule.usedExports;
|
22
|
-
if (usedExports !== false && !Array.isArray(usedExports)) {
|
23
|
-
const content = runtime.defineEsModuleFlagStatement({
|
24
|
-
exportsArgument: dep.originModule.exportsArgument
|
25
|
-
});
|
26
|
-
source.insert(-10, content);
|
27
|
-
}
|
28
|
-
}
|
29
|
-
};
|
30
|
-
|
31
|
-
module.exports = HarmonyCompatibilityDependency;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
const NullDependency = require("./NullDependency");
|
7
|
+
|
8
|
+
class HarmonyCompatibilityDependency extends NullDependency {
|
9
|
+
constructor(originModule) {
|
10
|
+
super();
|
11
|
+
this.originModule = originModule;
|
12
|
+
}
|
13
|
+
|
14
|
+
get type() {
|
15
|
+
return "harmony export header";
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
HarmonyCompatibilityDependency.Template = class HarmonyExportDependencyTemplate {
|
20
|
+
apply(dep, source, runtime) {
|
21
|
+
const usedExports = dep.originModule.usedExports;
|
22
|
+
if (usedExports !== false && !Array.isArray(usedExports)) {
|
23
|
+
const content = runtime.defineEsModuleFlagStatement({
|
24
|
+
exportsArgument: dep.originModule.exportsArgument
|
25
|
+
});
|
26
|
+
source.insert(-10, content);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
};
|
30
|
+
|
31
|
+
module.exports = HarmonyCompatibilityDependency;
|
@@ -1,92 +1,92 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const HarmonyCompatibilityDependency = require("./HarmonyCompatibilityDependency");
|
8
|
-
const HarmonyInitDependency = require("./HarmonyInitDependency");
|
9
|
-
|
10
|
-
module.exports = class HarmonyDetectionParserPlugin {
|
11
|
-
apply(parser) {
|
12
|
-
parser.hooks.program.tap("HarmonyDetectionParserPlugin", ast => {
|
13
|
-
const isStrictHarmony = parser.state.module.type === "javascript/esm";
|
14
|
-
const isHarmony =
|
15
|
-
isStrictHarmony ||
|
16
|
-
ast.body.some(statement => {
|
17
|
-
return /^(Import|Export).*Declaration$/.test(statement.type);
|
18
|
-
});
|
19
|
-
if (isHarmony) {
|
20
|
-
const module = parser.state.module;
|
21
|
-
const compatDep = new HarmonyCompatibilityDependency(module);
|
22
|
-
compatDep.loc = {
|
23
|
-
start: {
|
24
|
-
line: -1,
|
25
|
-
column: 0
|
26
|
-
},
|
27
|
-
end: {
|
28
|
-
line: -1,
|
29
|
-
column: 0
|
30
|
-
},
|
31
|
-
index: -3
|
32
|
-
};
|
33
|
-
module.addDependency(compatDep);
|
34
|
-
const initDep = new HarmonyInitDependency(module);
|
35
|
-
initDep.loc = {
|
36
|
-
start: {
|
37
|
-
line: -1,
|
38
|
-
column: 0
|
39
|
-
},
|
40
|
-
end: {
|
41
|
-
line: -1,
|
42
|
-
column: 0
|
43
|
-
},
|
44
|
-
index: -2
|
45
|
-
};
|
46
|
-
module.addDependency(initDep);
|
47
|
-
parser.state.harmonyParserScope = parser.state.harmonyParserScope || {};
|
48
|
-
parser.scope.isStrict = true;
|
49
|
-
module.buildMeta.exportsType = "namespace";
|
50
|
-
module.buildInfo.strict = true;
|
51
|
-
module.buildInfo.exportsArgument = "__webpack_exports__";
|
52
|
-
if (isStrictHarmony) {
|
53
|
-
module.buildMeta.strictHarmonyModule = true;
|
54
|
-
module.buildInfo.moduleArgument = "__webpack_module__";
|
55
|
-
}
|
56
|
-
}
|
57
|
-
});
|
58
|
-
|
59
|
-
const skipInHarmony = () => {
|
60
|
-
const module = parser.state.module;
|
61
|
-
if (module && module.buildMeta && module.buildMeta.exportsType) {
|
62
|
-
return true;
|
63
|
-
}
|
64
|
-
};
|
65
|
-
|
66
|
-
const nullInHarmony = () => {
|
67
|
-
const module = parser.state.module;
|
68
|
-
if (module && module.buildMeta && module.buildMeta.exportsType) {
|
69
|
-
return null;
|
70
|
-
}
|
71
|
-
};
|
72
|
-
|
73
|
-
const nonHarmonyIdentifiers = ["define", "exports"];
|
74
|
-
for (const identifer of nonHarmonyIdentifiers) {
|
75
|
-
parser.hooks.evaluateTypeof
|
76
|
-
.for(identifer)
|
77
|
-
.tap("HarmonyDetectionParserPlugin", nullInHarmony);
|
78
|
-
parser.hooks.typeof
|
79
|
-
.for(identifer)
|
80
|
-
.tap("HarmonyDetectionParserPlugin", skipInHarmony);
|
81
|
-
parser.hooks.evaluate
|
82
|
-
.for(identifer)
|
83
|
-
.tap("HarmonyDetectionParserPlugin", nullInHarmony);
|
84
|
-
parser.hooks.expression
|
85
|
-
.for(identifer)
|
86
|
-
.tap("HarmonyDetectionParserPlugin", skipInHarmony);
|
87
|
-
parser.hooks.call
|
88
|
-
.for(identifer)
|
89
|
-
.tap("HarmonyDetectionParserPlugin", skipInHarmony);
|
90
|
-
}
|
91
|
-
}
|
92
|
-
};
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const HarmonyCompatibilityDependency = require("./HarmonyCompatibilityDependency");
|
8
|
+
const HarmonyInitDependency = require("./HarmonyInitDependency");
|
9
|
+
|
10
|
+
module.exports = class HarmonyDetectionParserPlugin {
|
11
|
+
apply(parser) {
|
12
|
+
parser.hooks.program.tap("HarmonyDetectionParserPlugin", ast => {
|
13
|
+
const isStrictHarmony = parser.state.module.type === "javascript/esm";
|
14
|
+
const isHarmony =
|
15
|
+
isStrictHarmony ||
|
16
|
+
ast.body.some(statement => {
|
17
|
+
return /^(Import|Export).*Declaration$/.test(statement.type);
|
18
|
+
});
|
19
|
+
if (isHarmony) {
|
20
|
+
const module = parser.state.module;
|
21
|
+
const compatDep = new HarmonyCompatibilityDependency(module);
|
22
|
+
compatDep.loc = {
|
23
|
+
start: {
|
24
|
+
line: -1,
|
25
|
+
column: 0
|
26
|
+
},
|
27
|
+
end: {
|
28
|
+
line: -1,
|
29
|
+
column: 0
|
30
|
+
},
|
31
|
+
index: -3
|
32
|
+
};
|
33
|
+
module.addDependency(compatDep);
|
34
|
+
const initDep = new HarmonyInitDependency(module);
|
35
|
+
initDep.loc = {
|
36
|
+
start: {
|
37
|
+
line: -1,
|
38
|
+
column: 0
|
39
|
+
},
|
40
|
+
end: {
|
41
|
+
line: -1,
|
42
|
+
column: 0
|
43
|
+
},
|
44
|
+
index: -2
|
45
|
+
};
|
46
|
+
module.addDependency(initDep);
|
47
|
+
parser.state.harmonyParserScope = parser.state.harmonyParserScope || {};
|
48
|
+
parser.scope.isStrict = true;
|
49
|
+
module.buildMeta.exportsType = "namespace";
|
50
|
+
module.buildInfo.strict = true;
|
51
|
+
module.buildInfo.exportsArgument = "__webpack_exports__";
|
52
|
+
if (isStrictHarmony) {
|
53
|
+
module.buildMeta.strictHarmonyModule = true;
|
54
|
+
module.buildInfo.moduleArgument = "__webpack_module__";
|
55
|
+
}
|
56
|
+
}
|
57
|
+
});
|
58
|
+
|
59
|
+
const skipInHarmony = () => {
|
60
|
+
const module = parser.state.module;
|
61
|
+
if (module && module.buildMeta && module.buildMeta.exportsType) {
|
62
|
+
return true;
|
63
|
+
}
|
64
|
+
};
|
65
|
+
|
66
|
+
const nullInHarmony = () => {
|
67
|
+
const module = parser.state.module;
|
68
|
+
if (module && module.buildMeta && module.buildMeta.exportsType) {
|
69
|
+
return null;
|
70
|
+
}
|
71
|
+
};
|
72
|
+
|
73
|
+
const nonHarmonyIdentifiers = ["define", "exports"];
|
74
|
+
for (const identifer of nonHarmonyIdentifiers) {
|
75
|
+
parser.hooks.evaluateTypeof
|
76
|
+
.for(identifer)
|
77
|
+
.tap("HarmonyDetectionParserPlugin", nullInHarmony);
|
78
|
+
parser.hooks.typeof
|
79
|
+
.for(identifer)
|
80
|
+
.tap("HarmonyDetectionParserPlugin", skipInHarmony);
|
81
|
+
parser.hooks.evaluate
|
82
|
+
.for(identifer)
|
83
|
+
.tap("HarmonyDetectionParserPlugin", nullInHarmony);
|
84
|
+
parser.hooks.expression
|
85
|
+
.for(identifer)
|
86
|
+
.tap("HarmonyDetectionParserPlugin", skipInHarmony);
|
87
|
+
parser.hooks.call
|
88
|
+
.for(identifer)
|
89
|
+
.tap("HarmonyDetectionParserPlugin", skipInHarmony);
|
90
|
+
}
|
91
|
+
}
|
92
|
+
};
|