webpack 5.111.1 → 5.112.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/webpack.js +13 -7
- package/lib/Chunk.js +3 -966
- package/lib/Compilation.js +373 -163
- package/lib/Compiler.js +31 -44
- package/lib/Dependency.js +3 -551
- package/lib/DependencyTemplate.js +3 -70
- package/lib/EntryPlugin.js +3 -68
- package/lib/Entrypoint.js +3 -121
- package/lib/ExternalsPlugin.js +3 -92
- package/lib/FileSystemInfo.js +3 -4629
- package/lib/InitFragment.js +3 -204
- package/lib/LibraryTemplatePlugin.js +3 -46
- package/lib/ModuleFilenameHelpers.js +3 -400
- package/lib/ModuleNotFoundError.js +2 -2
- package/lib/MultiCompiler.js +37 -8
- package/lib/NormalModule.js +3 -2242
- package/lib/NullFactory.js +3 -22
- package/lib/ProgressPlugin.js +3 -908
- package/lib/RawModule.js +3 -197
- package/lib/RequestShortener.js +3 -37
- package/lib/SingleEntryPlugin.js +1 -1
- package/lib/WebpackError.js +2 -2
- package/lib/asset/AssetBytesGenerator.js +21 -13
- package/lib/asset/AssetBytesParser.js +12 -10
- package/lib/asset/AssetGenerator.js +71 -69
- package/lib/asset/AssetModule.js +13 -2
- package/lib/asset/AssetModulesPlugin.js +10 -12
- package/lib/asset/AssetParser.js +10 -10
- package/lib/asset/AssetSourceGenerator.js +23 -15
- package/lib/asset/AssetSourceParser.js +12 -10
- package/lib/asset/RawDataUrlModule.js +17 -10
- package/lib/asset/WebManifestGenerator.js +17 -12
- package/lib/asset/WebManifestParser.js +8 -8
- package/lib/async-modules/AsyncModuleHelpers.js +12 -5
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +9 -3
- package/lib/async-modules/isGeneratorLowered.js +3 -3
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +2 -19
- package/lib/{Cache.js → cache/Cache.js} +1 -1
- package/lib/{CacheFacade.js → cache/CacheFacade.js} +6 -6
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +2 -2
- package/lib/cache/MemoryWithGcCachePlugin.js +2 -2
- package/lib/cache/PackFileCacheStrategy.js +13 -19
- package/lib/cache/ResolverCachePlugin.js +65 -11
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/{OptionsApply.js → config/OptionsApply.js} +3 -3
- package/lib/{PlatformPlugin.js → config/PlatformPlugin.js} +2 -2
- package/lib/{WebpackOptionsApply.js → config/WebpackOptionsApply.js} +209 -212
- package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
- package/lib/config/browserslistTargetHandler.js +1 -1
- package/lib/{cli.js → config/cli.js} +14 -164
- package/lib/config/defaults.js +166 -59
- package/lib/config/getClaimedAssetTypes.js +22 -14
- package/lib/config/normalization.js +18 -7
- package/lib/config/target.js +11 -1
- package/lib/container/ContainerEntryDependency.js +1 -1
- package/lib/container/ContainerEntryModule.js +13 -11
- package/lib/container/ContainerEntryModuleFactory.js +2 -2
- package/lib/container/ContainerExposedDependency.js +1 -1
- package/lib/container/ContainerPlugin.js +178 -5
- package/lib/container/ContainerReferencePlugin.js +75 -14
- package/lib/container/FallbackDependency.js +1 -1
- package/lib/container/FallbackItemDependency.js +1 -1
- package/lib/container/FallbackModule.js +12 -10
- package/lib/container/FallbackModuleFactory.js +2 -2
- package/lib/container/HoistContainerReferencesPlugin.js +10 -11
- package/lib/container/ModuleFederationPlugin.js +306 -7
- package/lib/container/RemoteModule.js +14 -10
- package/lib/container/RemoteRuntimeModule.js +5 -5
- package/lib/container/RemoteToExternalDependency.js +1 -1
- package/lib/container/moduleFederationHooks.js +1 -1
- package/lib/context/ContextModule.js +37 -26
- package/lib/context/ContextModuleFactory.js +14 -11
- package/lib/context/ContextReplacementPlugin.js +6 -12
- package/lib/css/CssGenerator.js +78 -68
- package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
- package/lib/css/CssLoadingRuntimeModule.js +77 -44
- package/lib/css/CssModule.js +37 -29
- package/lib/css/CssModulesPlugin.js +129 -45
- package/lib/css/CssParser.js +714 -322
- package/lib/css/CssServerStylesRuntimeModule.js +3 -3
- package/lib/{util → css}/conventions.js +1 -1
- package/lib/css/cssMinify.js +110 -37
- package/lib/css/data.js +6990 -5125
- package/lib/css/syntax-parser.js +20734 -0
- package/lib/css/syntax-printer.js +6092 -0
- package/lib/css/syntax.js +37 -18686
- package/lib/debug/ProfilingPlugin.js +106 -51
- package/lib/{DefinePlugin.js → define/DefinePlugin.js} +416 -55
- package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +19 -15
- package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +6 -4
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/ConstDependency.js +3 -120
- package/lib/dependencies/ContextElementDependency.js +5 -172
- package/lib/dependencies/NullDependency.js +3 -37
- package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
- package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -11
- package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
- package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
- package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
- package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
- package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +14 -11
- package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
- package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
- package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
- package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
- package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
- package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
- package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
- package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
- package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
- package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +166 -36
- package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
- package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +154 -92
- package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
- package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +36 -33
- package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +17 -16
- package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +48 -39
- package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
- package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
- package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +17 -16
- package/lib/dependencies/{ModuleDecoratorDependency.js → commonjs/ModuleDecoratorDependency.js} +16 -15
- package/lib/dependencies/{RequireEnsureDependenciesBlock.js → commonjs/RequireEnsureDependenciesBlock.js} +8 -7
- package/lib/dependencies/{RequireEnsureDependenciesBlockParserPlugin.js → commonjs/RequireEnsureDependenciesBlockParserPlugin.js} +9 -6
- package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
- package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
- package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
- package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
- package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
- package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
- package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
- package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
- package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
- package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
- package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
- package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
- package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +31 -9
- package/lib/dependencies/{ContextDependencyTemplateAsId.js → context/ContextDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ContextDependencyTemplateAsRequireCall.js → context/ContextDependencyTemplateAsRequireCall.js} +3 -3
- package/lib/dependencies/context/ContextElementDependency.js +198 -0
- package/lib/dependencies/{ImportMetaContextDependency.js → context/ImportMetaContextDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaContextDependencyParserPlugin.js → context/ImportMetaContextDependencyParserPlugin.js} +10 -11
- package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
- package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +7 -10
- package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +17 -19
- package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
- package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
- package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
- package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +21 -17
- package/lib/dependencies/core/ConstDependency.js +131 -0
- package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
- package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
- package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
- package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
- package/lib/dependencies/core/NullDependency.js +44 -0
- package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
- package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
- package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +375 -99
- package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +24 -19
- package/lib/dependencies/{CssIcssSymbolDependency.js → css/CssIcssSymbolDependency.js} +13 -12
- package/lib/dependencies/{CssImportDependency.js → css/CssImportDependency.js} +15 -11
- package/lib/dependencies/{CssUrlDependency.js → css/CssUrlDependency.js} +25 -22
- package/lib/dependencies/{CreateRequireParserPlugin.js → esm/CreateRequireParserPlugin.js} +9 -9
- package/lib/dependencies/{HarmonyAcceptDependency.js → esm/ESMAcceptDependency.js} +41 -38
- package/lib/dependencies/esm/ESMAcceptImportDependency.js +39 -0
- package/lib/dependencies/{HarmonyCompatibilityDependency.js → esm/ESMCompatibilityDependency.js} +29 -21
- package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +20 -20
- package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
- package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +60 -89
- package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +80 -45
- package/lib/dependencies/{HarmonyExportHeaderDependency.js → esm/ESMExportHeaderDependency.js} +17 -15
- package/lib/dependencies/esm/ESMExportImportedSideEffectDependency.js +37 -0
- package/lib/dependencies/{HarmonyExportImportedSpecifierDependency.js → esm/ESMExportImportedSpecifierDependency.js} +146 -133
- package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
- package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +78 -37
- package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -12
- package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
- package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +86 -68
- package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +104 -100
- package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +36 -51
- package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
- package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +98 -60
- package/lib/dependencies/esm/ESMLiveExportDependency.js +311 -0
- package/lib/dependencies/esm/ESMLiveExportParserPlugin.js +862 -0
- package/lib/dependencies/esm/ESMModulesPlugin.js +205 -0
- package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
- package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -18
- package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +5 -7
- package/lib/{util → dependencies/helpers}/chainedImports.js +5 -5
- package/lib/dependencies/{processExportInfo.js → helpers/processExportInfo.js} +4 -4
- package/lib/{util → dependencies/helpers}/traverseDestructuringAssignmentProperties.js +1 -1
- package/lib/dependencies/{ImportMetaHotAcceptDependency.js → hmr/ImportMetaHotAcceptDependency.js} +8 -7
- package/lib/dependencies/{ImportMetaHotDeclineDependency.js → hmr/ImportMetaHotDeclineDependency.js} +8 -7
- package/lib/dependencies/{ModuleHotAcceptDependency.js → hmr/ModuleHotAcceptDependency.js} +8 -7
- package/lib/dependencies/{ModuleHotDeclineDependency.js → hmr/ModuleHotDeclineDependency.js} +8 -7
- package/lib/dependencies/{HtmlEntryDependency.js → html/HtmlEntryDependency.js} +52 -151
- package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -15
- package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -23
- package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -18
- package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
- package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
- package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
- package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
- package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +22 -25
- package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
- package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
- package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
- package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +122 -103
- package/lib/dependencies/{SystemPlugin.js → system/SystemPlugin.js} +11 -38
- package/lib/dependencies/{SystemRuntimeModule.js → system/SystemRuntimeModule.js} +3 -3
- package/lib/dependencies/{ImportMetaResolveDependency.js → url/ImportMetaResolveDependency.js} +9 -8
- package/lib/dependencies/{URLContextDependency.js → url/URLContextDependency.js} +11 -10
- package/lib/dependencies/{URLDependency.js → url/URLDependency.js} +28 -20
- package/lib/{url → dependencies/url}/URLParserPlugin.js +17 -19
- package/lib/dependencies/{URLPlugin.js → url/URLPlugin.js} +6 -7
- package/lib/dependencies/{WebAssemblyExportImportedDependency.js → wasm/WebAssemblyExportImportedDependency.js} +18 -11
- package/lib/dependencies/{WebAssemblyImportDependency.js → wasm/WebAssemblyImportDependency.js} +19 -12
- package/lib/dependencies/{CreateScriptUrlDependency.js → worker/CreateScriptUrlDependency.js} +12 -11
- package/lib/dependencies/{WorkerAndWorkletPlugin.js → worker/WorkerAndWorkletPlugin.js} +82 -53
- package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +22 -15
- package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +19 -18
- package/lib/{EvalDevToolModulePlugin.js → devtool/EvalDevToolModulePlugin.js} +20 -6
- package/lib/{EvalSourceMapDevToolPlugin.js → devtool/EvalSourceMapDevToolPlugin.js} +32 -24
- package/lib/devtool/ModuleFilenameHelpers.js +413 -0
- package/lib/{SourceMapDevToolModuleOptionsPlugin.js → devtool/SourceMapDevToolModuleOptionsPlugin.js} +10 -3
- package/lib/{SourceMapDevToolPlugin.js → devtool/SourceMapDevToolPlugin.js} +155 -27
- package/lib/{util → devtool}/generateDebugId.js +1 -1
- package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
- package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
- package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
- package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
- package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
- package/lib/dll/DelegatedModule.js +23 -21
- package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
- package/lib/dll/DelegatedPlugin.js +1 -1
- package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
- package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
- package/lib/dll/DllEntryPlugin.js +3 -3
- package/lib/dll/DllModule.js +14 -10
- package/lib/dll/DllModuleFactory.js +3 -3
- package/lib/dll/DllPlugin.js +18 -6
- package/lib/dll/DllReferencePlugin.js +103 -30
- package/lib/dll/LibManifestPlugin.js +9 -7
- package/lib/electron/ElectronTargetPlugin.js +2 -2
- package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
- package/lib/{dependencies → entry}/EntryDependency.js +11 -2
- package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
- package/lib/entry/EntryPlugin.js +75 -0
- package/lib/errors/AbstractMethodError.js +1 -1
- package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
- package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
- package/lib/errors/DeprecatedOptionWarning.js +30 -0
- package/lib/errors/DllManifestError.js +26 -0
- package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
- package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
- package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/{ErrorHelpers.js → errors/ErrorHelpers.js} +9 -6
- package/lib/errors/ExternalStarReexportError.js +2 -2
- package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
- package/lib/errors/HookWebpackError.js +6 -5
- package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/errors/JSONParseError.js +4 -4
- package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
- package/lib/errors/ModuleBuildError.js +1 -1
- package/lib/errors/ModuleDependencyError.js +2 -2
- package/lib/errors/ModuleDependencyWarning.js +2 -2
- package/lib/errors/ModuleError.js +1 -1
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +3 -3
- package/lib/errors/ModuleParseError.js +1 -1
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/ModuleWarning.js +1 -1
- package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
- package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
- package/lib/errors/NodeStuffInWebError.js +7 -2
- package/lib/errors/PathVariableError.js +31 -0
- package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
- package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
- package/lib/errors/RuntimeModuleGenerationError.js +51 -0
- package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
- package/lib/errors/SystemImportDeprecationWarning.js +43 -0
- package/lib/errors/UnmergeableEntryExportsError.js +34 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
- package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
- package/lib/errors/WebpackError.js +13 -3
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
- package/lib/esm/ModuleChunkFormatPlugin.js +55 -20
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
- package/lib/{ExternalModule.js → externals/ExternalModule.js} +90 -63
- package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +42 -41
- package/lib/externals/ExternalsPlugin.js +99 -0
- package/lib/fs/FileSystemInfo.js +4642 -0
- package/lib/{util → fs}/fs.js +22 -9
- package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
- package/lib/graph/Chunk.js +985 -0
- package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +192 -80
- package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
- package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
- package/lib/graph/Dependency.js +634 -0
- package/lib/graph/Entrypoint.js +136 -0
- package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +131 -83
- package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
- package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +44 -33
- package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
- package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +169 -76
- package/lib/{util → graph}/findGraphRoots.js +15 -9
- package/lib/graph/isDependencyKind.js +23 -0
- package/lib/hmr/HotModuleReplacement.runtime.js +12 -11
- package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +51 -57
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +25 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
- package/lib/hmr/LazyCompilationPlugin.js +32 -28
- package/lib/html/HtmlGenerator.js +132 -60
- package/lib/html/HtmlModule.js +16 -2
- package/lib/html/HtmlModulesPlugin.js +184 -87
- package/lib/html/HtmlParser.js +511 -160
- package/lib/html/builtinEmbeddedRenderer.js +70 -25
- package/lib/html/data.js +44 -22
- package/lib/html/htmlMinify.js +114 -41
- package/lib/html/syntax-parser.js +15795 -0
- package/lib/html/syntax-printer.js +1033 -0
- package/lib/html/syntax.js +37 -13952
- package/lib/html/xmlMinify.js +70 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +32 -5
- package/lib/ids/IdHelpers.js +4 -4
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
- package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
- package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
- package/lib/ids/SyncModuleIdsPlugin.js +3 -3
- package/lib/{util → ids}/numberHash.js +1 -1
- package/lib/index.js +312 -105
- package/lib/{APIPlugin.js → javascript/APIPlugin.js} +31 -37
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
- package/lib/javascript/BasicEvaluatedExpression.js +9 -9
- package/lib/javascript/ChunkHelpers.js +64 -4
- package/lib/javascript/CommonJsChunkFormatPlugin.js +5 -13
- package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +7 -7
- package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +75 -8
- package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
- package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
- package/lib/javascript/JavascriptGenerator.js +32 -27
- package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +8 -20
- package/lib/javascript/JavascriptModule.js +14 -3
- package/lib/javascript/JavascriptModulesPlugin.js +441 -214
- package/lib/javascript/JavascriptParser.js +318 -144
- package/lib/javascript/JavascriptParserHelpers.js +1 -1
- package/lib/javascript/MergedEntryExports.js +196 -0
- package/lib/javascript/ScopeAnalyzer.js +3924 -13
- package/lib/javascript/StartupHelpers.js +6 -6
- package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +13 -19
- package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
- package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
- package/lib/javascript/data.js +533 -122
- package/lib/javascript/jsMinify.js +272 -0
- package/lib/javascript/regexp.js +67 -32
- package/lib/javascript/syntax-parser.js +19169 -0
- package/lib/javascript/syntax-printer-data.js +1099 -0
- package/lib/javascript/syntax-printer.js +53878 -0
- package/lib/javascript/syntax.js +20 -11274
- package/lib/json/JsonData.js +1 -1
- package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
- package/lib/json/JsonGenerator.js +24 -16
- package/lib/json/JsonModule.js +13 -2
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +11 -10
- package/lib/json/jsonMinify.js +69 -0
- package/lib/library/AbstractLibraryPlugin.js +28 -15
- package/lib/library/AmdLibraryPlugin.js +4 -4
- package/lib/library/AssignLibraryPlugin.js +28 -12
- package/lib/library/EnableLibraryPlugin.js +1 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
- package/lib/library/JsonpLibraryPlugin.js +2 -2
- package/lib/library/LibraryTemplatePlugin.js +53 -0
- package/lib/library/ModuleLibraryPlugin.js +557 -187
- package/lib/library/SystemLibraryPlugin.js +6 -8
- package/lib/library/UmdLibraryPlugin.js +3 -4
- package/lib/{dependencies → loaders}/LoaderDependency.js +3 -3
- package/lib/{dependencies → loaders}/LoaderImportDependency.js +9 -3
- package/lib/{LoaderOptionsPlugin.js → loaders/LoaderOptionsPlugin.js} +30 -12
- package/lib/{dependencies → loaders}/LoaderPlugin.js +2 -2
- package/lib/loaders/LoaderRunner.js +94 -46
- package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
- package/lib/loaders/loadLoader.js +16 -10
- package/lib/logging/Logger.js +7 -9
- package/lib/logging/ProgressPlugin.js +957 -0
- package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
- package/lib/{Generator.js → module/Generator.js} +33 -23
- package/lib/{Module.js → module/Module.js} +121 -53
- package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
- package/lib/module/NormalModule.js +2350 -0
- package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +64 -71
- package/lib/module/NullFactory.js +29 -0
- package/lib/{Parser.js → module/Parser.js} +12 -5
- package/lib/module/RawModule.js +208 -0
- package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
- package/lib/{util → module}/extractSourceMap.js +71 -20
- package/lib/{util → module}/findCaseMismatch.js +4 -4
- package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
- package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
- package/lib/{dependencies → node}/ExternalModuleInitFragment.js +7 -6
- package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
- package/lib/node/NodeEnvironmentPlugin.js +11 -1
- package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
- package/lib/node/NodeTargetPlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +58 -6
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +13 -19
- package/lib/node/ReadFileCompileWasmPlugin.js +9 -11
- package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/nodeConsole.js +6 -7
- package/lib/optimize/AggressiveMergingPlugin.js +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
- package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +14 -14
- package/lib/optimize/ConcatenatedModule.js +231 -220
- package/lib/{ConcatenationScope.js → optimize/ConcatenationScope.js} +39 -6
- package/lib/optimize/ConstExportsPlugin.js +7 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/{FlagAllModulesAsUsedPlugin.js → optimize/FlagAllModulesAsUsedPlugin.js} +3 -3
- package/lib/{FlagDependencyExportsPlugin.js → optimize/FlagDependencyExportsPlugin.js} +23 -28
- package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +44 -19
- package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
- package/lib/optimize/InlineExports.js +12 -7
- package/lib/optimize/InnerGraph.js +5 -13
- package/lib/optimize/InnerGraphPlugin.js +10 -10
- package/lib/optimize/LazyBarrels.js +620 -0
- package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
- package/lib/optimize/LimitChunkCountPlugin.js +16 -7
- package/lib/optimize/MangleExportsPlugin.js +5 -5
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
- package/lib/optimize/MinChunkSizePlugin.js +9 -6
- package/lib/optimize/ModuleConcatenationPlugin.js +28 -22
- package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
- package/lib/optimize/RealContentHashPlugin.js +18 -13
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/SideEffectsFlagPlugin.js +24 -38
- package/lib/optimize/SplitChunksPlugin.js +719 -174
- package/lib/{util → optimize}/TupleQueue.js +9 -9
- package/lib/optimize/chunkSetIntersections.js +437 -0
- package/lib/{util → optimize}/deterministicGrouping.js +17 -17
- package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
- package/lib/{CleanPlugin.js → output/CleanPlugin.js} +69 -25
- package/lib/{CopyPlugin.js → output/CopyPlugin.js} +144 -70
- package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
- package/lib/output/SSRManifestPlugin.js +349 -0
- package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
- package/lib/performance/BroadContextsPlugin.js +4 -4
- package/lib/performance/CacheEffectivenessPlugin.js +2 -3
- package/lib/performance/ConflictingResourceHintsPlugin.js +1 -1
- package/lib/performance/DuplicateModulesPlugin.js +3 -4
- package/lib/performance/DuplicatePackagesPlugin.js +3 -3
- package/lib/performance/DynamicExportsPlugin.js +2 -2
- package/lib/performance/EvalUsagePlugin.js +4 -6
- package/lib/performance/HotspotsPlugin.js +39 -14
- package/lib/performance/LargeModulesPlugin.js +2 -3
- package/lib/performance/LegacyJavascriptPlugin.js +1 -2
- package/lib/performance/MissingSideEffectsPlugin.js +2 -3
- package/lib/performance/MissingSourceMapsPlugin.js +5 -6
- package/lib/performance/PureAnnotationsPlugin.js +19 -13
- package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
- package/lib/performance/SizeLimitsPlugin.js +11 -12
- package/lib/performance/TopLevelThisPlugin.js +22 -13
- package/lib/performance/UnsplitVendorsPlugin.js +1 -2
- package/lib/performance/UnusedAliasesPlugin.js +6 -7
- package/lib/performance/UnusedAssetsPlugin.js +5 -5
- package/lib/performance/UnusedDefinesPlugin.js +2 -2
- package/lib/performance/UnusedExternalsPlugin.js +3 -4
- package/lib/performance/UnusedFederationPlugin.js +2 -4
- package/lib/performance/UnusedModulesPlugin.js +5 -4
- package/lib/performance/getModuleSize.js +1 -1
- package/lib/performance/hasOnlyUnusedExports.js +4 -4
- package/lib/performance/isOnlyReexported.js +7 -6
- package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -1
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +4 -4
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -4
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -4
- package/lib/{dependencies → prefetch}/PrefetchDependency.js +1 -1
- package/lib/{PrefetchPlugin.js → prefetch/PrefetchPlugin.js} +2 -2
- package/lib/prefetch/ResourceHintPlugin.js +66 -45
- package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +3 -3
- package/lib/prefetch/parseResourceHintOptions.js +4 -3
- package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
- package/lib/{dependencies → provide}/ProvidedDependency.js +50 -17
- package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
- package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
- package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
- package/lib/resolve/getResolveOptionsKey.js +59 -0
- package/lib/rules/BasicEffectRulePlugin.js +1 -1
- package/lib/rules/RuleSetCompiler.js +42 -51
- package/lib/rules/UseEffectRulePlugin.js +1 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
- package/lib/runtime/AsyncModuleRuntimeModule.js +14 -5
- package/lib/runtime/AutoPublicPathRuntimeModule.js +5 -5
- package/lib/runtime/BaseUriRuntimeModule.js +3 -3
- package/lib/runtime/ChunkNameRuntimeModule.js +2 -2
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -2
- package/lib/runtime/CompatRuntimeModule.js +4 -4
- package/lib/runtime/ConcatenationWrapRuntimeModule.js +2 -2
- package/lib/runtime/ConstructRequireRuntimeModule.js +2 -2
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/CreateScriptRuntimeModule.js +2 -2
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +2 -2
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -6
- package/lib/runtime/EnsureChunkRuntimeModule.js +4 -4
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +7 -11
- package/lib/runtime/GetFullHashRuntimeModule.js +2 -2
- package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -4
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +3 -3
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +3 -3
- package/lib/runtime/GlobalRuntimeModule.js +3 -3
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +3 -3
- package/lib/runtime/HelperRuntimeModule.js +16 -1
- package/lib/runtime/LoadScriptRuntimeModule.js +3 -3
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +80 -17
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/NonceRuntimeModule.js +2 -2
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
- package/lib/runtime/PublicPathRuntimeModule.js +2 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +2 -2
- package/lib/{RuntimeGlobals.js → runtime/RuntimeGlobals.js} +24 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
- package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
- package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +50 -50
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
- package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
- package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
- package/lib/runtime/SystemContextRuntimeModule.js +2 -2
- package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
- package/lib/runtime/WorkerRuntimeModule.js +1 -1
- package/lib/runtime/baseUri.js +1 -1
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +68 -13
- package/lib/schemes/VirtualUrlPlugin.js +52 -16
- package/lib/serialization/AggregateErrorSerializer.js +4 -4
- package/lib/serialization/BinaryMiddleware.js +4 -1
- package/lib/serialization/ErrorObjectSerializer.js +2 -5
- package/lib/serialization/FileMiddleware.js +3 -3
- package/lib/serialization/ObjectMiddleware.js +62 -29
- package/lib/serialization/PlainObjectSerializer.js +3 -7
- package/lib/serialization/Serializer.js +21 -11
- package/lib/serialization/SerializerMiddleware.js +10 -8
- package/lib/serialization/SingleItemMiddleware.js +4 -2
- package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
- package/lib/sharing/ConsumeSharedModule.js +18 -14
- package/lib/sharing/ConsumeSharedPlugin.js +148 -42
- package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
- package/lib/sharing/ProvideForSharedDependency.js +9 -1
- package/lib/sharing/ProvideSharedDependency.js +1 -1
- package/lib/sharing/ProvideSharedModule.js +11 -9
- package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
- package/lib/sharing/ProvideSharedPlugin.js +111 -20
- package/lib/sharing/SharePlugin.js +102 -9
- package/lib/sharing/ShareRuntimeModule.js +6 -6
- package/lib/sharing/resolveMatchedConfigs.js +1 -1
- package/lib/{util → sharing}/semver.js +14 -16
- package/lib/sharing/utils.js +59 -2
- package/lib/stats/DefaultStatsFactoryPlugin.js +57 -54
- package/lib/stats/DefaultStatsPresetPlugin.js +3 -7
- package/lib/stats/DefaultStatsPrinterPlugin.js +15 -14
- package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
- package/lib/{Stats.js → stats/Stats.js} +4 -4
- package/lib/stats/StatsFactory.js +208 -37
- package/lib/stats/StatsPrinter.js +126 -13
- package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
- package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
- package/lib/template/DependencyTemplate.js +77 -0
- package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
- package/lib/template/InitFragment.js +223 -0
- package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
- package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
- package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
- package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +158 -95
- package/lib/{Template.js → template/Template.js} +14 -12
- package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +19 -23
- package/lib/typescript/TypeScriptPlugin.js +3 -3
- package/lib/util/RequestShortener.js +44 -0
- package/lib/util/SortableSet.js +87 -22
- package/lib/util/SourceProcessor.js +439 -51
- package/lib/util/TupleSet.js +27 -27
- package/lib/util/WeakTupleMap.js +20 -16
- package/lib/util/buildDiagnostics.js +2 -2
- package/lib/util/cleverMerge.js +61 -33
- package/lib/util/comparators.js +19 -15
- package/lib/util/concatenate.js +28 -147
- package/lib/util/createMappings.js +111 -0
- package/lib/util/dataURL.js +96 -15
- package/lib/util/deprecation.js +5 -4
- package/lib/util/extractComments.js +118 -0
- package/lib/util/formatLocation.js +1 -1
- package/lib/util/globUtils.js +198 -20
- package/lib/util/haltVisitors.js +51 -0
- package/lib/util/handlerKeys.js +2 -2
- package/lib/util/identifier.js +117 -1
- package/lib/util/implicitTypeLoaderFallback.js +6 -4
- package/lib/util/internalSerializables.js +296 -102
- package/lib/util/magicComment.js +12 -7
- package/lib/util/makeSerializable.js +28 -7
- package/lib/util/memoize.js +1 -1
- package/lib/util/parseJson.js +2 -2
- package/lib/util/preloadModuleType.js +5 -2
- package/lib/util/registerExternalSerializer.js +2 -2
- package/lib/util/removeBOM.js +1 -1
- package/lib/util/runtime.js +1 -1
- package/lib/util/serialization.js +35 -28
- package/lib/util/source.js +2 -2
- package/lib/util/terminalColors.js +161 -0
- package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmModule.js +19 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +17 -9
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +24 -15
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +14 -12
- package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
- package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +11 -13
- package/lib/wasm/wasmModuleFilename.js +2 -2
- package/lib/wasm-sync/SyncWasmModule.js +18 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +8 -8
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +22 -16
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +28 -21
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
- package/lib/wasm-sync/WebAssemblyParser.js +15 -17
- package/lib/wasm-sync/WebAssemblyUtils.js +6 -5
- package/lib/{MultiWatching.js → watch/MultiWatching.js} +3 -3
- package/lib/{WatchIgnorePlugin.js → watch/WatchIgnorePlugin.js} +43 -9
- package/lib/{Watching.js → watch/Watching.js} +8 -8
- package/lib/web/FetchCompileAsyncWasmPlugin.js +12 -18
- package/lib/web/FetchCompileWasmPlugin.js +8 -10
- package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
- package/lib/web/JsonpTemplatePlugin.js +1 -1
- package/lib/webpack.js +27 -17
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
- package/package.json +57 -36
- package/schemas/WebpackOptions.check.js +4 -3
- package/schemas/WebpackOptions.d.json.ts +2 -0
- package/schemas/WebpackOptions.json +295 -75
- package/schemas/plugins/BannerPlugin.check.js +4 -3
- package/schemas/plugins/BannerPlugin.json +29 -2
- package/schemas/plugins/HtmlGeneratorOptions.check.js +4 -3
- package/schemas/plugins/HtmlParserOptions.check.js +4 -3
- package/schemas/plugins/IgnorePlugin.check.js +4 -3
- package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.js +4 -3
- package/schemas/plugins/ManifestPlugin.check.js +4 -3
- package/schemas/plugins/ManifestPlugin.json +3 -3
- package/schemas/plugins/ProgressPlugin.check.js +4 -3
- package/schemas/plugins/ProgressPlugin.json +2 -7
- package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
- package/schemas/plugins/SSRManifestPlugin.json +20 -0
- package/schemas/plugins/SourceMapDevToolPlugin.check.js +4 -3
- package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
- package/schemas/plugins/WatchIgnorePlugin.check.js +4 -3
- package/schemas/plugins/WatchIgnorePlugin.json +12 -3
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +4 -3
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +4 -3
- package/schemas/plugins/asset/AssetParserOptions.check.js +4 -3
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +4 -3
- package/schemas/plugins/container/ContainerPlugin.check.js +4 -3
- package/schemas/plugins/container/ContainerPlugin.json +8 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +4 -3
- package/schemas/plugins/container/ExternalsType.check.js +4 -3
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +4 -3
- package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +4 -3
- package/schemas/plugins/css/CssGeneratorOptions.check.js +4 -3
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +4 -3
- package/schemas/plugins/css/CssModuleParserOptions.check.js +4 -3
- package/schemas/plugins/css/CssParserOptions.check.js +4 -3
- package/schemas/plugins/debug/ProfilingPlugin.check.js +4 -3
- package/schemas/plugins/define/DotenvPluginOptions.check.js +7 -0
- package/schemas/plugins/define/DotenvPluginOptions.json +3 -0
- package/schemas/plugins/dll/DllPlugin.check.js +4 -3
- package/schemas/plugins/dll/DllReferencePlugin.check.js +4 -3
- package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +4 -3
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +4 -3
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +4 -3
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +4 -3
- package/schemas/plugins/json/JsonModulesPluginParser.check.js +4 -3
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +4 -3
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +4 -3
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +4 -3
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +4 -3
- package/schemas/plugins/output/CleanOptions.check.js +7 -0
- package/schemas/plugins/output/CleanOptions.json +3 -0
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +4 -3
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +4 -3
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +4 -3
- package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +4 -3
- package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/SharePlugin.check.js +4 -3
- package/schemas/plugins/sharing/SharePlugin.json +32 -0
- package/types.d.ts +20780 -14174
- package/lib/LazyBarrel.js +0 -388
- package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
- package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
- package/lib/javascript/ChunkFormatHelpers.js +0 -72
- package/lib/javascript/grammar.js +0 -5546
- package/lib/javascript/parser.js +0 -1500
- package/lib/javascript/regexpData.js +0 -51
- package/lib/performance/getSourceModules.js +0 -22
- package/lib/util/Semaphore.js +0 -65
- package/lib/util/objectToMap.js +0 -15
- package/schemas/WebpackOptions.check.d.ts +0 -7
- package/schemas/_container.json +0 -155
- package/schemas/_sharing.json +0 -118
- package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
- package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
- package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
- package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
- package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
- package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
- package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
- package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
- /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
- /package/lib/{util → css}/topologicalSort.js +0 -0
- /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
- /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
- /package/lib/{util → fs}/StackedCacheMap.js +0 -0
- /package/lib/{util → javascript}/StackedMap.js +0 -0
- /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
- /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
- /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
- /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
- /package/lib/{util → optimize}/Queue.js +0 -0
- /package/lib/{util → stats}/smartGrouping.js +0 -0
|
@@ -6,54 +6,57 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { CachedSource, ReplaceSource } = require("webpack-sources");
|
|
9
|
-
const APIPlugin = require("./APIPlugin");
|
|
10
9
|
|
|
11
|
-
const InitFragment = require("./InitFragment");
|
|
12
|
-
const { CSS_TYPE, JAVASCRIPT_TYPE } = require("./ModuleSourceTypeConstants");
|
|
13
|
-
const { WEBASSEMBLY_MODULE_TYPE_ASYNC } = require("./ModuleTypeConstants");
|
|
14
|
-
const RuntimeGlobals = require("./RuntimeGlobals");
|
|
15
|
-
const Template = require("./Template");
|
|
16
10
|
const {
|
|
17
11
|
getOutgoingAsyncModules
|
|
18
|
-
} = require("
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const JavascriptModulesPlugin = require("
|
|
23
|
-
const {
|
|
12
|
+
} = require("../async-modules/AsyncModuleHelpers");
|
|
13
|
+
const { ImportPhaseUtils } = require("../dependencies/core/ImportPhase");
|
|
14
|
+
const isDependencyKind = require("../graph/isDependencyKind");
|
|
15
|
+
const APIPlugin = require("../javascript/APIPlugin");
|
|
16
|
+
const JavascriptModulesPlugin = require("../javascript/JavascriptModulesPlugin");
|
|
17
|
+
const {
|
|
18
|
+
CSS_TYPE,
|
|
19
|
+
JAVASCRIPT_TYPE
|
|
20
|
+
} = require("../module/ModuleSourceTypeConstants");
|
|
21
|
+
const {
|
|
22
|
+
WEBASSEMBLY_MODULE_TYPE_ASYNC
|
|
23
|
+
} = require("../module/ModuleTypeConstants");
|
|
24
|
+
const { isInlinedUsedName } = require("../optimize/InlineExports");
|
|
24
25
|
const {
|
|
25
26
|
getDeferredCycleModuleIds,
|
|
26
27
|
getDeferredCycleModules,
|
|
27
28
|
getKnownExportNames,
|
|
28
29
|
getMakeDeferredNamespaceModeFromExportsType,
|
|
29
30
|
getOptimizedDeferredModule
|
|
30
|
-
} = require("
|
|
31
|
+
} = require("../runtime/MakeDeferredNamespaceObjectRuntime");
|
|
32
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
31
33
|
const {
|
|
32
34
|
isAbsoluteBaseUri,
|
|
33
35
|
isChunkRelativeBaseUri
|
|
34
|
-
} = require("
|
|
35
|
-
const { equals } = require("
|
|
36
|
-
const { getScheme } = require("
|
|
37
|
-
const { compareIds } = require("
|
|
38
|
-
const compileBooleanMatcher = require("
|
|
36
|
+
} = require("../runtime/baseUri");
|
|
37
|
+
const { equals } = require("../util/ArrayHelpers");
|
|
38
|
+
const { getScheme } = require("../util/URLAbsoluteSpecifier");
|
|
39
|
+
const { compareIds } = require("../util/comparators");
|
|
40
|
+
const compileBooleanMatcher = require("../util/compileBooleanMatcher");
|
|
39
41
|
const {
|
|
40
42
|
RESOLVABLE_SPECIFIER_REGEXP,
|
|
41
43
|
getUndoPath,
|
|
42
44
|
toJsStringLiteral
|
|
43
|
-
} = require("
|
|
44
|
-
const memoize = require("
|
|
45
|
-
const { propertyAccess, propertyName } = require("
|
|
45
|
+
} = require("../util/identifier");
|
|
46
|
+
const memoize = require("../util/memoize");
|
|
47
|
+
const { propertyAccess, propertyName } = require("../util/property");
|
|
46
48
|
const {
|
|
47
49
|
forEachRuntime,
|
|
48
50
|
getRuntimeKey,
|
|
49
51
|
intersectRuntime,
|
|
50
52
|
subtractRuntime
|
|
51
|
-
} = require("
|
|
53
|
+
} = require("../util/runtime");
|
|
54
|
+
const InitFragment = require("./InitFragment");
|
|
55
|
+
const Template = require("./Template");
|
|
52
56
|
|
|
53
|
-
const getCssModulesPlugin = memoize(() => require("
|
|
57
|
+
const getCssModulesPlugin = memoize(() => require("../css/CssModulesPlugin"));
|
|
54
58
|
// `Compilation` requires this module, so its stage constants are read lazily.
|
|
55
|
-
const getCompilation = memoize(() => require("
|
|
56
|
-
const getExternalModule = memoize(() => require("./ExternalModule"));
|
|
59
|
+
const getCompilation = memoize(() => require("../Compilation"));
|
|
57
60
|
|
|
58
61
|
/**
|
|
59
62
|
* @typedef {object} ChunkAssetNaming
|
|
@@ -88,10 +91,8 @@ const CHUNK_ASSET_NAMING = new Map([
|
|
|
88
91
|
]);
|
|
89
92
|
const getTemplatedPathPlugin = memoize(() => require("./TemplatedPathPlugin"));
|
|
90
93
|
const getConcatenatedModule = memoize(() =>
|
|
91
|
-
require("
|
|
94
|
+
require("../optimize/ConcatenatedModule")
|
|
92
95
|
);
|
|
93
|
-
const getNormalModule = memoize(() => require("./NormalModule"));
|
|
94
|
-
|
|
95
96
|
/**
|
|
96
97
|
* Whether a hot update can re-run the module a reference is emitted into: the HMR
|
|
97
98
|
* plugin marks every normal module, and a concatenated one is read through its root.
|
|
@@ -100,9 +101,8 @@ const getNormalModule = memoize(() => require("./NormalModule"));
|
|
|
100
101
|
*/
|
|
101
102
|
const isHotModule = (module) => {
|
|
102
103
|
if (module === undefined) return false;
|
|
103
|
-
const normal =
|
|
104
|
-
|
|
105
|
-
return normal instanceof getNormalModule() && normal.hot;
|
|
104
|
+
const normal = module.getRootModule();
|
|
105
|
+
return normal.is("normal") && normal.hot;
|
|
106
106
|
};
|
|
107
107
|
|
|
108
108
|
// Any `[hash]`/`[fullhash]`/`[chunkhash]`/`[contenthash]` token, incl. a `:<length>`
|
|
@@ -220,16 +220,16 @@ const HOT_NAME_BAILOUT =
|
|
|
220
220
|
/**
|
|
221
221
|
* @import {
|
|
222
222
|
* OutputNormalizedWithDefaults as OutputOptions
|
|
223
|
-
* } from "
|
|
223
|
+
* } from "../config/defaults"
|
|
224
224
|
*/
|
|
225
|
-
/** @import { PublicPath, WasmLoading } from "
|
|
226
|
-
/** @import ModuleDependency from "
|
|
225
|
+
/** @import { PublicPath, WasmLoading } from "../../declarations/WebpackOptions.d.ts" */
|
|
226
|
+
/** @import ModuleDependency from "../dependencies/core/ModuleDependency" */
|
|
227
227
|
/**
|
|
228
228
|
* @import Module, {
|
|
229
229
|
* ReadOnlyRuntimeRequirements,
|
|
230
230
|
* BuildMeta,
|
|
231
231
|
* RuntimeRequirements
|
|
232
|
-
* } from "
|
|
232
|
+
* } from "../module/Module"
|
|
233
233
|
*/
|
|
234
234
|
/** @typedef {"import" | "url" | "url-runtime" | "url-inline" | "wasm" | "wasm-relative"} AnalyzableForm */
|
|
235
235
|
/**
|
|
@@ -304,18 +304,19 @@ const CHUNK_ASSET_NAMING_BY_STAND_IN = new Map(
|
|
|
304
304
|
|
|
305
305
|
const PASS_NAME = "analyzableChunkNaming";
|
|
306
306
|
|
|
307
|
-
/** @import AsyncDependenciesBlock from "
|
|
307
|
+
/** @import AsyncDependenciesBlock from "../graph/AsyncDependenciesBlock" */
|
|
308
308
|
/** @import { Source } from "webpack-sources" */
|
|
309
|
-
/** @import Compiler from "
|
|
310
|
-
/** @import Chunk, { ChunkFilenameTemplate, ChunkId } from "
|
|
311
|
-
/** @import ChunkGraph, { ModuleId } from "
|
|
312
|
-
/** @import Compilation from "
|
|
313
|
-
/** @import Dependency from "
|
|
314
|
-
/** @import ModuleGraph from "
|
|
315
|
-
/** @import RequestShortener from "
|
|
316
|
-
/** @import Hash from "
|
|
317
|
-
/** @import CodeGenerationResults from "
|
|
318
|
-
/** @import { RuntimeSpec } from "
|
|
309
|
+
/** @import Compiler from "../Compiler" */
|
|
310
|
+
/** @import Chunk, { ChunkFilenameTemplate, ChunkId } from "../graph/Chunk" */
|
|
311
|
+
/** @import ChunkGraph, { ModuleId } from "../graph/ChunkGraph" */
|
|
312
|
+
/** @import Compilation from "../Compilation" */
|
|
313
|
+
/** @import Dependency from "../graph/Dependency" */
|
|
314
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
315
|
+
/** @import RequestShortener from "../util/RequestShortener" */
|
|
316
|
+
/** @import Hash from "../util/Hash" */
|
|
317
|
+
/** @import CodeGenerationResults from "../module/CodeGenerationResults" */
|
|
318
|
+
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
319
|
+
/** @import { JsonValue } from "../fs/fs" */
|
|
319
320
|
|
|
320
321
|
/**
|
|
321
322
|
* A stand-in whose every hash reads back as `hash`. Which content hashes a chunk
|
|
@@ -413,11 +414,11 @@ function getGlobalObject(definition) {
|
|
|
413
414
|
|
|
414
415
|
if (
|
|
415
416
|
// identifier, we do not need real identifier regarding ECMAScript/Unicode
|
|
416
|
-
/^[_\p{L}][_0-9\p{L}]*$/
|
|
417
|
+
/^[_\p{L}][_0-9\p{L}]*$/u.test(trimmed) ||
|
|
417
418
|
// iife
|
|
418
419
|
// call expression
|
|
419
420
|
// expression in parentheses
|
|
420
|
-
/^(?:[_\p{L}][_0-9\p{L}]*)?\(.*\)$/
|
|
421
|
+
/^(?:[_\p{L}][_0-9\p{L}]*)?\(.*\)$/u.test(trimmed)
|
|
421
422
|
) {
|
|
422
423
|
return trimmed;
|
|
423
424
|
}
|
|
@@ -428,7 +429,7 @@ function getGlobalObject(definition) {
|
|
|
428
429
|
// An async external is a promise, not a module record with an evaluating state.
|
|
429
430
|
const isAsyncExternal = (/** @type {Module} */ module) =>
|
|
430
431
|
Boolean(/** @type {BuildMeta} */ (module.buildMeta).async) &&
|
|
431
|
-
module
|
|
432
|
+
module.is("external");
|
|
432
433
|
|
|
433
434
|
// `createFakeNamespaceObject`'s "merge all properties" bit, the only one that
|
|
434
435
|
// changes which names the namespace it builds carries.
|
|
@@ -830,6 +831,16 @@ class RuntimeTemplate {
|
|
|
830
831
|
return true;
|
|
831
832
|
}
|
|
832
833
|
|
|
834
|
+
/**
|
|
835
|
+
* Reports an analyzable-ESM bailout from outside this class.
|
|
836
|
+
* @param {Module | undefined} module the module the reference is emitted into
|
|
837
|
+
* @param {string} reason why no literal could be baked
|
|
838
|
+
* @returns {void}
|
|
839
|
+
*/
|
|
840
|
+
analyzableBailout(module, reason) {
|
|
841
|
+
this._analyzableBailout(module, reason, null);
|
|
842
|
+
}
|
|
843
|
+
|
|
833
844
|
/**
|
|
834
845
|
* Records why a reference kept the runtime form, on the module that wrote it —
|
|
835
846
|
* the channel `ModuleConcatenationPlugin` already reports through, so it reaches
|
|
@@ -1375,7 +1386,7 @@ class RuntimeTemplate {
|
|
|
1375
1386
|
const spellable =
|
|
1376
1387
|
this._getAnalyzableFileSpecifier(
|
|
1377
1388
|
module,
|
|
1378
|
-
|
|
1389
|
+
chunkGraph,
|
|
1379
1390
|
[["literal", "x"]],
|
|
1380
1391
|
true
|
|
1381
1392
|
) !== null;
|
|
@@ -1850,6 +1861,28 @@ class RuntimeTemplate {
|
|
|
1850
1861
|
return `${this.comment({ request })}${JSON.stringify(moduleId)}`;
|
|
1851
1862
|
}
|
|
1852
1863
|
|
|
1864
|
+
/**
|
|
1865
|
+
* The side-effect annotation for output another build reads back, which is the
|
|
1866
|
+
* only output it can pay for — elsewhere it is bytes with no consumer.
|
|
1867
|
+
* @returns {string} the annotation, or an empty string
|
|
1868
|
+
*/
|
|
1869
|
+
sideEffectsAnnotation() {
|
|
1870
|
+
return this.outputOptions.module ? "/*#__PURE__*/" : "";
|
|
1871
|
+
}
|
|
1872
|
+
|
|
1873
|
+
/**
|
|
1874
|
+
* A module instantiation's side-effect annotation. Write it only where the
|
|
1875
|
+
* statement ends the call: a minifier reads `f(id)(x)` as one and drops it.
|
|
1876
|
+
* @param {Module} module the instantiated module
|
|
1877
|
+
* @param {ModuleGraph} moduleGraph the module graph
|
|
1878
|
+
* @returns {string} the annotation, or an empty string when it may have side effects
|
|
1879
|
+
*/
|
|
1880
|
+
moduleSideEffectsAnnotation(module, moduleGraph) {
|
|
1881
|
+
return module.getSideEffectsConnectionState(moduleGraph) === false
|
|
1882
|
+
? this.sideEffectsAnnotation()
|
|
1883
|
+
: "";
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1853
1886
|
/**
|
|
1854
1887
|
* Returns the expression.
|
|
1855
1888
|
* @param {object} options options object
|
|
@@ -2077,8 +2110,8 @@ class RuntimeTemplate {
|
|
|
2077
2110
|
const exportsType = module.getExportsType(chunkGraph.moduleGraph, strict);
|
|
2078
2111
|
|
|
2079
2112
|
const isModuleDeferred =
|
|
2080
|
-
(dependency
|
|
2081
|
-
dependency
|
|
2113
|
+
(isDependencyKind(dependency, "esm-import") ||
|
|
2114
|
+
isDependencyKind(dependency, "dynamic-import")) &&
|
|
2082
2115
|
ImportPhaseUtils.isDefer(dependency.phase) &&
|
|
2083
2116
|
!(/** @type {BuildMeta} */ (module.buildMeta).async);
|
|
2084
2117
|
|
|
@@ -2366,8 +2399,9 @@ class RuntimeTemplate {
|
|
|
2366
2399
|
let importContent;
|
|
2367
2400
|
|
|
2368
2401
|
const isModuleDeferred =
|
|
2369
|
-
|
|
2370
|
-
|
|
2402
|
+
dependency !== undefined &&
|
|
2403
|
+
(isDependencyKind(dependency, "esm-import") ||
|
|
2404
|
+
isDependencyKind(dependency, "dynamic-import")) &&
|
|
2371
2405
|
ImportPhaseUtils.isDefer(dependency.phase) &&
|
|
2372
2406
|
!isAsyncExternal(module);
|
|
2373
2407
|
|
|
@@ -2378,7 +2412,7 @@ class RuntimeTemplate {
|
|
|
2378
2412
|
// would deadlock; forcing the namespace throws instead.
|
|
2379
2413
|
outgoingAsyncModules.delete(originModule);
|
|
2380
2414
|
|
|
2381
|
-
importContent = `/* deferred harmony import */ ${optDeclaration}${importVar} = ${getOptimizedDeferredModule(
|
|
2415
|
+
importContent = `/* deferred harmony import */ ${optDeclaration}${importVar} = ${this.sideEffectsAnnotation()}${getOptimizedDeferredModule(
|
|
2382
2416
|
moduleId,
|
|
2383
2417
|
exportsType,
|
|
2384
2418
|
Array.from(outgoingAsyncModules, (mod) => chunkGraph.getModuleId(mod)),
|
|
@@ -2391,7 +2425,10 @@ class RuntimeTemplate {
|
|
|
2391
2425
|
|
|
2392
2426
|
return [importContent, ""];
|
|
2393
2427
|
}
|
|
2394
|
-
importContent = `/* harmony import */ ${optDeclaration}${importVar} = ${
|
|
2428
|
+
importContent = `/* harmony import */ ${optDeclaration}${importVar} = ${this.moduleSideEffectsAnnotation(
|
|
2429
|
+
module,
|
|
2430
|
+
moduleGraph
|
|
2431
|
+
)}${RuntimeGlobals.require}(${moduleId});\n`;
|
|
2395
2432
|
|
|
2396
2433
|
if (exportsType === "dynamic") {
|
|
2397
2434
|
runtimeRequirements.add(RuntimeGlobals.compatGetDefaultExport);
|
|
@@ -2458,8 +2495,8 @@ class RuntimeTemplate {
|
|
|
2458
2495
|
);
|
|
2459
2496
|
|
|
2460
2497
|
const isModuleDeferred =
|
|
2461
|
-
(dependency
|
|
2462
|
-
dependency
|
|
2498
|
+
(isDependencyKind(dependency, "esm-import") ||
|
|
2499
|
+
isDependencyKind(dependency, "dynamic-import")) &&
|
|
2463
2500
|
ImportPhaseUtils.isDefer(dependency.phase) &&
|
|
2464
2501
|
!isAsyncExternal(module);
|
|
2465
2502
|
|
|
@@ -2476,7 +2513,7 @@ class RuntimeTemplate {
|
|
|
2476
2513
|
);
|
|
2477
2514
|
return `${comment} undefined`;
|
|
2478
2515
|
}
|
|
2479
|
-
if (used
|
|
2516
|
+
if (isInlinedUsedName(used)) {
|
|
2480
2517
|
throw new Error(
|
|
2481
2518
|
"Can't inline the exports of defer imported module"
|
|
2482
2519
|
);
|
|
@@ -2585,7 +2622,7 @@ class RuntimeTemplate {
|
|
|
2585
2622
|
);
|
|
2586
2623
|
return `${comment} undefined`;
|
|
2587
2624
|
}
|
|
2588
|
-
if (used
|
|
2625
|
+
if (isInlinedUsedName(used)) {
|
|
2589
2626
|
return used.render(
|
|
2590
2627
|
Template.toNormalComment(
|
|
2591
2628
|
`inlined export ${propertyAccess(exportName)}`
|
|
@@ -2702,7 +2739,7 @@ class RuntimeTemplate {
|
|
|
2702
2739
|
if (exportInfo.provided === false) continue;
|
|
2703
2740
|
const used = exportsInfo.getUsedName([exportInfo.name], runtime);
|
|
2704
2741
|
if (!used) continue;
|
|
2705
|
-
if (used
|
|
2742
|
+
if (isInlinedUsedName(used)) {
|
|
2706
2743
|
// An inlined export isn't reachable by name on the raw exports object,
|
|
2707
2744
|
// so the decoupled object must expose the inlined value directly.
|
|
2708
2745
|
mangled = true;
|
|
@@ -2851,7 +2888,7 @@ class RuntimeTemplate {
|
|
|
2851
2888
|
* @returns {boolean} true when the hash exists by the time the target is hashed
|
|
2852
2889
|
*/
|
|
2853
2890
|
_hashRoundBefore(chunk, target) {
|
|
2854
|
-
const chunkGraph =
|
|
2891
|
+
const chunkGraph = this.compilation.chunkGraph;
|
|
2855
2892
|
const round = hashRound(chunk, chunkGraph);
|
|
2856
2893
|
const targetRound = hashRound(target, chunkGraph);
|
|
2857
2894
|
if (round !== targetRound) return round < targetRound;
|
|
@@ -2919,8 +2956,7 @@ class RuntimeTemplate {
|
|
|
2919
2956
|
*/
|
|
2920
2957
|
_settlesLate(chunk) {
|
|
2921
2958
|
return (
|
|
2922
|
-
|
|
2923
|
-
(this.compilation.chunkGraph).getChunkFullHashModulesIterable(chunk) !==
|
|
2959
|
+
this.compilation.chunkGraph.getChunkFullHashModulesIterable(chunk) !==
|
|
2924
2960
|
undefined
|
|
2925
2961
|
);
|
|
2926
2962
|
}
|
|
@@ -2952,7 +2988,7 @@ class RuntimeTemplate {
|
|
|
2952
2988
|
_markChunksSettlingLate() {
|
|
2953
2989
|
this._chunksBakingFullHash = new Set();
|
|
2954
2990
|
const { compilation } = this;
|
|
2955
|
-
const chunkGraph =
|
|
2991
|
+
const chunkGraph = compilation.chunkGraph;
|
|
2956
2992
|
const results = compilation.codeGenerationResults;
|
|
2957
2993
|
if (results === undefined) return;
|
|
2958
2994
|
/** @type {Map<Chunk, Set<string>>} */
|
|
@@ -3197,11 +3233,7 @@ class RuntimeTemplate {
|
|
|
3197
3233
|
const undo =
|
|
3198
3234
|
shape === undefined
|
|
3199
3235
|
? null
|
|
3200
|
-
: getUndoPath(
|
|
3201
|
-
`${shape}x`,
|
|
3202
|
-
/** @type {string} */ (this.outputOptions.path),
|
|
3203
|
-
true
|
|
3204
|
-
);
|
|
3236
|
+
: getUndoPath(`${shape}x`, this.outputOptions.path, true);
|
|
3205
3237
|
this._publicPathClimbText = undo === "./" ? "" : undo;
|
|
3206
3238
|
}
|
|
3207
3239
|
return this._publicPathClimbText;
|
|
@@ -3236,11 +3268,7 @@ class RuntimeTemplate {
|
|
|
3236
3268
|
undo:
|
|
3237
3269
|
chunkName === null
|
|
3238
3270
|
? null
|
|
3239
|
-
: getUndoPath(
|
|
3240
|
-
chunkName,
|
|
3241
|
-
/** @type {string} */ (outputOptions.path),
|
|
3242
|
-
true
|
|
3243
|
-
),
|
|
3271
|
+
: getUndoPath(chunkName, outputOptions.path, true),
|
|
3244
3272
|
// A chunk in an initial group and an async one both is served at two urls,
|
|
3245
3273
|
// one public path apart, so no one literal in it is right for both.
|
|
3246
3274
|
loaded: chunk.isOnlyInitial() ? false : chunk.canBeInitial() ? null : true
|
|
@@ -3301,11 +3329,7 @@ class RuntimeTemplate {
|
|
|
3301
3329
|
: shape,
|
|
3302
3330
|
{ chunk, contentHashType: JAVASCRIPT_TYPE }
|
|
3303
3331
|
);
|
|
3304
|
-
return getUndoPath(
|
|
3305
|
-
name,
|
|
3306
|
-
/** @type {string} */ (this.outputOptions.path),
|
|
3307
|
-
enforceRelative
|
|
3308
|
-
);
|
|
3332
|
+
return getUndoPath(name, this.outputOptions.path, enforceRelative);
|
|
3309
3333
|
}
|
|
3310
3334
|
|
|
3311
3335
|
/**
|
|
@@ -3458,7 +3482,7 @@ class RuntimeTemplate {
|
|
|
3458
3482
|
const filename =
|
|
3459
3483
|
deferred && !settled
|
|
3460
3484
|
? ""
|
|
3461
|
-
: compilation.getPath(
|
|
3485
|
+
: compilation.getPath(template, {
|
|
3462
3486
|
chunk,
|
|
3463
3487
|
// Matches what names the asset, or a placeholder resolved here would
|
|
3464
3488
|
// not be the one on disk.
|
|
@@ -3650,7 +3674,7 @@ class RuntimeTemplate {
|
|
|
3650
3674
|
/**
|
|
3651
3675
|
* A path built by a function, resolved to the value it will have — or `null` when
|
|
3652
3676
|
* it moves with the compilation hash, which code generation does not know.
|
|
3653
|
-
* @param {import("./TemplatedPathPlugin").TemplatePathFn
|
|
3677
|
+
* @param {import("./TemplatedPathPlugin").TemplatePathFn} fn the function
|
|
3654
3678
|
* @param {string | undefined} value its answer to the first probe, or `undefined`
|
|
3655
3679
|
* when it answered nothing
|
|
3656
3680
|
* @returns {string | null} the settled value, or `null` when it is hash-dependent
|
|
@@ -4076,7 +4100,7 @@ class RuntimeTemplate {
|
|
|
4076
4100
|
}
|
|
4077
4101
|
const undo = getUndoPath(
|
|
4078
4102
|
this.compilation.getPath(this._hotUpdateShapeText, { chunk }),
|
|
4079
|
-
|
|
4103
|
+
outputOptions.path,
|
|
4080
4104
|
true
|
|
4081
4105
|
);
|
|
4082
4106
|
this._hotUpdateUndoByChunk.set(chunk, undo);
|
|
@@ -4094,9 +4118,7 @@ class RuntimeTemplate {
|
|
|
4094
4118
|
*/
|
|
4095
4119
|
getAnalyzableWasmUrl(module, chunkGraph, runtime, runtimeRequirements) {
|
|
4096
4120
|
const { compilation } = this;
|
|
4097
|
-
const template =
|
|
4098
|
-
this.outputOptions.webassemblyModuleFilename
|
|
4099
|
-
);
|
|
4121
|
+
const template = this.outputOptions.webassemblyModuleFilename;
|
|
4100
4122
|
// The module's own hash and id are settled here, the compilation's is not — and
|
|
4101
4123
|
// a placeholder nothing answers is left in the name, so what comes back is either
|
|
4102
4124
|
// the final name or a template carrying only `[fullhash]`.
|
|
@@ -4264,6 +4286,49 @@ class RuntimeTemplate {
|
|
|
4264
4286
|
return this.returningFunction(factory);
|
|
4265
4287
|
}
|
|
4266
4288
|
|
|
4289
|
+
/**
|
|
4290
|
+
* @param {object} options options
|
|
4291
|
+
* @param {Module} options.module the module the body belongs to
|
|
4292
|
+
* @param {boolean} options.needModule whether the body reads `module`
|
|
4293
|
+
* @param {boolean} options.needExports whether the body reads `exports`
|
|
4294
|
+
* @param {boolean} options.needRequire whether the body reads `__webpack_require__`
|
|
4295
|
+
* @param {boolean} options.needThisAsExports whether the body reads `this` as exports
|
|
4296
|
+
* @param {boolean=} options.shorthand render as a method shorthand, without the `function` keyword
|
|
4297
|
+
* @returns {string} the header, ending with the opening brace
|
|
4298
|
+
*/
|
|
4299
|
+
moduleFactoryFnHeader({
|
|
4300
|
+
module,
|
|
4301
|
+
needModule,
|
|
4302
|
+
needExports,
|
|
4303
|
+
needRequire,
|
|
4304
|
+
needThisAsExports,
|
|
4305
|
+
shorthand = false
|
|
4306
|
+
}) {
|
|
4307
|
+
/** @type {string[]} */
|
|
4308
|
+
const args = [];
|
|
4309
|
+
if (needExports || needRequire || needModule) {
|
|
4310
|
+
args.push(
|
|
4311
|
+
needModule
|
|
4312
|
+
? module.moduleArgument
|
|
4313
|
+
: `__unused_webpack_${module.moduleArgument}`
|
|
4314
|
+
);
|
|
4315
|
+
}
|
|
4316
|
+
if (needExports || needRequire) {
|
|
4317
|
+
args.push(
|
|
4318
|
+
needExports
|
|
4319
|
+
? module.exportsArgument
|
|
4320
|
+
: `__unused_webpack_${module.exportsArgument}`
|
|
4321
|
+
);
|
|
4322
|
+
}
|
|
4323
|
+
if (needRequire) args.push(RuntimeGlobals.require);
|
|
4324
|
+
const parameters = args.join(", ");
|
|
4325
|
+
if (shorthand) return `(${parameters}) {`;
|
|
4326
|
+
if (!needThisAsExports && this.supportsArrowFunction()) {
|
|
4327
|
+
return `(${parameters}) => {`;
|
|
4328
|
+
}
|
|
4329
|
+
return `function(${parameters}) {`;
|
|
4330
|
+
}
|
|
4331
|
+
|
|
4267
4332
|
/**
|
|
4268
4333
|
* Define es module flag statement.
|
|
4269
4334
|
* @param {object} options options
|
|
@@ -4420,11 +4485,7 @@ class RuntimeTemplate {
|
|
|
4420
4485
|
} else if (kind === "literal") {
|
|
4421
4486
|
specifier += value;
|
|
4422
4487
|
} else if (kind === "undo") {
|
|
4423
|
-
specifier += getUndoPath(
|
|
4424
|
-
assetName,
|
|
4425
|
-
/** @type {string} */ (outputOptions.path),
|
|
4426
|
-
true
|
|
4427
|
-
);
|
|
4488
|
+
specifier += getUndoPath(assetName, outputOptions.path, true);
|
|
4428
4489
|
} else if (kind === "template") {
|
|
4429
4490
|
specifier += compilation.getPath(
|
|
4430
4491
|
/** @type {string} */ (value),
|
|
@@ -4575,7 +4636,7 @@ class RuntimeTemplate {
|
|
|
4575
4636
|
* @returns {SpecifierPart[] | null} what it resolves to, or `null` if unreadable
|
|
4576
4637
|
*/
|
|
4577
4638
|
static _readAnalyzableSpecifier(payload) {
|
|
4578
|
-
/** @type {
|
|
4639
|
+
/** @type {JsonValue} */
|
|
4579
4640
|
let decoded;
|
|
4580
4641
|
try {
|
|
4581
4642
|
decoded = JSON.parse(
|
|
@@ -4590,17 +4651,19 @@ class RuntimeTemplate {
|
|
|
4590
4651
|
if (!Array.isArray(decoded)) return null;
|
|
4591
4652
|
for (const part of decoded) {
|
|
4592
4653
|
if (!Array.isArray(part) || part.length !== 2) return null;
|
|
4593
|
-
if (!SPECIFIER_PART_KINDS.has(part[0]))
|
|
4654
|
+
if (!SPECIFIER_PART_KINDS.has(/** @type {string} */ (part[0]))) {
|
|
4655
|
+
return null;
|
|
4656
|
+
}
|
|
4594
4657
|
// Only a chunk id may be a number; the rest are read as text.
|
|
4595
4658
|
if (
|
|
4596
4659
|
typeof part[1] !== "string" &&
|
|
4597
|
-
(!CHUNK_SPECIFIER_PART_KINDS.has(part[0]) ||
|
|
4660
|
+
(!CHUNK_SPECIFIER_PART_KINDS.has(/** @type {string} */ (part[0])) ||
|
|
4598
4661
|
typeof part[1] !== "number")
|
|
4599
4662
|
) {
|
|
4600
4663
|
return null;
|
|
4601
4664
|
}
|
|
4602
4665
|
}
|
|
4603
|
-
return decoded;
|
|
4666
|
+
return /** @type {SpecifierPart[]} */ (decoded);
|
|
4604
4667
|
}
|
|
4605
4668
|
}
|
|
4606
4669
|
|
|
@@ -6,30 +6,32 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { ConcatSource, PrefixSource } = require("webpack-sources");
|
|
9
|
-
const {
|
|
10
|
-
|
|
9
|
+
const {
|
|
10
|
+
WEBPACK_MODULE_TYPE_RUNTIME
|
|
11
|
+
} = require("../module/ModuleTypeConstants");
|
|
12
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
11
13
|
|
|
12
14
|
/** @import { Source } from "webpack-sources" */
|
|
13
15
|
/**
|
|
14
16
|
* @import {
|
|
15
17
|
* OutputNormalizedWithDefaults as OutputOptions
|
|
16
|
-
* } from "
|
|
18
|
+
* } from "../config/defaults"
|
|
17
19
|
*/
|
|
18
|
-
/** @import Chunk from "
|
|
19
|
-
/** @import ChunkGraph, { ModuleId } from "
|
|
20
|
-
/** @import CodeGenerationResults from "
|
|
21
|
-
/** @import { AssetInfo, PathData } from "
|
|
20
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
21
|
+
/** @import ChunkGraph, { ModuleId } from "../graph/ChunkGraph" */
|
|
22
|
+
/** @import CodeGenerationResults from "../module/CodeGenerationResults" */
|
|
23
|
+
/** @import { AssetInfo, PathData } from "../Compilation" */
|
|
22
24
|
/** @import DependencyTemplates from "./DependencyTemplates" */
|
|
23
|
-
/** @import Module from "
|
|
24
|
-
/** @import ModuleGraph from "
|
|
25
|
+
/** @import Module from "../module/Module" */
|
|
26
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
25
27
|
/** @import ModuleTemplate from "./ModuleTemplate" */
|
|
26
|
-
/** @import RuntimeModule from "
|
|
28
|
+
/** @import RuntimeModule from "../runtime/RuntimeModule" */
|
|
27
29
|
/** @import RuntimeTemplate from "./RuntimeTemplate" */
|
|
28
30
|
/**
|
|
29
31
|
* @import {
|
|
30
32
|
* ChunkRenderContext,
|
|
31
33
|
* RenderContext
|
|
32
|
-
* } from "
|
|
34
|
+
* } from "../javascript/JavascriptModulesPlugin"
|
|
33
35
|
*/
|
|
34
36
|
|
|
35
37
|
const START_LOWERCASE_ALPHABET_CODE = "a".charCodeAt(0);
|
|
@@ -51,7 +53,7 @@ const LINE_SEPARATOR_REGEX = /\r?\n/g;
|
|
|
51
53
|
const IDENTIFIER_NAME_REPLACE_REGEX = /^([^a-z$_])/i;
|
|
52
54
|
const IDENTIFIER_ALPHA_NUMERIC_NAME_REPLACE_REGEX = /[^a-z0-9$]+/gi;
|
|
53
55
|
const COMMENT_END_REGEX = /\*\//g;
|
|
54
|
-
const PATH_NAME_NORMALIZE_REPLACE_REGEX = /[^a-
|
|
56
|
+
const PATH_NAME_NORMALIZE_REPLACE_REGEX = /[^a-zA-Z0-9_!§$()=\-^°]+/g;
|
|
55
57
|
const MATCH_PADDED_HYPHENS_REPLACE_REGEX = /^-|-$/g;
|
|
56
58
|
|
|
57
59
|
/**
|
|
@@ -7,23 +7,24 @@
|
|
|
7
7
|
|
|
8
8
|
const { basename, extname, posix } = require("path");
|
|
9
9
|
const util = require("util");
|
|
10
|
-
const
|
|
11
|
-
const
|
|
10
|
+
const PathVariableError = require("../errors/PathVariableError");
|
|
11
|
+
const Chunk = require("../graph/Chunk");
|
|
12
|
+
const Module = require("../module/Module");
|
|
12
13
|
const {
|
|
13
14
|
decode: decodeBase,
|
|
14
15
|
encode: encodeBase
|
|
15
|
-
} = require("
|
|
16
|
+
} = require("../util/hash/hash-digest");
|
|
16
17
|
const {
|
|
17
18
|
ABSOLUTE_PATH_REGEXP,
|
|
18
19
|
WINDOWS_ABS_PATH_REGEXP,
|
|
19
20
|
WINDOWS_PATH_SEPARATOR_REGEXP,
|
|
20
21
|
parseResource
|
|
21
|
-
} = require("
|
|
22
|
-
const memoize = require("
|
|
22
|
+
} = require("../util/identifier");
|
|
23
|
+
const memoize = require("../util/memoize");
|
|
23
24
|
|
|
24
|
-
const getMimeTypes = memoize(() => require("
|
|
25
|
+
const getMimeTypes = memoize(() => require("../util/mimeTypes"));
|
|
25
26
|
|
|
26
|
-
/** @import ChunkGraph, { ModuleId } from "
|
|
27
|
+
/** @import ChunkGraph, { ModuleId } from "../graph/ChunkGraph" */
|
|
27
28
|
/**
|
|
28
29
|
* @import Compilation, {
|
|
29
30
|
* AssetInfo,
|
|
@@ -31,9 +32,9 @@ const getMimeTypes = memoize(() => require("./util/mimeTypes"));
|
|
|
31
32
|
* PathData,
|
|
32
33
|
* PathDataChunk,
|
|
33
34
|
* PathDataModule
|
|
34
|
-
* } from "
|
|
35
|
+
* } from "../Compilation"
|
|
35
36
|
*/
|
|
36
|
-
/** @import Compiler from "
|
|
37
|
+
/** @import Compiler from "../Compiler" */
|
|
37
38
|
|
|
38
39
|
const REGEXP = /\[\\*([\w:]+)\\*\]/g;
|
|
39
40
|
|
|
@@ -121,7 +122,7 @@ const toContainedPath = (path) => {
|
|
|
121
122
|
* @returns {string} source file name for the filename template
|
|
122
123
|
*/
|
|
123
124
|
const toTemplateSourceFileName = (sourceFilename, compilation) =>
|
|
124
|
-
// TODO
|
|
125
|
+
// TODO in the next major release: remove the check, always contain
|
|
125
126
|
compilation.options.experiments.futureDefaults
|
|
126
127
|
? toContainedPath(sourceFilename)
|
|
127
128
|
: sourceFilename;
|
|
@@ -330,9 +331,7 @@ const replacer = (value, allowEmpty) => {
|
|
|
330
331
|
}
|
|
331
332
|
if (value === null || value === undefined) {
|
|
332
333
|
if (!allowEmpty) {
|
|
333
|
-
throw new
|
|
334
|
-
`Path variable ${match} not implemented in this context: ${input}`
|
|
335
|
-
);
|
|
334
|
+
throw new PathVariableError(match, input);
|
|
336
335
|
}
|
|
337
336
|
|
|
338
337
|
return "";
|
|
@@ -344,16 +343,15 @@ const replacer = (value, allowEmpty) => {
|
|
|
344
343
|
return fn;
|
|
345
344
|
};
|
|
346
345
|
|
|
347
|
-
/** @type {Map<string, (
|
|
346
|
+
/** @type {Map<string, () => void>} */
|
|
348
347
|
const deprecationCache = new Map();
|
|
349
348
|
const deprecatedFunction = (() => () => {})();
|
|
350
349
|
/**
|
|
351
350
|
* Returns function with deprecation output.
|
|
352
|
-
* @
|
|
353
|
-
* @param {T} fn function
|
|
351
|
+
* @param {Replacer} fn function
|
|
354
352
|
* @param {string} message message
|
|
355
353
|
* @param {string} code code
|
|
356
|
-
* @returns {
|
|
354
|
+
* @returns {Replacer} function with deprecation output
|
|
357
355
|
*/
|
|
358
356
|
const deprecated = (fn, message, code) => {
|
|
359
357
|
let d = deprecationCache.get(message);
|
|
@@ -361,12 +359,10 @@ const deprecated = (fn, message, code) => {
|
|
|
361
359
|
d = util.deprecate(deprecatedFunction, message, code);
|
|
362
360
|
deprecationCache.set(message, d);
|
|
363
361
|
}
|
|
364
|
-
return
|
|
365
|
-
(
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
}
|
|
369
|
-
);
|
|
362
|
+
return (...args) => {
|
|
363
|
+
d();
|
|
364
|
+
return fn(...args);
|
|
365
|
+
};
|
|
370
366
|
};
|
|
371
367
|
|
|
372
368
|
/**
|