webpack 5.101.2 → 5.102.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -26
- package/lib/APIPlugin.js +30 -36
- package/lib/AsyncDependenciesBlock.js +1 -4
- package/lib/BannerPlugin.js +0 -1
- package/lib/Cache.js +7 -6
- package/lib/CacheFacade.js +0 -1
- package/lib/Chunk.js +49 -31
- package/lib/ChunkGraph.js +35 -25
- package/lib/ChunkGroup.js +8 -10
- package/lib/ChunkTemplate.js +1 -1
- package/lib/CleanPlugin.js +3 -3
- package/lib/CodeGenerationResults.js +2 -1
- package/lib/CompatibilityPlugin.js +29 -12
- package/lib/Compilation.js +204 -185
- package/lib/Compiler.js +36 -35
- package/lib/ConcatenationScope.js +6 -1
- package/lib/ConditionalInitFragment.js +1 -1
- package/lib/ConstPlugin.js +18 -10
- package/lib/ContextExclusionPlugin.js +0 -1
- package/lib/ContextModule.js +22 -20
- package/lib/ContextModuleFactory.js +30 -11
- package/lib/ContextReplacementPlugin.js +38 -15
- package/lib/DefinePlugin.js +18 -8
- package/lib/DelegatedModule.js +7 -11
- package/lib/DependenciesBlock.js +0 -2
- package/lib/Dependency.js +9 -11
- package/lib/DependencyTemplates.js +1 -3
- package/lib/DllModule.js +1 -7
- package/lib/DllReferencePlugin.js +2 -4
- package/lib/DynamicEntryPlugin.js +0 -2
- package/lib/EntryOptionPlugin.js +0 -5
- package/lib/EnvironmentNotSupportAsyncWarning.js +0 -3
- package/lib/EvalDevToolModulePlugin.js +4 -3
- package/lib/EvalSourceMapDevToolPlugin.js +3 -4
- package/lib/ExportsInfo.js +50 -49
- package/lib/ExternalModule.js +84 -52
- package/lib/ExternalModuleFactoryPlugin.js +27 -7
- package/lib/ExternalsPlugin.js +24 -17
- package/lib/FileSystemInfo.js +96 -78
- package/lib/FlagDependencyUsagePlugin.js +3 -4
- package/lib/Generator.js +2 -13
- package/lib/GraphHelpers.js +0 -3
- package/lib/HookWebpackError.js +0 -2
- package/lib/HotModuleReplacementPlugin.js +22 -24
- package/lib/HotUpdateChunk.js +0 -3
- package/lib/IgnorePlugin.js +5 -2
- package/lib/InitFragment.js +41 -29
- package/lib/InvalidDependenciesModuleWarning.js +0 -1
- package/lib/LibManifestPlugin.js +4 -6
- package/lib/LoaderOptionsPlugin.js +1 -10
- package/lib/MainTemplate.js +8 -19
- package/lib/Module.js +32 -20
- package/lib/ModuleFactory.js +1 -1
- package/lib/ModuleFilenameHelpers.js +41 -24
- package/lib/ModuleGraph.js +30 -16
- package/lib/ModuleInfoHeaderPlugin.js +0 -1
- package/lib/ModuleTemplate.js +0 -2
- package/lib/ModuleTypeConstants.js +11 -1
- package/lib/MultiCompiler.js +23 -15
- package/lib/MultiWatching.js +6 -10
- package/lib/NodeStuffPlugin.js +2 -10
- package/lib/NormalModule.js +145 -88
- package/lib/NormalModuleFactory.js +59 -40
- package/lib/OptionsApply.js +1 -1
- package/lib/Parser.js +1 -1
- package/lib/ProgressPlugin.js +6 -10
- package/lib/ProvidePlugin.js +5 -7
- package/lib/RawModule.js +1 -6
- package/lib/RecordIdsPlugin.js +10 -6
- package/lib/ResolverFactory.js +0 -2
- package/lib/RuntimeGlobals.js +5 -0
- package/lib/RuntimeModule.js +1 -3
- package/lib/RuntimePlugin.js +26 -22
- package/lib/RuntimeTemplate.js +12 -11
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -2
- package/lib/SourceMapDevToolPlugin.js +6 -11
- package/lib/Stats.js +0 -1
- package/lib/Template.js +6 -11
- package/lib/TemplatedPathPlugin.js +2 -1
- package/lib/WatchIgnorePlugin.js +2 -3
- package/lib/Watching.js +15 -15
- package/lib/WebpackIsIncludedPlugin.js +0 -2
- package/lib/WebpackOptionsApply.js +74 -107
- package/lib/asset/AssetBytesGenerator.js +166 -0
- package/lib/asset/AssetBytesParser.js +37 -0
- package/lib/asset/AssetGenerator.js +20 -34
- package/lib/asset/AssetModulesPlugin.js +34 -16
- package/lib/asset/AssetParser.js +7 -3
- package/lib/asset/AssetSourceGenerator.js +1 -1
- package/lib/asset/RawDataUrlModule.js +3 -2
- package/lib/async-modules/AsyncModuleHelpers.js +6 -4
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -1
- package/lib/buildChunkGraph.js +0 -1
- package/lib/cache/MemoryCachePlugin.js +0 -2
- package/lib/cache/MemoryWithGcCachePlugin.js +0 -2
- package/lib/cache/PackFileCacheStrategy.js +14 -1
- package/lib/cache/ResolverCachePlugin.js +9 -15
- package/lib/config/defaults.js +155 -21
- package/lib/config/normalization.js +18 -3
- package/lib/container/ContainerEntryDependency.js +0 -1
- package/lib/container/ContainerEntryModule.js +3 -7
- package/lib/container/ContainerPlugin.js +1 -2
- package/lib/container/ContainerReferencePlugin.js +0 -1
- package/lib/container/FallbackDependency.js +2 -1
- package/lib/container/FallbackModule.js +6 -7
- package/lib/container/ModuleFederationPlugin.js +0 -1
- package/lib/container/RemoteModule.js +8 -8
- package/lib/container/RemoteRuntimeModule.js +2 -2
- package/lib/css/CssGenerator.js +3 -6
- package/lib/css/CssLoadingRuntimeModule.js +6 -9
- package/lib/css/CssModulesPlugin.js +11 -13
- package/lib/css/CssParser.js +3 -3
- package/lib/css/walkCssTokens.js +1 -1
- package/lib/debug/ProfilingPlugin.js +35 -8
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -17
- package/lib/dependencies/AMDPlugin.js +2 -2
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +1 -2
- package/lib/dependencies/CachedConstDependency.js +0 -4
- package/lib/dependencies/CommonJsExportRequireDependency.js +20 -14
- package/lib/dependencies/CommonJsExportsDependency.js +2 -1
- package/lib/dependencies/CommonJsExportsParserPlugin.js +20 -5
- package/lib/dependencies/CommonJsFullRequireDependency.js +6 -4
- package/lib/dependencies/CommonJsImportsParserPlugin.js +16 -7
- package/lib/dependencies/CommonJsRequireContextDependency.js +1 -1
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +4 -4
- package/lib/dependencies/ConstDependency.js +2 -2
- package/lib/dependencies/ContextDependency.js +9 -4
- package/lib/dependencies/ContextDependencyHelpers.js +2 -2
- package/lib/dependencies/ContextDependencyTemplateAsId.js +9 -9
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +9 -9
- package/lib/dependencies/ContextElementDependency.js +22 -11
- package/lib/dependencies/CssIcssImportDependency.js +0 -2
- package/lib/dependencies/CssIcssSymbolDependency.js +2 -2
- package/lib/dependencies/CssImportDependency.js +0 -8
- package/lib/dependencies/CssLocalIdentifierDependency.js +3 -4
- package/lib/dependencies/CssSelfLocalIdentifierDependency.js +2 -2
- package/lib/dependencies/CssUrlDependency.js +0 -6
- package/lib/dependencies/ExportsInfoDependency.js +7 -9
- package/lib/dependencies/ExternalModuleDependency.js +0 -3
- package/lib/dependencies/ExternalModuleInitFragment.js +1 -1
- package/lib/dependencies/HarmonyAcceptDependency.js +1 -1
- package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -4
- package/lib/dependencies/HarmonyCompatibilityDependency.js +0 -1
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +0 -14
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +3 -3
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +4 -1
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +29 -35
- package/lib/dependencies/HarmonyImportDependency.js +30 -14
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +38 -24
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +0 -4
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +46 -31
- package/lib/dependencies/HarmonyModulesPlugin.js +3 -3
- package/lib/dependencies/ImportDependency.js +18 -6
- package/lib/dependencies/ImportEagerDependency.js +2 -3
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +8 -5
- package/lib/dependencies/ImportMetaContextPlugin.js +0 -1
- package/lib/dependencies/ImportMetaPlugin.js +8 -1
- package/lib/dependencies/ImportParserPlugin.js +294 -45
- package/lib/dependencies/ImportWeakDependency.js +2 -3
- package/lib/dependencies/JsonExportsDependency.js +0 -1
- package/lib/dependencies/LoaderDependency.js +0 -3
- package/lib/dependencies/LoaderImportDependency.js +0 -3
- package/lib/dependencies/LoaderPlugin.js +11 -5
- package/lib/dependencies/ModuleDecoratorDependency.js +2 -4
- package/lib/dependencies/ModuleDependency.js +3 -9
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/ProvidedDependency.js +6 -8
- package/lib/dependencies/PureExpressionDependency.js +0 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +0 -1
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -2
- package/lib/dependencies/RequireIncludeDependency.js +2 -2
- package/lib/dependencies/RequireResolveDependency.js +2 -2
- package/lib/dependencies/RuntimeRequirementsDependency.js +2 -3
- package/lib/dependencies/StaticExportsDependency.js +3 -5
- package/lib/dependencies/URLDependency.js +2 -7
- package/lib/dependencies/URLPlugin.js +1 -2
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +2 -2
- package/lib/dependencies/WebAssemblyImportDependency.js +2 -2
- package/lib/dependencies/WebpackIsIncludedDependency.js +2 -3
- package/lib/dependencies/WorkerDependency.js +2 -3
- package/lib/dependencies/WorkerPlugin.js +3 -9
- package/lib/dependencies/processExportInfo.js +2 -3
- package/lib/esm/ModuleChunkFormatPlugin.js +0 -3
- package/lib/esm/ModuleChunkLoadingPlugin.js +2 -1
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +7 -7
- package/lib/hmr/LazyCompilationPlugin.js +6 -4
- package/lib/hmr/lazyCompilationBackend.js +13 -10
- package/lib/ids/DeterministicChunkIdsPlugin.js +0 -1
- package/lib/ids/NamedChunkIdsPlugin.js +1 -6
- package/lib/ids/NamedModuleIdsPlugin.js +1 -5
- package/lib/ids/NaturalChunkIdsPlugin.js +0 -1
- package/lib/ids/NaturalModuleIdsPlugin.js +0 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +0 -1
- package/lib/ids/OccurrenceModuleIdsPlugin.js +0 -1
- package/lib/ids/SyncModuleIdsPlugin.js +4 -3
- package/lib/index.js +8 -7
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -1
- package/lib/javascript/BasicEvaluatedExpression.js +13 -6
- package/lib/javascript/ChunkFormatHelpers.js +1 -1
- package/lib/javascript/CommonJsChunkFormatPlugin.js +0 -1
- package/lib/javascript/JavascriptGenerator.js +2 -3
- package/lib/javascript/JavascriptModulesPlugin.js +44 -21
- package/lib/javascript/JavascriptParser.js +159 -93
- package/lib/javascript/JavascriptParserHelpers.js +2 -2
- package/lib/javascript/StartupHelpers.js +2 -4
- package/lib/json/JsonData.js +1 -1
- package/lib/json/JsonGenerator.js +4 -5
- package/lib/json/JsonModulesPlugin.js +0 -3
- package/lib/json/JsonParser.js +4 -2
- package/lib/library/AbstractLibraryPlugin.js +2 -2
- package/lib/library/AmdLibraryPlugin.js +0 -1
- package/lib/library/AssignLibraryPlugin.js +23 -12
- package/lib/library/EnableLibraryPlugin.js +7 -11
- package/lib/library/ExportPropertyLibraryPlugin.js +8 -20
- package/lib/library/JsonpLibraryPlugin.js +5 -2
- package/lib/library/ModuleLibraryPlugin.js +88 -43
- package/lib/library/SystemLibraryPlugin.js +0 -1
- package/lib/library/UmdLibraryPlugin.js +12 -18
- package/lib/logging/Logger.js +12 -10
- package/lib/logging/createConsoleLogger.js +15 -14
- package/lib/logging/truncateArgs.js +1 -1
- package/lib/node/CommonJsChunkLoadingPlugin.js +2 -1
- package/lib/node/NodeWatchFileSystem.js +4 -4
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +2 -2
- package/lib/node/RequireChunkLoadingRuntimeModule.js +5 -2
- package/lib/node/nodeConsole.js +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +2 -0
- package/lib/optimize/ConcatenatedModule.js +142 -100
- package/lib/optimize/InnerGraph.js +17 -11
- package/lib/optimize/InnerGraphPlugin.js +0 -3
- package/lib/optimize/ModuleConcatenationPlugin.js +3 -4
- package/lib/optimize/RuntimeChunkPlugin.js +0 -1
- package/lib/optimize/SideEffectsFlagPlugin.js +3 -10
- package/lib/optimize/SplitChunksPlugin.js +46 -40
- package/lib/performance/SizeLimitsPlugin.js +2 -1
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +5 -7
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +0 -2
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +0 -1
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +2 -2
- package/lib/rules/BasicMatcherRulePlugin.js +0 -2
- package/lib/rules/ObjectMatcherRulePlugin.js +0 -1
- package/lib/rules/RuleSetCompiler.js +8 -6
- package/lib/runtime/BaseUriRuntimeModule.js +2 -2
- package/lib/runtime/CompatRuntimeModule.js +0 -1
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +8 -9
- package/lib/runtime/LoadScriptRuntimeModule.js +0 -2
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +1 -1
- package/lib/runtime/PublicPathRuntimeModule.js +2 -2
- package/lib/runtime/StartupEntrypointRuntimeModule.js +0 -1
- package/lib/runtime/SystemContextRuntimeModule.js +0 -2
- package/lib/runtime/ToBinaryRuntimeModule.js +64 -0
- package/lib/schemes/DataUriPlugin.js +2 -28
- package/lib/schemes/FileUriPlugin.js +5 -2
- package/lib/schemes/HttpUriPlugin.js +4 -2
- package/lib/schemes/VirtualUrlPlugin.js +11 -11
- package/lib/serialization/NullPrototypeObjectSerializer.js +5 -3
- package/lib/serialization/ObjectMiddleware.js +30 -19
- package/lib/serialization/SerializerMiddleware.js +1 -3
- package/lib/serialization/types.js +1 -1
- package/lib/sharing/ConsumeSharedModule.js +3 -5
- package/lib/sharing/ConsumeSharedPlugin.js +2 -4
- package/lib/sharing/ConsumeSharedRuntimeModule.js +9 -6
- package/lib/sharing/ProvideSharedModule.js +3 -7
- package/lib/sharing/SharePlugin.js +0 -2
- package/lib/sharing/ShareRuntimeModule.js +4 -1
- package/lib/sharing/resolveMatchedConfigs.js +14 -6
- package/lib/sharing/utils.js +0 -6
- package/lib/stats/DefaultStatsFactoryPlugin.js +178 -94
- package/lib/stats/DefaultStatsPresetPlugin.js +15 -9
- package/lib/stats/DefaultStatsPrinterPlugin.js +77 -113
- package/lib/stats/StatsFactory.js +14 -11
- package/lib/url/URLParserPlugin.js +2 -4
- package/lib/util/ArrayHelpers.js +4 -4
- package/lib/util/AsyncQueue.js +1 -0
- package/lib/util/LazySet.js +2 -2
- package/lib/util/StackedCacheMap.js +0 -2
- package/lib/util/TupleSet.js +9 -4
- package/lib/util/URLAbsoluteSpecifier.js +0 -1
- package/lib/util/WeakTupleMap.js +1 -1
- package/lib/util/chainedImports.js +3 -1
- package/lib/util/cleverMerge.js +15 -18
- package/lib/util/comparators.js +2 -4
- package/lib/util/compileBooleanMatcher.js +11 -9
- package/lib/util/concatenate.js +1 -2
- package/lib/util/create-schema-validation.js +0 -1
- package/lib/util/dataURL.js +39 -0
- package/lib/util/deprecation.js +29 -31
- package/lib/util/deterministicGrouping.js +34 -30
- package/lib/util/extractSourceMap.js +319 -0
- package/lib/util/findGraphRoots.js +15 -5
- package/lib/util/fs.js +29 -8
- package/lib/util/semver.js +9 -8
- package/lib/util/smartGrouping.js +41 -26
- package/lib/util/traverseDestructuringAssignmentProperties.js +45 -0
- package/lib/wasm/EnableWasmLoadingPlugin.js +3 -2
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +5 -1
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +2 -13
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +2 -9
- package/lib/wasm-async/AsyncWebAssemblyParser.js +2 -1
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +6 -4
- package/lib/wasm-sync/WebAssemblyGenerator.js +1 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -4
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +2 -7
- package/lib/wasm-sync/WebAssemblyParser.js +1 -4
- package/lib/web/JsonpChunkLoadingPlugin.js +2 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -1
- package/lib/web/JsonpTemplatePlugin.js +0 -1
- package/lib/webpack.js +21 -8
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +2 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
- package/package.json +13 -13
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +77 -93
- package/schemas/plugins/BannerPlugin.check.js +1 -1
- package/schemas/plugins/BannerPlugin.json +4 -0
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/ProgressPlugin.json +1 -1
- package/schemas/plugins/SourceMapDevToolPlugin.check.js +1 -1
- package/schemas/plugins/SourceMapDevToolPlugin.json +5 -1
- package/schemas/plugins/schemes/VirtualUrlPlugin.json +3 -3
- package/types.d.ts +1140 -505
- package/SECURITY.md +0 -9
|
@@ -14,9 +14,9 @@ const PLUGIN_NAME = "SourceMapDevToolModuleOptionsPlugin";
|
|
|
14
14
|
|
|
15
15
|
class SourceMapDevToolModuleOptionsPlugin {
|
|
16
16
|
/**
|
|
17
|
-
* @param {SourceMapDevToolPluginOptions} options options
|
|
17
|
+
* @param {SourceMapDevToolPluginOptions=} options options
|
|
18
18
|
*/
|
|
19
|
-
constructor(options) {
|
|
19
|
+
constructor(options = {}) {
|
|
20
20
|
this.options = options;
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -19,9 +19,7 @@ const { makePathsAbsolute } = require("./util/identifier");
|
|
|
19
19
|
|
|
20
20
|
/** @typedef {import("webpack-sources").MapOptions} MapOptions */
|
|
21
21
|
/** @typedef {import("webpack-sources").Source} Source */
|
|
22
|
-
/** @typedef {import("../declarations/WebpackOptions").HashFunction} HashFunction */
|
|
23
22
|
/** @typedef {import("../declarations/plugins/SourceMapDevToolPlugin").SourceMapDevToolPluginOptions} SourceMapDevToolPluginOptions */
|
|
24
|
-
/** @typedef {import("./Cache").Etag} Etag */
|
|
25
23
|
/** @typedef {import("./CacheFacade").ItemCacheFacade} ItemCacheFacade */
|
|
26
24
|
/** @typedef {import("./Chunk")} Chunk */
|
|
27
25
|
/** @typedef {import("./Compilation").Asset} Asset */
|
|
@@ -109,7 +107,7 @@ const getTaskForFile = (
|
|
|
109
107
|
source = asset.source();
|
|
110
108
|
}
|
|
111
109
|
if (!sourceMap || typeof source !== "string") return;
|
|
112
|
-
const context =
|
|
110
|
+
const context = compilation.options.context;
|
|
113
111
|
const root = compilation.compiler.root;
|
|
114
112
|
const cachedAbsolutify = makePathsAbsolute.bindContextCache(context, root);
|
|
115
113
|
const modules = sourceMap.sources.map((source) => {
|
|
@@ -162,9 +160,9 @@ class SourceMapDevToolPlugin {
|
|
|
162
160
|
* @returns {void}
|
|
163
161
|
*/
|
|
164
162
|
apply(compiler) {
|
|
165
|
-
const outputFs =
|
|
166
|
-
|
|
167
|
-
|
|
163
|
+
const outputFs =
|
|
164
|
+
/** @type {OutputFileSystem} */
|
|
165
|
+
(compiler.outputFileSystem);
|
|
168
166
|
const sourceMapFilename = this.sourceMapFilename;
|
|
169
167
|
const sourceMappingURLComment = this.sourceMappingURLComment;
|
|
170
168
|
const moduleFilenameTemplate = this.moduleFilenameTemplate;
|
|
@@ -361,7 +359,7 @@ class SourceMapDevToolPlugin {
|
|
|
361
359
|
|
|
362
360
|
/**
|
|
363
361
|
* all modules in defined order (longest identifier first)
|
|
364
|
-
* @type {
|
|
362
|
+
* @type {(string | Module)[]}
|
|
365
363
|
*/
|
|
366
364
|
const allModules = [...moduleToSourceNameMapping.keys()].sort(
|
|
367
365
|
(a, b) => {
|
|
@@ -488,10 +486,7 @@ class SourceMapDevToolPlugin {
|
|
|
488
486
|
/** @type {string} */
|
|
489
487
|
(
|
|
490
488
|
usesContentHash &&
|
|
491
|
-
createHash(
|
|
492
|
-
/** @type {HashFunction} */
|
|
493
|
-
(compilation.outputOptions.hashFunction)
|
|
494
|
-
)
|
|
489
|
+
createHash(compilation.outputOptions.hashFunction)
|
|
495
490
|
.update(sourceMapString)
|
|
496
491
|
.digest("hex")
|
|
497
492
|
);
|
package/lib/Stats.js
CHANGED
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
/** @typedef {import("../declarations/WebpackOptions").StatsOptions} StatsOptions */
|
|
9
9
|
/** @typedef {import("./Compilation")} Compilation */
|
|
10
|
-
/** @typedef {import("./Compilation").NormalizedStatsOptions} NormalizedStatsOptions */
|
|
11
10
|
/** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsCompilation} StatsCompilation */
|
|
12
11
|
|
|
13
12
|
class Stats {
|
package/lib/Template.js
CHANGED
|
@@ -10,7 +10,7 @@ const { WEBPACK_MODULE_TYPE_RUNTIME } = require("./ModuleTypeConstants");
|
|
|
10
10
|
const RuntimeGlobals = require("./RuntimeGlobals");
|
|
11
11
|
|
|
12
12
|
/** @typedef {import("webpack-sources").Source} Source */
|
|
13
|
-
/** @typedef {import("
|
|
13
|
+
/** @typedef {import("./config/defaults").OutputNormalizedWithDefaults} OutputOptions */
|
|
14
14
|
/** @typedef {import("./Chunk")} Chunk */
|
|
15
15
|
/** @typedef {import("./ChunkGraph")} ChunkGraph */
|
|
16
16
|
/** @typedef {import("./ChunkGraph").ModuleId} ModuleId */
|
|
@@ -49,7 +49,7 @@ const MATCH_PADDED_HYPHENS_REPLACE_REGEX = /^-|-$/g;
|
|
|
49
49
|
* @property {string} fullHash
|
|
50
50
|
* @property {OutputOptions} outputOptions
|
|
51
51
|
* @property {CodeGenerationResults} codeGenerationResults
|
|
52
|
-
* @property {{javascript: ModuleTemplate}} moduleTemplates
|
|
52
|
+
* @property {{ javascript: ModuleTemplate }} moduleTemplates
|
|
53
53
|
* @property {DependencyTemplates} dependencyTemplates
|
|
54
54
|
* @property {RuntimeTemplate} runtimeTemplate
|
|
55
55
|
* @property {ModuleGraph} moduleGraph
|
|
@@ -79,11 +79,6 @@ const MATCH_PADDED_HYPHENS_REPLACE_REGEX = /^-|-$/g;
|
|
|
79
79
|
* @property {boolean=} auxiliary
|
|
80
80
|
*/
|
|
81
81
|
|
|
82
|
-
/**
|
|
83
|
-
* @typedef {object} HasId
|
|
84
|
-
* @property {number | string} id
|
|
85
|
-
*/
|
|
86
|
-
|
|
87
82
|
/**
|
|
88
83
|
* @typedef {(module: Module) => boolean} ModuleFilterPredicate
|
|
89
84
|
*/
|
|
@@ -226,7 +221,7 @@ class Template {
|
|
|
226
221
|
}
|
|
227
222
|
|
|
228
223
|
/**
|
|
229
|
-
* @param {string|string[]} s string to create prefix for
|
|
224
|
+
* @param {string | string[]} s string to create prefix for
|
|
230
225
|
* @param {string} prefix prefix to compose
|
|
231
226
|
* @returns {string} returns new prefix string
|
|
232
227
|
*/
|
|
@@ -238,7 +233,7 @@ class Template {
|
|
|
238
233
|
}
|
|
239
234
|
|
|
240
235
|
/**
|
|
241
|
-
* @param {string|string[]} str string or string collection
|
|
236
|
+
* @param {string | string[]} str string or string collection
|
|
242
237
|
* @returns {string} returns a single string from array
|
|
243
238
|
*/
|
|
244
239
|
static asString(str) {
|
|
@@ -295,7 +290,7 @@ class Template {
|
|
|
295
290
|
if (modules.length === 0) {
|
|
296
291
|
return null;
|
|
297
292
|
}
|
|
298
|
-
/** @type {{id:
|
|
293
|
+
/** @type {{ id: ModuleId, source: Source | "false" }[]} */
|
|
299
294
|
const allModules = modules.map((module) => ({
|
|
300
295
|
id: /** @type {ModuleId} */ (chunkGraph.getModuleId(module)),
|
|
301
296
|
source: renderModule(module) || "false"
|
|
@@ -309,7 +304,7 @@ class Template {
|
|
|
309
304
|
source.add(`Array(${minId}).concat(`);
|
|
310
305
|
}
|
|
311
306
|
source.add("[\n");
|
|
312
|
-
/** @type {Map<
|
|
307
|
+
/** @type {Map<ModuleId, { id: ModuleId, source: Source | "false" }>} */
|
|
313
308
|
const modules = new Map();
|
|
314
309
|
for (const module of allModules) {
|
|
315
310
|
modules.set(module.id, module);
|
|
@@ -133,7 +133,8 @@ const deprecated = (fn, message, code) => {
|
|
|
133
133
|
);
|
|
134
134
|
};
|
|
135
135
|
|
|
136
|
-
/** @typedef {
|
|
136
|
+
/** @typedef {(pathData: PathData, assetInfo?: AssetInfo) => string} TemplatePathFn */
|
|
137
|
+
/** @typedef {string | TemplatePathFn} TemplatePath */
|
|
137
138
|
|
|
138
139
|
/**
|
|
139
140
|
* @param {TemplatePath} path the raw path
|
package/lib/WatchIgnorePlugin.js
CHANGED
|
@@ -9,7 +9,6 @@ const { groupBy } = require("./util/ArrayHelpers");
|
|
|
9
9
|
const createSchemaValidation = require("./util/create-schema-validation");
|
|
10
10
|
|
|
11
11
|
/** @typedef {import("../declarations/plugins/WatchIgnorePlugin").WatchIgnorePluginOptions} WatchIgnorePluginOptions */
|
|
12
|
-
/** @typedef {import("../declarations/WebpackOptions").WatchOptions} WatchOptions */
|
|
13
12
|
/** @typedef {import("./Compiler")} Compiler */
|
|
14
13
|
/** @typedef {import("./util/fs").TimeInfoEntries} TimeInfoEntries */
|
|
15
14
|
/** @typedef {import("./util/fs").WatchFileSystem} WatchFileSystem */
|
|
@@ -51,12 +50,12 @@ class IgnoringWatchFileSystem {
|
|
|
51
50
|
);
|
|
52
51
|
|
|
53
52
|
const [ignoredFiles, notIgnoredFiles] = groupBy(
|
|
54
|
-
/** @type {
|
|
53
|
+
/** @type {string[]} */
|
|
55
54
|
(files),
|
|
56
55
|
ignored
|
|
57
56
|
);
|
|
58
57
|
const [ignoredDirs, notIgnoredDirs] = groupBy(
|
|
59
|
-
/** @type {
|
|
58
|
+
/** @type {string[]} */
|
|
60
59
|
(dirs),
|
|
61
60
|
ignored
|
|
62
61
|
);
|
package/lib/Watching.js
CHANGED
|
@@ -10,20 +10,20 @@ const Stats = require("./Stats");
|
|
|
10
10
|
/** @typedef {import("../declarations/WebpackOptions").WatchOptions} WatchOptions */
|
|
11
11
|
/** @typedef {import("./Compilation")} Compilation */
|
|
12
12
|
/** @typedef {import("./Compiler")} Compiler */
|
|
13
|
-
/** @typedef {import("./
|
|
13
|
+
/** @typedef {import("./Compiler").ErrorCallback} ErrorCallback */
|
|
14
14
|
/** @typedef {import("./WebpackError")} WebpackError */
|
|
15
15
|
/** @typedef {import("./logging/Logger").Logger} Logger */
|
|
16
16
|
/** @typedef {import("./util/fs").TimeInfoEntries} TimeInfoEntries */
|
|
17
17
|
/** @typedef {import("./util/fs").WatchFileSystem} WatchFileSystem */
|
|
18
|
-
/** @typedef {import("./util/fs").Watcher} Watcher */
|
|
19
18
|
|
|
20
19
|
/**
|
|
21
20
|
* @template T
|
|
22
|
-
* @
|
|
23
|
-
* @
|
|
24
|
-
* @param {T=} result
|
|
21
|
+
* @template [R=void]
|
|
22
|
+
* @typedef {import("./webpack").Callback<T, R>} Callback
|
|
25
23
|
*/
|
|
26
24
|
|
|
25
|
+
/** @typedef {Set<string>} CollectedFiles */
|
|
26
|
+
|
|
27
27
|
class Watching {
|
|
28
28
|
/**
|
|
29
29
|
* @param {Compiler} compiler the compiler
|
|
@@ -34,9 +34,9 @@ class Watching {
|
|
|
34
34
|
this.startTime = null;
|
|
35
35
|
this.invalid = false;
|
|
36
36
|
this.handler = handler;
|
|
37
|
-
/** @type {
|
|
37
|
+
/** @type {ErrorCallback[]} */
|
|
38
38
|
this.callbacks = [];
|
|
39
|
-
/** @type {
|
|
39
|
+
/** @type {ErrorCallback[] | undefined} */
|
|
40
40
|
this._closeCallbacks = undefined;
|
|
41
41
|
this.closed = false;
|
|
42
42
|
this.suspended = false;
|
|
@@ -66,9 +66,9 @@ class Watching {
|
|
|
66
66
|
this._needRecords = true;
|
|
67
67
|
this.watcher = undefined;
|
|
68
68
|
this.pausedWatcher = undefined;
|
|
69
|
-
/** @type {
|
|
69
|
+
/** @type {CollectedFiles | undefined} */
|
|
70
70
|
this._collectedChangedFiles = undefined;
|
|
71
|
-
/** @type {
|
|
71
|
+
/** @type {CollectedFiles | undefined} */
|
|
72
72
|
this._collectedRemovedFiles = undefined;
|
|
73
73
|
this._done = this._done.bind(this);
|
|
74
74
|
process.nextTick(() => {
|
|
@@ -88,12 +88,12 @@ class Watching {
|
|
|
88
88
|
} else {
|
|
89
89
|
for (const file of changedFiles) {
|
|
90
90
|
this._collectedChangedFiles.add(file);
|
|
91
|
-
/** @type {
|
|
91
|
+
/** @type {CollectedFiles} */
|
|
92
92
|
(this._collectedRemovedFiles).delete(file);
|
|
93
93
|
}
|
|
94
94
|
for (const file of /** @type {ReadonlySet<string>} */ (removedFiles)) {
|
|
95
95
|
this._collectedChangedFiles.delete(file);
|
|
96
|
-
/** @type {
|
|
96
|
+
/** @type {CollectedFiles} */
|
|
97
97
|
(this._collectedRemovedFiles).add(file);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -262,7 +262,7 @@ class Watching {
|
|
|
262
262
|
|
|
263
263
|
/**
|
|
264
264
|
* @param {Error} err error
|
|
265
|
-
* @param {
|
|
265
|
+
* @param {ErrorCallback[]=} cbs callbacks
|
|
266
266
|
*/
|
|
267
267
|
const handleError = (err, cbs) => {
|
|
268
268
|
this.compiler.hooks.failed.call(err);
|
|
@@ -393,7 +393,7 @@ class Watching {
|
|
|
393
393
|
}
|
|
394
394
|
|
|
395
395
|
/**
|
|
396
|
-
* @param {
|
|
396
|
+
* @param {ErrorCallback=} callback signals when the build has completed again
|
|
397
397
|
* @returns {void}
|
|
398
398
|
*/
|
|
399
399
|
invalidate(callback) {
|
|
@@ -451,7 +451,7 @@ class Watching {
|
|
|
451
451
|
}
|
|
452
452
|
|
|
453
453
|
/**
|
|
454
|
-
* @param {
|
|
454
|
+
* @param {ErrorCallback} callback signals when the watcher is closed
|
|
455
455
|
* @returns {void}
|
|
456
456
|
*/
|
|
457
457
|
close(callback) {
|
|
@@ -481,7 +481,7 @@ class Watching {
|
|
|
481
481
|
const shutdown = (err) => {
|
|
482
482
|
this.compiler.hooks.watchClose.call();
|
|
483
483
|
const closeCallbacks =
|
|
484
|
-
/** @type {
|
|
484
|
+
/** @type {ErrorCallback[]} */
|
|
485
485
|
(this._closeCallbacks);
|
|
486
486
|
this._closeCallbacks = undefined;
|
|
487
487
|
for (const cb of closeCallbacks) cb(err);
|
|
@@ -16,10 +16,8 @@ const {
|
|
|
16
16
|
toConstantDependency
|
|
17
17
|
} = require("./javascript/JavascriptParserHelpers");
|
|
18
18
|
|
|
19
|
-
/** @typedef {import("enhanced-resolve").Resolver} Resolver */
|
|
20
19
|
/** @typedef {import("./Compiler")} Compiler */
|
|
21
20
|
/** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
|
|
22
|
-
/** @typedef {import("./Module")} Module */
|
|
23
21
|
/** @typedef {import("./javascript/JavascriptParser")} JavascriptParser */
|
|
24
22
|
/** @typedef {import("./javascript/JavascriptParser").Range} Range */
|
|
25
23
|
|
|
@@ -73,9 +73,8 @@ const DefaultStatsPrinterPlugin = require("./stats/DefaultStatsPrinterPlugin");
|
|
|
73
73
|
|
|
74
74
|
const { cleverMerge } = require("./util/cleverMerge");
|
|
75
75
|
|
|
76
|
-
/** @typedef {import("../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptions */
|
|
77
76
|
/** @typedef {import("../declarations/WebpackOptions").WebpackPluginFunction} WebpackPluginFunction */
|
|
78
|
-
/** @typedef {import("
|
|
77
|
+
/** @typedef {import("./config/defaults").WebpackOptionsNormalizedWithDefaults} WebpackOptions */
|
|
79
78
|
/** @typedef {import("./Compiler")} Compiler */
|
|
80
79
|
/** @typedef {import("./util/fs").InputFileSystem} InputFileSystem */
|
|
81
80
|
/** @typedef {import("./util/fs").IntermediateFileSystem} IntermediateFileSystem */
|
|
@@ -93,7 +92,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
93
92
|
* @returns {WebpackOptions} options object
|
|
94
93
|
*/
|
|
95
94
|
process(options, compiler) {
|
|
96
|
-
compiler.outputPath =
|
|
95
|
+
compiler.outputPath = options.output.path;
|
|
97
96
|
compiler.recordsInputPath = options.recordsInputPath || null;
|
|
98
97
|
compiler.recordsOutputPath = options.recordsOutputPath || null;
|
|
99
98
|
compiler.name = options.name;
|
|
@@ -111,115 +110,92 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
111
110
|
const NodeTargetPlugin = require("./node/NodeTargetPlugin");
|
|
112
111
|
|
|
113
112
|
new NodeTargetPlugin().apply(compiler);
|
|
114
|
-
}
|
|
115
|
-
if (options.externalsPresets.electronMain) {
|
|
116
|
-
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
117
|
-
const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
|
|
118
|
-
|
|
119
|
-
new ElectronTargetPlugin("main").apply(compiler);
|
|
120
|
-
}
|
|
121
|
-
if (options.externalsPresets.electronPreload) {
|
|
122
|
-
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
123
|
-
const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
|
|
124
113
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
|
|
114
|
+
// Handle external CSS `@import` and `url()`
|
|
115
|
+
if (options.experiments.css) {
|
|
116
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
117
|
+
const ExternalsPlugin = require("./ExternalsPlugin");
|
|
130
118
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
119
|
+
new ExternalsPlugin(
|
|
120
|
+
"module",
|
|
121
|
+
({ request, dependencyType, contextInfo }, callback) => {
|
|
122
|
+
if (
|
|
123
|
+
/\.css(\?|$)/.test(contextInfo.issuer) &&
|
|
124
|
+
/^(\/\/|https?:\/\/|#)/.test(request)
|
|
125
|
+
) {
|
|
126
|
+
if (dependencyType === "url") {
|
|
127
|
+
return callback(null, `asset ${request}`);
|
|
128
|
+
} else if (
|
|
129
|
+
dependencyType === "css-import" &&
|
|
130
|
+
options.experiments.css
|
|
131
|
+
) {
|
|
132
|
+
return callback(null, `css-import ${request}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
141
135
|
|
|
142
|
-
|
|
136
|
+
callback();
|
|
137
|
+
}
|
|
138
|
+
).apply(compiler);
|
|
139
|
+
}
|
|
143
140
|
}
|
|
144
|
-
if (options.externalsPresets.
|
|
145
|
-
|
|
146
|
-
const ExternalsPlugin = require("./ExternalsPlugin");
|
|
141
|
+
if (options.externalsPresets.webAsync || options.externalsPresets.web) {
|
|
142
|
+
const type = options.externalsPresets.webAsync ? "import" : "module";
|
|
147
143
|
|
|
148
|
-
new ExternalsPlugin("node-commonjs", "nw.gui").apply(compiler);
|
|
149
|
-
}
|
|
150
|
-
if (options.externalsPresets.webAsync) {
|
|
151
144
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
152
145
|
const ExternalsPlugin = require("./ExternalsPlugin");
|
|
153
146
|
|
|
154
|
-
new ExternalsPlugin(
|
|
155
|
-
if (
|
|
156
|
-
if (
|
|
147
|
+
new ExternalsPlugin(type, ({ request, dependencyType }, callback) => {
|
|
148
|
+
if (/^(\/\/|https?:\/\/|#|std:|jsr:|npm:)/.test(request)) {
|
|
149
|
+
if (dependencyType === "url") {
|
|
157
150
|
return callback(null, `asset ${request}`);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
return callback(null, `css-import ${request}`);
|
|
162
|
-
}
|
|
163
|
-
} else if (
|
|
164
|
-
options.experiments.css &&
|
|
165
|
-
/^(\/\/|https?:\/\/|std:)/.test(/** @type {string} */ (request))
|
|
166
|
-
) {
|
|
167
|
-
if (/^\.css(\?|$)/.test(/** @type {string} */ (request))) {
|
|
168
|
-
return callback(null, `css-import ${request}`);
|
|
169
|
-
}
|
|
170
|
-
return callback(null, `import ${request}`);
|
|
171
|
-
}
|
|
172
|
-
callback();
|
|
173
|
-
}).apply(compiler);
|
|
174
|
-
} else if (options.externalsPresets.web) {
|
|
175
|
-
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
176
|
-
const ExternalsPlugin = require("./ExternalsPlugin");
|
|
177
|
-
|
|
178
|
-
new ExternalsPlugin("module", ({ request, dependencyType }, callback) => {
|
|
179
|
-
if (dependencyType === "url") {
|
|
180
|
-
if (/^(\/\/|https?:\/\/|#)/.test(/** @type {string} */ (request))) {
|
|
181
|
-
return callback(null, `asset ${request}`);
|
|
182
|
-
}
|
|
183
|
-
} else if (options.experiments.css && dependencyType === "css-import") {
|
|
184
|
-
if (/^(\/\/|https?:\/\/|#)/.test(/** @type {string} */ (request))) {
|
|
185
|
-
return callback(null, `css-import ${request}`);
|
|
186
|
-
}
|
|
187
|
-
} else if (
|
|
188
|
-
/^(\/\/|https?:\/\/|std:)/.test(/** @type {string} */ (request))
|
|
189
|
-
) {
|
|
190
|
-
if (
|
|
191
|
-
options.experiments.css &&
|
|
192
|
-
/^\.css((\?)|$)/.test(/** @type {string} */ (request))
|
|
151
|
+
} else if (
|
|
152
|
+
dependencyType === "css-import" &&
|
|
153
|
+
options.experiments.css
|
|
193
154
|
) {
|
|
194
155
|
return callback(null, `css-import ${request}`);
|
|
156
|
+
} else if (/^(\/\/|https?:\/\/|std:|jsr:|npm:)/.test(request)) {
|
|
157
|
+
return callback(null, `${type} ${request}`);
|
|
195
158
|
}
|
|
196
|
-
return callback(null, `module ${request}`);
|
|
197
159
|
}
|
|
160
|
+
|
|
198
161
|
callback();
|
|
199
162
|
}).apply(compiler);
|
|
200
|
-
}
|
|
163
|
+
}
|
|
164
|
+
if (options.externalsPresets.electron) {
|
|
165
|
+
if (options.externalsPresets.electronMain) {
|
|
166
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
167
|
+
const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
|
|
168
|
+
|
|
169
|
+
new ElectronTargetPlugin("main").apply(compiler);
|
|
170
|
+
}
|
|
171
|
+
if (options.externalsPresets.electronPreload) {
|
|
172
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
173
|
+
const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
|
|
174
|
+
|
|
175
|
+
new ElectronTargetPlugin("preload").apply(compiler);
|
|
176
|
+
}
|
|
177
|
+
if (options.externalsPresets.electronRenderer) {
|
|
178
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
179
|
+
const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
|
|
180
|
+
|
|
181
|
+
new ElectronTargetPlugin("renderer").apply(compiler);
|
|
182
|
+
}
|
|
183
|
+
if (
|
|
184
|
+
!options.externalsPresets.electronMain &&
|
|
185
|
+
!options.externalsPresets.electronPreload &&
|
|
186
|
+
!options.externalsPresets.electronRenderer
|
|
187
|
+
) {
|
|
188
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
189
|
+
const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin");
|
|
190
|
+
|
|
191
|
+
new ElectronTargetPlugin().apply(compiler);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (options.externalsPresets.nwjs) {
|
|
201
195
|
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
|
202
196
|
const ExternalsPlugin = require("./ExternalsPlugin");
|
|
203
197
|
|
|
204
|
-
new ExternalsPlugin("
|
|
205
|
-
if (dependencyType === "url") {
|
|
206
|
-
if (/^(\/\/|https?:\/\/|#)/.test(/** @type {string} */ (request))) {
|
|
207
|
-
return callback(null, `asset ${request}`);
|
|
208
|
-
}
|
|
209
|
-
} else if (dependencyType === "css-import") {
|
|
210
|
-
if (/^(\/\/|https?:\/\/|#)/.test(/** @type {string} */ (request))) {
|
|
211
|
-
return callback(null, `css-import ${request}`);
|
|
212
|
-
}
|
|
213
|
-
} else if (
|
|
214
|
-
/^(\/\/|https?:\/\/|std:)/.test(/** @type {string} */ (request))
|
|
215
|
-
) {
|
|
216
|
-
if (/^\.css(\?|$)/.test(/** @type {string} */ (request))) {
|
|
217
|
-
return callback(null, `css-import ${request}`);
|
|
218
|
-
}
|
|
219
|
-
return callback(null, `module ${request}`);
|
|
220
|
-
}
|
|
221
|
-
callback();
|
|
222
|
-
}).apply(compiler);
|
|
198
|
+
new ExternalsPlugin("node-commonjs", "nw.gui").apply(compiler);
|
|
223
199
|
}
|
|
224
200
|
|
|
225
201
|
new ChunkPrefetchPreloadPlugin().apply(compiler);
|
|
@@ -446,11 +422,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
446
422
|
}
|
|
447
423
|
|
|
448
424
|
new EntryOptionPlugin().apply(compiler);
|
|
449
|
-
compiler.hooks.entryOption.call(
|
|
450
|
-
/** @type {string} */
|
|
451
|
-
(options.context),
|
|
452
|
-
options.entry
|
|
453
|
-
);
|
|
425
|
+
compiler.hooks.entryOption.call(options.context, options.entry);
|
|
454
426
|
|
|
455
427
|
new RuntimePlugin().apply(compiler);
|
|
456
428
|
|
|
@@ -461,7 +433,6 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
461
433
|
|
|
462
434
|
new CompatibilityPlugin().apply(compiler);
|
|
463
435
|
new HarmonyModulesPlugin({
|
|
464
|
-
topLevelAwait: options.experiments.topLevelAwait,
|
|
465
436
|
deferImport: options.experiments.deferImport
|
|
466
437
|
}).apply(compiler);
|
|
467
438
|
if (options.amd !== false) {
|
|
@@ -478,9 +449,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
478
449
|
|
|
479
450
|
new NodeStuffPlugin(options.node).apply(compiler);
|
|
480
451
|
}
|
|
481
|
-
new APIPlugin(
|
|
482
|
-
module: options.output.module
|
|
483
|
-
}).apply(compiler);
|
|
452
|
+
new APIPlugin().apply(compiler);
|
|
484
453
|
new ExportsInfoApiPlugin().apply(compiler);
|
|
485
454
|
new WebpackIsIncludedPlugin().apply(compiler);
|
|
486
455
|
new ConstPlugin().apply(compiler);
|
|
@@ -703,9 +672,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
703
672
|
}).apply(compiler);
|
|
704
673
|
}
|
|
705
674
|
if (options.optimization.minimize) {
|
|
706
|
-
for (const minimizer of
|
|
707
|
-
options.optimization.minimizer
|
|
708
|
-
)) {
|
|
675
|
+
for (const minimizer of options.optimization.minimizer) {
|
|
709
676
|
if (typeof minimizer === "function") {
|
|
710
677
|
/** @type {WebpackPluginFunction} */
|
|
711
678
|
(minimizer).call(compiler, compiler);
|
|
@@ -810,7 +777,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
810
777
|
fs:
|
|
811
778
|
/** @type {IntermediateFileSystem} */
|
|
812
779
|
(compiler.intermediateFileSystem),
|
|
813
|
-
context:
|
|
780
|
+
context: options.context,
|
|
814
781
|
cacheLocation:
|
|
815
782
|
/** @type {string} */
|
|
816
783
|
(cacheOptions.cacheLocation),
|