webpack 5.111.0 → 5.112.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 +1 -1
- package/lib/Chunk.js +3 -966
- package/lib/Compilation.js +237 -138
- package/lib/Compiler.js +23 -24
- package/lib/Dependency.js +3 -551
- package/lib/DependencyTemplate.js +3 -69
- 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 +43 -24
- package/lib/NormalModule.js +3 -2190
- 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 +15 -9
- package/lib/asset/AssetBytesParser.js +3 -3
- package/lib/asset/AssetGenerator.js +61 -38
- package/lib/asset/AssetModule.js +2 -2
- package/lib/asset/AssetModulesPlugin.js +6 -9
- package/lib/asset/AssetParser.js +3 -3
- package/lib/asset/AssetSourceGenerator.js +15 -9
- package/lib/asset/AssetSourceParser.js +3 -3
- package/lib/asset/RawDataUrlModule.js +17 -10
- package/lib/asset/WebManifestGenerator.js +7 -7
- package/lib/asset/WebManifestParser.js +5 -5
- package/lib/async-modules/AsyncModuleHelpers.js +6 -5
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +4 -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} +5 -5
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +6 -6
- package/lib/cache/MemoryWithGcCachePlugin.js +9 -10
- package/lib/cache/PackFileCacheStrategy.js +11 -28
- package/lib/cache/ResolverCachePlugin.js +8 -4
- package/lib/cache/getLazyHashedEtag.js +3 -5
- 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} +217 -200
- package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
- package/lib/config/browserslistTargetHandler.js +3 -9
- package/lib/{cli.js → config/cli.js} +5 -158
- package/lib/config/defaults.js +192 -122
- package/lib/config/getClaimedAssetTypes.js +28 -21
- package/lib/config/normalization.js +18 -7
- package/lib/config/target.js +13 -4
- 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/{ContextExclusionPlugin.js → context/ContextExclusionPlugin.js} +1 -1
- package/lib/{ContextModule.js → context/ContextModule.js} +50 -36
- package/lib/{ContextModuleFactory.js → context/ContextModuleFactory.js} +25 -24
- package/lib/{ContextReplacementPlugin.js → context/ContextReplacementPlugin.js} +4 -4
- package/lib/css/CssGenerator.js +57 -42
- package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
- package/lib/css/CssLoadingRuntimeModule.js +77 -44
- package/lib/css/CssModule.js +27 -29
- package/lib/css/CssModulesPlugin.js +128 -44
- package/lib/css/CssParser.js +700 -311
- package/lib/css/CssServerStylesRuntimeModule.js +3 -3
- package/lib/css/cssMinify.js +130 -54
- package/lib/css/data.js +7017 -4648
- package/lib/css/syntax-parser.js +19873 -0
- package/lib/css/syntax-printer.js +6037 -0
- package/lib/css/syntax.js +37 -17370
- package/lib/debug/ProfilingPlugin.js +55 -23
- package/lib/{DefinePlugin.js → define/DefinePlugin.js} +407 -41
- package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +25 -29
- package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +2 -2
- 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 -10
- 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} +10 -10
- 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} +176 -44
- package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
- package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +138 -61
- package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
- package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +39 -35
- package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +13 -12
- package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +47 -35
- 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} +19 -20
- 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} +5 -5
- 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} +34 -18
- 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} +9 -9
- 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} +4 -4
- package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +9 -9
- 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} +12 -11
- 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 -100
- package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +26 -22
- 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} +26 -21
- 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} +40 -41
- package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +22 -21
- package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
- package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +62 -93
- package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +83 -49
- 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} +136 -122
- package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +68 -43
- package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +68 -65
- package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -4
- package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
- package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +74 -71
- package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +199 -97
- package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +26 -29
- package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +86 -43
- package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +110 -61
- package/lib/dependencies/esm/ESMModulesPlugin.js +207 -0
- package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
- package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -11
- package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +2 -2
- package/lib/{util → dependencies/helpers}/chainedImports.js +8 -9
- 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} +125 -243
- package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -12
- package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +72 -23
- package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +53 -19
- 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} +20 -20
- 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} +126 -107
- 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} +34 -25
- package/lib/{url → dependencies/url}/URLParserPlugin.js +22 -26
- 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} +46 -54
- package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +28 -20
- package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +25 -27
- 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} +207 -129
- 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 +20 -18
- 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 +11 -9
- package/lib/dll/DllModuleFactory.js +3 -3
- package/lib/dll/DllPlugin.js +18 -6
- package/lib/dll/DllReferencePlugin.js +102 -26
- 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/{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/errors/ErrorHelpers.js +222 -0
- 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/{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 +12 -3
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
- package/lib/esm/ModuleChunkFormatPlugin.js +19 -19
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
- package/lib/{ExternalModule.js → externals/ExternalModule.js} +85 -63
- package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +41 -39
- 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} +187 -80
- package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
- package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
- package/lib/graph/Dependency.js +628 -0
- package/lib/graph/Entrypoint.js +136 -0
- package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +151 -99
- package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
- package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +36 -39
- package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
- package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +163 -72
- package/lib/{util → graph}/findGraphRoots.js +20 -21
- package/lib/graph/isDependencyKind.js +23 -0
- package/lib/hmr/HotModuleReplacement.runtime.js +2 -2
- package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +49 -47
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +10 -8
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
- package/lib/hmr/LazyCompilationPlugin.js +34 -26
- package/lib/html/HtmlGenerator.js +168 -125
- package/lib/html/HtmlModule.js +6 -2
- package/lib/html/HtmlModulesPlugin.js +260 -215
- package/lib/html/HtmlParser.js +598 -292
- package/lib/html/builtinEmbeddedRenderer.js +60 -13
- package/lib/html/data.js +23 -1
- package/lib/html/htmlMinify.js +120 -51
- package/lib/html/syntax-parser.js +15796 -0
- package/lib/html/syntax-printer.js +1034 -0
- package/lib/html/syntax.js +37 -14062
- package/lib/html/xmlMinify.js +67 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +31 -4
- 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 +348 -99
- package/lib/{APIPlugin.js → javascript/APIPlugin.js} +29 -30
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
- package/lib/javascript/BasicEvaluatedExpression.js +4 -4
- package/lib/javascript/ChunkHelpers.js +64 -4
- package/lib/javascript/CommonJsChunkFormatPlugin.js +4 -7
- package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +10 -11
- package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +90 -139
- package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
- package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
- package/lib/javascript/JavascriptGenerator.js +25 -18
- package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +7 -7
- package/lib/javascript/JavascriptModule.js +4 -3
- package/lib/javascript/JavascriptModulesPlugin.js +458 -256
- package/lib/javascript/JavascriptParser.js +916 -287
- package/lib/javascript/JavascriptParserHelpers.js +1 -1
- package/lib/javascript/MergedEntryExports.js +196 -0
- package/lib/javascript/ScopeAnalyzer.js +3840 -5
- package/lib/javascript/StartupHelpers.js +6 -6
- package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +12 -15
- 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 +18561 -0
- package/lib/javascript/syntax-printer-data.js +933 -0
- package/lib/javascript/syntax-printer.js +47106 -0
- package/lib/javascript/syntax.js +20 -10946
- package/lib/json/JsonData.js +1 -1
- package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
- package/lib/json/JsonGenerator.js +17 -11
- package/lib/json/JsonModule.js +2 -2
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +5 -5
- 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 +27 -11
- package/lib/library/EnableLibraryPlugin.js +1 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
- package/lib/library/JsonpLibraryPlugin.js +1 -1
- package/lib/library/LibraryTemplatePlugin.js +53 -0
- package/lib/library/ModuleLibraryPlugin.js +207 -285
- 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 +27 -2
- package/lib/loaders/LoaderRunner.js +160 -22
- package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
- 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} +38 -14
- package/lib/{Module.js → module/Module.js} +122 -54
- package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
- package/lib/module/NormalModule.js +2348 -0
- package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +53 -54
- package/lib/module/NullFactory.js +29 -0
- package/lib/{Parser.js → module/Parser.js} +3 -3
- package/lib/module/RawModule.js +208 -0
- package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
- package/lib/{util → module}/extractSourceMap.js +2 -2
- package/lib/{util → module}/findCaseMismatch.js +2 -2
- package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
- package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
- package/lib/{dependencies → node}/ExternalModuleInitFragment.js +6 -5
- 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 +61 -15
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +9 -7
- package/lib/node/ReadFileCompileWasmPlugin.js +7 -5
- package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/nodeConsole.js +2 -4
- package/lib/optimize/AggressiveMergingPlugin.js +5 -7
- package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
- package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +13 -13
- package/lib/optimize/ConcatenatedModule.js +305 -309
- 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} +25 -30
- package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +26 -30
- package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
- package/lib/optimize/FlagIncludedChunksPlugin.js +5 -13
- package/lib/optimize/InlineExports.js +11 -3
- package/lib/optimize/InnerGraph.js +5 -13
- package/lib/optimize/InnerGraphPlugin.js +17 -23
- package/lib/optimize/LazyBarrels.js +584 -0
- package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
- package/lib/optimize/LimitChunkCountPlugin.js +21 -15
- package/lib/optimize/MangleExportsPlugin.js +8 -9
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
- package/lib/optimize/MinChunkSizePlugin.js +9 -6
- package/lib/optimize/ModuleConcatenationPlugin.js +23 -16
- package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
- package/lib/optimize/RealContentHashPlugin.js +16 -7
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/SideEffectsFlagPlugin.js +25 -37
- package/lib/optimize/SplitChunksPlugin.js +715 -159
- package/lib/{util → optimize}/TupleQueue.js +9 -9
- package/lib/optimize/chunkSetIntersections.js +437 -0
- package/lib/{util → optimize}/deterministicGrouping.js +25 -30
- package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
- package/lib/{CleanPlugin.js → output/CleanPlugin.js} +66 -24
- package/lib/{CopyPlugin.js → output/CopyPlugin.js} +142 -67
- 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 +5 -7
- 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 +3 -3
- package/lib/performance/HotspotsPlugin.js +11 -10
- 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 +3 -3
- package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
- package/lib/performance/SizeLimitsPlugin.js +13 -16
- package/lib/performance/TopLevelThisPlugin.js +8 -7
- 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 +7 -9
- 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 +82 -65
- package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +10 -13
- package/lib/prefetch/parseResourceHintOptions.js +4 -3
- package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
- package/lib/{dependencies → provide}/ProvidedDependency.js +14 -13
- 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/RuleSetCompiler.js +27 -46
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
- package/lib/runtime/AsyncModuleRuntimeModule.js +10 -9
- 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 +9 -10
- 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 +5 -7
- 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 +135 -102
- 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} +18 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
- package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
- package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +48 -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 +4 -7
- package/lib/schemes/HttpUriPlugin.js +67 -11
- package/lib/schemes/VirtualUrlPlugin.js +50 -16
- package/lib/serialization/AggregateErrorSerializer.js +2 -2
- package/lib/serialization/BinaryMiddleware.js +9 -9
- package/lib/serialization/FileMiddleware.js +19 -19
- package/lib/serialization/ObjectMiddleware.js +77 -49
- package/lib/serialization/SerializerMiddleware.js +2 -2
- 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 +19 -19
- package/lib/sharing/utils.js +59 -2
- package/lib/stats/DefaultStatsFactoryPlugin.js +25 -23
- package/lib/stats/DefaultStatsPresetPlugin.js +1 -1
- package/lib/stats/DefaultStatsPrinterPlugin.js +3 -3
- package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
- package/lib/{Stats.js → stats/Stats.js} +4 -4
- package/lib/stats/StatsFactory.js +14 -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} +178 -106
- package/lib/{Template.js → template/Template.js} +13 -11
- package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +35 -82
- package/lib/typescript/TypeScriptPlugin.js +5 -6
- package/lib/util/LocConverter.js +4 -7
- package/lib/util/RequestShortener.js +44 -0
- package/lib/util/SortableSet.js +87 -22
- package/lib/util/SourceProcessor.js +364 -66
- package/lib/util/TupleSet.js +27 -27
- package/lib/util/WeakTupleMap.js +10 -12
- package/lib/util/buildDiagnostics.js +2 -2
- package/lib/util/comparators.js +10 -10
- package/lib/util/concatenate.js +32 -151
- package/lib/util/createHooksRegistry.js +1 -2
- package/lib/util/createMappings.js +111 -0
- package/lib/util/dataURL.js +96 -18
- package/lib/util/deprecation.js +1 -1
- package/lib/util/extractComments.js +118 -0
- package/lib/util/formatLocation.js +1 -1
- package/lib/util/globUtils.js +197 -16
- package/lib/util/haltVisitors.js +51 -0
- package/lib/util/handlerKeys.js +2 -2
- package/lib/util/hash/wasm-hash.js +3 -4
- package/lib/util/identifier.js +117 -1
- package/lib/util/implicitTypeLoaderFallback.js +6 -4
- package/lib/util/internalSerializables.js +295 -103
- package/lib/util/magicComment.js +12 -7
- package/lib/util/makeSerializable.js +23 -4
- package/lib/util/parseJson.js +1 -1
- 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 +4 -1
- 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 +9 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +11 -6
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +16 -11
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +8 -8
- package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
- package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +9 -7
- package/lib/wasm/wasmModuleFilename.js +2 -2
- package/lib/wasm-sync/SyncWasmModule.js +3 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +11 -12
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +15 -9
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +19 -16
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
- package/lib/wasm-sync/WebAssemblyParser.js +6 -6
- package/lib/wasm-sync/WebAssemblyUtils.js +8 -9
- 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 +8 -6
- package/lib/web/FetchCompileWasmPlugin.js +6 -4
- 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 +70 -40
- package/schemas/WebpackOptions.check.js +2 -1
- package/schemas/WebpackOptions.d.json.ts +2 -0
- package/schemas/WebpackOptions.json +294 -74
- package/schemas/plugins/BannerPlugin.check.js +2 -1
- package/schemas/plugins/BannerPlugin.json +29 -2
- package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -0
- package/schemas/plugins/HtmlParserOptions.check.js +2 -1
- package/schemas/plugins/IgnorePlugin.check.js +1 -0
- package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.json +3 -3
- package/schemas/plugins/ProgressPlugin.check.js +2 -1
- 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 +2 -1
- package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
- package/schemas/plugins/WatchIgnorePlugin.check.js +2 -1
- package/schemas/plugins/WatchIgnorePlugin.json +12 -3
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetParserOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -0
- package/schemas/plugins/container/ContainerPlugin.check.js +2 -1
- package/schemas/plugins/container/ContainerPlugin.json +8 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +2 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssParserOptions.check.js +1 -0
- package/schemas/plugins/debug/ProfilingPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.js +2 -1
- package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginParser.check.js +1 -0
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -0
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -0
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -0
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +1 -0
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/SharePlugin.check.js +2 -1
- package/schemas/plugins/sharing/SharePlugin.json +32 -0
- package/types.d.ts +13915 -8414
- package/lib/ErrorHelpers.js +0 -107
- 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 -71
- package/lib/javascript/grammar.js +0 -5546
- package/lib/javascript/parser.js +0 -1494
- 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}/conventions.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
package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js}
RENAMED
|
@@ -5,69 +5,69 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const Dependency = require("
|
|
9
|
-
const InitFragment = require("../InitFragment");
|
|
10
|
-
const Template = require("../Template");
|
|
8
|
+
const Dependency = require("../../graph/Dependency");
|
|
11
9
|
const {
|
|
12
|
-
InlinedUsedName,
|
|
13
10
|
isExportInlined,
|
|
14
11
|
isInlineEnabled,
|
|
15
|
-
isInlineExportsEnabled
|
|
16
|
-
|
|
12
|
+
isInlineExportsEnabled,
|
|
13
|
+
isInlinedUsedName
|
|
14
|
+
} = require("../../optimize/InlineExports");
|
|
17
15
|
const {
|
|
18
16
|
getDependencyUsedByExportsCondition
|
|
19
|
-
} = require("
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
17
|
+
} = require("../../optimize/InnerGraph");
|
|
18
|
+
const InitFragment = require("../../template/InitFragment");
|
|
19
|
+
const Template = require("../../template/Template");
|
|
20
|
+
const makeSerializable = require("../../util/makeSerializable");
|
|
21
|
+
const { propertyAccess } = require("../../util/property");
|
|
22
|
+
const { ImportPhaseUtils } = require("../core/ImportPhase");
|
|
23
|
+
const { getTrimmedIdsAndRange } = require("../helpers/chainedImports");
|
|
24
|
+
const traverseDestructuringAssignmentProperties = require("../helpers/traverseDestructuringAssignmentProperties");
|
|
25
|
+
const ESMImportDependency = require("./ESMImportDependency");
|
|
26
|
+
const ESMImportGuard = require("./ESMImportGuard");
|
|
27
27
|
|
|
28
28
|
/** @import { ReplaceSource } from "webpack-sources" */
|
|
29
|
-
/** @import { GetConditionFn, ReferencedExports, UpdateHashContext } from "
|
|
30
|
-
/** @import { DependencyTemplateContext } from "
|
|
31
|
-
/** @import Module, { BuildMeta } from "
|
|
32
|
-
/** @import ModuleGraph from "
|
|
33
|
-
/** @import Hash from "
|
|
29
|
+
/** @import { GetConditionFn, ReferencedExports, UpdateHashContext, DependencyKinds } from "../../graph/Dependency" */
|
|
30
|
+
/** @import { DependencyTemplateContext } from "../../template/DependencyTemplate" */
|
|
31
|
+
/** @import Module, { BuildMeta } from "../../module/Module" */
|
|
32
|
+
/** @import ModuleGraph from "../../graph/ModuleGraph" */
|
|
33
|
+
/** @import Hash from "../../util/Hash" */
|
|
34
34
|
/**
|
|
35
35
|
* @import ModuleGraphConnection, {
|
|
36
36
|
* ConnectionState
|
|
37
|
-
* } from "
|
|
37
|
+
* } from "../../graph/ModuleGraphConnection"
|
|
38
38
|
*/
|
|
39
|
-
/** @import WebpackError from "
|
|
39
|
+
/** @import WebpackError from "../../errors/WebpackError" */
|
|
40
40
|
/**
|
|
41
41
|
* @import {
|
|
42
42
|
* DestructuringAssignmentProperties,
|
|
43
43
|
* ImportAttributes,
|
|
44
44
|
* Range
|
|
45
|
-
* } from "
|
|
45
|
+
* } from "../../javascript/JavascriptParser"
|
|
46
46
|
*/
|
|
47
|
-
/** @import { UsedByExports } from "
|
|
47
|
+
/** @import { UsedByExports } from "../../optimize/InnerGraph" */
|
|
48
48
|
/**
|
|
49
49
|
* @import {
|
|
50
50
|
* ObjectDeserializerContext,
|
|
51
51
|
* ObjectSerializerContext
|
|
52
|
-
* } from "
|
|
52
|
+
* } from "../../serialization/ObjectMiddleware"
|
|
53
53
|
*/
|
|
54
|
-
/** @import { RuntimeSpec } from "
|
|
55
|
-
/** @import { IdRanges } from "../
|
|
56
|
-
/** @import { ExportPresenceMode } from "./
|
|
57
|
-
/** @typedef {
|
|
58
|
-
/** @import { ImportPhaseType } from "
|
|
59
|
-
/** @import { DependencyGuard } from "./
|
|
54
|
+
/** @import { RuntimeSpec } from "../../util/runtime" */
|
|
55
|
+
/** @import { IdRanges } from "../helpers/chainedImports" */
|
|
56
|
+
/** @import { ExportPresenceMode } from "./ESMImportDependency" */
|
|
57
|
+
/** @typedef {ESMImportDependency.Ids} Ids */
|
|
58
|
+
/** @import { ImportPhaseType } from "../core/ImportPhase" */
|
|
59
|
+
/** @import { DependencyGuard } from "./ESMImportGuard" */
|
|
60
60
|
/**
|
|
61
61
|
* @import {
|
|
62
62
|
* JavascriptModuleBuildMeta
|
|
63
|
-
* } from "
|
|
63
|
+
* } from "../../javascript/JavascriptModule"
|
|
64
64
|
*/
|
|
65
65
|
|
|
66
66
|
const idsSymbol = /** @type {symbol} */ (
|
|
67
|
-
Symbol("
|
|
67
|
+
Symbol("ESMImportSpecifierDependency.ids")
|
|
68
68
|
);
|
|
69
69
|
|
|
70
|
-
const { ExportPresenceModes } =
|
|
70
|
+
const { ExportPresenceModes } = ESMImportDependency;
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
73
|
* One condition closure per module graph and variant rather than per dependency.
|
|
@@ -79,14 +79,9 @@ const { ExportPresenceModes } = HarmonyImportDependency;
|
|
|
79
79
|
*/
|
|
80
80
|
const conditionsByModuleGraph = new WeakMap();
|
|
81
81
|
|
|
82
|
-
class
|
|
83
|
-
// read by `HarmonyImportGuard` in place of `instanceof`, which would cycle
|
|
84
|
-
get isHarmonyImportSpecifier() {
|
|
85
|
-
return true;
|
|
86
|
-
}
|
|
87
|
-
|
|
82
|
+
class ESMImportSpecifierDependency extends ESMImportDependency {
|
|
88
83
|
/**
|
|
89
|
-
* Creates an instance of
|
|
84
|
+
* Creates an instance of ESMImportSpecifierDependency.
|
|
90
85
|
* @param {string} request request
|
|
91
86
|
* @param {number} sourceOrder source order
|
|
92
87
|
* @param {Ids} ids ids
|
|
@@ -106,7 +101,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
106
101
|
exportPresenceMode,
|
|
107
102
|
phase,
|
|
108
103
|
attributes,
|
|
109
|
-
idRanges // TODO
|
|
104
|
+
idRanges // TODO in the next major release: make this non-optional. It must always be set to properly trim ids.
|
|
110
105
|
) {
|
|
111
106
|
super(request, sourceOrder, phase, attributes);
|
|
112
107
|
/** @type {Ids} */
|
|
@@ -134,9 +129,11 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
134
129
|
this.referencedPropertiesInDestructuring = undefined;
|
|
135
130
|
/** @type {DependencyGuard[] | undefined} */
|
|
136
131
|
this.branchGuards = undefined;
|
|
132
|
+
/** @type {undefined | boolean} this reference is an assignment target */
|
|
133
|
+
this.assignment = undefined;
|
|
137
134
|
}
|
|
138
135
|
|
|
139
|
-
// TODO
|
|
136
|
+
// TODO in the next major release: remove
|
|
140
137
|
/**
|
|
141
138
|
* Returns id.
|
|
142
139
|
* @deprecated
|
|
@@ -145,7 +142,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
145
142
|
throw new Error("id was renamed to ids and type changed to string[]");
|
|
146
143
|
}
|
|
147
144
|
|
|
148
|
-
// TODO
|
|
145
|
+
// TODO in the next major release: remove
|
|
149
146
|
/**
|
|
150
147
|
* Returns id.
|
|
151
148
|
* @deprecated
|
|
@@ -154,7 +151,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
154
151
|
throw new Error("id was renamed to ids and type changed to string[]");
|
|
155
152
|
}
|
|
156
153
|
|
|
157
|
-
// TODO
|
|
154
|
+
// TODO in the next major release: remove
|
|
158
155
|
/**
|
|
159
156
|
* Updates id.
|
|
160
157
|
* @deprecated
|
|
@@ -171,7 +168,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
171
168
|
* Returns the export name this dependency requests from its target module (lazy barrel optimization).
|
|
172
169
|
* @returns {string | true | null} export name, true for all exports, null for none
|
|
173
170
|
*/
|
|
174
|
-
|
|
171
|
+
get forwardId() {
|
|
175
172
|
return this.ids.length > 0 ? this.ids[0] : true;
|
|
176
173
|
}
|
|
177
174
|
|
|
@@ -231,7 +228,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
231
228
|
if (cached !== undefined) return cached;
|
|
232
229
|
/** @type {GetConditionFn} */
|
|
233
230
|
const condition = (connection, runtime) => {
|
|
234
|
-
const dep = /** @type {
|
|
231
|
+
const dep = /** @type {ESMImportSpecifierDependency} */ (
|
|
235
232
|
connection.dependency
|
|
236
233
|
);
|
|
237
234
|
if (usedByExportsCondition !== null) {
|
|
@@ -253,7 +250,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
253
250
|
const guards = dep.branchGuards;
|
|
254
251
|
if (
|
|
255
252
|
guards !== undefined &&
|
|
256
|
-
|
|
253
|
+
ESMImportGuard.isDeadByGuards(guards, moduleGraph, runtime)
|
|
257
254
|
) {
|
|
258
255
|
return false;
|
|
259
256
|
}
|
|
@@ -280,7 +277,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
280
277
|
const exportsInfo = moduleGraph.getExportsInfo(module);
|
|
281
278
|
if (!exportsInfo.hasInlinedUsedName(ids, runtime)) return;
|
|
282
279
|
const usedName = exportsInfo.getUsedName(ids, runtime);
|
|
283
|
-
if (usedName
|
|
280
|
+
if (isInlinedUsedName(usedName)) {
|
|
284
281
|
usedName.updateHash(hash);
|
|
285
282
|
}
|
|
286
283
|
}
|
|
@@ -379,8 +376,9 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
379
376
|
{
|
|
380
377
|
name: ids,
|
|
381
378
|
canMangle: true,
|
|
382
|
-
// Need access the export value to trigger side effects for deferred module
|
|
383
|
-
|
|
379
|
+
// Need access the export value to trigger side effects for deferred module.
|
|
380
|
+
// An inlined literal cannot be an assignment target at all.
|
|
381
|
+
canInline: !this.assignment && !ImportPhaseUtils.isDefer(this.phase)
|
|
384
382
|
}
|
|
385
383
|
]
|
|
386
384
|
: Dependency.EXPORTS_OBJECT_REFERENCED;
|
|
@@ -473,6 +471,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
473
471
|
write(this.usedByExports);
|
|
474
472
|
write(this.referencedPropertiesInDestructuring);
|
|
475
473
|
write(this.branchGuards);
|
|
474
|
+
write(this.assignment);
|
|
476
475
|
super.serialize(context);
|
|
477
476
|
}
|
|
478
477
|
|
|
@@ -495,17 +494,20 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
495
494
|
this.usedByExports = read();
|
|
496
495
|
this.referencedPropertiesInDestructuring = read();
|
|
497
496
|
this.branchGuards = read();
|
|
497
|
+
this.assignment = read();
|
|
498
498
|
super.deserialize(context);
|
|
499
499
|
}
|
|
500
500
|
}
|
|
501
501
|
|
|
502
|
-
makeSerializable(
|
|
503
|
-
|
|
502
|
+
makeSerializable(ESMImportSpecifierDependency, [
|
|
503
|
+
"webpack/lib/dependencies/esm/ESMImportSpecifierDependency",
|
|
504
|
+
// TODO in the next major release: remove, it restores the packs written
|
|
505
|
+
// under the name the file had before the ESM rename
|
|
504
506
|
"webpack/lib/dependencies/HarmonyImportSpecifierDependency"
|
|
505
|
-
);
|
|
507
|
+
]);
|
|
506
508
|
|
|
507
|
-
|
|
508
|
-
|
|
509
|
+
ESMImportSpecifierDependency.Template = class ESMImportSpecifierDependencyTemplate extends (
|
|
510
|
+
ESMImportDependency.Template
|
|
509
511
|
) {
|
|
510
512
|
/**
|
|
511
513
|
* Applies the plugin by registering its hooks on the compiler.
|
|
@@ -515,7 +517,7 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
515
517
|
* @returns {void}
|
|
516
518
|
*/
|
|
517
519
|
apply(dependency, source, templateContext) {
|
|
518
|
-
const dep = /** @type {
|
|
520
|
+
const dep = /** @type {ESMImportSpecifierDependency} */ (dependency);
|
|
519
521
|
const { moduleGraph, runtime, initFragments } = templateContext;
|
|
520
522
|
const connection = moduleGraph.getConnection(dep);
|
|
521
523
|
const ids = dep.getIds(moduleGraph);
|
|
@@ -528,7 +530,7 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
528
530
|
initFragments.push(
|
|
529
531
|
new InitFragment(
|
|
530
532
|
`/* unused harmony import specifier */ var ${dep.name};\n`,
|
|
531
|
-
InitFragment.
|
|
533
|
+
InitFragment.STAGE_ESM_IMPORTS,
|
|
532
534
|
0,
|
|
533
535
|
`unused import specifier ${dep.name}`
|
|
534
536
|
)
|
|
@@ -603,7 +605,7 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
603
605
|
const used = destructuredExportsInfo.getUsedName(concatedIds, runtime);
|
|
604
606
|
if (!used) {
|
|
605
607
|
return;
|
|
606
|
-
} else if (used
|
|
608
|
+
} else if (isInlinedUsedName(used)) {
|
|
607
609
|
throw new Error(
|
|
608
610
|
`Should not inline for destructuring name ${concatedIds.join(".")}`
|
|
609
611
|
);
|
|
@@ -628,7 +630,7 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
628
630
|
|
|
629
631
|
/**
|
|
630
632
|
* Returns generated code.
|
|
631
|
-
* @param {
|
|
633
|
+
* @param {ESMImportSpecifierDependency} dep dependency
|
|
632
634
|
* @param {ReplaceSource} source source
|
|
633
635
|
* @param {DependencyTemplateContext} templateContext context
|
|
634
636
|
* @param {Ids} ids ids
|
|
@@ -677,6 +679,15 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
677
679
|
deferredImport: ImportPhaseUtils.isDefer(dep.phase)
|
|
678
680
|
}
|
|
679
681
|
);
|
|
682
|
+
// Concatenation merges the binding into a plain local a write would
|
|
683
|
+
// succeed against. Routing the write at a getter-only property of a
|
|
684
|
+
// throwaway object restores the TypeError the namespace gave it.
|
|
685
|
+
if (dep.assignment) {
|
|
686
|
+
// the local binding, the one name here an export is free not to
|
|
687
|
+
// spell as an identifier: `import { "a-b" as ab }`
|
|
688
|
+
const holder = `{ get ${dep.name}() { return ${exportExpr}; } }`;
|
|
689
|
+
exportExpr = `${dep.asiSafe ? "" : ";"}(${holder}).${dep.name}`;
|
|
690
|
+
}
|
|
680
691
|
}
|
|
681
692
|
} else {
|
|
682
693
|
super.apply(dep, source, templateContext);
|
|
@@ -708,11 +719,49 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
708
719
|
!dep.referencedPropertiesInDestructuring &&
|
|
709
720
|
!ImportPhaseUtils.isDefer(dep.phase)
|
|
710
721
|
});
|
|
722
|
+
|
|
723
|
+
// Only a bare reference reads exactly what the binding names.
|
|
724
|
+
if (
|
|
725
|
+
dep.directImport === true &&
|
|
726
|
+
templateContext.dependencyTemplates.importBindingScopes
|
|
727
|
+
) {
|
|
728
|
+
// A call site drops the `this` a member access would bind, which is
|
|
729
|
+
// a statement's concern rather than the binding's value.
|
|
730
|
+
const value = dep.call
|
|
731
|
+
? runtimeTemplate.exportFromImport({
|
|
732
|
+
moduleGraph,
|
|
733
|
+
module: /** @type {Module} */ (moduleGraph.getModule(dep)),
|
|
734
|
+
chunkGraph: templateContext.chunkGraph,
|
|
735
|
+
request: dep.request,
|
|
736
|
+
exportName: ids,
|
|
737
|
+
originModule: module,
|
|
738
|
+
asiSafe: true,
|
|
739
|
+
isCall: false,
|
|
740
|
+
callContext: false,
|
|
741
|
+
defaultInterop: true,
|
|
742
|
+
importVar: dep.getImportVar(moduleGraph),
|
|
743
|
+
initFragments,
|
|
744
|
+
runtime,
|
|
745
|
+
runtimeRequirements,
|
|
746
|
+
dependency: dep,
|
|
747
|
+
mangleableNamespace: false
|
|
748
|
+
})
|
|
749
|
+
: exportExpr;
|
|
750
|
+
if (!value.startsWith(";")) {
|
|
751
|
+
this._recordImportBinding(templateContext, dep.name, value);
|
|
752
|
+
}
|
|
753
|
+
}
|
|
711
754
|
}
|
|
712
755
|
return exportExpr;
|
|
713
756
|
}
|
|
714
757
|
};
|
|
715
758
|
|
|
716
|
-
|
|
759
|
+
ESMImportSpecifierDependency.idsSymbol = idsSymbol;
|
|
760
|
+
|
|
761
|
+
/** @type {Set<keyof DependencyKinds>} */
|
|
762
|
+
ESMImportSpecifierDependency.KINDS = new Set([
|
|
763
|
+
...ESMImportDependency.KINDS,
|
|
764
|
+
"esm-import-specifier"
|
|
765
|
+
]);
|
|
717
766
|
|
|
718
|
-
module.exports =
|
|
767
|
+
module.exports = ESMImportSpecifierDependency;
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
Author Tobias Koppers @sokra
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
const {
|
|
9
|
+
JAVASCRIPT_MODULE_TYPE_AUTO,
|
|
10
|
+
JAVASCRIPT_MODULE_TYPE_ESM
|
|
11
|
+
} = require("../../module/ModuleTypeConstants");
|
|
12
|
+
const CreateRequireParserPlugin = require("./CreateRequireParserPlugin");
|
|
13
|
+
const ESMAcceptDependency = require("./ESMAcceptDependency");
|
|
14
|
+
const ESMAcceptImportDependency = require("./ESMAcceptImportDependency");
|
|
15
|
+
const ESMCompatibilityDependency = require("./ESMCompatibilityDependency");
|
|
16
|
+
const ESMDetectionParserPlugin = require("./ESMDetectionParserPlugin");
|
|
17
|
+
const ESMEvaluatedImportSpecifierDependency = require("./ESMEvaluatedImportSpecifierDependency");
|
|
18
|
+
const ESMExportDependencyParserPlugin = require("./ESMExportDependencyParserPlugin");
|
|
19
|
+
const ESMExportExpressionDependency = require("./ESMExportExpressionDependency");
|
|
20
|
+
const ESMExportHeaderDependency = require("./ESMExportHeaderDependency");
|
|
21
|
+
const ESMExportImportedSideEffectDependency = require("./ESMExportImportedSideEffectDependency");
|
|
22
|
+
const ESMExportImportedSpecifierDependency = require("./ESMExportImportedSpecifierDependency");
|
|
23
|
+
const ESMExportSpecifierDependency = require("./ESMExportSpecifierDependency");
|
|
24
|
+
const ESMImportBareSideEffectDependency = require("./ESMImportBareSideEffectDependency");
|
|
25
|
+
const ESMImportDependencyParserPlugin = require("./ESMImportDependencyParserPlugin");
|
|
26
|
+
const ESMImportSideEffectDependency = require("./ESMImportSideEffectDependency");
|
|
27
|
+
const ESMImportSpecifierDependency = require("./ESMImportSpecifierDependency");
|
|
28
|
+
|
|
29
|
+
const ESMTopLevelThisParserPlugin = require("./ESMTopLevelThisParserPlugin");
|
|
30
|
+
const TopLevelAwaitDependency = require("./TopLevelAwaitDependency");
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @import {
|
|
34
|
+
* JavascriptParserOptions
|
|
35
|
+
* } from "../../../declarations/WebpackOptions"
|
|
36
|
+
*/
|
|
37
|
+
/** @import Compiler from "../../Compiler" */
|
|
38
|
+
/** @import Parser from "../../javascript/JavascriptParser" */
|
|
39
|
+
/** @import { BuildInfo } from "../../module/Module" */
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Defines the harmony modules plugin options type used by this module.
|
|
43
|
+
* @typedef {object} ESMModulesPluginOptions
|
|
44
|
+
* @property {boolean=} deferImport
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
const PLUGIN_NAME = "ESMModulesPlugin";
|
|
48
|
+
|
|
49
|
+
class ESMModulesPlugin {
|
|
50
|
+
/**
|
|
51
|
+
* Creates an instance of ESMModulesPlugin.
|
|
52
|
+
* @param {ESMModulesPluginOptions} options options
|
|
53
|
+
*/
|
|
54
|
+
constructor(options) {
|
|
55
|
+
/** @type {ESMModulesPluginOptions} */
|
|
56
|
+
this.options = options;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
61
|
+
* @param {Compiler} compiler the compiler instance
|
|
62
|
+
* @returns {void}
|
|
63
|
+
*/
|
|
64
|
+
apply(compiler) {
|
|
65
|
+
compiler.hooks.compilation.tap(
|
|
66
|
+
PLUGIN_NAME,
|
|
67
|
+
(compilation, { normalModuleFactory }) => {
|
|
68
|
+
compilation.dependencyTemplates.set(
|
|
69
|
+
ESMCompatibilityDependency,
|
|
70
|
+
new ESMCompatibilityDependency.Template()
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
compilation.dependencyTemplates.set(
|
|
74
|
+
TopLevelAwaitDependency,
|
|
75
|
+
new TopLevelAwaitDependency.Template()
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
compilation.dependencyFactories.set(
|
|
79
|
+
ESMImportSideEffectDependency,
|
|
80
|
+
normalModuleFactory
|
|
81
|
+
);
|
|
82
|
+
compilation.dependencyTemplates.set(
|
|
83
|
+
ESMImportSideEffectDependency,
|
|
84
|
+
new ESMImportSideEffectDependency.Template()
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
compilation.dependencyFactories.set(
|
|
88
|
+
ESMImportBareSideEffectDependency,
|
|
89
|
+
normalModuleFactory
|
|
90
|
+
);
|
|
91
|
+
compilation.dependencyTemplates.set(
|
|
92
|
+
ESMImportBareSideEffectDependency,
|
|
93
|
+
new ESMImportBareSideEffectDependency.Template()
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
compilation.dependencyFactories.set(
|
|
97
|
+
ESMExportImportedSideEffectDependency,
|
|
98
|
+
normalModuleFactory
|
|
99
|
+
);
|
|
100
|
+
compilation.dependencyTemplates.set(
|
|
101
|
+
ESMExportImportedSideEffectDependency,
|
|
102
|
+
new ESMExportImportedSideEffectDependency.Template()
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
compilation.dependencyFactories.set(
|
|
106
|
+
ESMImportSpecifierDependency,
|
|
107
|
+
normalModuleFactory
|
|
108
|
+
);
|
|
109
|
+
compilation.dependencyTemplates.set(
|
|
110
|
+
ESMImportSpecifierDependency,
|
|
111
|
+
new ESMImportSpecifierDependency.Template()
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
compilation.dependencyFactories.set(
|
|
115
|
+
ESMEvaluatedImportSpecifierDependency,
|
|
116
|
+
normalModuleFactory
|
|
117
|
+
);
|
|
118
|
+
compilation.dependencyTemplates.set(
|
|
119
|
+
ESMEvaluatedImportSpecifierDependency,
|
|
120
|
+
new ESMEvaluatedImportSpecifierDependency.Template()
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
compilation.dependencyTemplates.set(
|
|
124
|
+
ESMExportHeaderDependency,
|
|
125
|
+
new ESMExportHeaderDependency.Template()
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
compilation.dependencyTemplates.set(
|
|
129
|
+
ESMExportExpressionDependency,
|
|
130
|
+
new ESMExportExpressionDependency.Template()
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
compilation.dependencyTemplates.set(
|
|
134
|
+
ESMExportSpecifierDependency,
|
|
135
|
+
new ESMExportSpecifierDependency.Template()
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
compilation.dependencyFactories.set(
|
|
139
|
+
ESMExportImportedSpecifierDependency,
|
|
140
|
+
normalModuleFactory
|
|
141
|
+
);
|
|
142
|
+
compilation.dependencyTemplates.set(
|
|
143
|
+
ESMExportImportedSpecifierDependency,
|
|
144
|
+
new ESMExportImportedSpecifierDependency.Template()
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
compilation.dependencyTemplates.set(
|
|
148
|
+
ESMAcceptDependency,
|
|
149
|
+
new ESMAcceptDependency.Template()
|
|
150
|
+
);
|
|
151
|
+
|
|
152
|
+
compilation.dependencyFactories.set(
|
|
153
|
+
ESMAcceptImportDependency,
|
|
154
|
+
normalModuleFactory
|
|
155
|
+
);
|
|
156
|
+
compilation.dependencyTemplates.set(
|
|
157
|
+
ESMAcceptImportDependency,
|
|
158
|
+
new ESMAcceptImportDependency.Template()
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Handles the hook callback for this code path.
|
|
163
|
+
* @param {Parser} parser parser parser
|
|
164
|
+
* @param {JavascriptParserOptions} parserOptions parserOptions
|
|
165
|
+
* @returns {void}
|
|
166
|
+
*/
|
|
167
|
+
const handler = (parser, parserOptions) => {
|
|
168
|
+
// TODO in the next major release: remove the `harmony` half,
|
|
169
|
+
// `esm` is its new spelling
|
|
170
|
+
const esm =
|
|
171
|
+
parserOptions.esm !== undefined
|
|
172
|
+
? parserOptions.esm
|
|
173
|
+
: parserOptions.harmony;
|
|
174
|
+
if (esm !== undefined && !esm) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
if (parserOptions.specNamespaceObject) {
|
|
179
|
+
// Recorded on the module, because an importer asks the module it
|
|
180
|
+
// imports whether its namespace is a spec exotic object.
|
|
181
|
+
parser.hooks.program.tap(PLUGIN_NAME, () => {
|
|
182
|
+
/** @type {BuildInfo} */
|
|
183
|
+
(parser.state.module.buildInfo).specNamespaceObject = true;
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
new ESMDetectionParserPlugin().apply(parser);
|
|
188
|
+
new ESMImportDependencyParserPlugin(parserOptions).apply(parser);
|
|
189
|
+
new ESMExportDependencyParserPlugin(parserOptions).apply(parser);
|
|
190
|
+
new ESMTopLevelThisParserPlugin().apply(parser);
|
|
191
|
+
if (parserOptions.createRequire) {
|
|
192
|
+
new CreateRequireParserPlugin(parserOptions).apply(parser);
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
normalModuleFactory.hooks.parser
|
|
197
|
+
.for(JAVASCRIPT_MODULE_TYPE_AUTO)
|
|
198
|
+
.tap(PLUGIN_NAME, handler);
|
|
199
|
+
normalModuleFactory.hooks.parser
|
|
200
|
+
.for(JAVASCRIPT_MODULE_TYPE_ESM)
|
|
201
|
+
.tap(PLUGIN_NAME, handler);
|
|
202
|
+
}
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
module.exports = ESMModulesPlugin;
|
package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js}
RENAMED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const ConstDependency = require("
|
|
9
|
-
const
|
|
8
|
+
const ConstDependency = require("../core/ConstDependency");
|
|
9
|
+
const ESMExports = require("./ESMExports");
|
|
10
10
|
|
|
11
|
-
/** @import JavascriptParser, { Range } from "
|
|
11
|
+
/** @import JavascriptParser, { Range } from "../../javascript/JavascriptParser" */
|
|
12
12
|
|
|
13
|
-
const PLUGIN_NAME = "
|
|
13
|
+
const PLUGIN_NAME = "ESMTopLevelThisParserPlugin";
|
|
14
14
|
|
|
15
|
-
class
|
|
15
|
+
class ESMTopLevelThisParserPlugin {
|
|
16
16
|
/**
|
|
17
17
|
* Applies the plugin by registering its hooks on the compiler.
|
|
18
18
|
* @param {JavascriptParser} parser the parser
|
|
@@ -21,7 +21,7 @@ class HarmonyTopLevelThisParserPlugin {
|
|
|
21
21
|
apply(parser) {
|
|
22
22
|
parser.hooks.expression.for("this").tap(PLUGIN_NAME, (node) => {
|
|
23
23
|
if (!parser.scope.topLevelScope) return;
|
|
24
|
-
if (
|
|
24
|
+
if (ESMExports.isEnabled(parser.state)) {
|
|
25
25
|
const dep = new ConstDependency(
|
|
26
26
|
"undefined",
|
|
27
27
|
/** @type {Range} */ (node.range),
|
|
@@ -35,4 +35,4 @@ class HarmonyTopLevelThisParserPlugin {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
module.exports =
|
|
38
|
+
module.exports = ESMTopLevelThisParserPlugin;
|
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
"use strict";
|
|
6
6
|
|
|
7
|
-
const isGeneratorLowered = require("
|
|
8
|
-
const makeSerializable = require("
|
|
9
|
-
const NullDependency = require("
|
|
7
|
+
const isGeneratorLowered = require("../../async-modules/isGeneratorLowered");
|
|
8
|
+
const makeSerializable = require("../../util/makeSerializable");
|
|
9
|
+
const NullDependency = require("../core/NullDependency");
|
|
10
10
|
|
|
11
11
|
/** @import { ReplaceSource } from "webpack-sources" */
|
|
12
|
-
/** @import Dependency from "
|
|
13
|
-
/** @import { DependencyTemplateContext } from "
|
|
14
|
-
/** @import Module from "
|
|
15
|
-
/** @import { Range } from "
|
|
12
|
+
/** @import Dependency from "../../graph/Dependency" */
|
|
13
|
+
/** @import { DependencyTemplateContext } from "../../template/DependencyTemplate" */
|
|
14
|
+
/** @import Module from "../../module/Module" */
|
|
15
|
+
/** @import { Range } from "../../javascript/JavascriptParser" */
|
|
16
16
|
/**
|
|
17
17
|
* @import {
|
|
18
18
|
* ObjectDeserializerContext,
|
|
19
19
|
* ObjectSerializerContext
|
|
20
|
-
* } from "
|
|
20
|
+
* } from "../../serialization/ObjectMiddleware"
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -60,10 +60,11 @@ class TopLevelAwaitDependency extends NullDependency {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
makeSerializable(
|
|
64
|
-
TopLevelAwaitDependency,
|
|
63
|
+
makeSerializable(TopLevelAwaitDependency, [
|
|
64
|
+
"webpack/lib/dependencies/esm/TopLevelAwaitDependency",
|
|
65
|
+
// TODO in the next major release: remove, they restore pre-move cache packs
|
|
65
66
|
"webpack/lib/dependencies/TopLevelAwaitDependency"
|
|
66
|
-
);
|
|
67
|
+
]);
|
|
67
68
|
|
|
68
69
|
TopLevelAwaitDependency.Template = class TopLevelAwaitDependencyTemplate extends (
|
|
69
70
|
NullDependency.Template
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
/** @import { BuildMeta } from "
|
|
9
|
-
/** @import { JavascriptParserState } from "
|
|
8
|
+
/** @import { BuildMeta } from "../../module/Module" */
|
|
9
|
+
/** @import { JavascriptParserState } from "../../javascript/JavascriptParser" */
|
|
10
10
|
|
|
11
11
|
/** @type {WeakMap<JavascriptParserState, boolean>} */
|
|
12
12
|
const parserStateExportsState = new WeakMap();
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
/** @import Dependency from "
|
|
9
|
-
/** @import Module from "
|
|
10
|
-
/** @import ModuleGraph from "
|
|
11
|
-
/** @import { Range } from "
|
|
8
|
+
/** @import Dependency from "../../graph/Dependency" */
|
|
9
|
+
/** @import Module from "../../module/Module" */
|
|
10
|
+
/** @import ModuleGraph from "../../graph/ModuleGraph" */
|
|
11
|
+
/** @import { Range } from "../../javascript/JavascriptParser" */
|
|
12
12
|
|
|
13
13
|
/** @typedef {Range[]} IdRanges */
|
|
14
14
|
|
|
@@ -39,10 +39,9 @@ module.exports.getTrimmedIdsAndRange = (
|
|
|
39
39
|
);
|
|
40
40
|
let trimmedRange = untrimmedRange;
|
|
41
41
|
if (trimmedIds.length !== untrimmedIds.length) {
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
// Use this to find the correct replacement range based on the number of ids that were trimmed.
|
|
42
|
+
// `dep.idRanges` is right-aligned with `dep.names`: the two may differ in
|
|
43
|
+
// length, but their last elements correspond, which is what turns the count
|
|
44
|
+
// of trimmed ids into the replacement range.
|
|
46
45
|
const idx =
|
|
47
46
|
ranges === undefined
|
|
48
47
|
? -1 /* trigger failure case below */
|
|
@@ -52,7 +51,7 @@ module.exports.getTrimmedIdsAndRange = (
|
|
|
52
51
|
// Should not happen but we can't throw an error here because of backward compatibility with
|
|
53
52
|
// external plugins in wp5. Instead, we just disable trimming for now. This may break some minifiers.
|
|
54
53
|
trimmedIds = untrimmedIds;
|
|
55
|
-
// TODO
|
|
54
|
+
// TODO in the next major release: remove the "trimmedIds = ids" above and uncomment the following line instead.
|
|
56
55
|
// throw new Error("Missing range starts data for id replacement trimming.");
|
|
57
56
|
} else {
|
|
58
57
|
trimmedRange = /** @type {Range[]} */ (ranges)[idx];
|