@depup/webpack 5.111.1-depup.1 → 5.112.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -7
- package/changes.json +3 -15
- package/lib/Chunk.js +3 -966
- package/lib/Compilation.js +224 -106
- package/lib/Compiler.js +19 -19
- 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 +8 -8
- package/lib/asset/AssetBytesParser.js +3 -3
- package/lib/asset/AssetGenerator.js +36 -22
- package/lib/asset/AssetModule.js +2 -2
- package/lib/asset/AssetModulesPlugin.js +6 -9
- package/lib/asset/AssetParser.js +3 -3
- package/lib/asset/AssetSourceGenerator.js +8 -8
- package/lib/asset/AssetSourceParser.js +3 -3
- package/lib/asset/RawDataUrlModule.js +17 -10
- package/lib/asset/WebManifestGenerator.js +7 -7
- package/lib/asset/WebManifestParser.js +5 -5
- package/lib/async-modules/AsyncModuleHelpers.js +6 -5
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +4 -3
- package/lib/async-modules/isGeneratorLowered.js +3 -3
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +2 -19
- package/lib/{Cache.js → cache/Cache.js} +1 -1
- package/lib/{CacheFacade.js → cache/CacheFacade.js} +5 -5
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +2 -2
- package/lib/cache/MemoryWithGcCachePlugin.js +2 -2
- package/lib/cache/PackFileCacheStrategy.js +8 -10
- package/lib/cache/ResolverCachePlugin.js +8 -4
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/{OptionsApply.js → config/OptionsApply.js} +3 -3
- package/lib/{PlatformPlugin.js → config/PlatformPlugin.js} +2 -2
- package/lib/{WebpackOptionsApply.js → config/WebpackOptionsApply.js} +217 -200
- package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
- package/lib/config/browserslistTargetHandler.js +1 -1
- package/lib/{cli.js → config/cli.js} +5 -158
- package/lib/config/defaults.js +144 -48
- package/lib/config/getClaimedAssetTypes.js +21 -13
- package/lib/config/normalization.js +18 -7
- package/lib/config/target.js +10 -0
- 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 +36 -25
- package/lib/context/ContextModuleFactory.js +13 -10
- package/lib/context/ContextReplacementPlugin.js +3 -3
- package/lib/css/CssGenerator.js +38 -31
- package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
- package/lib/css/CssLoadingRuntimeModule.js +77 -44
- package/lib/css/CssModule.js +27 -29
- package/lib/css/CssModulesPlugin.js +128 -44
- package/lib/css/CssParser.js +682 -291
- package/lib/css/CssServerStylesRuntimeModule.js +3 -3
- package/lib/css/cssMinify.js +110 -37
- package/lib/css/data.js +6985 -5125
- package/lib/css/syntax-parser.js +19873 -0
- package/lib/css/syntax-printer.js +6037 -0
- package/lib/css/syntax.js +37 -18686
- package/lib/debug/ProfilingPlugin.js +52 -19
- package/lib/{DefinePlugin.js → define/DefinePlugin.js} +407 -41
- package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +9 -9
- package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +2 -2
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/ConstDependency.js +3 -120
- package/lib/dependencies/ContextElementDependency.js +5 -172
- package/lib/dependencies/NullDependency.js +3 -37
- package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
- package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -10
- package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
- package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
- package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
- package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
- package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +10 -10
- package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
- package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
- package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
- package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
- package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
- package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
- package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
- package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
- package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
- package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +166 -33
- package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
- package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +138 -61
- package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
- package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +35 -30
- package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +13 -12
- package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +47 -35
- package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
- package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
- package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +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} +5 -5
- package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
- package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
- package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
- package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
- package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
- package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
- package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
- package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
- package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
- package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
- package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
- package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
- package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +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} +9 -9
- package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
- package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +4 -4
- package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +9 -9
- package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
- package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
- package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
- package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +12 -11
- package/lib/dependencies/core/ConstDependency.js +131 -0
- package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
- package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
- package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
- package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
- package/lib/dependencies/core/NullDependency.js +44 -0
- package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
- package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
- package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +369 -92
- package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +23 -16
- 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} +23 -16
- 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} +19 -17
- 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} +133 -118
- package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +48 -30
- package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +60 -36
- package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -4
- package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
- package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +74 -71
- package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +99 -84
- package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +26 -29
- package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +83 -39
- package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +94 -59
- package/lib/dependencies/esm/ESMModulesPlugin.js +207 -0
- package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
- package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -11
- package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +2 -2
- package/lib/{util → dependencies/helpers}/chainedImports.js +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} +51 -141
- package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -12
- package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +69 -19
- package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +50 -15
- package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
- package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
- package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
- package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
- package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +20 -20
- package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
- package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
- package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
- package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +119 -98
- 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 +16 -18
- 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} +31 -33
- 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} +154 -26
- package/lib/{util → devtool}/generateDebugId.js +1 -1
- package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
- package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
- package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
- package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
- package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
- package/lib/dll/DelegatedModule.js +20 -18
- package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
- package/lib/dll/DelegatedPlugin.js +1 -1
- package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
- package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
- package/lib/dll/DllEntryPlugin.js +3 -3
- package/lib/dll/DllModule.js +11 -9
- package/lib/dll/DllModuleFactory.js +3 -3
- package/lib/dll/DllPlugin.js +18 -6
- package/lib/dll/DllReferencePlugin.js +102 -26
- package/lib/dll/LibManifestPlugin.js +9 -7
- package/lib/electron/ElectronTargetPlugin.js +2 -2
- package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
- package/lib/{dependencies → entry}/EntryDependency.js +11 -2
- package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
- package/lib/entry/EntryPlugin.js +75 -0
- package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
- package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
- package/lib/errors/DeprecatedOptionWarning.js +30 -0
- package/lib/errors/DllManifestError.js +26 -0
- package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
- package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
- package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/{ErrorHelpers.js → errors/ErrorHelpers.js} +7 -5
- package/lib/errors/ExternalStarReexportError.js +2 -2
- package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
- package/lib/errors/HookWebpackError.js +4 -4
- package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
- package/lib/errors/ModuleBuildError.js +1 -1
- package/lib/errors/ModuleDependencyError.js +2 -2
- package/lib/errors/ModuleDependencyWarning.js +2 -2
- package/lib/errors/ModuleError.js +1 -1
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +3 -3
- package/lib/errors/ModuleParseError.js +1 -1
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/ModuleWarning.js +1 -1
- package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
- package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
- package/lib/errors/NodeStuffInWebError.js +7 -2
- package/lib/errors/PathVariableError.js +31 -0
- package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
- package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
- package/lib/errors/RuntimeModuleGenerationError.js +51 -0
- package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
- package/lib/errors/SystemImportDeprecationWarning.js +43 -0
- package/lib/errors/UnmergeableEntryExportsError.js +34 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
- package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
- package/lib/errors/WebpackError.js +12 -3
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
- package/lib/esm/ModuleChunkFormatPlugin.js +19 -19
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
- package/lib/{ExternalModule.js → externals/ExternalModule.js} +79 -55
- package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +41 -39
- package/lib/externals/ExternalsPlugin.js +99 -0
- package/lib/fs/FileSystemInfo.js +4642 -0
- package/lib/{util → fs}/fs.js +22 -9
- package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
- package/lib/graph/Chunk.js +985 -0
- package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +187 -80
- package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
- package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
- package/lib/graph/Dependency.js +628 -0
- package/lib/graph/Entrypoint.js +136 -0
- package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +130 -82
- package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
- package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +30 -30
- package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
- package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +152 -57
- package/lib/{util → graph}/findGraphRoots.js +14 -8
- package/lib/graph/isDependencyKind.js +23 -0
- package/lib/hmr/HotModuleReplacement.runtime.js +2 -2
- package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +47 -47
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +10 -8
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
- package/lib/hmr/LazyCompilationPlugin.js +31 -21
- package/lib/html/HtmlGenerator.js +107 -43
- package/lib/html/HtmlModule.js +6 -2
- package/lib/html/HtmlModulesPlugin.js +172 -76
- package/lib/html/HtmlParser.js +503 -153
- package/lib/html/builtinEmbeddedRenderer.js +60 -13
- package/lib/html/data.js +2 -1
- package/lib/html/htmlMinify.js +111 -41
- package/lib/html/syntax-parser.js +15796 -0
- package/lib/html/syntax-printer.js +1034 -0
- package/lib/html/syntax.js +37 -13952
- package/lib/html/xmlMinify.js +67 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +31 -4
- package/lib/ids/IdHelpers.js +4 -4
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
- package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
- package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
- package/lib/ids/SyncModuleIdsPlugin.js +3 -3
- package/lib/{util → ids}/numberHash.js +1 -1
- package/lib/index.js +303 -97
- package/lib/{APIPlugin.js → javascript/APIPlugin.js} +25 -25
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
- package/lib/javascript/BasicEvaluatedExpression.js +4 -4
- package/lib/javascript/ChunkHelpers.js +64 -4
- package/lib/javascript/CommonJsChunkFormatPlugin.js +4 -7
- package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +7 -7
- package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +74 -7
- package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
- package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
- package/lib/javascript/JavascriptGenerator.js +17 -17
- package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +7 -7
- package/lib/javascript/JavascriptModule.js +4 -3
- package/lib/javascript/JavascriptModulesPlugin.js +440 -211
- package/lib/javascript/JavascriptParser.js +220 -134
- package/lib/javascript/JavascriptParserHelpers.js +1 -1
- package/lib/javascript/MergedEntryExports.js +196 -0
- package/lib/javascript/ScopeAnalyzer.js +3840 -5
- package/lib/javascript/StartupHelpers.js +6 -6
- package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +12 -15
- package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
- package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
- package/lib/javascript/data.js +533 -122
- package/lib/javascript/jsMinify.js +272 -0
- package/lib/javascript/regexp.js +67 -32
- package/lib/javascript/syntax-parser.js +18561 -0
- package/lib/javascript/syntax-printer-data.js +933 -0
- package/lib/javascript/syntax-printer.js +47106 -0
- package/lib/javascript/syntax.js +20 -11274
- package/lib/json/JsonData.js +1 -1
- package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
- package/lib/json/JsonGenerator.js +10 -10
- package/lib/json/JsonModule.js +2 -2
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +5 -5
- package/lib/json/jsonMinify.js +69 -0
- package/lib/library/AbstractLibraryPlugin.js +28 -15
- package/lib/library/AmdLibraryPlugin.js +4 -4
- package/lib/library/AssignLibraryPlugin.js +27 -11
- package/lib/library/EnableLibraryPlugin.js +1 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
- package/lib/library/JsonpLibraryPlugin.js +1 -1
- package/lib/library/LibraryTemplatePlugin.js +53 -0
- package/lib/library/ModuleLibraryPlugin.js +160 -166
- 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 +31 -21
- package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
- package/lib/logging/Logger.js +7 -9
- package/lib/logging/ProgressPlugin.js +957 -0
- package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
- package/lib/{Generator.js → module/Generator.js} +16 -14
- package/lib/{Module.js → module/Module.js} +119 -51
- package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
- package/lib/module/NormalModule.js +2348 -0
- package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +53 -54
- package/lib/module/NullFactory.js +29 -0
- package/lib/{Parser.js → module/Parser.js} +3 -3
- package/lib/module/RawModule.js +208 -0
- package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
- package/lib/{util → module}/extractSourceMap.js +2 -2
- package/lib/{util → module}/findCaseMismatch.js +2 -2
- package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
- package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
- package/lib/{dependencies → node}/ExternalModuleInitFragment.js +6 -5
- package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
- package/lib/node/NodeEnvironmentPlugin.js +11 -1
- package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
- package/lib/node/NodeTargetPlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +58 -6
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +9 -7
- package/lib/node/ReadFileCompileWasmPlugin.js +7 -5
- package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/nodeConsole.js +2 -4
- package/lib/optimize/AggressiveMergingPlugin.js +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
- package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +13 -13
- package/lib/optimize/ConcatenatedModule.js +229 -214
- 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} +17 -17
- package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +17 -17
- package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
- package/lib/optimize/InlineExports.js +11 -3
- package/lib/optimize/InnerGraph.js +5 -13
- package/lib/optimize/InnerGraphPlugin.js +10 -10
- package/lib/optimize/LazyBarrels.js +584 -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 +20 -12
- package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
- package/lib/optimize/RealContentHashPlugin.js +16 -7
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/SideEffectsFlagPlugin.js +18 -18
- package/lib/optimize/SplitChunksPlugin.js +713 -155
- 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} +66 -24
- package/lib/{CopyPlugin.js → output/CopyPlugin.js} +142 -67
- package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
- package/lib/output/SSRManifestPlugin.js +349 -0
- package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
- package/lib/performance/BroadContextsPlugin.js +4 -4
- package/lib/performance/CacheEffectivenessPlugin.js +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 +3 -3
- package/lib/performance/HotspotsPlugin.js +11 -10
- package/lib/performance/LargeModulesPlugin.js +2 -3
- package/lib/performance/LegacyJavascriptPlugin.js +1 -2
- package/lib/performance/MissingSideEffectsPlugin.js +2 -3
- package/lib/performance/MissingSourceMapsPlugin.js +5 -6
- package/lib/performance/PureAnnotationsPlugin.js +3 -3
- package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
- package/lib/performance/SizeLimitsPlugin.js +11 -12
- package/lib/performance/TopLevelThisPlugin.js +8 -7
- package/lib/performance/UnsplitVendorsPlugin.js +1 -2
- package/lib/performance/UnusedAliasesPlugin.js +6 -7
- package/lib/performance/UnusedAssetsPlugin.js +5 -5
- package/lib/performance/UnusedDefinesPlugin.js +2 -2
- package/lib/performance/UnusedExternalsPlugin.js +3 -4
- package/lib/performance/UnusedFederationPlugin.js +2 -4
- package/lib/performance/UnusedModulesPlugin.js +5 -4
- package/lib/performance/getModuleSize.js +1 -1
- package/lib/performance/hasOnlyUnusedExports.js +4 -4
- package/lib/performance/isOnlyReexported.js +7 -6
- package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +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 +65 -44
- 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 +14 -13
- package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
- package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
- package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
- package/lib/resolve/getResolveOptionsKey.js +59 -0
- package/lib/rules/RuleSetCompiler.js +27 -46
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
- package/lib/runtime/AsyncModuleRuntimeModule.js +7 -4
- 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 +6 -6
- 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} +18 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
- package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
- package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +48 -50
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
- package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
- package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
- package/lib/runtime/SystemContextRuntimeModule.js +2 -2
- package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
- package/lib/runtime/WorkerRuntimeModule.js +1 -1
- package/lib/runtime/baseUri.js +1 -1
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +67 -11
- package/lib/schemes/VirtualUrlPlugin.js +50 -16
- package/lib/serialization/AggregateErrorSerializer.js +2 -2
- package/lib/serialization/FileMiddleware.js +3 -3
- package/lib/serialization/ObjectMiddleware.js +47 -16
- package/lib/serialization/SerializerMiddleware.js +2 -2
- package/lib/serialization/SingleItemMiddleware.js +4 -2
- package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
- package/lib/sharing/ConsumeSharedModule.js +18 -14
- package/lib/sharing/ConsumeSharedPlugin.js +148 -42
- package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
- package/lib/sharing/ProvideForSharedDependency.js +9 -1
- package/lib/sharing/ProvideSharedDependency.js +1 -1
- package/lib/sharing/ProvideSharedModule.js +11 -9
- package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
- package/lib/sharing/ProvideSharedPlugin.js +111 -20
- package/lib/sharing/SharePlugin.js +102 -9
- package/lib/sharing/ShareRuntimeModule.js +6 -6
- package/lib/sharing/resolveMatchedConfigs.js +1 -1
- package/lib/{util → sharing}/semver.js +14 -16
- package/lib/sharing/utils.js +59 -2
- package/lib/stats/DefaultStatsFactoryPlugin.js +22 -19
- package/lib/stats/DefaultStatsPresetPlugin.js +1 -1
- package/lib/stats/DefaultStatsPrinterPlugin.js +3 -3
- package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
- package/lib/{Stats.js → stats/Stats.js} +4 -4
- package/lib/stats/StatsFactory.js +14 -13
- package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
- package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
- package/lib/template/DependencyTemplate.js +77 -0
- package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
- package/lib/template/InitFragment.js +223 -0
- package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
- package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
- package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
- package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +145 -63
- package/lib/{Template.js → template/Template.js} +13 -11
- 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 +349 -44
- package/lib/util/TupleSet.js +27 -27
- package/lib/util/WeakTupleMap.js +10 -12
- package/lib/util/buildDiagnostics.js +2 -2
- package/lib/util/comparators.js +10 -10
- package/lib/util/concatenate.js +28 -147
- package/lib/util/createMappings.js +111 -0
- package/lib/util/dataURL.js +94 -15
- package/lib/util/deprecation.js +1 -1
- package/lib/util/extractComments.js +118 -0
- package/lib/util/formatLocation.js +1 -1
- package/lib/util/globUtils.js +197 -16
- package/lib/util/haltVisitors.js +51 -0
- package/lib/util/handlerKeys.js +2 -2
- package/lib/util/identifier.js +117 -1
- package/lib/util/implicitTypeLoaderFallback.js +6 -4
- package/lib/util/internalSerializables.js +294 -102
- package/lib/util/magicComment.js +12 -7
- package/lib/util/makeSerializable.js +23 -4
- package/lib/util/parseJson.js +1 -1
- package/lib/util/preloadModuleType.js +5 -2
- package/lib/util/registerExternalSerializer.js +2 -2
- package/lib/util/removeBOM.js +1 -1
- package/lib/util/runtime.js +1 -1
- package/lib/util/serialization.js +4 -1
- package/lib/util/source.js +2 -2
- package/lib/util/terminalColors.js +161 -0
- package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmModule.js +9 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +11 -10
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +8 -8
- package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
- package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +9 -7
- package/lib/wasm/wasmModuleFilename.js +2 -2
- package/lib/wasm-sync/SyncWasmModule.js +3 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +8 -8
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +9 -8
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +14 -15
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
- package/lib/wasm-sync/WebAssemblyParser.js +6 -6
- 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 +8 -6
- package/lib/web/FetchCompileWasmPlugin.js +6 -4
- package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
- package/lib/web/JsonpTemplatePlugin.js +1 -1
- package/lib/webpack.js +27 -17
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
- package/package.json +49 -38
- package/schemas/WebpackOptions.check.js +2 -1
- package/schemas/WebpackOptions.d.json.ts +2 -0
- package/schemas/WebpackOptions.json +294 -74
- package/schemas/plugins/BannerPlugin.check.js +2 -1
- package/schemas/plugins/BannerPlugin.json +29 -2
- package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -0
- package/schemas/plugins/HtmlParserOptions.check.js +2 -1
- package/schemas/plugins/IgnorePlugin.check.js +1 -0
- package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.json +3 -3
- package/schemas/plugins/ProgressPlugin.check.js +2 -1
- package/schemas/plugins/ProgressPlugin.json +2 -7
- package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
- package/schemas/plugins/SSRManifestPlugin.json +20 -0
- package/schemas/plugins/SourceMapDevToolPlugin.check.js +2 -1
- package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
- package/schemas/plugins/WatchIgnorePlugin.check.js +2 -1
- package/schemas/plugins/WatchIgnorePlugin.json +12 -3
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetParserOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -0
- package/schemas/plugins/container/ContainerPlugin.check.js +2 -1
- package/schemas/plugins/container/ContainerPlugin.json +8 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +2 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssParserOptions.check.js +1 -0
- package/schemas/plugins/debug/ProfilingPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.js +2 -1
- package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginParser.check.js +1 -0
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -0
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -0
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -0
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +1 -0
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/SharePlugin.check.js +2 -1
- package/schemas/plugins/sharing/SharePlugin.json +32 -0
- package/types.d.ts +19355 -13873
- 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}/conventions.js +0 -0
- /package/lib/{util → css}/topologicalSort.js +0 -0
- /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
- /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
- /package/lib/{util → fs}/StackedCacheMap.js +0 -0
- /package/lib/{util → javascript}/StackedMap.js +0 -0
- /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
- /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
- /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
- /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
- /package/lib/{util → optimize}/Queue.js +0 -0
- /package/lib/{util → stats}/smartGrouping.js +0 -0
|
@@ -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
|
|
@@ -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
|
|
@@ -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;
|
|
@@ -3650,7 +3687,7 @@ class RuntimeTemplate {
|
|
|
3650
3687
|
/**
|
|
3651
3688
|
* A path built by a function, resolved to the value it will have — or `null` when
|
|
3652
3689
|
* it moves with the compilation hash, which code generation does not know.
|
|
3653
|
-
* @param {import("./TemplatedPathPlugin").TemplatePathFn
|
|
3690
|
+
* @param {import("./TemplatedPathPlugin").TemplatePathFn} fn the function
|
|
3654
3691
|
* @param {string | undefined} value its answer to the first probe, or `undefined`
|
|
3655
3692
|
* when it answered nothing
|
|
3656
3693
|
* @returns {string | null} the settled value, or `null` when it is hash-dependent
|
|
@@ -4264,6 +4301,49 @@ class RuntimeTemplate {
|
|
|
4264
4301
|
return this.returningFunction(factory);
|
|
4265
4302
|
}
|
|
4266
4303
|
|
|
4304
|
+
/**
|
|
4305
|
+
* @param {object} options options
|
|
4306
|
+
* @param {Module} options.module the module the body belongs to
|
|
4307
|
+
* @param {boolean} options.needModule whether the body reads `module`
|
|
4308
|
+
* @param {boolean} options.needExports whether the body reads `exports`
|
|
4309
|
+
* @param {boolean} options.needRequire whether the body reads `__webpack_require__`
|
|
4310
|
+
* @param {boolean} options.needThisAsExports whether the body reads `this` as exports
|
|
4311
|
+
* @param {boolean=} options.shorthand render as a method shorthand, without the `function` keyword
|
|
4312
|
+
* @returns {string} the header, ending with the opening brace
|
|
4313
|
+
*/
|
|
4314
|
+
moduleFactoryFnHeader({
|
|
4315
|
+
module,
|
|
4316
|
+
needModule,
|
|
4317
|
+
needExports,
|
|
4318
|
+
needRequire,
|
|
4319
|
+
needThisAsExports,
|
|
4320
|
+
shorthand = false
|
|
4321
|
+
}) {
|
|
4322
|
+
/** @type {string[]} */
|
|
4323
|
+
const args = [];
|
|
4324
|
+
if (needExports || needRequire || needModule) {
|
|
4325
|
+
args.push(
|
|
4326
|
+
needModule
|
|
4327
|
+
? module.moduleArgument
|
|
4328
|
+
: `__unused_webpack_${module.moduleArgument}`
|
|
4329
|
+
);
|
|
4330
|
+
}
|
|
4331
|
+
if (needExports || needRequire) {
|
|
4332
|
+
args.push(
|
|
4333
|
+
needExports
|
|
4334
|
+
? module.exportsArgument
|
|
4335
|
+
: `__unused_webpack_${module.exportsArgument}`
|
|
4336
|
+
);
|
|
4337
|
+
}
|
|
4338
|
+
if (needRequire) args.push(RuntimeGlobals.require);
|
|
4339
|
+
const parameters = args.join(", ");
|
|
4340
|
+
if (shorthand) return `(${parameters}) {`;
|
|
4341
|
+
if (!needThisAsExports && this.supportsArrowFunction()) {
|
|
4342
|
+
return `(${parameters}) => {`;
|
|
4343
|
+
}
|
|
4344
|
+
return `function(${parameters}) {`;
|
|
4345
|
+
}
|
|
4346
|
+
|
|
4267
4347
|
/**
|
|
4268
4348
|
* Define es module flag statement.
|
|
4269
4349
|
* @param {object} options options
|
|
@@ -4575,7 +4655,7 @@ class RuntimeTemplate {
|
|
|
4575
4655
|
* @returns {SpecifierPart[] | null} what it resolves to, or `null` if unreadable
|
|
4576
4656
|
*/
|
|
4577
4657
|
static _readAnalyzableSpecifier(payload) {
|
|
4578
|
-
/** @type {
|
|
4658
|
+
/** @type {JsonValue} */
|
|
4579
4659
|
let decoded;
|
|
4580
4660
|
try {
|
|
4581
4661
|
decoded = JSON.parse(
|
|
@@ -4590,17 +4670,19 @@ class RuntimeTemplate {
|
|
|
4590
4670
|
if (!Array.isArray(decoded)) return null;
|
|
4591
4671
|
for (const part of decoded) {
|
|
4592
4672
|
if (!Array.isArray(part) || part.length !== 2) return null;
|
|
4593
|
-
if (!SPECIFIER_PART_KINDS.has(part[0]))
|
|
4673
|
+
if (!SPECIFIER_PART_KINDS.has(/** @type {string} */ (part[0]))) {
|
|
4674
|
+
return null;
|
|
4675
|
+
}
|
|
4594
4676
|
// Only a chunk id may be a number; the rest are read as text.
|
|
4595
4677
|
if (
|
|
4596
4678
|
typeof part[1] !== "string" &&
|
|
4597
|
-
(!CHUNK_SPECIFIER_PART_KINDS.has(part[0]) ||
|
|
4679
|
+
(!CHUNK_SPECIFIER_PART_KINDS.has(/** @type {string} */ (part[0])) ||
|
|
4598
4680
|
typeof part[1] !== "number")
|
|
4599
4681
|
) {
|
|
4600
4682
|
return null;
|
|
4601
4683
|
}
|
|
4602
4684
|
}
|
|
4603
|
-
return decoded;
|
|
4685
|
+
return /** @type {SpecifierPart[]} */ (decoded);
|
|
4604
4686
|
}
|
|
4605
4687
|
}
|
|
4606
4688
|
|
|
@@ -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);
|
|
@@ -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
|
/**
|
|
@@ -11,8 +11,8 @@ const {
|
|
|
11
11
|
JAVASCRIPT_MODULE_TYPE_AUTO,
|
|
12
12
|
JAVASCRIPT_MODULE_TYPE_DYNAMIC,
|
|
13
13
|
JAVASCRIPT_MODULE_TYPE_ESM
|
|
14
|
-
} = require("../ModuleTypeConstants");
|
|
15
|
-
const NormalModule = require("../NormalModule");
|
|
14
|
+
} = require("../module/ModuleTypeConstants");
|
|
15
|
+
const NormalModule = require("../module/NormalModule");
|
|
16
16
|
const memoize = require("../util/memoize");
|
|
17
17
|
const { removeBOMFromResult } = require("../util/removeBOM");
|
|
18
18
|
|
|
@@ -22,7 +22,7 @@ const getModuleBuildError = memoize(() =>
|
|
|
22
22
|
|
|
23
23
|
/** @import { RawSourceMap } from "webpack-sources" */
|
|
24
24
|
/** @import Compiler from "../Compiler" */
|
|
25
|
-
/** @import NormalModuleType, { Result } from "../NormalModule" */
|
|
25
|
+
/** @import NormalModuleType, { Result } from "../module/NormalModule" */
|
|
26
26
|
/** @import JavascriptParser from "../javascript/JavascriptParser" */
|
|
27
27
|
|
|
28
28
|
const PLUGIN_NAME = "TypeScriptPlugin";
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
Author Tobias Koppers @sokra
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
const { contextify } = require("./identifier");
|
|
9
|
+
|
|
10
|
+
/** @import { AssociatedObjectForCache } from "./identifier" */
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Shortens absolute or verbose request strings so diagnostics and stats output
|
|
14
|
+
* can be rendered relative to a chosen base directory.
|
|
15
|
+
*/
|
|
16
|
+
class RequestShortener {
|
|
17
|
+
/**
|
|
18
|
+
* Binds a context-aware shortening function to the provided directory and
|
|
19
|
+
* optional cache owner.
|
|
20
|
+
* @param {string} dir the directory
|
|
21
|
+
* @param {AssociatedObjectForCache=} associatedObjectForCache an object to which the cache will be attached
|
|
22
|
+
*/
|
|
23
|
+
constructor(dir, associatedObjectForCache) {
|
|
24
|
+
this.contextify = contextify.bindContextCache(
|
|
25
|
+
dir,
|
|
26
|
+
associatedObjectForCache
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Returns a request string rewritten relative to the configured directory
|
|
32
|
+
* when one is provided.
|
|
33
|
+
* @param {string | undefined | null} request the request to shorten
|
|
34
|
+
* @returns {string | undefined | null} the shortened request
|
|
35
|
+
*/
|
|
36
|
+
shorten(request) {
|
|
37
|
+
if (!request) {
|
|
38
|
+
return request;
|
|
39
|
+
}
|
|
40
|
+
return this.contextify(request);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
module.exports = RequestShortener;
|