webpack 5.111.1 → 5.112.1
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 +1 -1
- package/bin/webpack.js +13 -7
- package/lib/Chunk.js +3 -966
- package/lib/Compilation.js +373 -163
- package/lib/Compiler.js +31 -44
- package/lib/Dependency.js +3 -551
- package/lib/DependencyTemplate.js +3 -70
- package/lib/EntryPlugin.js +3 -68
- package/lib/Entrypoint.js +3 -121
- package/lib/ExternalsPlugin.js +3 -92
- package/lib/FileSystemInfo.js +3 -4629
- package/lib/InitFragment.js +3 -204
- package/lib/LibraryTemplatePlugin.js +3 -46
- package/lib/ModuleFilenameHelpers.js +3 -400
- package/lib/ModuleNotFoundError.js +2 -2
- package/lib/MultiCompiler.js +37 -8
- package/lib/NormalModule.js +3 -2242
- package/lib/NullFactory.js +3 -22
- package/lib/ProgressPlugin.js +3 -908
- package/lib/RawModule.js +3 -197
- package/lib/RequestShortener.js +3 -37
- package/lib/SingleEntryPlugin.js +1 -1
- package/lib/WebpackError.js +2 -2
- package/lib/asset/AssetBytesGenerator.js +21 -13
- package/lib/asset/AssetBytesParser.js +12 -10
- package/lib/asset/AssetGenerator.js +71 -69
- package/lib/asset/AssetModule.js +13 -2
- package/lib/asset/AssetModulesPlugin.js +10 -12
- package/lib/asset/AssetParser.js +10 -10
- package/lib/asset/AssetSourceGenerator.js +23 -15
- package/lib/asset/AssetSourceParser.js +12 -10
- package/lib/asset/RawDataUrlModule.js +17 -10
- package/lib/asset/WebManifestGenerator.js +17 -12
- package/lib/asset/WebManifestParser.js +8 -8
- package/lib/async-modules/AsyncModuleHelpers.js +12 -5
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +9 -3
- package/lib/async-modules/isGeneratorLowered.js +3 -3
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +2 -19
- package/lib/{Cache.js → cache/Cache.js} +1 -1
- package/lib/{CacheFacade.js → cache/CacheFacade.js} +6 -6
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +2 -2
- package/lib/cache/MemoryWithGcCachePlugin.js +2 -2
- package/lib/cache/PackFileCacheStrategy.js +13 -19
- package/lib/cache/ResolverCachePlugin.js +65 -11
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/{OptionsApply.js → config/OptionsApply.js} +3 -3
- package/lib/{PlatformPlugin.js → config/PlatformPlugin.js} +2 -2
- package/lib/{WebpackOptionsApply.js → config/WebpackOptionsApply.js} +209 -212
- package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
- package/lib/config/browserslistTargetHandler.js +1 -1
- package/lib/{cli.js → config/cli.js} +14 -164
- package/lib/config/defaults.js +166 -59
- package/lib/config/getClaimedAssetTypes.js +22 -14
- package/lib/config/normalization.js +18 -7
- package/lib/config/target.js +11 -1
- package/lib/container/ContainerEntryDependency.js +1 -1
- package/lib/container/ContainerEntryModule.js +13 -11
- package/lib/container/ContainerEntryModuleFactory.js +2 -2
- package/lib/container/ContainerExposedDependency.js +1 -1
- package/lib/container/ContainerPlugin.js +178 -5
- package/lib/container/ContainerReferencePlugin.js +75 -14
- package/lib/container/FallbackDependency.js +1 -1
- package/lib/container/FallbackItemDependency.js +1 -1
- package/lib/container/FallbackModule.js +12 -10
- package/lib/container/FallbackModuleFactory.js +2 -2
- package/lib/container/HoistContainerReferencesPlugin.js +10 -11
- package/lib/container/ModuleFederationPlugin.js +306 -7
- package/lib/container/RemoteModule.js +14 -10
- package/lib/container/RemoteRuntimeModule.js +5 -5
- package/lib/container/RemoteToExternalDependency.js +1 -1
- package/lib/container/moduleFederationHooks.js +1 -1
- package/lib/context/ContextModule.js +37 -26
- package/lib/context/ContextModuleFactory.js +14 -11
- package/lib/context/ContextReplacementPlugin.js +6 -12
- package/lib/css/CssGenerator.js +78 -68
- package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
- package/lib/css/CssLoadingRuntimeModule.js +77 -44
- package/lib/css/CssModule.js +37 -29
- package/lib/css/CssModulesPlugin.js +129 -45
- package/lib/css/CssParser.js +714 -322
- package/lib/css/CssServerStylesRuntimeModule.js +3 -3
- package/lib/{util → css}/conventions.js +1 -1
- package/lib/css/cssMinify.js +110 -37
- package/lib/css/data.js +6990 -5125
- package/lib/css/syntax-parser.js +20734 -0
- package/lib/css/syntax-printer.js +6092 -0
- package/lib/css/syntax.js +37 -18686
- package/lib/debug/ProfilingPlugin.js +106 -51
- package/lib/{DefinePlugin.js → define/DefinePlugin.js} +416 -55
- package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +19 -15
- package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +6 -4
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/ConstDependency.js +3 -120
- package/lib/dependencies/ContextElementDependency.js +5 -172
- package/lib/dependencies/NullDependency.js +3 -37
- package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
- package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -11
- package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
- package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
- package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
- package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
- package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +14 -11
- package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
- package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
- package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
- package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
- package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
- package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
- package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
- package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
- package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
- package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +166 -36
- package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
- package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +154 -92
- package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
- package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +36 -33
- package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +17 -16
- package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +48 -39
- package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
- package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
- package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +17 -16
- package/lib/dependencies/{ModuleDecoratorDependency.js → commonjs/ModuleDecoratorDependency.js} +16 -15
- package/lib/dependencies/{RequireEnsureDependenciesBlock.js → commonjs/RequireEnsureDependenciesBlock.js} +8 -7
- package/lib/dependencies/{RequireEnsureDependenciesBlockParserPlugin.js → commonjs/RequireEnsureDependenciesBlockParserPlugin.js} +9 -6
- package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
- package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
- package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
- package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
- package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
- package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
- package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
- package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
- package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
- package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
- package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
- package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
- package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +31 -9
- package/lib/dependencies/{ContextDependencyTemplateAsId.js → context/ContextDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ContextDependencyTemplateAsRequireCall.js → context/ContextDependencyTemplateAsRequireCall.js} +3 -3
- package/lib/dependencies/context/ContextElementDependency.js +198 -0
- package/lib/dependencies/{ImportMetaContextDependency.js → context/ImportMetaContextDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaContextDependencyParserPlugin.js → context/ImportMetaContextDependencyParserPlugin.js} +10 -11
- package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
- package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +7 -10
- package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +17 -19
- package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
- package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
- package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
- package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +21 -17
- package/lib/dependencies/core/ConstDependency.js +131 -0
- package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
- package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
- package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
- package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
- package/lib/dependencies/core/NullDependency.js +44 -0
- package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
- package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
- package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +375 -99
- package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +24 -19
- package/lib/dependencies/{CssIcssSymbolDependency.js → css/CssIcssSymbolDependency.js} +13 -12
- package/lib/dependencies/{CssImportDependency.js → css/CssImportDependency.js} +15 -11
- package/lib/dependencies/{CssUrlDependency.js → css/CssUrlDependency.js} +25 -22
- package/lib/dependencies/{CreateRequireParserPlugin.js → esm/CreateRequireParserPlugin.js} +9 -9
- package/lib/dependencies/{HarmonyAcceptDependency.js → esm/ESMAcceptDependency.js} +41 -38
- package/lib/dependencies/esm/ESMAcceptImportDependency.js +39 -0
- package/lib/dependencies/{HarmonyCompatibilityDependency.js → esm/ESMCompatibilityDependency.js} +29 -21
- package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +20 -20
- package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
- package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +60 -89
- package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +80 -45
- package/lib/dependencies/{HarmonyExportHeaderDependency.js → esm/ESMExportHeaderDependency.js} +17 -15
- package/lib/dependencies/esm/ESMExportImportedSideEffectDependency.js +37 -0
- package/lib/dependencies/{HarmonyExportImportedSpecifierDependency.js → esm/ESMExportImportedSpecifierDependency.js} +146 -133
- package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
- package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +78 -37
- package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -12
- package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
- package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +86 -68
- package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +104 -100
- package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +36 -51
- package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
- package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +98 -60
- package/lib/dependencies/esm/ESMLiveExportDependency.js +311 -0
- package/lib/dependencies/esm/ESMLiveExportParserPlugin.js +862 -0
- package/lib/dependencies/esm/ESMModulesPlugin.js +205 -0
- package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
- package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -18
- package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +5 -7
- package/lib/{util → dependencies/helpers}/chainedImports.js +5 -5
- package/lib/dependencies/{processExportInfo.js → helpers/processExportInfo.js} +4 -4
- package/lib/{util → dependencies/helpers}/traverseDestructuringAssignmentProperties.js +1 -1
- package/lib/dependencies/{ImportMetaHotAcceptDependency.js → hmr/ImportMetaHotAcceptDependency.js} +8 -7
- package/lib/dependencies/{ImportMetaHotDeclineDependency.js → hmr/ImportMetaHotDeclineDependency.js} +8 -7
- package/lib/dependencies/{ModuleHotAcceptDependency.js → hmr/ModuleHotAcceptDependency.js} +8 -7
- package/lib/dependencies/{ModuleHotDeclineDependency.js → hmr/ModuleHotDeclineDependency.js} +8 -7
- package/lib/dependencies/{HtmlEntryDependency.js → html/HtmlEntryDependency.js} +52 -151
- package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -15
- package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -23
- package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -18
- package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
- package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
- package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
- package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
- package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +22 -25
- package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
- package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
- package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
- package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +122 -103
- package/lib/dependencies/{SystemPlugin.js → system/SystemPlugin.js} +11 -38
- package/lib/dependencies/{SystemRuntimeModule.js → system/SystemRuntimeModule.js} +3 -3
- package/lib/dependencies/{ImportMetaResolveDependency.js → url/ImportMetaResolveDependency.js} +9 -8
- package/lib/dependencies/{URLContextDependency.js → url/URLContextDependency.js} +11 -10
- package/lib/dependencies/{URLDependency.js → url/URLDependency.js} +28 -20
- package/lib/{url → dependencies/url}/URLParserPlugin.js +17 -19
- package/lib/dependencies/{URLPlugin.js → url/URLPlugin.js} +6 -7
- package/lib/dependencies/{WebAssemblyExportImportedDependency.js → wasm/WebAssemblyExportImportedDependency.js} +18 -11
- package/lib/dependencies/{WebAssemblyImportDependency.js → wasm/WebAssemblyImportDependency.js} +19 -12
- package/lib/dependencies/{CreateScriptUrlDependency.js → worker/CreateScriptUrlDependency.js} +12 -11
- package/lib/dependencies/{WorkerAndWorkletPlugin.js → worker/WorkerAndWorkletPlugin.js} +82 -53
- package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +22 -15
- package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +19 -18
- package/lib/{EvalDevToolModulePlugin.js → devtool/EvalDevToolModulePlugin.js} +20 -6
- package/lib/{EvalSourceMapDevToolPlugin.js → devtool/EvalSourceMapDevToolPlugin.js} +32 -24
- package/lib/devtool/ModuleFilenameHelpers.js +413 -0
- package/lib/{SourceMapDevToolModuleOptionsPlugin.js → devtool/SourceMapDevToolModuleOptionsPlugin.js} +10 -3
- package/lib/{SourceMapDevToolPlugin.js → devtool/SourceMapDevToolPlugin.js} +155 -27
- package/lib/{util → devtool}/generateDebugId.js +1 -1
- package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
- package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
- package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
- package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
- package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
- package/lib/dll/DelegatedModule.js +23 -21
- package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
- package/lib/dll/DelegatedPlugin.js +1 -1
- package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
- package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
- package/lib/dll/DllEntryPlugin.js +3 -3
- package/lib/dll/DllModule.js +14 -10
- package/lib/dll/DllModuleFactory.js +3 -3
- package/lib/dll/DllPlugin.js +18 -6
- package/lib/dll/DllReferencePlugin.js +103 -30
- package/lib/dll/LibManifestPlugin.js +9 -7
- package/lib/electron/ElectronTargetPlugin.js +2 -2
- package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
- package/lib/{dependencies → entry}/EntryDependency.js +11 -2
- package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
- package/lib/entry/EntryPlugin.js +75 -0
- package/lib/errors/AbstractMethodError.js +1 -1
- package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
- package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
- package/lib/errors/DeprecatedOptionWarning.js +30 -0
- package/lib/errors/DllManifestError.js +26 -0
- package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
- package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
- package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/{ErrorHelpers.js → errors/ErrorHelpers.js} +9 -6
- package/lib/errors/ExternalStarReexportError.js +2 -2
- package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
- package/lib/errors/HookWebpackError.js +6 -5
- package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/errors/JSONParseError.js +4 -4
- package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
- package/lib/errors/ModuleBuildError.js +1 -1
- package/lib/errors/ModuleDependencyError.js +2 -2
- package/lib/errors/ModuleDependencyWarning.js +2 -2
- package/lib/errors/ModuleError.js +1 -1
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +3 -3
- package/lib/errors/ModuleParseError.js +1 -1
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/ModuleWarning.js +1 -1
- package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
- package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
- package/lib/errors/NodeStuffInWebError.js +7 -2
- package/lib/errors/PathVariableError.js +31 -0
- package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
- package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
- package/lib/errors/RuntimeModuleGenerationError.js +51 -0
- package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
- package/lib/errors/SystemImportDeprecationWarning.js +43 -0
- package/lib/errors/UnmergeableEntryExportsError.js +34 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
- package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
- package/lib/errors/WebpackError.js +13 -3
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
- package/lib/esm/ModuleChunkFormatPlugin.js +55 -20
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
- package/lib/{ExternalModule.js → externals/ExternalModule.js} +90 -63
- package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +42 -41
- package/lib/externals/ExternalsPlugin.js +99 -0
- package/lib/fs/FileSystemInfo.js +4642 -0
- package/lib/{util → fs}/fs.js +22 -9
- package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
- package/lib/graph/Chunk.js +985 -0
- package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +192 -80
- package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
- package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
- package/lib/graph/Dependency.js +634 -0
- package/lib/graph/Entrypoint.js +136 -0
- package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +131 -83
- package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
- package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +44 -33
- package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
- package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +169 -76
- package/lib/{util → graph}/findGraphRoots.js +15 -9
- package/lib/graph/isDependencyKind.js +23 -0
- package/lib/hmr/HotModuleReplacement.runtime.js +12 -11
- package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +51 -57
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +25 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
- package/lib/hmr/LazyCompilationPlugin.js +32 -28
- package/lib/html/HtmlGenerator.js +132 -60
- package/lib/html/HtmlModule.js +16 -2
- package/lib/html/HtmlModulesPlugin.js +184 -87
- package/lib/html/HtmlParser.js +511 -160
- package/lib/html/builtinEmbeddedRenderer.js +70 -25
- package/lib/html/data.js +44 -22
- package/lib/html/htmlMinify.js +114 -41
- package/lib/html/syntax-parser.js +15795 -0
- package/lib/html/syntax-printer.js +1033 -0
- package/lib/html/syntax.js +37 -13952
- package/lib/html/xmlMinify.js +70 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +32 -5
- package/lib/ids/IdHelpers.js +4 -4
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
- package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
- package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
- package/lib/ids/SyncModuleIdsPlugin.js +3 -3
- package/lib/{util → ids}/numberHash.js +1 -1
- package/lib/index.js +312 -105
- package/lib/{APIPlugin.js → javascript/APIPlugin.js} +31 -37
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
- package/lib/javascript/BasicEvaluatedExpression.js +9 -9
- package/lib/javascript/ChunkHelpers.js +64 -4
- package/lib/javascript/CommonJsChunkFormatPlugin.js +5 -13
- package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +7 -7
- package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +75 -8
- package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
- package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
- package/lib/javascript/JavascriptGenerator.js +32 -27
- package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +8 -20
- package/lib/javascript/JavascriptModule.js +14 -3
- package/lib/javascript/JavascriptModulesPlugin.js +441 -214
- package/lib/javascript/JavascriptParser.js +318 -144
- package/lib/javascript/JavascriptParserHelpers.js +1 -1
- package/lib/javascript/MergedEntryExports.js +196 -0
- package/lib/javascript/ScopeAnalyzer.js +3924 -13
- package/lib/javascript/StartupHelpers.js +6 -6
- package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +13 -19
- package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
- package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
- package/lib/javascript/data.js +533 -122
- package/lib/javascript/jsMinify.js +272 -0
- package/lib/javascript/regexp.js +67 -32
- package/lib/javascript/syntax-parser.js +19169 -0
- package/lib/javascript/syntax-printer-data.js +1099 -0
- package/lib/javascript/syntax-printer.js +53878 -0
- package/lib/javascript/syntax.js +20 -11274
- package/lib/json/JsonData.js +1 -1
- package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
- package/lib/json/JsonGenerator.js +24 -16
- package/lib/json/JsonModule.js +13 -2
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +11 -10
- package/lib/json/jsonMinify.js +69 -0
- package/lib/library/AbstractLibraryPlugin.js +28 -15
- package/lib/library/AmdLibraryPlugin.js +4 -4
- package/lib/library/AssignLibraryPlugin.js +28 -12
- package/lib/library/EnableLibraryPlugin.js +1 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
- package/lib/library/JsonpLibraryPlugin.js +2 -2
- package/lib/library/LibraryTemplatePlugin.js +53 -0
- package/lib/library/ModuleLibraryPlugin.js +557 -187
- package/lib/library/SystemLibraryPlugin.js +6 -8
- package/lib/library/UmdLibraryPlugin.js +3 -4
- package/lib/{dependencies → loaders}/LoaderDependency.js +3 -3
- package/lib/{dependencies → loaders}/LoaderImportDependency.js +9 -3
- package/lib/{LoaderOptionsPlugin.js → loaders/LoaderOptionsPlugin.js} +30 -12
- package/lib/{dependencies → loaders}/LoaderPlugin.js +2 -2
- package/lib/loaders/LoaderRunner.js +94 -46
- package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
- package/lib/loaders/loadLoader.js +16 -10
- package/lib/logging/Logger.js +7 -9
- package/lib/logging/ProgressPlugin.js +957 -0
- package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
- package/lib/{Generator.js → module/Generator.js} +33 -23
- package/lib/{Module.js → module/Module.js} +121 -53
- package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
- package/lib/module/NormalModule.js +2350 -0
- package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +64 -71
- package/lib/module/NullFactory.js +29 -0
- package/lib/{Parser.js → module/Parser.js} +12 -5
- package/lib/module/RawModule.js +208 -0
- package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
- package/lib/{util → module}/extractSourceMap.js +71 -20
- package/lib/{util → module}/findCaseMismatch.js +4 -4
- package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
- package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
- package/lib/{dependencies → node}/ExternalModuleInitFragment.js +7 -6
- package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
- package/lib/node/NodeEnvironmentPlugin.js +11 -1
- package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
- package/lib/node/NodeTargetPlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +58 -6
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +13 -19
- package/lib/node/ReadFileCompileWasmPlugin.js +9 -11
- package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/nodeConsole.js +6 -7
- package/lib/optimize/AggressiveMergingPlugin.js +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
- package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +14 -14
- package/lib/optimize/ConcatenatedModule.js +231 -220
- package/lib/{ConcatenationScope.js → optimize/ConcatenationScope.js} +39 -6
- package/lib/optimize/ConstExportsPlugin.js +7 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/{FlagAllModulesAsUsedPlugin.js → optimize/FlagAllModulesAsUsedPlugin.js} +3 -3
- package/lib/{FlagDependencyExportsPlugin.js → optimize/FlagDependencyExportsPlugin.js} +23 -28
- package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +44 -19
- package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
- package/lib/optimize/InlineExports.js +12 -7
- package/lib/optimize/InnerGraph.js +5 -13
- package/lib/optimize/InnerGraphPlugin.js +10 -10
- package/lib/optimize/LazyBarrels.js +620 -0
- package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
- package/lib/optimize/LimitChunkCountPlugin.js +16 -7
- package/lib/optimize/MangleExportsPlugin.js +5 -5
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
- package/lib/optimize/MinChunkSizePlugin.js +9 -6
- package/lib/optimize/ModuleConcatenationPlugin.js +28 -22
- package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
- package/lib/optimize/RealContentHashPlugin.js +18 -13
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/SideEffectsFlagPlugin.js +24 -38
- package/lib/optimize/SplitChunksPlugin.js +719 -174
- package/lib/{util → optimize}/TupleQueue.js +9 -9
- package/lib/optimize/chunkSetIntersections.js +437 -0
- package/lib/{util → optimize}/deterministicGrouping.js +17 -17
- package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
- package/lib/{CleanPlugin.js → output/CleanPlugin.js} +69 -25
- package/lib/{CopyPlugin.js → output/CopyPlugin.js} +144 -70
- package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
- package/lib/output/SSRManifestPlugin.js +349 -0
- package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
- package/lib/performance/BroadContextsPlugin.js +4 -4
- package/lib/performance/CacheEffectivenessPlugin.js +2 -3
- package/lib/performance/ConflictingResourceHintsPlugin.js +1 -1
- package/lib/performance/DuplicateModulesPlugin.js +3 -4
- package/lib/performance/DuplicatePackagesPlugin.js +3 -3
- package/lib/performance/DynamicExportsPlugin.js +2 -2
- package/lib/performance/EvalUsagePlugin.js +4 -6
- package/lib/performance/HotspotsPlugin.js +39 -14
- package/lib/performance/LargeModulesPlugin.js +2 -3
- package/lib/performance/LegacyJavascriptPlugin.js +1 -2
- package/lib/performance/MissingSideEffectsPlugin.js +2 -3
- package/lib/performance/MissingSourceMapsPlugin.js +5 -6
- package/lib/performance/PureAnnotationsPlugin.js +19 -13
- package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
- package/lib/performance/SizeLimitsPlugin.js +11 -12
- package/lib/performance/TopLevelThisPlugin.js +22 -13
- package/lib/performance/UnsplitVendorsPlugin.js +1 -2
- package/lib/performance/UnusedAliasesPlugin.js +6 -7
- package/lib/performance/UnusedAssetsPlugin.js +5 -5
- package/lib/performance/UnusedDefinesPlugin.js +2 -2
- package/lib/performance/UnusedExternalsPlugin.js +3 -4
- package/lib/performance/UnusedFederationPlugin.js +2 -4
- package/lib/performance/UnusedModulesPlugin.js +5 -4
- package/lib/performance/getModuleSize.js +1 -1
- package/lib/performance/hasOnlyUnusedExports.js +4 -4
- package/lib/performance/isOnlyReexported.js +7 -6
- package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -1
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +4 -4
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -4
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -4
- package/lib/{dependencies → prefetch}/PrefetchDependency.js +1 -1
- package/lib/{PrefetchPlugin.js → prefetch/PrefetchPlugin.js} +2 -2
- package/lib/prefetch/ResourceHintPlugin.js +66 -45
- package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +3 -3
- package/lib/prefetch/parseResourceHintOptions.js +4 -3
- package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
- package/lib/{dependencies → provide}/ProvidedDependency.js +50 -17
- package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
- package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
- package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
- package/lib/resolve/getResolveOptionsKey.js +59 -0
- package/lib/rules/BasicEffectRulePlugin.js +1 -1
- package/lib/rules/RuleSetCompiler.js +42 -51
- package/lib/rules/UseEffectRulePlugin.js +1 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
- package/lib/runtime/AsyncModuleRuntimeModule.js +14 -5
- package/lib/runtime/AutoPublicPathRuntimeModule.js +5 -5
- package/lib/runtime/BaseUriRuntimeModule.js +3 -3
- package/lib/runtime/ChunkNameRuntimeModule.js +2 -2
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -2
- package/lib/runtime/CompatRuntimeModule.js +4 -4
- package/lib/runtime/ConcatenationWrapRuntimeModule.js +2 -2
- package/lib/runtime/ConstructRequireRuntimeModule.js +2 -2
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/CreateScriptRuntimeModule.js +2 -2
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +2 -2
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -6
- package/lib/runtime/EnsureChunkRuntimeModule.js +4 -4
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +7 -11
- package/lib/runtime/GetFullHashRuntimeModule.js +2 -2
- package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -4
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +3 -3
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +3 -3
- package/lib/runtime/GlobalRuntimeModule.js +3 -3
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +3 -3
- package/lib/runtime/HelperRuntimeModule.js +16 -1
- package/lib/runtime/LoadScriptRuntimeModule.js +3 -3
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +80 -17
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/NonceRuntimeModule.js +2 -2
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
- package/lib/runtime/PublicPathRuntimeModule.js +2 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +2 -2
- package/lib/{RuntimeGlobals.js → runtime/RuntimeGlobals.js} +24 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
- package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
- package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +50 -50
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
- package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
- package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
- package/lib/runtime/SystemContextRuntimeModule.js +2 -2
- package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
- package/lib/runtime/WorkerRuntimeModule.js +1 -1
- package/lib/runtime/baseUri.js +1 -1
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +68 -13
- package/lib/schemes/VirtualUrlPlugin.js +52 -16
- package/lib/serialization/AggregateErrorSerializer.js +4 -4
- package/lib/serialization/BinaryMiddleware.js +4 -1
- package/lib/serialization/ErrorObjectSerializer.js +2 -5
- package/lib/serialization/FileMiddleware.js +3 -3
- package/lib/serialization/ObjectMiddleware.js +62 -29
- package/lib/serialization/PlainObjectSerializer.js +3 -7
- package/lib/serialization/Serializer.js +21 -11
- package/lib/serialization/SerializerMiddleware.js +10 -8
- package/lib/serialization/SingleItemMiddleware.js +4 -2
- package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
- package/lib/sharing/ConsumeSharedModule.js +18 -14
- package/lib/sharing/ConsumeSharedPlugin.js +148 -42
- package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
- package/lib/sharing/ProvideForSharedDependency.js +9 -1
- package/lib/sharing/ProvideSharedDependency.js +1 -1
- package/lib/sharing/ProvideSharedModule.js +11 -9
- package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
- package/lib/sharing/ProvideSharedPlugin.js +111 -20
- package/lib/sharing/SharePlugin.js +102 -9
- package/lib/sharing/ShareRuntimeModule.js +6 -6
- package/lib/sharing/resolveMatchedConfigs.js +1 -1
- package/lib/{util → sharing}/semver.js +14 -16
- package/lib/sharing/utils.js +59 -2
- package/lib/stats/DefaultStatsFactoryPlugin.js +57 -54
- package/lib/stats/DefaultStatsPresetPlugin.js +3 -7
- package/lib/stats/DefaultStatsPrinterPlugin.js +15 -14
- package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
- package/lib/{Stats.js → stats/Stats.js} +4 -4
- package/lib/stats/StatsFactory.js +208 -37
- package/lib/stats/StatsPrinter.js +126 -13
- package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
- package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
- package/lib/template/DependencyTemplate.js +77 -0
- package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
- package/lib/template/InitFragment.js +223 -0
- package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
- package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
- package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
- package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +158 -95
- package/lib/{Template.js → template/Template.js} +14 -12
- package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +19 -23
- package/lib/typescript/TypeScriptPlugin.js +3 -3
- package/lib/util/RequestShortener.js +44 -0
- package/lib/util/SortableSet.js +87 -22
- package/lib/util/SourceProcessor.js +439 -51
- package/lib/util/TupleSet.js +27 -27
- package/lib/util/WeakTupleMap.js +20 -16
- package/lib/util/buildDiagnostics.js +2 -2
- package/lib/util/cleverMerge.js +61 -33
- package/lib/util/comparators.js +19 -15
- package/lib/util/concatenate.js +28 -147
- package/lib/util/createMappings.js +111 -0
- package/lib/util/dataURL.js +96 -15
- package/lib/util/deprecation.js +5 -4
- package/lib/util/extractComments.js +118 -0
- package/lib/util/formatLocation.js +1 -1
- package/lib/util/globUtils.js +198 -20
- package/lib/util/haltVisitors.js +51 -0
- package/lib/util/handlerKeys.js +2 -2
- package/lib/util/identifier.js +117 -1
- package/lib/util/implicitTypeLoaderFallback.js +6 -4
- package/lib/util/internalSerializables.js +296 -102
- package/lib/util/magicComment.js +12 -7
- package/lib/util/makeSerializable.js +28 -7
- package/lib/util/memoize.js +1 -1
- package/lib/util/parseJson.js +2 -2
- package/lib/util/preloadModuleType.js +5 -2
- package/lib/util/registerExternalSerializer.js +2 -2
- package/lib/util/removeBOM.js +1 -1
- package/lib/util/runtime.js +1 -1
- package/lib/util/serialization.js +35 -28
- package/lib/util/source.js +2 -2
- package/lib/util/terminalColors.js +161 -0
- package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmModule.js +19 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +17 -9
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +24 -15
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +14 -12
- package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
- package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +11 -13
- package/lib/wasm/wasmModuleFilename.js +2 -2
- package/lib/wasm-sync/SyncWasmModule.js +18 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +8 -8
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +22 -16
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +28 -21
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
- package/lib/wasm-sync/WebAssemblyParser.js +15 -17
- package/lib/wasm-sync/WebAssemblyUtils.js +6 -5
- package/lib/{MultiWatching.js → watch/MultiWatching.js} +3 -3
- package/lib/{WatchIgnorePlugin.js → watch/WatchIgnorePlugin.js} +43 -9
- package/lib/{Watching.js → watch/Watching.js} +8 -8
- package/lib/web/FetchCompileAsyncWasmPlugin.js +12 -18
- package/lib/web/FetchCompileWasmPlugin.js +8 -10
- package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
- package/lib/web/JsonpTemplatePlugin.js +1 -1
- package/lib/webpack.js +27 -17
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
- package/package.json +57 -36
- package/schemas/WebpackOptions.check.js +4 -3
- package/schemas/WebpackOptions.d.json.ts +2 -0
- package/schemas/WebpackOptions.json +295 -75
- package/schemas/plugins/BannerPlugin.check.js +4 -3
- package/schemas/plugins/BannerPlugin.json +29 -2
- package/schemas/plugins/HtmlGeneratorOptions.check.js +4 -3
- package/schemas/plugins/HtmlParserOptions.check.js +4 -3
- package/schemas/plugins/IgnorePlugin.check.js +4 -3
- package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.js +4 -3
- package/schemas/plugins/ManifestPlugin.check.js +4 -3
- package/schemas/plugins/ManifestPlugin.json +3 -3
- package/schemas/plugins/ProgressPlugin.check.js +4 -3
- package/schemas/plugins/ProgressPlugin.json +2 -7
- package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
- package/schemas/plugins/SSRManifestPlugin.json +20 -0
- package/schemas/plugins/SourceMapDevToolPlugin.check.js +4 -3
- package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
- package/schemas/plugins/WatchIgnorePlugin.check.js +4 -3
- package/schemas/plugins/WatchIgnorePlugin.json +12 -3
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +4 -3
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +4 -3
- package/schemas/plugins/asset/AssetParserOptions.check.js +4 -3
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +4 -3
- package/schemas/plugins/container/ContainerPlugin.check.js +4 -3
- package/schemas/plugins/container/ContainerPlugin.json +8 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +4 -3
- package/schemas/plugins/container/ExternalsType.check.js +4 -3
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +4 -3
- package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +4 -3
- package/schemas/plugins/css/CssGeneratorOptions.check.js +4 -3
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +4 -3
- package/schemas/plugins/css/CssModuleParserOptions.check.js +4 -3
- package/schemas/plugins/css/CssParserOptions.check.js +4 -3
- package/schemas/plugins/debug/ProfilingPlugin.check.js +4 -3
- package/schemas/plugins/define/DotenvPluginOptions.check.js +7 -0
- package/schemas/plugins/define/DotenvPluginOptions.json +3 -0
- package/schemas/plugins/dll/DllPlugin.check.js +4 -3
- package/schemas/plugins/dll/DllReferencePlugin.check.js +4 -3
- package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +4 -3
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +4 -3
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +4 -3
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +4 -3
- package/schemas/plugins/json/JsonModulesPluginParser.check.js +4 -3
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +4 -3
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +4 -3
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +4 -3
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +4 -3
- package/schemas/plugins/output/CleanOptions.check.js +7 -0
- package/schemas/plugins/output/CleanOptions.json +3 -0
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +4 -3
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +4 -3
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +4 -3
- package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +4 -3
- package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/SharePlugin.check.js +4 -3
- package/schemas/plugins/sharing/SharePlugin.json +32 -0
- package/types.d.ts +20780 -14174
- package/lib/LazyBarrel.js +0 -388
- package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
- package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
- package/lib/javascript/ChunkFormatHelpers.js +0 -72
- package/lib/javascript/grammar.js +0 -5546
- package/lib/javascript/parser.js +0 -1500
- package/lib/javascript/regexpData.js +0 -51
- package/lib/performance/getSourceModules.js +0 -22
- package/lib/util/Semaphore.js +0 -65
- package/lib/util/objectToMap.js +0 -15
- package/schemas/WebpackOptions.check.d.ts +0 -7
- package/schemas/_container.json +0 -155
- package/schemas/_sharing.json +0 -118
- package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
- package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
- package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
- package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
- package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
- package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
- package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
- package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
- /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
- /package/lib/{util → css}/topologicalSort.js +0 -0
- /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
- /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
- /package/lib/{util → fs}/StackedCacheMap.js +0 -0
- /package/lib/{util → javascript}/StackedMap.js +0 -0
- /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
- /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
- /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
- /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
- /package/lib/{util → optimize}/Queue.js +0 -0
- /package/lib/{util → stats}/smartGrouping.js +0 -0
|
@@ -6,25 +6,28 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { SyncWaterfallHook } = require("tapable");
|
|
9
|
-
const
|
|
10
|
-
const { WEBASSEMBLY_MODULE_TYPE_ASYNC } = require("../ModuleTypeConstants");
|
|
11
|
-
const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDependency");
|
|
9
|
+
const WebAssemblyImportDependency = require("../dependencies/wasm/WebAssemblyImportDependency");
|
|
12
10
|
const { tryRunOrWebpackError } = require("../errors/HookWebpackError");
|
|
11
|
+
const Generator = require("../module/Generator");
|
|
12
|
+
const {
|
|
13
|
+
WEBASSEMBLY_MODULE_TYPE_ASYNC
|
|
14
|
+
} = require("../module/ModuleTypeConstants");
|
|
13
15
|
const { compareModulesByFullName } = require("../util/comparators");
|
|
14
16
|
const createHooksRegistry = require("../util/createHooksRegistry");
|
|
17
|
+
const implicitTypeLoaderFallback = require("../util/implicitTypeLoaderFallback");
|
|
15
18
|
const lazyModule = require("../util/lazyModule");
|
|
16
19
|
const preloadModuleType = require("../util/preloadModuleType");
|
|
17
20
|
const AsyncWasmModule = require("./AsyncWasmModule");
|
|
18
21
|
|
|
19
22
|
/** @import { Source } from "webpack-sources" */
|
|
20
|
-
/** @import Chunk from "../Chunk" */
|
|
21
|
-
/** @import ChunkGraph from "../ChunkGraph" */
|
|
22
|
-
/** @import CodeGenerationResults from "../CodeGenerationResults" */
|
|
23
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
24
|
+
/** @import ChunkGraph from "../graph/ChunkGraph" */
|
|
25
|
+
/** @import CodeGenerationResults from "../module/CodeGenerationResults" */
|
|
23
26
|
/** @import Compiler from "../Compiler" */
|
|
24
|
-
/** @import DependencyTemplates from "../DependencyTemplates" */
|
|
25
|
-
/** @import Module from "../Module" */
|
|
26
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
27
|
-
/** @import RuntimeTemplate from "../RuntimeTemplate" */
|
|
27
|
+
/** @import DependencyTemplates from "../template/DependencyTemplates" */
|
|
28
|
+
/** @import Module from "../module/Module" */
|
|
29
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
30
|
+
/** @import RuntimeTemplate from "../template/RuntimeTemplate" */
|
|
28
31
|
/** @import WebpackError from "../errors/WebpackError" */
|
|
29
32
|
|
|
30
33
|
const getAsyncWebAssemblyGenerator = lazyModule(() =>
|
|
@@ -78,12 +81,25 @@ class AsyncWebAssemblyModulesPlugin {
|
|
|
78
81
|
* @returns {void}
|
|
79
82
|
*/
|
|
80
83
|
apply(compiler) {
|
|
84
|
+
// `"auto"` marks implicit enablement, the one case where loaders win over
|
|
85
|
+
// the built-in type — see `applyExperimentsDefaults`.
|
|
86
|
+
// TODO in the next major release: asyncWebAssembly defaults to `true`, drop this implicit-only fallback.
|
|
87
|
+
const implicitlyEnabled =
|
|
88
|
+
compiler.options.experiments.asyncWebAssembly === "auto";
|
|
81
89
|
// A binary's name may carry the compilation hash, which the analyzable call site
|
|
82
90
|
// leaves as a stand-in — so whatever the chunk loading is, the pass that fills it
|
|
83
91
|
// in has to be there. Applying it twice is a no-op.
|
|
84
92
|
compiler.hooks.compilation.tap(
|
|
85
93
|
PLUGIN_NAME,
|
|
86
94
|
(compilation, { normalModuleFactory }) => {
|
|
95
|
+
if (implicitlyEnabled) {
|
|
96
|
+
implicitTypeLoaderFallback(
|
|
97
|
+
normalModuleFactory,
|
|
98
|
+
PLUGIN_NAME,
|
|
99
|
+
/\.wasm$/i,
|
|
100
|
+
WEBASSEMBLY_MODULE_TYPE_ASYNC
|
|
101
|
+
);
|
|
102
|
+
}
|
|
87
103
|
const hooks =
|
|
88
104
|
AsyncWebAssemblyModulesPlugin.getCompilationHooks(compilation);
|
|
89
105
|
compilation.dependencyFactories.set(
|
|
@@ -7,18 +7,17 @@
|
|
|
7
7
|
|
|
8
8
|
const t = require("@webassemblyjs/ast");
|
|
9
9
|
const { decode } = require("@webassemblyjs/wasm-parser");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
10
|
+
const StaticExportsDependency = require("../dependencies/core/StaticExportsDependency");
|
|
11
|
+
const WebAssemblyImportDependency = require("../dependencies/wasm/WebAssemblyImportDependency");
|
|
12
|
+
const Parser = require("../module/Parser");
|
|
13
13
|
const memoize = require("../util/memoize");
|
|
14
14
|
|
|
15
15
|
const getEnvironmentNotSupportAsyncWarning = memoize(() =>
|
|
16
16
|
require("../errors/EnvironmentNotSupportAsyncWarning")
|
|
17
17
|
);
|
|
18
18
|
|
|
19
|
-
/** @import AsyncWasmModule from "./AsyncWasmModule" */
|
|
20
|
-
/** @import {
|
|
21
|
-
/** @import { ParserState, PreparsedAst } from "../Parser" */
|
|
19
|
+
/** @import AsyncWasmModule, { BuiltAsyncWasmModule } from "./AsyncWasmModule" */
|
|
20
|
+
/** @import { ParserState, PreparsedAst } from "../module/Parser" */
|
|
22
21
|
|
|
23
22
|
const WASM_HEADER = Buffer.from([0x00, 0x61, 0x73, 0x6d]);
|
|
24
23
|
|
|
@@ -30,7 +29,10 @@ const decoderOpts = {
|
|
|
30
29
|
ignoreCustomNameSection: true
|
|
31
30
|
};
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
/**
|
|
33
|
+
* @extends {Parser<BuiltAsyncWasmModule>}
|
|
34
|
+
*/
|
|
35
|
+
class AsyncWebAssemblyParser extends Parser {
|
|
34
36
|
/**
|
|
35
37
|
* Parses the provided source and updates the parser state.
|
|
36
38
|
* @param {string | Buffer | PreparsedAst} source the source to parse
|
|
@@ -39,10 +41,12 @@ class WebAssemblyParser extends Parser {
|
|
|
39
41
|
*/
|
|
40
42
|
parse(source, state) {
|
|
41
43
|
if (!Buffer.isBuffer(source)) {
|
|
42
|
-
throw new Error("
|
|
44
|
+
throw new Error("AsyncWebAssemblyParser input must be a Buffer");
|
|
43
45
|
}
|
|
44
46
|
|
|
45
|
-
const buildMeta = /** @type {
|
|
47
|
+
const { buildInfo, buildMeta } = /** @type {BuiltAsyncWasmModule} */ (
|
|
48
|
+
state.module
|
|
49
|
+
);
|
|
46
50
|
buildMeta.exportsType = "namespace";
|
|
47
51
|
buildMeta.async = true;
|
|
48
52
|
|
|
@@ -53,8 +57,6 @@ class WebAssemblyParser extends Parser {
|
|
|
53
57
|
);
|
|
54
58
|
|
|
55
59
|
// flag it as async module
|
|
56
|
-
const buildInfo = /** @type {BuildInfo} */ (state.module.buildInfo);
|
|
57
|
-
|
|
58
60
|
buildInfo.strict = true;
|
|
59
61
|
|
|
60
62
|
if (/** @type {AsyncWasmModule} */ (state.module).phase === "source") {
|
|
@@ -103,4 +105,4 @@ class WebAssemblyParser extends Parser {
|
|
|
103
105
|
}
|
|
104
106
|
}
|
|
105
107
|
|
|
106
|
-
module.exports =
|
|
108
|
+
module.exports = AsyncWebAssemblyParser;
|
|
@@ -142,7 +142,7 @@ class EnableWasmLoadingPlugin {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
if (compiler.options.experiments.asyncWebAssembly) {
|
|
145
|
-
const UniversalCompileAsyncWasmPlugin = require("
|
|
145
|
+
const UniversalCompileAsyncWasmPlugin = require("./UniversalCompileAsyncWasmPlugin");
|
|
146
146
|
|
|
147
147
|
new UniversalCompileAsyncWasmPlugin().apply(compiler);
|
|
148
148
|
}
|
|
@@ -5,14 +5,16 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
8
|
+
const {
|
|
9
|
+
WEBASSEMBLY_MODULE_TYPE_ASYNC
|
|
10
|
+
} = require("../module/ModuleTypeConstants");
|
|
11
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
12
|
+
const Template = require("../template/Template");
|
|
13
|
+
const { usesFullHashDigest } = require("../template/TemplatedPathPlugin");
|
|
14
|
+
const AsyncWasmCompileRuntimeModule = require("./AsyncWasmCompileRuntimeModule");
|
|
15
|
+
const AsyncWasmLoadingRuntimeModule = require("./AsyncWasmLoadingRuntimeModule");
|
|
14
16
|
|
|
15
|
-
/** @import Chunk from "../Chunk" */
|
|
17
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
16
18
|
/** @import Compiler from "../Compiler" */
|
|
17
19
|
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
18
20
|
|
|
@@ -117,9 +119,7 @@ class UniversalCompileAsyncWasmPlugin {
|
|
|
117
119
|
chunk,
|
|
118
120
|
new AsyncWasmLoadingRuntimeModule({
|
|
119
121
|
fullHashDigest: usesFullHashDigest(
|
|
120
|
-
|
|
121
|
-
compilation.outputOptions.webassemblyModuleFilename
|
|
122
|
-
)
|
|
122
|
+
compilation.outputOptions.webassemblyModuleFilename
|
|
123
123
|
),
|
|
124
124
|
generateBeforeLoadBinaryCode,
|
|
125
125
|
generateLoadBinaryCode,
|
|
@@ -145,9 +145,7 @@ class UniversalCompileAsyncWasmPlugin {
|
|
|
145
145
|
chunk,
|
|
146
146
|
new AsyncWasmCompileRuntimeModule({
|
|
147
147
|
fullHashDigest: usesFullHashDigest(
|
|
148
|
-
|
|
149
|
-
compilation.outputOptions.webassemblyModuleFilename
|
|
150
|
-
)
|
|
148
|
+
compilation.outputOptions.webassemblyModuleFilename
|
|
151
149
|
),
|
|
152
150
|
generateBeforeLoadBinaryCode,
|
|
153
151
|
generateLoadBinaryCode,
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
8
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
9
9
|
const {
|
|
10
10
|
getPresentKinds,
|
|
11
11
|
reEncodeDigest,
|
|
12
12
|
usesFullHashDigest
|
|
13
|
-
} = require("../TemplatedPathPlugin");
|
|
13
|
+
} = require("../template/TemplatedPathPlugin");
|
|
14
14
|
|
|
15
15
|
/** @import Compilation from "../Compilation" */
|
|
16
16
|
|
|
@@ -4,11 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
"use strict";
|
|
6
6
|
|
|
7
|
-
const NormalModule = require("../NormalModule");
|
|
7
|
+
const NormalModule = require("../module/NormalModule");
|
|
8
8
|
const makeSerializable = require("../util/makeSerializable");
|
|
9
9
|
|
|
10
|
-
/** @import { BuildMeta } from "../Module" */
|
|
11
|
-
/**
|
|
10
|
+
/** @import { BuildMeta } from "../module/Module" */
|
|
11
|
+
/**
|
|
12
|
+
* @import {
|
|
13
|
+
* NormalModuleBuildInfo,
|
|
14
|
+
* NormalModuleCreateData
|
|
15
|
+
* } from "../module/NormalModule"
|
|
16
|
+
*/
|
|
12
17
|
|
|
13
18
|
/**
|
|
14
19
|
* Defines the build meta properties specific to sync wasm modules.
|
|
@@ -18,6 +23,16 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
18
23
|
|
|
19
24
|
/** @typedef {BuildMeta & KnownSyncWasmModuleBuildMeta} SyncWasmModuleBuildMeta */
|
|
20
25
|
|
|
26
|
+
/**
|
|
27
|
+
* A sync wasm module before or after its build, typed with its build meta.
|
|
28
|
+
* @typedef {NormalModule & { buildMeta?: SyncWasmModuleBuildMeta }} SyncWasmNormalModule
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* A built sync wasm module, typed with its build info and build meta.
|
|
33
|
+
* @typedef {NormalModule & { buildInfo: NormalModuleBuildInfo, buildMeta: SyncWasmModuleBuildMeta }} BuiltSyncWasmModule
|
|
34
|
+
*/
|
|
35
|
+
|
|
21
36
|
/**
|
|
22
37
|
* Module class for `webassembly/sync` modules. Wasm-specific properties should live here instead of `NormalModule`.
|
|
23
38
|
*/
|
|
@@ -4,22 +4,22 @@
|
|
|
4
4
|
|
|
5
5
|
"use strict";
|
|
6
6
|
|
|
7
|
-
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
8
|
-
const RuntimeModule = require("../RuntimeModule");
|
|
9
|
-
const Template = require("../Template");
|
|
7
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
8
|
+
const RuntimeModule = require("../runtime/RuntimeModule");
|
|
9
|
+
const Template = require("../template/Template");
|
|
10
10
|
const { compareModulesByIdentifier } = require("../util/comparators");
|
|
11
11
|
const { fullHashPathData } = require("../wasm/wasmModuleFilename");
|
|
12
12
|
const WebAssemblyUtils = require("./WebAssemblyUtils");
|
|
13
13
|
|
|
14
14
|
/** @import { Signature } from "@webassemblyjs/ast" */
|
|
15
|
-
/** @import Chunk from "../Chunk" */
|
|
16
|
-
/** @import ChunkGraph, { ModuleId } from "../ChunkGraph" */
|
|
15
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
16
|
+
/** @import ChunkGraph, { ModuleId } from "../graph/ChunkGraph" */
|
|
17
17
|
/** @import Compilation from "../Compilation" */
|
|
18
|
-
/** @import Module, { ReadOnlyRuntimeRequirements } from "../Module" */
|
|
19
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
18
|
+
/** @import Module, { ReadOnlyRuntimeRequirements } from "../module/Module" */
|
|
19
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
20
20
|
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
21
21
|
|
|
22
|
-
// TODO
|
|
22
|
+
// TODO in the next major release: remove the whole folder
|
|
23
23
|
|
|
24
24
|
// Get all wasm modules
|
|
25
25
|
/**
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
+
const UnsupportedWebAssemblyFeatureError = require("../errors/UnsupportedWebAssemblyFeatureError");
|
|
8
9
|
const formatLocation = require("../util/formatLocation");
|
|
9
|
-
const UnsupportedWebAssemblyFeatureError = require("./UnsupportedWebAssemblyFeatureError");
|
|
10
10
|
|
|
11
11
|
/** @import Compiler from "../Compiler" */
|
|
12
|
-
/** @import Dependency from "../Dependency" */
|
|
13
|
-
/** @import Module from "../Module" */
|
|
12
|
+
/** @import Dependency from "../graph/Dependency" */
|
|
13
|
+
/** @import Module from "../module/Module" */
|
|
14
14
|
/** @import { SyncWasmModuleBuildMeta } from "./SyncWasmModule" */
|
|
15
15
|
|
|
16
16
|
const PLUGIN_NAME = "WasmFinalizeExportsPlugin";
|
|
@@ -10,16 +10,16 @@ const { moduleContextFromModuleAST } = require("@webassemblyjs/ast");
|
|
|
10
10
|
const { addWithAST, editWithAST } = require("@webassemblyjs/wasm-edit");
|
|
11
11
|
const { decode } = require("@webassemblyjs/wasm-parser");
|
|
12
12
|
const { RawSource } = require("webpack-sources");
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
13
|
+
const isDependencyKind = require("../graph/isDependencyKind");
|
|
14
|
+
const Generator = require("../module/Generator");
|
|
15
|
+
const { WEBASSEMBLY_TYPES } = require("../module/ModuleSourceTypeConstants");
|
|
16
16
|
const WebAssemblyUtils = require("./WebAssemblyUtils");
|
|
17
17
|
|
|
18
|
+
/** @import { SyncWasmNormalModule } from "./SyncWasmModule" */
|
|
18
19
|
/** @import { Source } from "webpack-sources" */
|
|
19
|
-
/** @import { GenerateContext, UpdateHashContext } from "../Generator" */
|
|
20
|
-
/** @import Module, { SourceType, SourceTypes } from "../Module" */
|
|
21
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
22
|
-
/** @import NormalModule from "../NormalModule" */
|
|
20
|
+
/** @import { GenerateContext, UpdateHashContext } from "../module/Generator" */
|
|
21
|
+
/** @import Module, { SourceType, SourceTypes } from "../module/Module" */
|
|
22
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
23
23
|
/** @import Hash from "../util/Hash" */
|
|
24
24
|
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
25
25
|
/** @import { UsedWasmDependency } from "./WebAssemblyUtils" */
|
|
@@ -420,6 +420,14 @@ const getUsedDependencyMap = (moduleGraph, module, mangle) => {
|
|
|
420
420
|
* @property {boolean=} mangleImports mangle imports
|
|
421
421
|
*/
|
|
422
422
|
|
|
423
|
+
/**
|
|
424
|
+
* The module type the JSDoc inherited from `Generator` names.
|
|
425
|
+
* @typedef {SyncWasmNormalModule} TModule
|
|
426
|
+
*/
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* @extends {Generator<TModule>}
|
|
430
|
+
*/
|
|
423
431
|
class WebAssemblyGenerator extends Generator {
|
|
424
432
|
/**
|
|
425
433
|
* Creates an instance of WebAssemblyGenerator.
|
|
@@ -433,7 +441,7 @@ class WebAssemblyGenerator extends Generator {
|
|
|
433
441
|
|
|
434
442
|
/**
|
|
435
443
|
* Returns the source types available for this module.
|
|
436
|
-
* @param {
|
|
444
|
+
* @param {TModule} module fresh module
|
|
437
445
|
* @returns {SourceTypes} available types (do not mutate)
|
|
438
446
|
*/
|
|
439
447
|
getTypes(module) {
|
|
@@ -442,7 +450,7 @@ class WebAssemblyGenerator extends Generator {
|
|
|
442
450
|
|
|
443
451
|
/**
|
|
444
452
|
* Returns the estimated size for the requested source type.
|
|
445
|
-
* @param {
|
|
453
|
+
* @param {TModule} module the module
|
|
446
454
|
* @param {SourceType=} type source type
|
|
447
455
|
* @returns {number} estimate size of the module
|
|
448
456
|
*/
|
|
@@ -456,7 +464,7 @@ class WebAssemblyGenerator extends Generator {
|
|
|
456
464
|
|
|
457
465
|
/**
|
|
458
466
|
* Generates generated code for this runtime module.
|
|
459
|
-
* @param {
|
|
467
|
+
* @param {TModule} module module for which the code should be generated
|
|
460
468
|
* @param {GenerateContext} generateContext context for generate
|
|
461
469
|
* @returns {Source | null} generated code
|
|
462
470
|
*/
|
|
@@ -489,11 +497,9 @@ class WebAssemblyGenerator extends Generator {
|
|
|
489
497
|
);
|
|
490
498
|
const externalExports = new Set(
|
|
491
499
|
module.dependencies
|
|
492
|
-
.filter((d) => d
|
|
500
|
+
.filter((d) => isDependencyKind(d, "webassembly-export-imported"))
|
|
493
501
|
.map((d) => {
|
|
494
|
-
const wasmDep =
|
|
495
|
-
d
|
|
496
|
-
);
|
|
502
|
+
const wasmDep = d;
|
|
497
503
|
return wasmDep.exportName;
|
|
498
504
|
})
|
|
499
505
|
);
|
|
@@ -539,7 +545,7 @@ class WebAssemblyGenerator extends Generator {
|
|
|
539
545
|
/**
|
|
540
546
|
* Generates fallback output for the provided error condition.
|
|
541
547
|
* @param {Error} error the error
|
|
542
|
-
* @param {
|
|
548
|
+
* @param {TModule} module module for which the code should be generated
|
|
543
549
|
* @param {GenerateContext} generateContext context for generate
|
|
544
550
|
* @returns {Source | null} generated code
|
|
545
551
|
*/
|
|
@@ -555,7 +561,7 @@ class WebAssemblyGenerator extends Generator {
|
|
|
555
561
|
/**
|
|
556
562
|
* Updates the hash with the data contributed by this instance.
|
|
557
563
|
* @param {Hash} hash hash that will be modified
|
|
558
|
-
* @param {UpdateHashContext} updateHashContext context for updating hash
|
|
564
|
+
* @param {UpdateHashContext<TModule>} updateHashContext context for updating hash
|
|
559
565
|
*/
|
|
560
566
|
updateHash(hash, updateHashContext) {
|
|
561
567
|
if (this.options.mangleImports) {
|
|
@@ -6,25 +6,32 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { RawSource } = require("webpack-sources");
|
|
9
|
-
const { UsageState } = require("../ExportsInfo");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const { WEBASSEMBLY_TYPES } = require("../ModuleSourceTypeConstants");
|
|
13
|
-
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
const { UsageState } = require("../graph/ExportsInfo");
|
|
10
|
+
const isDependencyKind = require("../graph/isDependencyKind");
|
|
11
|
+
const Generator = require("../module/Generator");
|
|
12
|
+
const { WEBASSEMBLY_TYPES } = require("../module/ModuleSourceTypeConstants");
|
|
13
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
14
|
+
const InitFragment = require("../template/InitFragment");
|
|
15
|
+
const Template = require("../template/Template");
|
|
16
|
+
|
|
17
|
+
/** @import { SyncWasmNormalModule } from "./SyncWasmModule" */
|
|
19
18
|
/** @import { Source } from "webpack-sources" */
|
|
20
|
-
/** @import { GenerateContext } from "../Generator" */
|
|
21
|
-
/** @import
|
|
22
|
-
/** @import
|
|
23
|
-
|
|
19
|
+
/** @import { GenerateContext } from "../module/Generator" */
|
|
20
|
+
/** @import ModuleDependency from "../dependencies/core/ModuleDependency" */
|
|
21
|
+
/** @import Module, { SourceType, SourceTypes } from "../module/Module" */
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The module type the JSDoc inherited from `Generator` names.
|
|
25
|
+
* @typedef {SyncWasmNormalModule} TModule
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @extends {Generator<TModule>}
|
|
30
|
+
*/
|
|
24
31
|
class WebAssemblyJavascriptGenerator extends Generator {
|
|
25
32
|
/**
|
|
26
33
|
* Returns the source types available for this module.
|
|
27
|
-
* @param {
|
|
34
|
+
* @param {TModule} module fresh module
|
|
28
35
|
* @returns {SourceTypes} available types (do not mutate)
|
|
29
36
|
*/
|
|
30
37
|
getTypes(module) {
|
|
@@ -33,7 +40,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
|
|
|
33
40
|
|
|
34
41
|
/**
|
|
35
42
|
* Returns the estimated size for the requested source type.
|
|
36
|
-
* @param {
|
|
43
|
+
* @param {TModule} module the module
|
|
37
44
|
* @param {SourceType=} type source type
|
|
38
45
|
* @returns {number} estimate size of the module
|
|
39
46
|
*/
|
|
@@ -43,7 +50,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
|
|
|
43
50
|
|
|
44
51
|
/**
|
|
45
52
|
* Generates generated code for this runtime module.
|
|
46
|
-
* @param {
|
|
53
|
+
* @param {TModule} module module for which the code should be generated
|
|
47
54
|
* @param {GenerateContext} generateContext context for generate
|
|
48
55
|
* @returns {Source | null} generated code
|
|
49
56
|
*/
|
|
@@ -69,7 +76,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
|
|
|
69
76
|
let index = 0;
|
|
70
77
|
for (const dep of module.dependencies) {
|
|
71
78
|
const moduleDep =
|
|
72
|
-
dep && dep
|
|
79
|
+
dep && isDependencyKind(dep, "module-dependency") ? dep : undefined;
|
|
73
80
|
const mod = moduleGraph.getModule(dep);
|
|
74
81
|
if (mod) {
|
|
75
82
|
let importData = importedModules.get(mod);
|
|
@@ -87,7 +94,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
|
|
|
87
94
|
);
|
|
88
95
|
index++;
|
|
89
96
|
}
|
|
90
|
-
if (dep
|
|
97
|
+
if (isDependencyKind(dep, "webassembly-import")) {
|
|
91
98
|
importData.names.add(dep.name);
|
|
92
99
|
if (dep.description.type === "GlobalType") {
|
|
93
100
|
const exportName = dep.name;
|
|
@@ -121,7 +128,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
|
|
|
121
128
|
}
|
|
122
129
|
}
|
|
123
130
|
}
|
|
124
|
-
if (dep
|
|
131
|
+
if (isDependencyKind(dep, "webassembly-export-imported")) {
|
|
125
132
|
importData.names.add(dep.name);
|
|
126
133
|
const usedName = moduleGraph
|
|
127
134
|
.getExportsInfo(module)
|
|
@@ -226,7 +233,7 @@ class WebAssemblyJavascriptGenerator extends Generator {
|
|
|
226
233
|
/**
|
|
227
234
|
* Generates fallback output for the provided error condition.
|
|
228
235
|
* @param {Error} error the error
|
|
229
|
-
* @param {
|
|
236
|
+
* @param {TModule} module module for which the code should be generated
|
|
230
237
|
* @param {GenerateContext} generateContext context for generate
|
|
231
238
|
* @returns {Source | null} generated code
|
|
232
239
|
*/
|
|
@@ -5,21 +5,23 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const
|
|
8
|
+
const WebAssemblyExportImportedDependency = require("../dependencies/wasm/WebAssemblyExportImportedDependency");
|
|
9
|
+
const WebAssemblyImportDependency = require("../dependencies/wasm/WebAssemblyImportDependency");
|
|
10
|
+
const WebAssemblyInInitialChunkError = require("../errors/WebAssemblyInInitialChunkError");
|
|
11
|
+
const Generator = require("../module/Generator");
|
|
9
12
|
const {
|
|
10
13
|
JAVASCRIPT_TYPE,
|
|
11
14
|
WEBASSEMBLY_TYPE
|
|
12
|
-
} = require("../ModuleSourceTypeConstants");
|
|
13
|
-
const {
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
} = require("../module/ModuleSourceTypeConstants");
|
|
16
|
+
const {
|
|
17
|
+
WEBASSEMBLY_MODULE_TYPE_SYNC
|
|
18
|
+
} = require("../module/ModuleTypeConstants");
|
|
16
19
|
const { compareModulesByFullName } = require("../util/comparators");
|
|
17
20
|
const lazyModule = require("../util/lazyModule");
|
|
18
21
|
const preloadModuleType = require("../util/preloadModuleType");
|
|
19
|
-
const WebAssemblyInInitialChunkError = require("./WebAssemblyInInitialChunkError");
|
|
20
22
|
|
|
21
23
|
/** @import Compiler from "../Compiler" */
|
|
22
|
-
/** @import Module from "../Module" */
|
|
24
|
+
/** @import Module from "../module/Module" */
|
|
23
25
|
|
|
24
26
|
const getWebAssemblyGenerator = lazyModule(() =>
|
|
25
27
|
require("./WebAssemblyGenerator")
|
|
@@ -8,15 +8,14 @@
|
|
|
8
8
|
const t = require("@webassemblyjs/ast");
|
|
9
9
|
const { moduleContextFromModuleAST } = require("@webassemblyjs/ast");
|
|
10
10
|
const { decode } = require("@webassemblyjs/wasm-parser");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
11
|
+
const StaticExportsDependency = require("../dependencies/core/StaticExportsDependency");
|
|
12
|
+
const WebAssemblyExportImportedDependency = require("../dependencies/wasm/WebAssemblyExportImportedDependency");
|
|
13
|
+
const WebAssemblyImportDependency = require("../dependencies/wasm/WebAssemblyImportDependency");
|
|
14
|
+
const Parser = require("../module/Parser");
|
|
15
15
|
|
|
16
|
+
/** @import { BuiltSyncWasmModule } from "./SyncWasmModule" */
|
|
16
17
|
/** @import { ModuleImport } from "@webassemblyjs/ast" */
|
|
17
|
-
/** @import {
|
|
18
|
-
/** @import { SyncWasmModuleBuildMeta } from "./SyncWasmModule" */
|
|
19
|
-
/** @import { ParserState, PreparsedAst } from "../Parser" */
|
|
18
|
+
/** @import { ParserState, PreparsedAst } from "../module/Parser" */
|
|
20
19
|
|
|
21
20
|
const JS_COMPAT_TYPES = new Set(["i32", "i64", "f32", "f64", "externref"]);
|
|
22
21
|
|
|
@@ -63,6 +62,9 @@ const decoderOpts = {
|
|
|
63
62
|
ignoreCustomNameSection: true
|
|
64
63
|
};
|
|
65
64
|
|
|
65
|
+
/**
|
|
66
|
+
* @extends {Parser<BuiltSyncWasmModule>}
|
|
67
|
+
*/
|
|
66
68
|
class WebAssemblyParser extends Parser {
|
|
67
69
|
/**
|
|
68
70
|
* Parses the provided source and updates the parser state.
|
|
@@ -76,10 +78,11 @@ class WebAssemblyParser extends Parser {
|
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
// flag it as ESM
|
|
79
|
-
/** @type {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
const { buildInfo, buildMeta } = /** @type {BuiltSyncWasmModule} */ (
|
|
82
|
+
state.module
|
|
83
|
+
);
|
|
84
|
+
buildInfo.strict = true;
|
|
85
|
+
buildMeta.exportsType = "namespace";
|
|
83
86
|
|
|
84
87
|
// parse it
|
|
85
88
|
const program = decode(source, decoderOpts);
|
|
@@ -90,9 +93,6 @@ class WebAssemblyParser extends Parser {
|
|
|
90
93
|
// extract imports and exports
|
|
91
94
|
/** @type {string[]} */
|
|
92
95
|
const exports = [];
|
|
93
|
-
const buildMeta = /** @type {SyncWasmModuleBuildMeta} */ (
|
|
94
|
-
state.module.buildMeta
|
|
95
|
-
);
|
|
96
96
|
/** @type {Record<string, string> | undefined} */
|
|
97
97
|
let jsIncompatibleExports = (buildMeta.jsIncompatibleExports = undefined);
|
|
98
98
|
|
|
@@ -115,9 +115,7 @@ class WebAssemblyParser extends Parser {
|
|
|
115
115
|
|
|
116
116
|
if (incompatibleType) {
|
|
117
117
|
if (jsIncompatibleExports === undefined) {
|
|
118
|
-
jsIncompatibleExports =
|
|
119
|
-
/** @type {SyncWasmModuleBuildMeta} */
|
|
120
|
-
(state.module.buildMeta).jsIncompatibleExports = {};
|
|
118
|
+
jsIncompatibleExports = buildMeta.jsIncompatibleExports = {};
|
|
121
119
|
}
|
|
122
120
|
jsIncompatibleExports[node.name] = incompatibleType;
|
|
123
121
|
}
|
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const isDependencyKind = require("../graph/isDependencyKind");
|
|
9
|
+
const Template = require("../template/Template");
|
|
10
10
|
|
|
11
|
-
/** @import
|
|
12
|
-
/** @import
|
|
11
|
+
/** @import WebAssemblyImportDependency from "../dependencies/wasm/WebAssemblyImportDependency" */
|
|
12
|
+
/** @import Module from "../module/Module" */
|
|
13
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Defines the used wasm dependency type used by this module.
|
|
@@ -33,7 +34,7 @@ const getUsedDependencies = (moduleGraph, module, mangle) => {
|
|
|
33
34
|
const array = [];
|
|
34
35
|
let importIndex = 0;
|
|
35
36
|
for (const dep of module.dependencies) {
|
|
36
|
-
if (dep
|
|
37
|
+
if (isDependencyKind(dep, "webassembly-import")) {
|
|
37
38
|
if (
|
|
38
39
|
dep.description.type === "GlobalType" ||
|
|
39
40
|
moduleGraph.getModule(dep) === null
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const asyncLib = require("
|
|
8
|
+
const asyncLib = require("../util/async");
|
|
9
9
|
|
|
10
|
-
/** @import MultiCompiler from "
|
|
10
|
+
/** @import MultiCompiler from "../MultiCompiler" */
|
|
11
11
|
/** @import Watching from "./Watching" */
|
|
12
|
-
/** @import { ErrorCallback } from "
|
|
12
|
+
/** @import { ErrorCallback } from "../webpack" */
|
|
13
13
|
|
|
14
14
|
class MultiWatching {
|
|
15
15
|
/**
|