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,87 +1,87 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
|
6
|
-
"use strict";
|
7
|
-
|
8
|
-
const { ConcatSource } = require("webpack-sources");
|
9
|
-
const Template = require("./Template");
|
10
|
-
|
11
|
-
/** @typedef {import("./Compilation")} Compilation */
|
12
|
-
|
13
|
-
class AmdMainTemplatePlugin {
|
14
|
-
/**
|
15
|
-
* @param {string} name the library name
|
16
|
-
*/
|
17
|
-
constructor(name) {
|
18
|
-
/** @type {string} */
|
19
|
-
this.name = name;
|
20
|
-
}
|
21
|
-
|
22
|
-
/**
|
23
|
-
* @param {Compilation} compilation the compilation instance
|
24
|
-
* @returns {void}
|
25
|
-
*/
|
26
|
-
apply(compilation) {
|
27
|
-
const { mainTemplate, chunkTemplate } = compilation;
|
28
|
-
|
29
|
-
const onRenderWithEntry = (source, chunk, hash) => {
|
30
|
-
const externals = chunk.getModules().filter(m => m.external);
|
31
|
-
const externalsDepsArray = JSON.stringify(
|
32
|
-
externals.map(
|
33
|
-
m => (typeof m.request === "object" ? m.request.amd : m.request)
|
34
|
-
)
|
35
|
-
);
|
36
|
-
const externalsArguments = externals
|
37
|
-
.map(
|
38
|
-
m => `__WEBPACK_EXTERNAL_MODULE_${Template.toIdentifier(`${m.id}`)}__`
|
39
|
-
)
|
40
|
-
.join(", ");
|
41
|
-
|
42
|
-
if (this.name) {
|
43
|
-
const name = mainTemplate.getAssetPath(this.name, {
|
44
|
-
hash,
|
45
|
-
chunk
|
46
|
-
});
|
47
|
-
|
48
|
-
return new ConcatSource(
|
49
|
-
`define(${JSON.stringify(
|
50
|
-
name
|
51
|
-
)}, ${externalsDepsArray}, function(${externalsArguments}) { return `,
|
52
|
-
source,
|
53
|
-
"});"
|
54
|
-
);
|
55
|
-
} else if (externalsArguments) {
|
56
|
-
return new ConcatSource(
|
57
|
-
`define(${externalsDepsArray}, function(${externalsArguments}) { return `,
|
58
|
-
source,
|
59
|
-
"});"
|
60
|
-
);
|
61
|
-
} else {
|
62
|
-
return new ConcatSource("define(function() { return ", source, "});");
|
63
|
-
}
|
64
|
-
};
|
65
|
-
|
66
|
-
for (const template of [mainTemplate, chunkTemplate]) {
|
67
|
-
template.hooks.renderWithEntry.tap(
|
68
|
-
"AmdMainTemplatePlugin",
|
69
|
-
onRenderWithEntry
|
70
|
-
);
|
71
|
-
}
|
72
|
-
|
73
|
-
mainTemplate.hooks.globalHashPaths.tap("AmdMainTemplatePlugin", paths => {
|
74
|
-
if (this.name) {
|
75
|
-
paths.push(this.name);
|
76
|
-
}
|
77
|
-
return paths;
|
78
|
-
});
|
79
|
-
|
80
|
-
mainTemplate.hooks.hash.tap("AmdMainTemplatePlugin", hash => {
|
81
|
-
hash.update("exports amd");
|
82
|
-
hash.update(this.name);
|
83
|
-
});
|
84
|
-
}
|
85
|
-
}
|
86
|
-
|
87
|
-
module.exports = AmdMainTemplatePlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
const { ConcatSource } = require("webpack-sources");
|
9
|
+
const Template = require("./Template");
|
10
|
+
|
11
|
+
/** @typedef {import("./Compilation")} Compilation */
|
12
|
+
|
13
|
+
class AmdMainTemplatePlugin {
|
14
|
+
/**
|
15
|
+
* @param {string} name the library name
|
16
|
+
*/
|
17
|
+
constructor(name) {
|
18
|
+
/** @type {string} */
|
19
|
+
this.name = name;
|
20
|
+
}
|
21
|
+
|
22
|
+
/**
|
23
|
+
* @param {Compilation} compilation the compilation instance
|
24
|
+
* @returns {void}
|
25
|
+
*/
|
26
|
+
apply(compilation) {
|
27
|
+
const { mainTemplate, chunkTemplate } = compilation;
|
28
|
+
|
29
|
+
const onRenderWithEntry = (source, chunk, hash) => {
|
30
|
+
const externals = chunk.getModules().filter(m => m.external);
|
31
|
+
const externalsDepsArray = JSON.stringify(
|
32
|
+
externals.map(
|
33
|
+
m => (typeof m.request === "object" ? m.request.amd : m.request)
|
34
|
+
)
|
35
|
+
);
|
36
|
+
const externalsArguments = externals
|
37
|
+
.map(
|
38
|
+
m => `__WEBPACK_EXTERNAL_MODULE_${Template.toIdentifier(`${m.id}`)}__`
|
39
|
+
)
|
40
|
+
.join(", ");
|
41
|
+
|
42
|
+
if (this.name) {
|
43
|
+
const name = mainTemplate.getAssetPath(this.name, {
|
44
|
+
hash,
|
45
|
+
chunk
|
46
|
+
});
|
47
|
+
|
48
|
+
return new ConcatSource(
|
49
|
+
`define(${JSON.stringify(
|
50
|
+
name
|
51
|
+
)}, ${externalsDepsArray}, function(${externalsArguments}) { return `,
|
52
|
+
source,
|
53
|
+
"});"
|
54
|
+
);
|
55
|
+
} else if (externalsArguments) {
|
56
|
+
return new ConcatSource(
|
57
|
+
`define(${externalsDepsArray}, function(${externalsArguments}) { return `,
|
58
|
+
source,
|
59
|
+
"});"
|
60
|
+
);
|
61
|
+
} else {
|
62
|
+
return new ConcatSource("define(function() { return ", source, "});");
|
63
|
+
}
|
64
|
+
};
|
65
|
+
|
66
|
+
for (const template of [mainTemplate, chunkTemplate]) {
|
67
|
+
template.hooks.renderWithEntry.tap(
|
68
|
+
"AmdMainTemplatePlugin",
|
69
|
+
onRenderWithEntry
|
70
|
+
);
|
71
|
+
}
|
72
|
+
|
73
|
+
mainTemplate.hooks.globalHashPaths.tap("AmdMainTemplatePlugin", paths => {
|
74
|
+
if (this.name) {
|
75
|
+
paths.push(this.name);
|
76
|
+
}
|
77
|
+
return paths;
|
78
|
+
});
|
79
|
+
|
80
|
+
mainTemplate.hooks.hash.tap("AmdMainTemplatePlugin", hash => {
|
81
|
+
hash.update("exports amd");
|
82
|
+
hash.update(this.name);
|
83
|
+
});
|
84
|
+
}
|
85
|
+
}
|
86
|
+
|
87
|
+
module.exports = AmdMainTemplatePlugin;
|
@@ -1,31 +1,31 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Sean Larkin @thelarkinn
|
4
|
-
*/
|
5
|
-
"use strict";
|
6
|
-
|
7
|
-
const WebpackError = require("./WebpackError");
|
8
|
-
|
9
|
-
/** @typedef {import("./Module")} Module */
|
10
|
-
|
11
|
-
class AsyncDependencyToInitialChunkError extends WebpackError {
|
12
|
-
/**
|
13
|
-
* Creates an instance of AsyncDependencyToInitialChunkError.
|
14
|
-
* @param {string} chunkName Name of Chunk
|
15
|
-
* @param {Module} module module tied to dependency
|
16
|
-
* @param {TODO} loc location of dependency
|
17
|
-
*/
|
18
|
-
constructor(chunkName, module, loc) {
|
19
|
-
super(
|
20
|
-
`It's not allowed to load an initial chunk on demand. The chunk name "${chunkName}" is already used by an entrypoint.`
|
21
|
-
);
|
22
|
-
|
23
|
-
this.name = "AsyncDependencyToInitialChunkError";
|
24
|
-
this.module = module;
|
25
|
-
this.loc = loc;
|
26
|
-
|
27
|
-
Error.captureStackTrace(this, this.constructor);
|
28
|
-
}
|
29
|
-
}
|
30
|
-
|
31
|
-
module.exports = AsyncDependencyToInitialChunkError;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Sean Larkin @thelarkinn
|
4
|
+
*/
|
5
|
+
"use strict";
|
6
|
+
|
7
|
+
const WebpackError = require("./WebpackError");
|
8
|
+
|
9
|
+
/** @typedef {import("./Module")} Module */
|
10
|
+
|
11
|
+
class AsyncDependencyToInitialChunkError extends WebpackError {
|
12
|
+
/**
|
13
|
+
* Creates an instance of AsyncDependencyToInitialChunkError.
|
14
|
+
* @param {string} chunkName Name of Chunk
|
15
|
+
* @param {Module} module module tied to dependency
|
16
|
+
* @param {TODO} loc location of dependency
|
17
|
+
*/
|
18
|
+
constructor(chunkName, module, loc) {
|
19
|
+
super(
|
20
|
+
`It's not allowed to load an initial chunk on demand. The chunk name "${chunkName}" is already used by an entrypoint.`
|
21
|
+
);
|
22
|
+
|
23
|
+
this.name = "AsyncDependencyToInitialChunkError";
|
24
|
+
this.module = module;
|
25
|
+
this.loc = loc;
|
26
|
+
|
27
|
+
Error.captureStackTrace(this, this.constructor);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
module.exports = AsyncDependencyToInitialChunkError;
|
@@ -8,7 +8,7 @@ const asyncLib = require("neo-async");
|
|
8
8
|
const PrefetchDependency = require("./dependencies/PrefetchDependency");
|
9
9
|
const NormalModule = require("./NormalModule");
|
10
10
|
|
11
|
-
/** @typedef {import("./Compiler
|
11
|
+
/** @typedef {import("./Compiler")} Compiler */
|
12
12
|
|
13
13
|
class AutomaticPrefetchPlugin {
|
14
14
|
/**
|
package/lib/BannerPlugin.js
CHANGED
@@ -1,117 +1,117 @@
|
|
1
|
-
/*
|
2
|
-
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
-
Author Tobias Koppers @sokra
|
4
|
-
*/
|
5
|
-
|
6
|
-
"use strict";
|
7
|
-
|
8
|
-
const { ConcatSource } = require("webpack-sources");
|
9
|
-
const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
|
10
|
-
const Template = require("./Template");
|
11
|
-
|
12
|
-
const validateOptions = require("schema-utils");
|
13
|
-
const schema = require("../schemas/plugins/BannerPlugin.json");
|
14
|
-
|
15
|
-
const wrapComment = str => {
|
16
|
-
if (!str.includes("\n")) {
|
17
|
-
return Template.toComment(str);
|
18
|
-
}
|
19
|
-
return `/*!\n * ${str
|
20
|
-
.replace(/\*\//g, "* /")
|
21
|
-
.split("\n")
|
22
|
-
.join("\n * ")}\n */`;
|
23
|
-
};
|
24
|
-
|
25
|
-
class BannerPlugin {
|
26
|
-
constructor(options) {
|
27
|
-
if (arguments.length > 1) {
|
28
|
-
throw new Error(
|
29
|
-
"BannerPlugin only takes one argument (pass an options object)"
|
30
|
-
);
|
31
|
-
}
|
32
|
-
|
33
|
-
validateOptions(schema, options, "Banner Plugin");
|
34
|
-
|
35
|
-
if (typeof options === "string" || typeof options === "function") {
|
36
|
-
options = {
|
37
|
-
banner: options
|
38
|
-
};
|
39
|
-
}
|
40
|
-
|
41
|
-
this.options = options || {};
|
42
|
-
|
43
|
-
if (typeof options.banner === "function") {
|
44
|
-
const getBanner = this.options.banner;
|
45
|
-
this.banner = this.options.raw
|
46
|
-
? getBanner
|
47
|
-
: data => wrapComment(getBanner(data));
|
48
|
-
} else {
|
49
|
-
const banner = this.options.raw
|
50
|
-
? this.options.banner
|
51
|
-
: wrapComment(this.options.banner);
|
52
|
-
this.banner = () => banner;
|
53
|
-
}
|
54
|
-
}
|
55
|
-
|
56
|
-
apply(compiler) {
|
57
|
-
const options = this.options;
|
58
|
-
const banner = this.banner;
|
59
|
-
const matchObject = ModuleFilenameHelpers.matchObject.bind(
|
60
|
-
undefined,
|
61
|
-
options
|
62
|
-
);
|
63
|
-
|
64
|
-
compiler.hooks.compilation.tap("BannerPlugin", compilation => {
|
65
|
-
compilation.hooks.optimizeChunkAssets.tap("BannerPlugin", chunks => {
|
66
|
-
for (const chunk of chunks) {
|
67
|
-
if (options.entryOnly && !chunk.canBeInitial()) {
|
68
|
-
continue;
|
69
|
-
}
|
70
|
-
|
71
|
-
for (const file of chunk.files) {
|
72
|
-
if (!matchObject(file)) {
|
73
|
-
continue;
|
74
|
-
}
|
75
|
-
|
76
|
-
let basename;
|
77
|
-
let query = "";
|
78
|
-
let filename = file;
|
79
|
-
const hash = compilation.hash;
|
80
|
-
const querySplit = filename.indexOf("?");
|
81
|
-
|
82
|
-
if (querySplit >= 0) {
|
83
|
-
query = filename.substr(querySplit);
|
84
|
-
filename = filename.substr(0, querySplit);
|
85
|
-
}
|
86
|
-
|
87
|
-
const lastSlashIndex = filename.lastIndexOf("/");
|
88
|
-
|
89
|
-
if (lastSlashIndex === -1) {
|
90
|
-
basename = filename;
|
91
|
-
} else {
|
92
|
-
basename = filename.substr(lastSlashIndex + 1);
|
93
|
-
}
|
94
|
-
|
95
|
-
const data = {
|
96
|
-
hash,
|
97
|
-
chunk,
|
98
|
-
filename,
|
99
|
-
basename,
|
100
|
-
query
|
101
|
-
};
|
102
|
-
|
103
|
-
const comment = compilation.getPath(banner(data), data);
|
104
|
-
|
105
|
-
compilation.assets[file] = new ConcatSource(
|
106
|
-
comment,
|
107
|
-
"\n",
|
108
|
-
compilation.assets[file]
|
109
|
-
);
|
110
|
-
}
|
111
|
-
}
|
112
|
-
});
|
113
|
-
});
|
114
|
-
}
|
115
|
-
}
|
116
|
-
|
117
|
-
module.exports = BannerPlugin;
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
const { ConcatSource } = require("webpack-sources");
|
9
|
+
const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
|
10
|
+
const Template = require("./Template");
|
11
|
+
|
12
|
+
const validateOptions = require("schema-utils");
|
13
|
+
const schema = require("../schemas/plugins/BannerPlugin.json");
|
14
|
+
|
15
|
+
const wrapComment = str => {
|
16
|
+
if (!str.includes("\n")) {
|
17
|
+
return Template.toComment(str);
|
18
|
+
}
|
19
|
+
return `/*!\n * ${str
|
20
|
+
.replace(/\*\//g, "* /")
|
21
|
+
.split("\n")
|
22
|
+
.join("\n * ")}\n */`;
|
23
|
+
};
|
24
|
+
|
25
|
+
class BannerPlugin {
|
26
|
+
constructor(options) {
|
27
|
+
if (arguments.length > 1) {
|
28
|
+
throw new Error(
|
29
|
+
"BannerPlugin only takes one argument (pass an options object)"
|
30
|
+
);
|
31
|
+
}
|
32
|
+
|
33
|
+
validateOptions(schema, options, "Banner Plugin");
|
34
|
+
|
35
|
+
if (typeof options === "string" || typeof options === "function") {
|
36
|
+
options = {
|
37
|
+
banner: options
|
38
|
+
};
|
39
|
+
}
|
40
|
+
|
41
|
+
this.options = options || {};
|
42
|
+
|
43
|
+
if (typeof options.banner === "function") {
|
44
|
+
const getBanner = this.options.banner;
|
45
|
+
this.banner = this.options.raw
|
46
|
+
? getBanner
|
47
|
+
: data => wrapComment(getBanner(data));
|
48
|
+
} else {
|
49
|
+
const banner = this.options.raw
|
50
|
+
? this.options.banner
|
51
|
+
: wrapComment(this.options.banner);
|
52
|
+
this.banner = () => banner;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
apply(compiler) {
|
57
|
+
const options = this.options;
|
58
|
+
const banner = this.banner;
|
59
|
+
const matchObject = ModuleFilenameHelpers.matchObject.bind(
|
60
|
+
undefined,
|
61
|
+
options
|
62
|
+
);
|
63
|
+
|
64
|
+
compiler.hooks.compilation.tap("BannerPlugin", compilation => {
|
65
|
+
compilation.hooks.optimizeChunkAssets.tap("BannerPlugin", chunks => {
|
66
|
+
for (const chunk of chunks) {
|
67
|
+
if (options.entryOnly && !chunk.canBeInitial()) {
|
68
|
+
continue;
|
69
|
+
}
|
70
|
+
|
71
|
+
for (const file of chunk.files) {
|
72
|
+
if (!matchObject(file)) {
|
73
|
+
continue;
|
74
|
+
}
|
75
|
+
|
76
|
+
let basename;
|
77
|
+
let query = "";
|
78
|
+
let filename = file;
|
79
|
+
const hash = compilation.hash;
|
80
|
+
const querySplit = filename.indexOf("?");
|
81
|
+
|
82
|
+
if (querySplit >= 0) {
|
83
|
+
query = filename.substr(querySplit);
|
84
|
+
filename = filename.substr(0, querySplit);
|
85
|
+
}
|
86
|
+
|
87
|
+
const lastSlashIndex = filename.lastIndexOf("/");
|
88
|
+
|
89
|
+
if (lastSlashIndex === -1) {
|
90
|
+
basename = filename;
|
91
|
+
} else {
|
92
|
+
basename = filename.substr(lastSlashIndex + 1);
|
93
|
+
}
|
94
|
+
|
95
|
+
const data = {
|
96
|
+
hash,
|
97
|
+
chunk,
|
98
|
+
filename,
|
99
|
+
basename,
|
100
|
+
query
|
101
|
+
};
|
102
|
+
|
103
|
+
const comment = compilation.getPath(banner(data), data);
|
104
|
+
|
105
|
+
compilation.assets[file] = new ConcatSource(
|
106
|
+
comment,
|
107
|
+
"\n",
|
108
|
+
compilation.assets[file]
|
109
|
+
);
|
110
|
+
}
|
111
|
+
}
|
112
|
+
});
|
113
|
+
});
|
114
|
+
}
|
115
|
+
}
|
116
|
+
|
117
|
+
module.exports = BannerPlugin;
|