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
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} */
|
|
@@ -138,7 +133,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
138
133
|
this.assignment = undefined;
|
|
139
134
|
}
|
|
140
135
|
|
|
141
|
-
// TODO
|
|
136
|
+
// TODO in the next major release: remove
|
|
142
137
|
/**
|
|
143
138
|
* Returns id.
|
|
144
139
|
* @deprecated
|
|
@@ -147,7 +142,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
147
142
|
throw new Error("id was renamed to ids and type changed to string[]");
|
|
148
143
|
}
|
|
149
144
|
|
|
150
|
-
// TODO
|
|
145
|
+
// TODO in the next major release: remove
|
|
151
146
|
/**
|
|
152
147
|
* Returns id.
|
|
153
148
|
* @deprecated
|
|
@@ -156,7 +151,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
156
151
|
throw new Error("id was renamed to ids and type changed to string[]");
|
|
157
152
|
}
|
|
158
153
|
|
|
159
|
-
// TODO
|
|
154
|
+
// TODO in the next major release: remove
|
|
160
155
|
/**
|
|
161
156
|
* Updates id.
|
|
162
157
|
* @deprecated
|
|
@@ -173,8 +168,11 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
173
168
|
* Returns the export name this dependency requests from its target module (lazy barrel optimization).
|
|
174
169
|
* @returns {string | true | null} export name, true for all exports, null for none
|
|
175
170
|
*/
|
|
176
|
-
|
|
177
|
-
|
|
171
|
+
get forwardId() {
|
|
172
|
+
// SideEffectsFlagPlugin keeps a call with the namespace as `this` on the
|
|
173
|
+
// barrel, so the barrel runs whole
|
|
174
|
+
if (this.ids.length === 0 || this.namespaceObjectAsContext) return true;
|
|
175
|
+
return this.ids[0];
|
|
178
176
|
}
|
|
179
177
|
|
|
180
178
|
/**
|
|
@@ -233,7 +231,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
233
231
|
if (cached !== undefined) return cached;
|
|
234
232
|
/** @type {GetConditionFn} */
|
|
235
233
|
const condition = (connection, runtime) => {
|
|
236
|
-
const dep = /** @type {
|
|
234
|
+
const dep = /** @type {ESMImportSpecifierDependency} */ (
|
|
237
235
|
connection.dependency
|
|
238
236
|
);
|
|
239
237
|
if (usedByExportsCondition !== null) {
|
|
@@ -255,7 +253,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
255
253
|
const guards = dep.branchGuards;
|
|
256
254
|
if (
|
|
257
255
|
guards !== undefined &&
|
|
258
|
-
|
|
256
|
+
ESMImportGuard.isDeadByGuards(guards, moduleGraph, runtime)
|
|
259
257
|
) {
|
|
260
258
|
return false;
|
|
261
259
|
}
|
|
@@ -282,7 +280,7 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
282
280
|
const exportsInfo = moduleGraph.getExportsInfo(module);
|
|
283
281
|
if (!exportsInfo.hasInlinedUsedName(ids, runtime)) return;
|
|
284
282
|
const usedName = exportsInfo.getUsedName(ids, runtime);
|
|
285
|
-
if (usedName
|
|
283
|
+
if (isInlinedUsedName(usedName)) {
|
|
286
284
|
usedName.updateHash(hash);
|
|
287
285
|
}
|
|
288
286
|
}
|
|
@@ -504,13 +502,15 @@ class HarmonyImportSpecifierDependency extends HarmonyImportDependency {
|
|
|
504
502
|
}
|
|
505
503
|
}
|
|
506
504
|
|
|
507
|
-
makeSerializable(
|
|
508
|
-
|
|
505
|
+
makeSerializable(ESMImportSpecifierDependency, [
|
|
506
|
+
"webpack/lib/dependencies/esm/ESMImportSpecifierDependency",
|
|
507
|
+
// TODO in the next major release: remove, it restores the packs written
|
|
508
|
+
// under the name the file had before the ESM rename
|
|
509
509
|
"webpack/lib/dependencies/HarmonyImportSpecifierDependency"
|
|
510
|
-
);
|
|
510
|
+
]);
|
|
511
511
|
|
|
512
|
-
|
|
513
|
-
|
|
512
|
+
ESMImportSpecifierDependency.Template = class ESMImportSpecifierDependencyTemplate extends (
|
|
513
|
+
ESMImportDependency.Template
|
|
514
514
|
) {
|
|
515
515
|
/**
|
|
516
516
|
* Applies the plugin by registering its hooks on the compiler.
|
|
@@ -520,7 +520,7 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
520
520
|
* @returns {void}
|
|
521
521
|
*/
|
|
522
522
|
apply(dependency, source, templateContext) {
|
|
523
|
-
const dep = /** @type {
|
|
523
|
+
const dep = /** @type {ESMImportSpecifierDependency} */ (dependency);
|
|
524
524
|
const { moduleGraph, runtime, initFragments } = templateContext;
|
|
525
525
|
const connection = moduleGraph.getConnection(dep);
|
|
526
526
|
const ids = dep.getIds(moduleGraph);
|
|
@@ -533,7 +533,7 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
533
533
|
initFragments.push(
|
|
534
534
|
new InitFragment(
|
|
535
535
|
`/* unused harmony import specifier */ var ${dep.name};\n`,
|
|
536
|
-
InitFragment.
|
|
536
|
+
InitFragment.STAGE_ESM_IMPORTS,
|
|
537
537
|
0,
|
|
538
538
|
`unused import specifier ${dep.name}`
|
|
539
539
|
)
|
|
@@ -608,7 +608,7 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
608
608
|
const used = destructuredExportsInfo.getUsedName(concatedIds, runtime);
|
|
609
609
|
if (!used) {
|
|
610
610
|
return;
|
|
611
|
-
} else if (used
|
|
611
|
+
} else if (isInlinedUsedName(used)) {
|
|
612
612
|
throw new Error(
|
|
613
613
|
`Should not inline for destructuring name ${concatedIds.join(".")}`
|
|
614
614
|
);
|
|
@@ -633,7 +633,7 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
633
633
|
|
|
634
634
|
/**
|
|
635
635
|
* Returns generated code.
|
|
636
|
-
* @param {
|
|
636
|
+
* @param {ESMImportSpecifierDependency} dep dependency
|
|
637
637
|
* @param {ReplaceSource} source source
|
|
638
638
|
* @param {DependencyTemplateContext} templateContext context
|
|
639
639
|
* @param {Ids} ids ids
|
|
@@ -722,11 +722,49 @@ HarmonyImportSpecifierDependency.Template = class HarmonyImportSpecifierDependen
|
|
|
722
722
|
!dep.referencedPropertiesInDestructuring &&
|
|
723
723
|
!ImportPhaseUtils.isDefer(dep.phase)
|
|
724
724
|
});
|
|
725
|
+
|
|
726
|
+
// Only a bare reference reads exactly what the binding names.
|
|
727
|
+
if (
|
|
728
|
+
dep.directImport === true &&
|
|
729
|
+
templateContext.dependencyTemplates.importBindingScopes
|
|
730
|
+
) {
|
|
731
|
+
// A call site drops the `this` a member access would bind, which is
|
|
732
|
+
// a statement's concern rather than the binding's value.
|
|
733
|
+
const value = dep.call
|
|
734
|
+
? runtimeTemplate.exportFromImport({
|
|
735
|
+
moduleGraph,
|
|
736
|
+
module: /** @type {Module} */ (moduleGraph.getModule(dep)),
|
|
737
|
+
chunkGraph: templateContext.chunkGraph,
|
|
738
|
+
request: dep.request,
|
|
739
|
+
exportName: ids,
|
|
740
|
+
originModule: module,
|
|
741
|
+
asiSafe: true,
|
|
742
|
+
isCall: false,
|
|
743
|
+
callContext: false,
|
|
744
|
+
defaultInterop: true,
|
|
745
|
+
importVar: dep.getImportVar(moduleGraph),
|
|
746
|
+
initFragments,
|
|
747
|
+
runtime,
|
|
748
|
+
runtimeRequirements,
|
|
749
|
+
dependency: dep,
|
|
750
|
+
mangleableNamespace: false
|
|
751
|
+
})
|
|
752
|
+
: exportExpr;
|
|
753
|
+
if (!value.startsWith(";")) {
|
|
754
|
+
this._recordImportBinding(templateContext, dep.name, value);
|
|
755
|
+
}
|
|
756
|
+
}
|
|
725
757
|
}
|
|
726
758
|
return exportExpr;
|
|
727
759
|
}
|
|
728
760
|
};
|
|
729
761
|
|
|
730
|
-
|
|
762
|
+
ESMImportSpecifierDependency.idsSymbol = idsSymbol;
|
|
763
|
+
|
|
764
|
+
/** @type {Set<keyof DependencyKinds>} */
|
|
765
|
+
ESMImportSpecifierDependency.KINDS = new Set([
|
|
766
|
+
...ESMImportDependency.KINDS,
|
|
767
|
+
"esm-import-specifier"
|
|
768
|
+
]);
|
|
731
769
|
|
|
732
|
-
module.exports =
|
|
770
|
+
module.exports = ESMImportSpecifierDependency;
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
Author Alexander Akait @alexander-akait
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
const RuntimeGlobals = require("../../runtime/RuntimeGlobals");
|
|
9
|
+
const makeSerializable = require("../../util/makeSerializable");
|
|
10
|
+
const { propertyAccess } = require("../../util/property");
|
|
11
|
+
const { getRuntimeKey } = require("../../util/runtime");
|
|
12
|
+
const NullDependency = require("../core/NullDependency");
|
|
13
|
+
|
|
14
|
+
// ReplaceSource sorts fractional positions before flooring them to source offsets.
|
|
15
|
+
// Value wrappers open before sync calls and close after them; statement inserts
|
|
16
|
+
// and body closures follow both.
|
|
17
|
+
const SYNC_START_OFFSET = 0.5;
|
|
18
|
+
const VALUE_END_OFFSET = 0.5;
|
|
19
|
+
const AFTER_VALUE_OFFSET = 0.75;
|
|
20
|
+
|
|
21
|
+
/** @import { ReplaceSource } from "webpack-sources" */
|
|
22
|
+
/** @import Dependency, { DependencyKinds, UpdateHashContext } from "../../graph/Dependency" */
|
|
23
|
+
/** @import ModuleGraph, { LiveBinding } from "../../graph/ModuleGraph" */
|
|
24
|
+
/** @import Module from "../../module/Module" */
|
|
25
|
+
/** @import { DependencyTemplateContext } from "../../template/DependencyTemplate" */
|
|
26
|
+
/** @import Hash from "../../util/Hash" */
|
|
27
|
+
/** @import { RuntimeSpec } from "../../util/runtime" */
|
|
28
|
+
/** @typedef {import("../../serialization/ObjectMiddleware").ObjectDeserializerContext<[string[], number[], number[], boolean, boolean, boolean]>} ObjectDeserializerContext */
|
|
29
|
+
/** @typedef {import("../../serialization/ObjectMiddleware").ObjectSerializerContext<[string[], number[], number[], boolean, boolean, boolean]>} ObjectSerializerContext */
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* The names the chunk's scope declares for a declaration, and how the module keeps them.
|
|
33
|
+
* @typedef {object} HoistedNames
|
|
34
|
+
* @property {string[]} names the declared name of each name
|
|
35
|
+
* @property {boolean} mirrored whether the module keeps its declaration and mirrors each write
|
|
36
|
+
* @property {boolean} registered whether it mirrors them through the setters a module library registers
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* A module-level binding a module library may declare in the chunk's scope under a
|
|
41
|
+
* reserved name, so the library exports the binding itself; it holds every reference,
|
|
42
|
+
* and every write a module keeping its declaration mirrors there instead.
|
|
43
|
+
*/
|
|
44
|
+
class ESMLiveExportDependency extends NullDependency {
|
|
45
|
+
/**
|
|
46
|
+
* Creates an instance of ESMLiveExportDependency.
|
|
47
|
+
* @param {string[]} names every name the declaration declares
|
|
48
|
+
* @param {number[]} occurrences flat triples of start, end and `name index * KINDS_PER_NAME + kind` renaming takes, a kind from {@link ESMLiveExportDependency.REFERENCE}
|
|
49
|
+
* @param {number[]} mirrors the same triples for where a module keeping its declaration mirrors a write, a kind from {@link ESMLiveExportDependency.SYNC}
|
|
50
|
+
* @param {boolean} readByEval whether the module calls `eval`, which reads the names as written
|
|
51
|
+
* @param {boolean} hot whether a hot update replaces the module, which then only mirrors, as renaming cannot reach it
|
|
52
|
+
* @param {boolean} earlyUse whether the module uses a `let` or class above its declaration, where only its own declaration throws
|
|
53
|
+
*/
|
|
54
|
+
constructor(names, occurrences, mirrors, readByEval, hot, earlyUse) {
|
|
55
|
+
super();
|
|
56
|
+
this.names = names;
|
|
57
|
+
this.occurrences = occurrences;
|
|
58
|
+
this.mirrors = mirrors;
|
|
59
|
+
this.readByEval = readByEval;
|
|
60
|
+
this.hot = hot;
|
|
61
|
+
this.earlyUse = earlyUse;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
get type() {
|
|
65
|
+
return "harmony live export";
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Returns the names the chunk's scope declares for this runtime, if it does.
|
|
70
|
+
* @param {ModuleGraph} moduleGraph the module graph
|
|
71
|
+
* @param {RuntimeSpec} runtime the runtime the module is generated for
|
|
72
|
+
* @returns {HoistedNames | undefined} the names and how the module keeps them
|
|
73
|
+
*/
|
|
74
|
+
getHoistedNames(moduleGraph, runtime) {
|
|
75
|
+
const meta = moduleGraph.getMetaIfExisting(
|
|
76
|
+
/** @type {Module} */ (moduleGraph.getParentModule(this))
|
|
77
|
+
);
|
|
78
|
+
if (meta === undefined) return;
|
|
79
|
+
const runtimeKey = getRuntimeKey(runtime);
|
|
80
|
+
for (const bindings of [meta.liveSetters, meta.liveBindings]) {
|
|
81
|
+
if (bindings === undefined) continue;
|
|
82
|
+
const first = bindings.get(this.names[0]);
|
|
83
|
+
if (first === undefined || !first.runtimes.has(runtimeKey)) continue;
|
|
84
|
+
return {
|
|
85
|
+
names: this.names.map(
|
|
86
|
+
(name) => /** @type {LiveBinding} */ (bindings.get(name)).name
|
|
87
|
+
),
|
|
88
|
+
mirrored: bindings === meta.liveSetters,
|
|
89
|
+
registered: first.registered.has(runtimeKey)
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Updates the hash with the data contributed by this instance.
|
|
96
|
+
* @param {Hash} hash hash to be updated
|
|
97
|
+
* @param {UpdateHashContext} context context
|
|
98
|
+
* @returns {void}
|
|
99
|
+
*/
|
|
100
|
+
updateHash(hash, context) {
|
|
101
|
+
const hoisted = this.getHoistedNames(
|
|
102
|
+
context.chunkGraph.moduleGraph,
|
|
103
|
+
context.runtime
|
|
104
|
+
);
|
|
105
|
+
if (hoisted === undefined) return;
|
|
106
|
+
hash.update(
|
|
107
|
+
`${hoisted.names.join()}|${hoisted.mirrored}|${hoisted.registered}`
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Serializes this instance into the provided serializer context.
|
|
113
|
+
* @param {ObjectSerializerContext} context context
|
|
114
|
+
*/
|
|
115
|
+
serialize(context) {
|
|
116
|
+
context
|
|
117
|
+
.write(this.names)
|
|
118
|
+
.write(this.occurrences)
|
|
119
|
+
.write(this.mirrors)
|
|
120
|
+
.write(this.readByEval)
|
|
121
|
+
.write(this.hot)
|
|
122
|
+
.write(this.earlyUse);
|
|
123
|
+
super.serialize(context);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Restores this instance from the provided deserializer context.
|
|
128
|
+
* @param {ObjectDeserializerContext} context context
|
|
129
|
+
*/
|
|
130
|
+
deserialize(context) {
|
|
131
|
+
this.names = context.read();
|
|
132
|
+
const c1 = context.rest;
|
|
133
|
+
this.occurrences = c1.read();
|
|
134
|
+
const c2 = c1.rest;
|
|
135
|
+
this.mirrors = c2.read();
|
|
136
|
+
const c3 = c2.rest;
|
|
137
|
+
this.readByEval = c3.read();
|
|
138
|
+
const c4 = c3.rest;
|
|
139
|
+
this.hot = c4.read();
|
|
140
|
+
const c5 = c4.rest;
|
|
141
|
+
this.earlyUse = c5.read();
|
|
142
|
+
super.deserialize(c5.rest);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
makeSerializable(
|
|
147
|
+
ESMLiveExportDependency,
|
|
148
|
+
"webpack/lib/dependencies/esm/ESMLiveExportDependency"
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
ESMLiveExportDependency.Template = class ESMLiveExportDependencyTemplate extends (
|
|
152
|
+
NullDependency.Template
|
|
153
|
+
) {
|
|
154
|
+
/**
|
|
155
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
156
|
+
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
157
|
+
* @param {ReplaceSource} source the current replace source which can be modified
|
|
158
|
+
* @param {DependencyTemplateContext} templateContext the context object
|
|
159
|
+
* @returns {void}
|
|
160
|
+
*/
|
|
161
|
+
apply(
|
|
162
|
+
dependency,
|
|
163
|
+
source,
|
|
164
|
+
{ moduleGraph, chunkGraph, module, runtime, runtimeRequirements }
|
|
165
|
+
) {
|
|
166
|
+
const dep = /** @type {ESMLiveExportDependency} */ (dependency);
|
|
167
|
+
const hoisted = dep.getHoistedNames(moduleGraph, runtime);
|
|
168
|
+
if (hoisted === undefined) return;
|
|
169
|
+
const { occurrences, mirrors, names } = dep;
|
|
170
|
+
const kinds = ESMLiveExportDependency.KINDS_PER_NAME;
|
|
171
|
+
if (hoisted.mirrored) {
|
|
172
|
+
const id = hoisted.registered
|
|
173
|
+
? JSON.stringify(chunkGraph.getModuleId(module))
|
|
174
|
+
: "";
|
|
175
|
+
if (hoisted.registered) runtimeRequirements.add(RuntimeGlobals.require);
|
|
176
|
+
/** @type {string[]} */
|
|
177
|
+
const helpers = [];
|
|
178
|
+
for (let index = 0; index < names.length; index++) {
|
|
179
|
+
const name = names[index];
|
|
180
|
+
const helper = `__webpack_live_sync_${name}__`;
|
|
181
|
+
helpers.push(helper);
|
|
182
|
+
// Hoisted, so any write may call it; a value passed with `v` set is what
|
|
183
|
+
// the binding is about to hold, read before the binding is initialized.
|
|
184
|
+
const sync = hoisted.registered
|
|
185
|
+
? `\tvar s = ${RuntimeGlobals.liveExportSetters};\n` +
|
|
186
|
+
`\ts = s && s[${id}];\n` +
|
|
187
|
+
`\ts = s && s${propertyAccess([name])};\n` +
|
|
188
|
+
`\tif (s) for (var i = 0; i < s.length; i++) s[i](v ? r : ${name});\n`
|
|
189
|
+
: `\t${hoisted.names[index]} = v ? r : ${name};\n`;
|
|
190
|
+
source.insert(
|
|
191
|
+
0,
|
|
192
|
+
`function ${helper}(r, v) {\n${
|
|
193
|
+
// an eval() call may come before the binding is initialized
|
|
194
|
+
dep.readByEval
|
|
195
|
+
? `\ttry {\n\t${sync.replace(/\n\t/g, "\n\t\t")}\t} catch (e) {}\n`
|
|
196
|
+
: sync
|
|
197
|
+
}\treturn r;\n}\n`
|
|
198
|
+
);
|
|
199
|
+
}
|
|
200
|
+
for (let i = 0; i < mirrors.length; i += 3) {
|
|
201
|
+
const start = mirrors[i];
|
|
202
|
+
const end = mirrors[i + 1];
|
|
203
|
+
const helper = helpers[Math.floor(mirrors[i + 2] / kinds)];
|
|
204
|
+
switch (mirrors[i + 2] % kinds) {
|
|
205
|
+
case ESMLiveExportDependency.SYNC:
|
|
206
|
+
source.insert(start + SYNC_START_OFFSET, `${helper}(`);
|
|
207
|
+
source.insert(end, ")");
|
|
208
|
+
break;
|
|
209
|
+
case ESMLiveExportDependency.VALUE:
|
|
210
|
+
source.insert(start, `${helper}((`);
|
|
211
|
+
source.insert(end + VALUE_END_OFFSET, "), 1)");
|
|
212
|
+
break;
|
|
213
|
+
case ESMLiveExportDependency.NAMED_VALUE: {
|
|
214
|
+
// A property key gives the function or class the name the binding did
|
|
215
|
+
const name = names[Math.floor(mirrors[i + 2] / kinds)];
|
|
216
|
+
source.insert(start, `${helper}({ ${name}: `);
|
|
217
|
+
source.insert(end + VALUE_END_OFFSET, ` }.${name}, 1)`);
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
220
|
+
case ESMLiveExportDependency.UNDEFINED:
|
|
221
|
+
source.insert(start, ` = ${helper}(void 0, 1)`);
|
|
222
|
+
break;
|
|
223
|
+
case ESMLiveExportDependency.STATEMENT:
|
|
224
|
+
source.insert(start + AFTER_VALUE_OFFSET, `;${helper}();\n`);
|
|
225
|
+
break;
|
|
226
|
+
case ESMLiveExportDependency.DECLARATOR:
|
|
227
|
+
source.insert(
|
|
228
|
+
start + AFTER_VALUE_OFFSET,
|
|
229
|
+
`, __webpack_live_synced__ = ${helper}()`
|
|
230
|
+
);
|
|
231
|
+
break;
|
|
232
|
+
default:
|
|
233
|
+
source.insert(start, `{;${helper}();`);
|
|
234
|
+
source.insert(end + AFTER_VALUE_OFFSET, "}");
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
for (let i = 0; i < occurrences.length; i += 3) {
|
|
240
|
+
const start = occurrences[i];
|
|
241
|
+
const end = occurrences[i + 1];
|
|
242
|
+
const index = Math.floor(occurrences[i + 2] / kinds);
|
|
243
|
+
switch (occurrences[i + 2] % kinds) {
|
|
244
|
+
case ESMLiveExportDependency.KEYWORD:
|
|
245
|
+
source.replace(start, end - 1, "");
|
|
246
|
+
break;
|
|
247
|
+
case ESMLiveExportDependency.REFERENCE:
|
|
248
|
+
source.replace(start, end - 1, hoisted.names[index]);
|
|
249
|
+
break;
|
|
250
|
+
case ESMLiveExportDependency.SHORTHAND:
|
|
251
|
+
source.replace(
|
|
252
|
+
start,
|
|
253
|
+
end - 1,
|
|
254
|
+
`${names[index]}: ${hoisted.names[index]}`
|
|
255
|
+
);
|
|
256
|
+
break;
|
|
257
|
+
case ESMLiveExportDependency.NAMED:
|
|
258
|
+
// A property key gives the function or class the name the binding did
|
|
259
|
+
source.insert(start, `{ ${names[index]}: `);
|
|
260
|
+
source.insert(end, ` }.${names[index]}`);
|
|
261
|
+
break;
|
|
262
|
+
case ESMLiveExportDependency.PARENTHESIZED:
|
|
263
|
+
source.insert(start, "(");
|
|
264
|
+
source.insert(end, ")");
|
|
265
|
+
break;
|
|
266
|
+
default:
|
|
267
|
+
source.insert(
|
|
268
|
+
start,
|
|
269
|
+
`\n${hoisted.names[index]} = ${names[index]};\n`
|
|
270
|
+
);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
/** An occurrence the hoisted name replaces */
|
|
277
|
+
ESMLiveExportDependency.REFERENCE = 0;
|
|
278
|
+
/** A shorthand property, which keeps its key */
|
|
279
|
+
ESMLiveExportDependency.SHORTHAND = 1;
|
|
280
|
+
/** An anonymous function or class the binding names */
|
|
281
|
+
ESMLiveExportDependency.NAMED = 2;
|
|
282
|
+
/** A declaration's `let` or `var`, dropped with the space up to its first name */
|
|
283
|
+
ESMLiveExportDependency.KEYWORD = 3;
|
|
284
|
+
/** A destructuring declarator that, without its keyword, needs parentheses */
|
|
285
|
+
ESMLiveExportDependency.PARENTHESIZED = 4;
|
|
286
|
+
/** Where a function or class declaration, which stays, sets the binding */
|
|
287
|
+
ESMLiveExportDependency.INITIALIZE = 5;
|
|
288
|
+
/** A write a hot module mirrors once it ran, wrapped in the name's sync call */
|
|
289
|
+
ESMLiveExportDependency.SYNC = 6;
|
|
290
|
+
/** A declarator's initializer, mirrored as the value the binding takes */
|
|
291
|
+
ESMLiveExportDependency.VALUE = 7;
|
|
292
|
+
/** An anonymous function or class initializer, mirrored under the name it takes */
|
|
293
|
+
ESMLiveExportDependency.NAMED_VALUE = 8;
|
|
294
|
+
/** A declarator without an initializer, mirrored as `undefined` */
|
|
295
|
+
ESMLiveExportDependency.UNDEFINED = 9;
|
|
296
|
+
/** Where a statement mirrors the binding, after a declaration or a loop's next value */
|
|
297
|
+
ESMLiveExportDependency.STATEMENT = 10;
|
|
298
|
+
/** A loop body that is not a block, wrapped in one mirroring the loop's next value */
|
|
299
|
+
ESMLiveExportDependency.BODY = 11;
|
|
300
|
+
/** The end of a loop's `var` head, where a declarator mirrors what a pattern took */
|
|
301
|
+
ESMLiveExportDependency.DECLARATOR = 12;
|
|
302
|
+
/** How many kinds an occurrence's third number tells apart per name */
|
|
303
|
+
ESMLiveExportDependency.KINDS_PER_NAME = 13;
|
|
304
|
+
|
|
305
|
+
/** @type {Set<keyof DependencyKinds>} */
|
|
306
|
+
ESMLiveExportDependency.KINDS = new Set([
|
|
307
|
+
...NullDependency.KINDS,
|
|
308
|
+
"esm-live-export"
|
|
309
|
+
]);
|
|
310
|
+
|
|
311
|
+
module.exports = ESMLiveExportDependency;
|