webpack 5.93.0 → 5.95.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 +8 -5
- package/bin/webpack.js +6 -7
- package/hot/log.js +1 -2
- package/hot/only-dev-server.js +1 -1
- package/hot/poll.js +1 -1
- package/hot/signal.js +1 -1
- package/lib/APIPlugin.js +4 -3
- package/lib/AbstractMethodError.js +10 -5
- package/lib/AutomaticPrefetchPlugin.js +1 -1
- package/lib/BannerPlugin.js +12 -6
- package/lib/Cache.js +8 -10
- package/lib/CacheFacade.js +3 -3
- package/lib/CaseSensitiveModulesWarning.js +5 -7
- package/lib/Chunk.js +14 -11
- package/lib/ChunkGraph.js +58 -36
- package/lib/ChunkGroup.js +2 -3
- package/lib/ChunkTemplate.js +43 -0
- package/lib/CleanPlugin.js +10 -11
- package/lib/CodeGenerationResults.js +6 -5
- package/lib/CommentCompilationWarning.js +0 -1
- package/lib/Compilation.js +223 -191
- package/lib/Compiler.js +81 -82
- package/lib/ConcatenationScope.js +3 -6
- package/lib/ConditionalInitFragment.js +6 -7
- package/lib/ConstPlugin.js +7 -15
- package/lib/ContextExclusionPlugin.js +3 -3
- package/lib/ContextModule.js +33 -20
- package/lib/ContextModuleFactory.js +89 -44
- package/lib/ContextReplacementPlugin.js +10 -9
- package/lib/DefinePlugin.js +75 -68
- package/lib/DelegatedModule.js +7 -3
- package/lib/DelegatedModuleFactoryPlugin.js +36 -22
- package/lib/DelegatedPlugin.js +4 -0
- package/lib/DependenciesBlock.js +0 -1
- package/lib/Dependency.js +10 -14
- package/lib/DllEntryPlugin.js +4 -2
- package/lib/DllModuleFactory.js +1 -0
- package/lib/DllPlugin.js +9 -7
- package/lib/DllReferencePlugin.js +30 -15
- package/lib/EntryPlugin.js +1 -3
- package/lib/EnvironmentPlugin.js +6 -2
- package/lib/ErrorHelpers.js +11 -12
- package/lib/EvalDevToolModulePlugin.js +10 -12
- package/lib/EvalSourceMapDevToolPlugin.js +15 -13
- package/lib/ExportsInfo.js +185 -120
- package/lib/ExternalModule.js +41 -15
- package/lib/ExternalModuleFactoryPlugin.js +23 -10
- package/lib/FileSystemInfo.js +791 -422
- package/lib/FlagAllModulesAsUsedPlugin.js +1 -1
- package/lib/FlagDependencyExportsPlugin.js +12 -11
- package/lib/FlagDependencyUsagePlugin.js +1 -1
- package/lib/Generator.js +2 -5
- package/lib/GraphHelpers.js +3 -2
- package/lib/HookWebpackError.js +8 -10
- package/lib/HotModuleReplacementPlugin.js +78 -64
- package/lib/IgnoreErrorModuleFactory.js +3 -3
- package/lib/IgnorePlugin.js +1 -3
- package/lib/IgnoreWarningsPlugin.js +6 -9
- package/lib/InitFragment.js +2 -3
- package/lib/LibManifestPlugin.js +4 -3
- package/lib/MainTemplate.js +72 -19
- package/lib/Module.js +25 -9
- package/lib/ModuleBuildError.js +4 -11
- package/lib/ModuleDependencyError.js +5 -5
- package/lib/ModuleDependencyWarning.js +5 -5
- package/lib/ModuleError.js +1 -5
- package/lib/ModuleFilenameHelpers.js +29 -46
- package/lib/ModuleGraph.js +7 -6
- package/lib/ModuleGraphConnection.js +6 -6
- package/lib/ModuleInfoHeaderPlugin.js +82 -30
- package/lib/ModuleParseError.js +8 -9
- package/lib/ModuleRestoreError.js +1 -1
- package/lib/ModuleStoreError.js +1 -1
- package/lib/ModuleTemplate.js +33 -1
- package/lib/ModuleTypeConstants.js +21 -22
- package/lib/ModuleWarning.js +1 -5
- package/lib/MultiCompiler.js +24 -26
- package/lib/MultiStats.js +73 -31
- package/lib/MultiWatching.js +1 -1
- package/lib/NormalModule.js +130 -69
- package/lib/NormalModuleFactory.js +53 -49
- package/lib/OptimizationStages.js +3 -3
- package/lib/ProgressPlugin.js +9 -9
- package/lib/ProvidePlugin.js +4 -4
- package/lib/RuntimeGlobals.js +71 -70
- package/lib/RuntimeModule.js +1 -1
- package/lib/RuntimePlugin.js +24 -12
- package/lib/RuntimeTemplate.js +40 -44
- package/lib/SizeFormatHelpers.js +2 -4
- package/lib/SourceMapDevToolPlugin.js +42 -34
- package/lib/Stats.js +5 -11
- package/lib/Template.js +18 -24
- package/lib/TemplatedPathPlugin.js +21 -13
- package/lib/WarnDeprecatedOptionPlugin.js +0 -1
- package/lib/WatchIgnorePlugin.js +26 -9
- package/lib/Watching.js +10 -5
- package/lib/WebpackOptionsApply.js +84 -62
- package/lib/asset/AssetGenerator.js +107 -42
- package/lib/asset/AssetModulesPlugin.js +29 -23
- package/lib/asset/AssetSourceGenerator.js +2 -7
- package/lib/async-modules/AwaitDependenciesInitFragment.js +6 -7
- package/lib/buildChunkGraph.js +93 -81
- package/lib/cache/IdleFileCachePlugin.js +4 -4
- package/lib/cache/MemoryWithGcCachePlugin.js +5 -5
- package/lib/cache/PackFileCacheStrategy.js +51 -50
- package/lib/cache/ResolverCachePlugin.js +6 -6
- package/lib/cache/mergeEtags.js +16 -21
- package/lib/cli.js +148 -104
- package/lib/config/browserslistTargetHandler.js +16 -13
- package/lib/config/defaults.js +32 -28
- package/lib/config/normalization.js +335 -344
- package/lib/config/target.js +42 -52
- package/lib/container/ContainerEntryModule.js +2 -2
- package/lib/container/ContainerPlugin.js +1 -1
- package/lib/container/RemoteRuntimeModule.js +11 -8
- package/lib/container/options.js +18 -4
- package/lib/css/CssExportsGenerator.js +26 -24
- package/lib/css/CssGenerator.js +9 -4
- package/lib/css/CssLoadingRuntimeModule.js +10 -10
- package/lib/css/CssModulesPlugin.js +127 -47
- package/lib/css/CssParser.js +20 -18
- package/lib/css/walkCssTokens.js +80 -95
- package/lib/debug/ProfilingPlugin.js +19 -20
- package/lib/dependencies/AMDDefineDependency.js +1 -1
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +83 -47
- package/lib/dependencies/AMDRequireArrayDependency.js +9 -10
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +22 -16
- package/lib/dependencies/AMDRuntimeModules.js +2 -2
- package/lib/dependencies/CommonJsDependencyHelpers.js +6 -2
- package/lib/dependencies/CommonJsExportRequireDependency.js +37 -41
- package/lib/dependencies/CommonJsExportsDependency.js +0 -1
- package/lib/dependencies/CommonJsExportsParserPlugin.js +19 -23
- package/lib/dependencies/CommonJsFullRequireDependency.js +1 -1
- package/lib/dependencies/CommonJsImportsParserPlugin.js +52 -61
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +6 -8
- package/lib/dependencies/ConstDependency.js +1 -1
- package/lib/dependencies/ContextDependency.js +7 -2
- package/lib/dependencies/ContextDependencyHelpers.js +31 -34
- package/lib/dependencies/ContextElementDependency.js +35 -8
- package/lib/dependencies/CriticalDependencyWarning.js +1 -1
- package/lib/dependencies/CssExportDependency.js +7 -7
- package/lib/dependencies/CssImportDependency.js +0 -2
- package/lib/dependencies/CssLocalIdentifierDependency.js +3 -3
- package/lib/dependencies/CssSelfLocalIdentifierDependency.js +2 -1
- package/lib/dependencies/CssUrlDependency.js +4 -5
- package/lib/dependencies/DynamicExports.js +5 -5
- package/lib/dependencies/ExportsInfoDependency.js +1 -2
- package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -1
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -5
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +27 -16
- package/lib/dependencies/HarmonyExportExpressionDependency.js +1 -1
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +107 -64
- package/lib/dependencies/HarmonyExports.js +2 -2
- package/lib/dependencies/HarmonyImportDependency.js +2 -4
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +19 -4
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +40 -15
- package/lib/dependencies/ImportDependency.js +1 -1
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +5 -5
- package/lib/dependencies/ImportMetaPlugin.js +11 -13
- package/lib/dependencies/ImportParserPlugin.js +39 -44
- package/lib/dependencies/JsonExportsDependency.js +22 -18
- package/lib/dependencies/LoaderPlugin.js +47 -36
- package/lib/dependencies/LocalModule.js +1 -1
- package/lib/dependencies/LocalModulesHelpers.js +4 -4
- package/lib/dependencies/ModuleDecoratorDependency.js +1 -1
- package/lib/dependencies/ProvidedDependency.js +1 -1
- package/lib/dependencies/PureExpressionDependency.js +6 -6
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -1
- package/lib/dependencies/RuntimeRequirementsDependency.js +1 -1
- package/lib/dependencies/SystemPlugin.js +1 -1
- package/lib/dependencies/URLDependency.js +3 -3
- package/lib/dependencies/URLPlugin.js +66 -12
- package/lib/dependencies/WorkerPlugin.js +25 -24
- package/lib/dependencies/processExportInfo.js +3 -1
- package/lib/electron/ElectronTargetPlugin.js +1 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +7 -3
- package/lib/formatLocation.js +1 -2
- package/lib/hmr/HotModuleReplacement.runtime.js +4 -5
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +9 -12
- package/lib/hmr/LazyCompilationPlugin.js +27 -12
- package/lib/hmr/lazyCompilationBackend.js +64 -40
- package/lib/ids/ChunkModuleIdRangePlugin.js +1 -3
- package/lib/ids/DeterministicChunkIdsPlugin.js +2 -4
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +5 -1
- package/lib/ids/IdHelpers.js +29 -39
- package/lib/ids/SyncModuleIdsPlugin.js +7 -2
- package/lib/index.js +1 -5
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -4
- package/lib/javascript/BasicEvaluatedExpression.js +4 -19
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/CommonJsChunkFormatPlugin.js +3 -2
- package/lib/javascript/EnableChunkLoadingPlugin.js +7 -6
- package/lib/javascript/JavascriptGenerator.js +23 -7
- package/lib/javascript/JavascriptModulesPlugin.js +133 -86
- package/lib/javascript/JavascriptParser.js +179 -200
- package/lib/javascript/JavascriptParserHelpers.js +20 -21
- package/lib/javascript/StartupHelpers.js +41 -13
- package/lib/json/JsonGenerator.js +7 -13
- package/lib/json/JsonModulesPlugin.js +1 -4
- package/lib/json/JsonParser.js +5 -3
- package/lib/library/AmdLibraryPlugin.js +12 -16
- package/lib/library/AssignLibraryPlugin.js +8 -10
- package/lib/library/EnableLibraryPlugin.js +15 -14
- package/lib/library/JsonpLibraryPlugin.js +2 -1
- package/lib/library/ModernModuleLibraryPlugin.js +8 -6
- package/lib/library/ModuleLibraryPlugin.js +2 -1
- package/lib/library/SystemLibraryPlugin.js +2 -1
- package/lib/library/UmdLibraryPlugin.js +66 -92
- package/lib/logging/Logger.js +32 -4
- package/lib/logging/createConsoleLogger.js +12 -13
- package/lib/logging/runtime.js +7 -8
- package/lib/logging/truncateArgs.js +5 -8
- package/lib/node/NodeWatchFileSystem.js +3 -18
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +2 -2
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +1 -0
- package/lib/node/RequireChunkLoadingRuntimeModule.js +2 -2
- package/lib/node/nodeConsole.js +22 -22
- package/lib/optimize/AggressiveMergingPlugin.js +2 -4
- package/lib/optimize/AggressiveSplittingPlugin.js +16 -19
- package/lib/optimize/ConcatenatedModule.js +81 -51
- package/lib/optimize/EnsureChunkConditionsPlugin.js +1 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -3
- package/lib/optimize/InnerGraph.js +17 -17
- package/lib/optimize/InnerGraphPlugin.js +8 -7
- package/lib/optimize/LimitChunkCountPlugin.js +2 -3
- package/lib/optimize/MangleExportsPlugin.js +1 -0
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -2
- package/lib/optimize/MinMaxSizeWarning.js +1 -1
- package/lib/optimize/ModuleConcatenationPlugin.js +54 -78
- package/lib/optimize/RealContentHashPlugin.js +7 -10
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -3
- package/lib/optimize/SideEffectsFlagPlugin.js +6 -2
- package/lib/optimize/SplitChunksPlugin.js +34 -30
- package/lib/performance/SizeLimitsPlugin.js +2 -2
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -1
- package/lib/rules/BasicEffectRulePlugin.js +3 -1
- package/lib/rules/BasicMatcherRulePlugin.js +3 -1
- package/lib/rules/ObjectMatcherRulePlugin.js +4 -1
- package/lib/rules/RuleSetCompiler.js +41 -22
- package/lib/rules/UseEffectRulePlugin.js +36 -32
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
- package/lib/runtime/AutoPublicPathRuntimeModule.js +8 -3
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -1
- package/lib/runtime/EnsureChunkRuntimeModule.js +10 -11
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +11 -17
- package/lib/runtime/LoadScriptRuntimeModule.js +17 -18
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -3
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +241 -126
- package/lib/serialization/BinaryMiddleware.js +44 -28
- package/lib/serialization/DateObjectSerializer.js +1 -0
- package/lib/serialization/ErrorObjectSerializer.js +2 -0
- package/lib/serialization/FileMiddleware.js +154 -106
- package/lib/serialization/MapObjectSerializer.js +2 -1
- package/lib/serialization/NullPrototypeObjectSerializer.js +3 -2
- package/lib/serialization/ObjectMiddleware.js +52 -56
- package/lib/serialization/PlainObjectSerializer.js +32 -6
- package/lib/serialization/RegExpObjectSerializer.js +1 -0
- package/lib/serialization/Serializer.js +4 -5
- package/lib/serialization/SerializerMiddleware.js +6 -6
- package/lib/serialization/SetObjectSerializer.js +2 -1
- package/lib/sharing/ConsumeSharedPlugin.js +116 -97
- package/lib/sharing/ConsumeSharedRuntimeModule.js +4 -4
- package/lib/sharing/ProvideForSharedDependency.js +0 -1
- package/lib/sharing/ProvideSharedPlugin.js +2 -2
- package/lib/sharing/resolveMatchedConfigs.js +2 -1
- package/lib/sharing/utils.js +15 -27
- package/lib/stats/DefaultStatsFactoryPlugin.js +424 -281
- package/lib/stats/DefaultStatsPresetPlugin.js +73 -18
- package/lib/stats/DefaultStatsPrinterPlugin.js +370 -101
- package/lib/stats/StatsFactory.js +127 -56
- package/lib/stats/StatsPrinter.js +75 -44
- package/lib/util/ArrayHelpers.js +8 -4
- package/lib/util/ArrayQueue.js +1 -1
- package/lib/util/AsyncQueue.js +31 -12
- package/lib/util/IterableHelpers.js +3 -4
- package/lib/util/LazyBucketSortedSet.js +60 -44
- package/lib/util/LazySet.js +13 -0
- package/lib/util/MapHelpers.js +1 -3
- package/lib/util/ParallelismFactorCalculator.js +1 -1
- package/lib/util/Queue.js +1 -1
- package/lib/util/Semaphore.js +4 -7
- package/lib/util/SetHelpers.js +5 -5
- package/lib/util/SortableSet.js +4 -3
- package/lib/util/StackedCacheMap.js +4 -6
- package/lib/util/StackedMap.js +1 -3
- package/lib/util/StringXor.js +0 -5
- package/lib/util/TupleQueue.js +1 -1
- package/lib/util/TupleSet.js +15 -5
- package/lib/util/URLAbsoluteSpecifier.js +7 -7
- package/lib/util/WeakTupleMap.js +19 -21
- package/lib/util/binarySearchBounds.js +5 -12
- package/lib/util/chainedImports.js +1 -1
- package/lib/util/cleverMerge.js +21 -19
- package/lib/util/comparators.js +57 -52
- package/lib/util/compileBooleanMatcher.js +3 -6
- package/lib/util/conventions.js +8 -11
- package/lib/util/createHash.js +9 -6
- package/lib/util/deprecation.js +22 -12
- package/lib/util/deterministicGrouping.js +19 -26
- package/lib/util/findGraphRoots.js +2 -2
- package/lib/util/fs.js +32 -32
- package/lib/util/hash/md4.js +2 -2
- package/lib/util/hash/wasm-hash.js +7 -7
- package/lib/util/hash/xxhash64.js +2 -2
- package/lib/util/identifier.js +81 -59
- package/lib/util/memoize.js +8 -10
- package/lib/util/mergeScope.js +6 -9
- package/lib/util/nonNumericOnlyHash.js +2 -2
- package/lib/util/numberHash.js +1 -6
- package/lib/util/objectToMap.js +0 -1
- package/lib/util/propertyAccess.js +2 -5
- package/lib/util/propertyName.js +1 -3
- package/lib/util/registerExternalSerializer.js +1 -1
- package/lib/util/runtime.js +109 -113
- package/lib/util/semver.js +29 -27
- package/lib/util/serialization.js +16 -1
- package/lib/util/smartGrouping.js +5 -5
- package/lib/util/source.js +1 -1
- package/lib/wasm/EnableWasmLoadingPlugin.js +5 -4
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +3 -3
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -6
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +3 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +20 -19
- package/lib/wasm-sync/WebAssemblyGenerator.js +14 -29
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -1
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +2 -3
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
- package/package.json +18 -17
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +5 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +1 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +1 -0
- package/types.d.ts +681 -355
@@ -208,9 +208,9 @@ class AsyncWebAssemblyModulesPlugin {
|
|
208
208
|
hooks.renderModuleContent.call(moduleSource, module, renderContext),
|
209
209
|
"AsyncWebAssemblyModulesPlugin.getCompilationHooks().renderModuleContent"
|
210
210
|
);
|
211
|
-
} catch (
|
212
|
-
/** @type {WebpackError} */ (
|
213
|
-
throw
|
211
|
+
} catch (err) {
|
212
|
+
/** @type {WebpackError} */ (err).module = module;
|
213
|
+
throw err;
|
214
214
|
}
|
215
215
|
}
|
216
216
|
}
|
@@ -13,6 +13,7 @@ const WebAssemblyUtils = require("./WebAssemblyUtils");
|
|
13
13
|
/** @typedef {import("@webassemblyjs/ast").Signature} Signature */
|
14
14
|
/** @typedef {import("../Chunk")} Chunk */
|
15
15
|
/** @typedef {import("../ChunkGraph")} ChunkGraph */
|
16
|
+
/** @typedef {import("../ChunkGraph").ModuleId} ModuleId */
|
16
17
|
/** @typedef {import("../Compilation")} Compilation */
|
17
18
|
/** @typedef {import("../Module")} Module */
|
18
19
|
/** @typedef {import("../Module").ReadOnlyRuntimeRequirements} ReadOnlyRuntimeRequirements */
|
@@ -89,7 +90,8 @@ const generateImportObject = (
|
|
89
90
|
const instanceVar = `m${waitForInstances.size}`;
|
90
91
|
waitForInstances.set(
|
91
92
|
instanceVar,
|
92
|
-
|
93
|
+
/** @type {ModuleId} */
|
94
|
+
(chunkGraph.getModuleId(/** @type {Module} */ (importedModule)))
|
93
95
|
);
|
94
96
|
properties.push({
|
95
97
|
module,
|
@@ -100,7 +102,7 @@ const generateImportObject = (
|
|
100
102
|
const params =
|
101
103
|
/** @type {Signature} */
|
102
104
|
(description.signature).params.map(
|
103
|
-
(param, k) =>
|
105
|
+
(param, k) => `p${k}${param.valtype}`
|
104
106
|
);
|
105
107
|
|
106
108
|
const mod = `${RuntimeGlobals.moduleCache}[${JSON.stringify(
|
@@ -121,7 +123,7 @@ const generateImportObject = (
|
|
121
123
|
module,
|
122
124
|
name,
|
123
125
|
value: Template.asString([
|
124
|
-
modCode
|
126
|
+
`${modCode}function(${params}) {`,
|
125
127
|
Template.indent([
|
126
128
|
`if(${cache} === undefined) ${cache} = ${modExports};`,
|
127
129
|
`return ${cache}[${JSON.stringify(usedName)}](${params});`
|
@@ -154,15 +156,15 @@ const generateImportObject = (
|
|
154
156
|
importObject = [
|
155
157
|
"return {",
|
156
158
|
Template.indent([
|
157
|
-
Array.from(propertiesByModule, ([module, list]) =>
|
158
|
-
|
159
|
+
Array.from(propertiesByModule, ([module, list]) =>
|
160
|
+
Template.asString([
|
159
161
|
`${JSON.stringify(module)}: {`,
|
160
162
|
Template.indent([
|
161
163
|
list.map(p => `${JSON.stringify(p.name)}: ${p.value}`).join(",\n")
|
162
164
|
]),
|
163
165
|
"}"
|
164
|
-
])
|
165
|
-
|
166
|
+
])
|
167
|
+
).join(",\n")
|
166
168
|
]),
|
167
169
|
"};"
|
168
170
|
];
|
@@ -200,13 +202,12 @@ const generateImportObject = (
|
|
200
202
|
]),
|
201
203
|
"},"
|
202
204
|
]);
|
203
|
-
} else {
|
204
|
-
return Template.asString([
|
205
|
-
`${moduleIdStringified}: function() {`,
|
206
|
-
Template.indent(importObject),
|
207
|
-
"},"
|
208
|
-
]);
|
209
205
|
}
|
206
|
+
return Template.asString([
|
207
|
+
`${moduleIdStringified}: function() {`,
|
208
|
+
Template.indent(importObject),
|
209
|
+
"},"
|
210
|
+
]);
|
210
211
|
};
|
211
212
|
|
212
213
|
/**
|
@@ -250,15 +251,15 @@ class WasmChunkLoadingRuntimeModule extends RuntimeModule {
|
|
250
251
|
const { mangleImports } = this;
|
251
252
|
/** @type {string[]} */
|
252
253
|
const declarations = [];
|
253
|
-
const importObjects = wasmModules.map(module =>
|
254
|
-
|
254
|
+
const importObjects = wasmModules.map(module =>
|
255
|
+
generateImportObject(
|
255
256
|
chunkGraph,
|
256
257
|
module,
|
257
258
|
mangleImports,
|
258
259
|
declarations,
|
259
260
|
chunk.runtime
|
260
|
-
)
|
261
|
-
|
261
|
+
)
|
262
|
+
);
|
262
263
|
const chunkModuleIdMap = chunkGraph.getChunkModuleIdMap(chunk, m =>
|
263
264
|
m.type.startsWith("webassembly")
|
264
265
|
);
|
@@ -331,7 +332,7 @@ class WasmChunkLoadingRuntimeModule extends RuntimeModule {
|
|
331
332
|
`${fn}.wasm = function(chunkId, promises) {`,
|
332
333
|
Template.indent([
|
333
334
|
"",
|
334
|
-
|
335
|
+
"var wasmModules = wasmModuleMap[chunkId] || [];",
|
335
336
|
"",
|
336
337
|
"wasmModules.forEach(function(wasmModuleId, idx) {",
|
337
338
|
Template.indent([
|
@@ -342,7 +343,7 @@ class WasmChunkLoadingRuntimeModule extends RuntimeModule {
|
|
342
343
|
Template.indent(["promises.push(installedWasmModuleData);"]),
|
343
344
|
"else {",
|
344
345
|
Template.indent([
|
345
|
-
|
346
|
+
"var importObject = wasmImportObjects[wasmModuleId]();",
|
346
347
|
`var req = ${this.generateLoadBinaryCode(wasmModuleSrcPath)};`,
|
347
348
|
"var promise;",
|
348
349
|
this.supportsStreaming
|
@@ -43,33 +43,27 @@ const WebAssemblyExportImportedDependency = require("../dependencies/WebAssembly
|
|
43
43
|
* @param {((prev: ArrayBuffer) => ArrayBuffer)[]} fns transforms
|
44
44
|
* @returns {Function} composed transform
|
45
45
|
*/
|
46
|
-
const compose = (...fns) =>
|
47
|
-
|
48
|
-
(prevFn, nextFn) =>
|
49
|
-
return value => nextFn(prevFn(value));
|
50
|
-
},
|
46
|
+
const compose = (...fns) =>
|
47
|
+
fns.reduce(
|
48
|
+
(prevFn, nextFn) => value => nextFn(prevFn(value)),
|
51
49
|
value => value
|
52
50
|
);
|
53
|
-
};
|
54
51
|
|
55
52
|
/**
|
56
53
|
* Removes the start instruction
|
57
|
-
*
|
58
54
|
* @param {object} state state
|
59
55
|
* @param {object} state.ast Module's ast
|
60
56
|
* @returns {ArrayBufferTransform} transform
|
61
57
|
*/
|
62
|
-
const removeStartFunc = state => bin =>
|
63
|
-
|
58
|
+
const removeStartFunc = state => bin =>
|
59
|
+
editWithAST(state.ast, bin, {
|
64
60
|
Start(path) {
|
65
61
|
path.remove();
|
66
62
|
}
|
67
63
|
});
|
68
|
-
};
|
69
64
|
|
70
65
|
/**
|
71
66
|
* Get imported globals
|
72
|
-
*
|
73
67
|
* @param {object} ast Module's AST
|
74
68
|
* @returns {t.ModuleImport[]} - nodes
|
75
69
|
*/
|
@@ -90,7 +84,6 @@ const getImportedGlobals = ast => {
|
|
90
84
|
|
91
85
|
/**
|
92
86
|
* Get the count for imported func
|
93
|
-
*
|
94
87
|
* @param {object} ast Module's AST
|
95
88
|
* @returns {number} - count
|
96
89
|
*/
|
@@ -110,7 +103,6 @@ const getCountImportedFunc = ast => {
|
|
110
103
|
|
111
104
|
/**
|
112
105
|
* Get next type index
|
113
|
-
*
|
114
106
|
* @param {object} ast Module's AST
|
115
107
|
* @returns {t.Index} - index
|
116
108
|
*/
|
@@ -126,11 +118,9 @@ const getNextTypeIndex = ast => {
|
|
126
118
|
|
127
119
|
/**
|
128
120
|
* Get next func index
|
129
|
-
*
|
130
121
|
* The Func section metadata provide information for implemented funcs
|
131
122
|
* in order to have the correct index we shift the index by number of external
|
132
123
|
* functions.
|
133
|
-
*
|
134
124
|
* @param {object} ast Module's AST
|
135
125
|
* @param {number} countImportedFunc number of imported funcs
|
136
126
|
* @returns {t.Index} - index
|
@@ -163,9 +153,8 @@ const createDefaultInitForGlobal = globalType => {
|
|
163
153
|
return t.objectInstruction("const", globalType.valtype, [
|
164
154
|
t.floatLiteral(66, false, false, "66")
|
165
155
|
]);
|
166
|
-
} else {
|
167
|
-
throw new Error("unknown type: " + globalType.valtype);
|
168
156
|
}
|
157
|
+
throw new Error(`unknown type: ${globalType.valtype}`);
|
169
158
|
};
|
170
159
|
|
171
160
|
/**
|
@@ -177,7 +166,6 @@ const createDefaultInitForGlobal = globalType => {
|
|
177
166
|
* indices will be preserved.
|
178
167
|
*
|
179
168
|
* Note that globals will become mutable.
|
180
|
-
*
|
181
169
|
* @param {object} state transformation state
|
182
170
|
* @param {object} state.ast Module's ast
|
183
171
|
* @param {t.Instruction[]} state.additionalInitCode list of addition instructions for the init function
|
@@ -258,8 +246,8 @@ const rewriteImportedGlobals = state => bin => {
|
|
258
246
|
*/
|
259
247
|
const rewriteExportNames =
|
260
248
|
({ ast, moduleGraph, module, externalExports, runtime }) =>
|
261
|
-
bin =>
|
262
|
-
|
249
|
+
bin =>
|
250
|
+
editWithAST(ast, bin, {
|
263
251
|
/**
|
264
252
|
* @param {NodePath<ModuleExport>} path path
|
265
253
|
*/
|
@@ -279,7 +267,6 @@ const rewriteExportNames =
|
|
279
267
|
path.node.name = /** @type {string} */ (usedName);
|
280
268
|
}
|
281
269
|
});
|
282
|
-
};
|
283
270
|
|
284
271
|
/**
|
285
272
|
* Mangle import names and modules
|
@@ -290,14 +277,14 @@ const rewriteExportNames =
|
|
290
277
|
*/
|
291
278
|
const rewriteImports =
|
292
279
|
({ ast, usedDependencyMap }) =>
|
293
|
-
bin =>
|
294
|
-
|
280
|
+
bin =>
|
281
|
+
editWithAST(ast, bin, {
|
295
282
|
/**
|
296
283
|
* @param {NodePath<ModuleImport>} path path
|
297
284
|
*/
|
298
285
|
ModuleImport(path) {
|
299
286
|
const result = usedDependencyMap.get(
|
300
|
-
path.node.module
|
287
|
+
`${path.node.module}:${path.node.name}`
|
301
288
|
);
|
302
289
|
|
303
290
|
if (result !== undefined) {
|
@@ -306,13 +293,11 @@ const rewriteImports =
|
|
306
293
|
}
|
307
294
|
}
|
308
295
|
});
|
309
|
-
};
|
310
296
|
|
311
297
|
/**
|
312
298
|
* Add an init function.
|
313
299
|
*
|
314
300
|
* The init function fills the globals given input arguments.
|
315
|
-
*
|
316
301
|
* @param {object} state transformation state
|
317
302
|
* @param {object} state.ast Module's ast
|
318
303
|
* @param {t.Identifier} state.initFuncId identifier of the init function
|
@@ -348,7 +333,7 @@ const addInitFunction =
|
|
348
333
|
|
349
334
|
/** @type {Instruction[]} */
|
350
335
|
const funcBody = [];
|
351
|
-
importedGlobals.
|
336
|
+
for (const [index, _importedGlobal] of importedGlobals.entries()) {
|
352
337
|
const args = [t.indexLiteral(index)];
|
353
338
|
const body = [
|
354
339
|
t.instruction("get_local", args),
|
@@ -356,7 +341,7 @@ const addInitFunction =
|
|
356
341
|
];
|
357
342
|
|
358
343
|
funcBody.push(...body);
|
359
|
-
}
|
344
|
+
}
|
360
345
|
|
361
346
|
if (typeof startAtFuncOffset === "number") {
|
362
347
|
funcBody.push(
|
@@ -410,7 +395,7 @@ const getUsedDependencyMap = (moduleGraph, module, mangle) => {
|
|
410
395
|
const dep = usedDep.dependency;
|
411
396
|
const request = dep.request;
|
412
397
|
const exportName = dep.name;
|
413
|
-
map.set(request
|
398
|
+
map.set(`${request}:${exportName}`, usedDep);
|
414
399
|
}
|
415
400
|
return map;
|
416
401
|
};
|
@@ -201,7 +201,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
|
|
201
201
|
copyAllExports
|
202
202
|
? `${module.moduleArgument}.exports = wasmExports;`
|
203
203
|
: "for(var name in wasmExports) " +
|
204
|
-
|
204
|
+
"if(name) " +
|
205
205
|
`${module.exportsArgument}[name] = wasmExports[name];`,
|
206
206
|
"// exec imports from WebAssembly module (for esm order)",
|
207
207
|
importsCode,
|
@@ -62,5 +62,5 @@ const getUsedDependencies = (moduleGraph, module, mangle) => {
|
|
62
62
|
return array;
|
63
63
|
};
|
64
64
|
|
65
|
-
exports.getUsedDependencies = getUsedDependencies;
|
66
|
-
exports.MANGLED_MODULE = MANGLED_MODULE;
|
65
|
+
module.exports.getUsedDependencies = getUsedDependencies;
|
66
|
+
module.exports.MANGLED_MODULE = MANGLED_MODULE;
|
@@ -65,9 +65,8 @@ class JsonpChunkLoadingRuntimeModule extends RuntimeModule {
|
|
65
65
|
const options = chunk.getEntryOptions();
|
66
66
|
if (options && options.baseUri) {
|
67
67
|
return `${RuntimeGlobals.baseURI} = ${JSON.stringify(options.baseUri)};`;
|
68
|
-
} else {
|
69
|
-
return `${RuntimeGlobals.baseURI} = document.baseURI || self.location.href;`;
|
70
68
|
}
|
69
|
+
return `${RuntimeGlobals.baseURI} = document.baseURI || self.location.href;`;
|
71
70
|
}
|
72
71
|
|
73
72
|
/**
|
@@ -166,7 +165,7 @@ class JsonpChunkLoadingRuntimeModule extends RuntimeModule {
|
|
166
165
|
Template.indent([
|
167
166
|
"// setup Promise in chunk cache",
|
168
167
|
`var promise = new Promise(${runtimeTemplate.expressionFunction(
|
169
|
-
|
168
|
+
"installedChunkData = installedChunks[chunkId] = [resolve, reject]",
|
170
169
|
"resolve, reject"
|
171
170
|
)});`,
|
172
171
|
"promises.push(installedChunkData[2] = promise);",
|
@@ -48,7 +48,9 @@ class ImportScriptsChunkLoadingPlugin {
|
|
48
48
|
if (onceForChunkSet.has(chunk)) return;
|
49
49
|
onceForChunkSet.add(chunk);
|
50
50
|
if (!isEnabledForChunk(chunk)) return;
|
51
|
-
const withCreateScriptUrl =
|
51
|
+
const withCreateScriptUrl = Boolean(
|
52
|
+
compilation.outputOptions.trustedTypes
|
53
|
+
);
|
52
54
|
set.add(RuntimeGlobals.moduleFactoriesAddOnly);
|
53
55
|
set.add(RuntimeGlobals.hasOwnProperty);
|
54
56
|
if (withCreateScriptUrl) {
|
@@ -55,7 +55,7 @@ class ImportScriptsChunkLoadingRuntimeModule extends RuntimeModule {
|
|
55
55
|
false
|
56
56
|
);
|
57
57
|
return `${RuntimeGlobals.baseURI} = self.location + ${JSON.stringify(
|
58
|
-
rootOutputDir ?
|
58
|
+
rootOutputDir ? `/../${rootOutputDir}` : ""
|
59
59
|
)};`;
|
60
60
|
}
|
61
61
|
|
package/package.json
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"name": "webpack",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.95.0",
|
4
4
|
"author": "Tobias Koppers @sokra",
|
5
5
|
"description": "Packs ECMAScript/CommonJs/AMD modules for the browser. Allows you to split your codebase into multiple bundles, which can be loaded on demand. Supports loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.",
|
6
6
|
"license": "MIT",
|
7
7
|
"dependencies": {
|
8
|
-
"@types/eslint-scope": "^3.7.3",
|
9
8
|
"@types/estree": "^1.0.5",
|
10
9
|
"@webassemblyjs/ast": "^1.12.1",
|
11
10
|
"@webassemblyjs/wasm-edit": "^1.12.1",
|
@@ -14,7 +13,7 @@
|
|
14
13
|
"acorn-import-attributes": "^1.9.5",
|
15
14
|
"browserslist": "^4.21.10",
|
16
15
|
"chrome-trace-event": "^1.0.2",
|
17
|
-
"enhanced-resolve": "^5.17.
|
16
|
+
"enhanced-resolve": "^5.17.1",
|
18
17
|
"es-module-lexer": "^1.2.1",
|
19
18
|
"eslint-scope": "5.1.1",
|
20
19
|
"events": "^3.2.0",
|
@@ -39,29 +38,31 @@
|
|
39
38
|
"@babel/core": "^7.24.7",
|
40
39
|
"@babel/preset-react": "^7.24.7",
|
41
40
|
"@eslint/js": "^9.5.0",
|
41
|
+
"@stylistic/eslint-plugin": "^2.4.0",
|
42
|
+
"@types/eslint-scope": "^3.7.7",
|
42
43
|
"@types/glob-to-regexp": "^0.4.4",
|
43
44
|
"@types/jest": "^29.5.11",
|
44
45
|
"@types/mime-types": "^2.1.4",
|
45
|
-
"@types/node": "^
|
46
|
+
"@types/node": "^22.0.0",
|
46
47
|
"assemblyscript": "^0.27.22",
|
47
|
-
"babel-loader": "^
|
48
|
+
"babel-loader": "^9.1.3",
|
48
49
|
"benchmark": "^2.1.4",
|
49
50
|
"bundle-loader": "^0.5.6",
|
50
|
-
"coffee-loader": "^
|
51
|
+
"coffee-loader": "^5.0.0",
|
51
52
|
"coffeescript": "^2.5.1",
|
52
53
|
"core-js": "^3.6.5",
|
53
|
-
"coveralls": "^3.1.0",
|
54
54
|
"cspell": "^8.8.4",
|
55
|
-
"css-loader": "^
|
56
|
-
"date-fns": "^
|
55
|
+
"css-loader": "^7.1.2",
|
56
|
+
"date-fns": "^4.0.0",
|
57
57
|
"es5-ext": "^0.10.53",
|
58
58
|
"es6-promise-polyfill": "^1.2.0",
|
59
59
|
"eslint": "^9.5.0",
|
60
60
|
"eslint-config-prettier": "^9.1.0",
|
61
61
|
"eslint-plugin-jest": "^28.6.0",
|
62
|
-
"eslint-plugin-jsdoc": "^48.
|
62
|
+
"eslint-plugin-jsdoc": "^48.10.1",
|
63
63
|
"eslint-plugin-n": "^17.8.1",
|
64
64
|
"eslint-plugin-prettier": "^5.1.3",
|
65
|
+
"eslint-plugin-unicorn": "^55.0.0",
|
65
66
|
"file-loader": "^6.0.0",
|
66
67
|
"fork-ts-checker-webpack-plugin": "^9.0.2",
|
67
68
|
"globals": "^15.4.0",
|
@@ -78,12 +79,12 @@
|
|
78
79
|
"json-loader": "^0.5.7",
|
79
80
|
"json5": "^2.1.3",
|
80
81
|
"less": "^4.0.0",
|
81
|
-
"less-loader": "^
|
82
|
+
"less-loader": "^12.2.0",
|
82
83
|
"lint-staged": "^15.2.5",
|
83
84
|
"lodash": "^4.17.19",
|
84
85
|
"lodash-es": "^4.17.15",
|
85
86
|
"memfs": "^4.9.2",
|
86
|
-
"mini-css-extract-plugin": "^
|
87
|
+
"mini-css-extract-plugin": "^2.9.0",
|
87
88
|
"mini-svg-data-uri": "^1.2.3",
|
88
89
|
"nyc": "^17.0.0",
|
89
90
|
"open-cli": "^8.0.0",
|
@@ -99,12 +100,12 @@
|
|
99
100
|
"script-loader": "^0.7.2",
|
100
101
|
"simple-git": "^3.25.0",
|
101
102
|
"strip-ansi": "^6.0.0",
|
102
|
-
"style-loader": "^
|
103
|
+
"style-loader": "^4.0.0",
|
103
104
|
"terser": "^5.31.1",
|
104
105
|
"toml": "^3.0.0",
|
105
|
-
"tooling": "webpack/tooling#v1.23.
|
106
|
+
"tooling": "webpack/tooling#v1.23.4",
|
106
107
|
"ts-loader": "^9.5.1",
|
107
|
-
"typescript": "^5.
|
108
|
+
"typescript": "^5.6.2",
|
108
109
|
"url-loader": "^4.1.0",
|
109
110
|
"wast-loader": "^1.12.1",
|
110
111
|
"webassembly-feature": "1.3.0",
|
@@ -163,7 +164,7 @@
|
|
163
164
|
"fix": "yarn code-lint --fix && yarn special-lint-fix && yarn pretty-lint-fix",
|
164
165
|
"prepare": "husky",
|
165
166
|
"pretty-lint-base": "node node_modules/prettier/bin/prettier.cjs --cache --ignore-unknown .",
|
166
|
-
"pretty-lint-fix": "yarn pretty-lint-base --
|
167
|
+
"pretty-lint-fix": "yarn pretty-lint-base --log-level warn --write",
|
167
168
|
"pretty-lint": "yarn pretty-lint-base --check",
|
168
169
|
"yarn-lint": "yarn-deduplicate --fail --list -s highest yarn.lock",
|
169
170
|
"yarn-lint-fix": "yarn-deduplicate -s highest yarn.lock",
|
@@ -185,7 +186,7 @@
|
|
185
186
|
"eslint --cache --fix"
|
186
187
|
],
|
187
188
|
"*": [
|
188
|
-
"prettier --cache --write --ignore-unknown",
|
189
|
+
"node node_modules/prettier/bin/prettier.cjs --cache --write --ignore-unknown",
|
189
190
|
"cspell --cache --no-must-find-files"
|
190
191
|
]
|
191
192
|
}
|