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
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
const path = require("path");
|
|
9
9
|
const { RawSource } = require("webpack-sources");
|
|
10
|
-
const
|
|
11
|
-
const Generator = require("../Generator");
|
|
10
|
+
const isDependencyKind = require("../graph/isDependencyKind");
|
|
11
|
+
const Generator = require("../module/Generator");
|
|
12
12
|
const {
|
|
13
13
|
ASSET_AND_ASSET_URL_TYPES,
|
|
14
14
|
ASSET_AND_JAVASCRIPT_AND_ASSET_URL_TYPES,
|
|
@@ -20,14 +20,17 @@ const {
|
|
|
20
20
|
JAVASCRIPT_TYPE,
|
|
21
21
|
JAVASCRIPT_TYPES,
|
|
22
22
|
NO_TYPES
|
|
23
|
-
} = require("../ModuleSourceTypeConstants");
|
|
24
|
-
const { ASSET_MODULE_TYPE } = require("../ModuleTypeConstants");
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
23
|
+
} = require("../module/ModuleSourceTypeConstants");
|
|
24
|
+
const { ASSET_MODULE_TYPE } = require("../module/ModuleTypeConstants");
|
|
25
|
+
const ConcatenationScope = require("../optimize/ConcatenationScope");
|
|
26
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
27
|
+
const { toTemplateSourceFileName } = require("../template/TemplatedPathPlugin");
|
|
28
28
|
const { getScheme } = require("../util/URLAbsoluteSpecifier");
|
|
29
29
|
const createHash = require("../util/createHash");
|
|
30
|
-
const {
|
|
30
|
+
const {
|
|
31
|
+
encodeDataURIPayload,
|
|
32
|
+
languageOfMediaType
|
|
33
|
+
} = require("../util/dataURL");
|
|
31
34
|
const { makePathsRelative, parseResource } = require("../util/identifier");
|
|
32
35
|
const memoize = require("../util/memoize");
|
|
33
36
|
const nonNumericOnlyHash = require("../util/nonNumericOnlyHash");
|
|
@@ -39,6 +42,7 @@ const { updateHashFromSource } = require("../util/source");
|
|
|
39
42
|
|
|
40
43
|
const getMimeTypes = memoize(() => require("../util/mimeTypes"));
|
|
41
44
|
|
|
45
|
+
/** @import { BuiltAssetModule, AssetNormalModule } from "./AssetModule" */
|
|
42
46
|
/** @import { Source } from "webpack-sources" */
|
|
43
47
|
/**
|
|
44
48
|
* @import {
|
|
@@ -50,20 +54,18 @@ const getMimeTypes = memoize(() => require("../util/mimeTypes"));
|
|
|
50
54
|
* RawPublicPath
|
|
51
55
|
* } from "../../declarations/WebpackOptions"
|
|
52
56
|
*/
|
|
53
|
-
/** @import ChunkGraph from "../ChunkGraph" */
|
|
57
|
+
/** @import ChunkGraph from "../graph/ChunkGraph" */
|
|
54
58
|
/** @import Compilation, { AssetInfo } from "../Compilation" */
|
|
55
|
-
/** @import { GenerateContext, UpdateHashContext } from "../Generator" */
|
|
59
|
+
/** @import { GenerateContext, UpdateHashContext } from "../module/Generator" */
|
|
56
60
|
/**
|
|
57
61
|
* @import Module, {
|
|
58
62
|
* ConcatenationBailoutReasonContext,
|
|
59
63
|
* SourceType,
|
|
60
64
|
* SourceTypes
|
|
61
|
-
* } from "../Module"
|
|
65
|
+
* } from "../module/Module"
|
|
62
66
|
*/
|
|
63
|
-
/** @import
|
|
64
|
-
/** @import
|
|
65
|
-
/** @import NormalModule from "../NormalModule" */
|
|
66
|
-
/** @import RuntimeTemplate from "../RuntimeTemplate" */
|
|
67
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
68
|
+
/** @import RuntimeTemplate from "../template/RuntimeTemplate" */
|
|
67
69
|
/** @import Hash from "../util/Hash" */
|
|
68
70
|
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
69
71
|
|
|
@@ -203,6 +205,14 @@ const decodeDataUriContent = (encoding, content) => {
|
|
|
203
205
|
|
|
204
206
|
const DEFAULT_ENCODING = "base64";
|
|
205
207
|
|
|
208
|
+
/**
|
|
209
|
+
* The module type the JSDoc inherited from `Generator` names.
|
|
210
|
+
* @typedef {AssetNormalModule} TModule
|
|
211
|
+
*/
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* @extends {Generator<TModule>}
|
|
215
|
+
*/
|
|
206
216
|
class AssetGenerator extends Generator {
|
|
207
217
|
/**
|
|
208
218
|
* Creates an instance of AssetGenerator.
|
|
@@ -242,7 +252,7 @@ class AssetGenerator extends Generator {
|
|
|
242
252
|
|
|
243
253
|
/**
|
|
244
254
|
* Gets source file name.
|
|
245
|
-
* @param {
|
|
255
|
+
* @param {TModule} module module
|
|
246
256
|
* @param {RuntimeTemplate} runtimeTemplate runtime template
|
|
247
257
|
* @returns {string} source file name
|
|
248
258
|
*/
|
|
@@ -257,13 +267,11 @@ class AssetGenerator extends Generator {
|
|
|
257
267
|
/**
|
|
258
268
|
* The resource this asset is named after, which something that re-encoded it
|
|
259
269
|
* may have changed. Its emitted name and inlined media type both read this.
|
|
260
|
-
* @param {
|
|
270
|
+
* @param {TModule} module module
|
|
261
271
|
* @returns {string} the resource
|
|
262
272
|
*/
|
|
263
273
|
static getAssetResource(module) {
|
|
264
|
-
const buildInfo =
|
|
265
|
-
module.buildInfo
|
|
266
|
-
);
|
|
274
|
+
const buildInfo = module.buildInfo;
|
|
267
275
|
|
|
268
276
|
return /** @type {string} */ (
|
|
269
277
|
(buildInfo && buildInfo.assetResource) || module.getResource()
|
|
@@ -272,10 +280,10 @@ class AssetGenerator extends Generator {
|
|
|
272
280
|
|
|
273
281
|
/**
|
|
274
282
|
* Gets the source file name as seen by a filename template. With
|
|
275
|
-
* `experiments.futureDefaults` (
|
|
283
|
+
* `experiments.futureDefaults` (the next major release's default) `[path]` and `[file]` of a
|
|
276
284
|
* module outside of `context` behave like `[containedpath]`/`[containedfile]`,
|
|
277
285
|
* so they can't emit the asset outside of `output.path`.
|
|
278
|
-
* @param {
|
|
286
|
+
* @param {TModule} module module
|
|
279
287
|
* @param {RuntimeTemplate} runtimeTemplate runtime template
|
|
280
288
|
* @returns {string} source file name for the filename template
|
|
281
289
|
*/
|
|
@@ -288,7 +296,7 @@ class AssetGenerator extends Generator {
|
|
|
288
296
|
|
|
289
297
|
/**
|
|
290
298
|
* Gets full content hash.
|
|
291
|
-
* @param {
|
|
299
|
+
* @param {TModule} module module
|
|
292
300
|
* @param {RuntimeTemplate} runtimeTemplate runtime template
|
|
293
301
|
* @returns {[string, string]} return full hash and non-numeric full hash
|
|
294
302
|
*/
|
|
@@ -323,7 +331,7 @@ class AssetGenerator extends Generator {
|
|
|
323
331
|
|
|
324
332
|
/**
|
|
325
333
|
* Gets filename with info.
|
|
326
|
-
* @param {
|
|
334
|
+
* @param {TModule} module module for which the code should be generated
|
|
327
335
|
* @param {Pick<AssetResourceGeneratorOptions, "filename" | "outputPath">} generatorOptions generator options
|
|
328
336
|
* @param {{ runtime: RuntimeSpec, runtimeTemplate: RuntimeTemplate, chunkGraph: ChunkGraph }} generateContext context for generate
|
|
329
337
|
* @param {string} contentHash the content hash
|
|
@@ -381,7 +389,7 @@ class AssetGenerator extends Generator {
|
|
|
381
389
|
|
|
382
390
|
/**
|
|
383
391
|
* Gets asset path with info.
|
|
384
|
-
* @param {
|
|
392
|
+
* @param {TModule} module module for which the code should be generated
|
|
385
393
|
* @param {Pick<AssetResourceGeneratorOptions, "publicPath">} generatorOptions generator options
|
|
386
394
|
* @param {GenerateContext} generateContext context for generate
|
|
387
395
|
* @param {string} filename the filename
|
|
@@ -493,7 +501,7 @@ class AssetGenerator extends Generator {
|
|
|
493
501
|
|
|
494
502
|
/**
|
|
495
503
|
* Returns the reason this module cannot be concatenated, when one exists.
|
|
496
|
-
* @param {
|
|
504
|
+
* @param {TModule} module module for which the bailout reason should be determined
|
|
497
505
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
498
506
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
499
507
|
*/
|
|
@@ -503,7 +511,7 @@ class AssetGenerator extends Generator {
|
|
|
503
511
|
|
|
504
512
|
/**
|
|
505
513
|
* Returns mime type.
|
|
506
|
-
* @param {
|
|
514
|
+
* @param {TModule} module module
|
|
507
515
|
* @returns {string} mime type
|
|
508
516
|
*/
|
|
509
517
|
getMimeType(module) {
|
|
@@ -554,14 +562,14 @@ class AssetGenerator extends Generator {
|
|
|
554
562
|
);
|
|
555
563
|
}
|
|
556
564
|
|
|
557
|
-
return
|
|
565
|
+
return mimeType;
|
|
558
566
|
}
|
|
559
567
|
|
|
560
568
|
/**
|
|
561
569
|
* Offer the payload to `renderEmbeddedSource` before it is encoded, so the
|
|
562
570
|
* encoding covers what came back. Declines what names no language, and a
|
|
563
571
|
* `dataUrl` function, which is handed the source itself.
|
|
564
|
-
* @param {
|
|
572
|
+
* @param {TModule} module the module holding the payload
|
|
565
573
|
* @param {GenerateContext["runtimeTemplate"]} runtimeTemplate runtime template
|
|
566
574
|
* @returns {Source | undefined} the rendered payload, when one came back
|
|
567
575
|
*/
|
|
@@ -589,7 +597,7 @@ class AssetGenerator extends Generator {
|
|
|
589
597
|
|
|
590
598
|
/**
|
|
591
599
|
* Generates data uri.
|
|
592
|
-
* @param {
|
|
600
|
+
* @param {TModule} module module for which the code should be generated
|
|
593
601
|
* @param {Source=} renderedSource the payload to encode, when a hook rendered it
|
|
594
602
|
* @returns {string} DataURI
|
|
595
603
|
*/
|
|
@@ -635,11 +643,19 @@ class AssetGenerator extends Generator {
|
|
|
635
643
|
encodedContent =
|
|
636
644
|
/** @type {string} */
|
|
637
645
|
(module.resourceResolveData.encodedContent);
|
|
638
|
-
} else
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
646
|
+
} else if (
|
|
647
|
+
renderedSource !== undefined &&
|
|
648
|
+
encoding === false &&
|
|
649
|
+
module.resourceResolveData &&
|
|
650
|
+
module.resourceResolveData.encoding === false
|
|
651
|
+
) {
|
|
652
|
+
// A rendered payload of a `data:` URI written as text is written back
|
|
653
|
+
// as text: percent-encoding all of it outgrows what minifying saved.
|
|
654
|
+
encodedContent = encodeDataURIPayload(
|
|
655
|
+
/** @type {string} */ (source.source())
|
|
642
656
|
);
|
|
657
|
+
} else {
|
|
658
|
+
encodedContent = encodeDataUri(encoding, source);
|
|
643
659
|
}
|
|
644
660
|
|
|
645
661
|
encodedSource = `data:${mimeType}${
|
|
@@ -652,7 +668,7 @@ class AssetGenerator extends Generator {
|
|
|
652
668
|
|
|
653
669
|
/**
|
|
654
670
|
* Generates generated code for this runtime module.
|
|
655
|
-
* @param {
|
|
671
|
+
* @param {TModule} module module for which the code should be generated
|
|
656
672
|
* @param {GenerateContext} generateContext context for generate
|
|
657
673
|
* @returns {Source | null} generated code
|
|
658
674
|
*/
|
|
@@ -670,19 +686,15 @@ class AssetGenerator extends Generator {
|
|
|
670
686
|
|
|
671
687
|
const needContent = type === JAVASCRIPT_TYPE || type === ASSET_URL_TYPE;
|
|
672
688
|
const data = getData ? getData() : undefined;
|
|
689
|
+
const { buildInfo } = /** @type {BuiltAssetModule} */ (module);
|
|
673
690
|
|
|
674
|
-
if (
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
) {
|
|
679
|
-
// A payload bound for CSS or HTML is offered by their serializers, which
|
|
680
|
-
// see the `url()` it ends up in; only the JavaScript one is ours.
|
|
691
|
+
if (buildInfo.dataUrl && needContent) {
|
|
692
|
+
// WHY: CSS and HTML serializers offer the payload in the `url()` or
|
|
693
|
+
// attribute it lands in, but the `asset-url` value is also what an
|
|
694
|
+
// analyzable `new URL` copies into JavaScript, which nothing re-reads.
|
|
681
695
|
const encodedSource = this.generateDataUri(
|
|
682
696
|
module,
|
|
683
|
-
|
|
684
|
-
? this._renderEmbedded(module, runtimeTemplate)
|
|
685
|
-
: undefined
|
|
697
|
+
this._renderEmbedded(module, runtimeTemplate)
|
|
686
698
|
);
|
|
687
699
|
content =
|
|
688
700
|
type === JAVASCRIPT_TYPE
|
|
@@ -703,8 +715,7 @@ class AssetGenerator extends Generator {
|
|
|
703
715
|
data.set("contentHash", contentHash);
|
|
704
716
|
}
|
|
705
717
|
|
|
706
|
-
|
|
707
|
-
(module.buildInfo).fullContentHash = fullContentHash;
|
|
718
|
+
buildInfo.fullContentHash = fullContentHash;
|
|
708
719
|
|
|
709
720
|
const { originalFilename, filename, assetInfo } =
|
|
710
721
|
AssetGenerator.getFilenameWithInfo(
|
|
@@ -748,12 +759,10 @@ class AssetGenerator extends Generator {
|
|
|
748
759
|
|
|
749
760
|
// Due to code generation caching module.buildInfo.XXX can't used to store such information
|
|
750
761
|
// It need to be stored in the code generation results instead, where it's cached too
|
|
751
|
-
// TODO
|
|
752
|
-
|
|
753
|
-
(module.buildInfo).filename = filename;
|
|
762
|
+
// TODO in the next major release: remove the back-compat writes to module.buildInfo
|
|
763
|
+
buildInfo.filename = filename;
|
|
754
764
|
|
|
755
|
-
|
|
756
|
-
(module.buildInfo).assetInfo = newAssetInfo;
|
|
765
|
+
buildInfo.assetInfo = newAssetInfo;
|
|
757
766
|
|
|
758
767
|
content = assetPath;
|
|
759
768
|
}
|
|
@@ -784,7 +793,7 @@ class AssetGenerator extends Generator {
|
|
|
784
793
|
/**
|
|
785
794
|
* Generates fallback output for the provided error condition.
|
|
786
795
|
* @param {Error} error the error
|
|
787
|
-
* @param {
|
|
796
|
+
* @param {TModule} module module for which the code should be generated
|
|
788
797
|
* @param {GenerateContext} generateContext context for generate
|
|
789
798
|
* @returns {Source | null} generated code
|
|
790
799
|
*/
|
|
@@ -834,7 +843,7 @@ class AssetGenerator extends Generator {
|
|
|
834
843
|
|
|
835
844
|
/**
|
|
836
845
|
* Returns the source types available for this module.
|
|
837
|
-
* @param {
|
|
846
|
+
* @param {TModule} module fresh module
|
|
838
847
|
* @returns {SourceTypes} available types (do not mutate)
|
|
839
848
|
*/
|
|
840
849
|
getTypes(module) {
|
|
@@ -842,10 +851,7 @@ class AssetGenerator extends Generator {
|
|
|
842
851
|
|
|
843
852
|
// One that emits nothing has no name to build a literal from, so expose its url.
|
|
844
853
|
const emits =
|
|
845
|
-
!(
|
|
846
|
-
module.buildInfo &&
|
|
847
|
-
/** @type {AssetModuleBuildInfo} */ (module.buildInfo).dataUrl
|
|
848
|
-
) && this.emit !== false;
|
|
854
|
+
!(module.buildInfo && module.buildInfo.dataUrl) && this.emit !== false;
|
|
849
855
|
|
|
850
856
|
// WHY: only analyzable ESM output can drop a bare `new URL()` to an asset
|
|
851
857
|
// url; without it every JS consumer needs the wrapper, so the per-connection
|
|
@@ -889,7 +895,8 @@ class AssetGenerator extends Generator {
|
|
|
889
895
|
// keeps the runtime form and its wrapper. A prefetch or preload ref needs
|
|
890
896
|
// none: its `<link>` resolves the href at chunk startup.
|
|
891
897
|
isModule &&
|
|
892
|
-
dependency
|
|
898
|
+
dependency !== null &&
|
|
899
|
+
isDependencyKind(dependency, "url") &&
|
|
893
900
|
!dependency.relative
|
|
894
901
|
) {
|
|
895
902
|
hasUrlJs = true;
|
|
@@ -946,7 +953,7 @@ class AssetGenerator extends Generator {
|
|
|
946
953
|
|
|
947
954
|
/**
|
|
948
955
|
* Returns the estimated size for the requested source type.
|
|
949
|
-
* @param {
|
|
956
|
+
* @param {TModule} module the module
|
|
950
957
|
* @param {SourceType=} type source type
|
|
951
958
|
* @returns {number} estimate size of the module
|
|
952
959
|
*/
|
|
@@ -962,10 +969,7 @@ class AssetGenerator extends Generator {
|
|
|
962
969
|
return originalSource.size();
|
|
963
970
|
}
|
|
964
971
|
default:
|
|
965
|
-
if (
|
|
966
|
-
module.buildInfo &&
|
|
967
|
-
/** @type {AssetModuleBuildInfo} */ (module.buildInfo).dataUrl
|
|
968
|
-
) {
|
|
972
|
+
if (module.buildInfo && module.buildInfo.dataUrl) {
|
|
969
973
|
const originalSource = module.originalSource();
|
|
970
974
|
|
|
971
975
|
if (!originalSource) {
|
|
@@ -985,15 +989,13 @@ class AssetGenerator extends Generator {
|
|
|
985
989
|
/**
|
|
986
990
|
* Updates the hash with the data contributed by this instance.
|
|
987
991
|
* @param {Hash} hash hash that will be modified
|
|
988
|
-
* @param {UpdateHashContext} updateHashContext context for updating hash
|
|
992
|
+
* @param {UpdateHashContext<TModule>} updateHashContext context for updating hash
|
|
989
993
|
*/
|
|
990
994
|
updateHash(hash, updateHashContext) {
|
|
991
995
|
const { module } = updateHashContext;
|
|
996
|
+
const { buildInfo } = /** @type {BuiltAssetModule} */ (module);
|
|
992
997
|
|
|
993
|
-
if (
|
|
994
|
-
/** @type {AssetModuleBuildInfo} */
|
|
995
|
-
(module.buildInfo).dataUrl
|
|
996
|
-
) {
|
|
998
|
+
if (buildInfo.dataUrl) {
|
|
997
999
|
hash.update("data-url");
|
|
998
1000
|
// What a tap varies on has to reach the key, or a changed option replays.
|
|
999
1001
|
const { runtimeTemplate } = updateHashContext;
|
package/lib/asset/AssetModule.js
CHANGED
|
@@ -4,15 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
"use strict";
|
|
6
6
|
|
|
7
|
-
const NormalModule = require("../NormalModule");
|
|
7
|
+
const NormalModule = require("../module/NormalModule");
|
|
8
8
|
const makeSerializable = require("../util/makeSerializable");
|
|
9
9
|
|
|
10
10
|
/** @import { AssetInfo } from "../Compilation" */
|
|
11
|
+
/** @import { BuildMeta } from "../module/Module" */
|
|
11
12
|
/**
|
|
12
13
|
* @import {
|
|
13
14
|
* NormalModuleBuildInfo,
|
|
14
15
|
* NormalModuleCreateData
|
|
15
|
-
* } from "../NormalModule"
|
|
16
|
+
* } from "../module/NormalModule"
|
|
16
17
|
*/
|
|
17
18
|
|
|
18
19
|
/**
|
|
@@ -29,6 +30,16 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
29
30
|
|
|
30
31
|
/** @typedef {NormalModuleBuildInfo & KnownAssetModuleBuildInfo} AssetModuleBuildInfo */
|
|
31
32
|
|
|
33
|
+
/**
|
|
34
|
+
* An asset module before or after its build, typed with its build info.
|
|
35
|
+
* @typedef {NormalModule & { buildInfo?: AssetModuleBuildInfo }} AssetNormalModule
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* A built asset module, typed with its build info and build meta.
|
|
40
|
+
* @typedef {NormalModule & { buildInfo: AssetModuleBuildInfo, buildMeta: BuildMeta }} BuiltAssetModule
|
|
41
|
+
*/
|
|
42
|
+
|
|
32
43
|
/**
|
|
33
44
|
* Module class for all `asset/*` modules. Asset-specific properties should live here instead of `NormalModule`.
|
|
34
45
|
*/
|
|
@@ -6,11 +6,10 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { RawSource } = require("webpack-sources");
|
|
9
|
-
const HotUpdateChunk = require("../HotUpdateChunk");
|
|
10
9
|
const {
|
|
11
10
|
ASSET_URL_TYPE,
|
|
12
11
|
JAVASCRIPT_TYPE
|
|
13
|
-
} = require("../ModuleSourceTypeConstants");
|
|
12
|
+
} = require("../module/ModuleSourceTypeConstants");
|
|
14
13
|
const {
|
|
15
14
|
ASSET_MODULE_TYPE,
|
|
16
15
|
ASSET_MODULE_TYPE_BYTES,
|
|
@@ -18,7 +17,7 @@ const {
|
|
|
18
17
|
ASSET_MODULE_TYPE_RESOURCE,
|
|
19
18
|
ASSET_MODULE_TYPE_SOURCE,
|
|
20
19
|
ASSET_MODULE_TYPE_WEBMANIFEST
|
|
21
|
-
} = require("../ModuleTypeConstants");
|
|
20
|
+
} = require("../module/ModuleTypeConstants");
|
|
22
21
|
const { compareModulesByFullName } = require("../util/comparators");
|
|
23
22
|
const createHash = require("../util/createHash");
|
|
24
23
|
const { getUndoPath } = require("../util/identifier");
|
|
@@ -44,9 +43,8 @@ const { PUBLIC_PATH_AUTO } = require("../util/publicPathPlaceholder");
|
|
|
44
43
|
* } from "../Compilation"
|
|
45
44
|
*/
|
|
46
45
|
/** @import Compiler from "../Compiler" */
|
|
47
|
-
/** @import { AssetModuleBuildInfo } from "./AssetModule" */
|
|
48
|
-
/** @import { CodeGenerationResult } from "../Module" */
|
|
49
|
-
/** @import NormalModule from "../NormalModule" */
|
|
46
|
+
/** @import { AssetModuleBuildInfo, BuiltAssetModule } from "./AssetModule" */
|
|
47
|
+
/** @import { CodeGenerationResult } from "../module/Module" */
|
|
50
48
|
|
|
51
49
|
/**
|
|
52
50
|
* Returns definition.
|
|
@@ -54,9 +52,7 @@ const { PUBLIC_PATH_AUTO } = require("../util/publicPathPlaceholder");
|
|
|
54
52
|
* @returns {Schema} definition
|
|
55
53
|
*/
|
|
56
54
|
const getSchema = (name) => {
|
|
57
|
-
const { definitions } =
|
|
58
|
-
/** @type {EXPECTED_ANY} */
|
|
59
|
-
(require("../../schemas/WebpackOptions.json"));
|
|
55
|
+
const { definitions } = require("../../schemas/WebpackOptions.json");
|
|
60
56
|
|
|
61
57
|
return {
|
|
62
58
|
definitions,
|
|
@@ -348,7 +344,9 @@ class AssetModulesPlugin {
|
|
|
348
344
|
let entryHash;
|
|
349
345
|
|
|
350
346
|
if (errored) {
|
|
351
|
-
const erroredModule = /** @type {
|
|
347
|
+
const erroredModule = /** @type {BuiltAssetModule} */ (
|
|
348
|
+
module
|
|
349
|
+
);
|
|
352
350
|
const AssetGenerator = getAssetGenerator.loaded();
|
|
353
351
|
const [fullContentHash, contentHash] =
|
|
354
352
|
AssetGenerator.getFullContentHash(
|
|
@@ -432,7 +430,7 @@ class AssetModulesPlugin {
|
|
|
432
430
|
PLUGIN_NAME,
|
|
433
431
|
(result, options) => {
|
|
434
432
|
const { chunk, codeGenerationResults } = options;
|
|
435
|
-
if (chunk
|
|
433
|
+
if (chunk.isHotUpdate()) return result;
|
|
436
434
|
const { chunkGraph, outputOptions } = compilation;
|
|
437
435
|
const modules =
|
|
438
436
|
chunkGraph.getOrderedChunkModulesIterableBySourceType(
|
|
@@ -457,7 +455,7 @@ class AssetModulesPlugin {
|
|
|
457
455
|
// Icon URLs resolve relative to the manifest's own location.
|
|
458
456
|
const undoPath = getUndoPath(
|
|
459
457
|
filename,
|
|
460
|
-
|
|
458
|
+
outputOptions.path,
|
|
461
459
|
false
|
|
462
460
|
);
|
|
463
461
|
const content = source
|
package/lib/asset/AssetParser.js
CHANGED
|
@@ -5,20 +5,23 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const Parser = require("../Parser");
|
|
8
|
+
const Parser = require("../module/Parser");
|
|
9
9
|
|
|
10
|
+
/** @import { BuiltAssetModule } from "./AssetModule" */
|
|
10
11
|
/**
|
|
11
12
|
* @import {
|
|
12
13
|
* AssetParserDataUrlOptions,
|
|
13
14
|
* AssetParserOptions
|
|
14
15
|
* } from "../../declarations/WebpackOptions"
|
|
15
16
|
*/
|
|
16
|
-
/** @import Module
|
|
17
|
-
/** @import {
|
|
18
|
-
/** @import { ParserState, PreparsedAst } from "../Parser" */
|
|
17
|
+
/** @import Module from "../module/Module" */
|
|
18
|
+
/** @import { ParserState, PreparsedAst } from "../module/Parser" */
|
|
19
19
|
|
|
20
20
|
/** @typedef {((source: string | Buffer, context: { filename: string, module: Module }) => boolean)} AssetParserDataUrlFunction */
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* @extends {Parser<BuiltAssetModule>}
|
|
24
|
+
*/
|
|
22
25
|
class AssetParser extends Parser {
|
|
23
26
|
/**
|
|
24
27
|
* Creates an instance of AssetParser.
|
|
@@ -41,13 +44,10 @@ class AssetParser extends Parser {
|
|
|
41
44
|
throw new Error("AssetParser doesn't accept preparsed AST");
|
|
42
45
|
}
|
|
43
46
|
|
|
44
|
-
const buildInfo =
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
const { buildInfo, buildMeta } = /** @type {BuiltAssetModule} */ (
|
|
48
|
+
state.module
|
|
49
|
+
);
|
|
47
50
|
buildInfo.strict = true;
|
|
48
|
-
const buildMeta =
|
|
49
|
-
/** @type {BuildMeta} */
|
|
50
|
-
(state.module.buildMeta);
|
|
51
51
|
buildMeta.exportsType = "default";
|
|
52
52
|
buildMeta.defaultObject = false;
|
|
53
53
|
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { RawSource } = require("webpack-sources");
|
|
9
|
-
const
|
|
10
|
-
const Generator = require("../Generator");
|
|
9
|
+
const Generator = require("../module/Generator");
|
|
11
10
|
const {
|
|
12
11
|
ASSET_URL_TYPE,
|
|
13
12
|
ASSET_URL_TYPES,
|
|
@@ -17,23 +16,32 @@ const {
|
|
|
17
16
|
JAVASCRIPT_TYPE,
|
|
18
17
|
JAVASCRIPT_TYPES,
|
|
19
18
|
NO_TYPES
|
|
20
|
-
} = require("../ModuleSourceTypeConstants");
|
|
21
|
-
const
|
|
19
|
+
} = require("../module/ModuleSourceTypeConstants");
|
|
20
|
+
const ConcatenationScope = require("../optimize/ConcatenationScope");
|
|
21
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
22
22
|
const { languageOfFilename } = require("../util/dataURL");
|
|
23
23
|
|
|
24
|
+
/** @import { AssetNormalModule } from "./AssetModule" */
|
|
24
25
|
/** @import { Source } from "webpack-sources" */
|
|
25
|
-
/** @import { GenerateContext, UpdateHashContext } from "../Generator" */
|
|
26
|
+
/** @import { GenerateContext, UpdateHashContext } from "../module/Generator" */
|
|
26
27
|
/** @import Hash from "../util/Hash" */
|
|
27
28
|
/**
|
|
28
29
|
* @import {
|
|
29
30
|
* ConcatenationBailoutReasonContext,
|
|
30
31
|
* SourceType,
|
|
31
32
|
* SourceTypes
|
|
32
|
-
* } from "../Module"
|
|
33
|
+
* } from "../module/Module"
|
|
33
34
|
*/
|
|
34
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
35
|
-
/** @import NormalModule from "../NormalModule" */
|
|
35
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* The module type the JSDoc inherited from `Generator` names.
|
|
39
|
+
* @typedef {AssetNormalModule} TModule
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @extends {Generator<TModule>}
|
|
44
|
+
*/
|
|
37
45
|
class AssetSourceGenerator extends Generator {
|
|
38
46
|
/**
|
|
39
47
|
* Creates an instance of AssetSourceGenerator.
|
|
@@ -48,7 +56,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
48
56
|
|
|
49
57
|
/**
|
|
50
58
|
* Generates generated code for this runtime module.
|
|
51
|
-
* @param {
|
|
59
|
+
* @param {TModule} module module for which the code should be generated
|
|
52
60
|
* @param {GenerateContext} generateContext context for generate
|
|
53
61
|
* @returns {Source | null} generated code
|
|
54
62
|
*/
|
|
@@ -111,7 +119,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
111
119
|
/**
|
|
112
120
|
* Offer the file's text to `renderEmbeddedSource` before it is embedded in
|
|
113
121
|
* JavaScript. Declines a file whose name names no language webpack knows.
|
|
114
|
-
* @param {
|
|
122
|
+
* @param {TModule} module the module holding the text
|
|
115
123
|
* @param {string} text the file's text
|
|
116
124
|
* @param {GenerateContext["runtimeTemplate"]} runtimeTemplate runtime template
|
|
117
125
|
* @returns {string} the rendered text, or `text` when nothing rendered it
|
|
@@ -134,7 +142,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
134
142
|
/**
|
|
135
143
|
* Updates the hash with the data contributed by this instance.
|
|
136
144
|
* @param {Hash} hash hash that will be modified
|
|
137
|
-
* @param {UpdateHashContext} updateHashContext context for updating hash
|
|
145
|
+
* @param {UpdateHashContext<TModule>} updateHashContext context for updating hash
|
|
138
146
|
*/
|
|
139
147
|
updateHash(hash, updateHashContext) {
|
|
140
148
|
const { module, runtimeTemplate } = updateHashContext;
|
|
@@ -151,7 +159,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
151
159
|
/**
|
|
152
160
|
* Generates fallback output for the provided error condition.
|
|
153
161
|
* @param {Error} error the error
|
|
154
|
-
* @param {
|
|
162
|
+
* @param {TModule} module module for which the code should be generated
|
|
155
163
|
* @param {GenerateContext} generateContext context for generate
|
|
156
164
|
* @returns {Source | null} generated code
|
|
157
165
|
*/
|
|
@@ -173,7 +181,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
173
181
|
|
|
174
182
|
/**
|
|
175
183
|
* Returns the reason this module cannot be concatenated, when one exists.
|
|
176
|
-
* @param {
|
|
184
|
+
* @param {TModule} module module for which the bailout reason should be determined
|
|
177
185
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
178
186
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
179
187
|
*/
|
|
@@ -183,7 +191,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
183
191
|
|
|
184
192
|
/**
|
|
185
193
|
* Returns the source types available for this module.
|
|
186
|
-
* @param {
|
|
194
|
+
* @param {TModule} module fresh module
|
|
187
195
|
* @returns {SourceTypes} available types (do not mutate)
|
|
188
196
|
*/
|
|
189
197
|
getTypes(module) {
|
|
@@ -223,7 +231,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
223
231
|
|
|
224
232
|
/**
|
|
225
233
|
* Returns the estimated size for the requested source type.
|
|
226
|
-
* @param {
|
|
234
|
+
* @param {TModule} module the module
|
|
227
235
|
* @param {SourceType=} type source type
|
|
228
236
|
* @returns {number} estimate size of the module
|
|
229
237
|
*/
|
|
@@ -5,11 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const Parser = require("../Parser");
|
|
8
|
+
const Parser = require("../module/Parser");
|
|
9
9
|
|
|
10
|
-
/** @import {
|
|
11
|
-
/** @import { ParserState, PreparsedAst } from "../Parser" */
|
|
10
|
+
/** @import { BuiltAssetModule } from "./AssetModule" */
|
|
11
|
+
/** @import { ParserState, PreparsedAst } from "../module/Parser" */
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* @extends {Parser<BuiltAssetModule>}
|
|
15
|
+
*/
|
|
13
16
|
class AssetSourceParser extends Parser {
|
|
14
17
|
/**
|
|
15
18
|
* Parses the provided source and updates the parser state.
|
|
@@ -21,13 +24,12 @@ class AssetSourceParser extends Parser {
|
|
|
21
24
|
if (typeof source === "object" && !Buffer.isBuffer(source)) {
|
|
22
25
|
throw new Error("AssetSourceParser doesn't accept preparsed AST");
|
|
23
26
|
}
|
|
24
|
-
const {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
(state.module.buildMeta).defaultObject = false;
|
|
27
|
+
const { buildInfo, buildMeta } = /** @type {BuiltAssetModule} */ (
|
|
28
|
+
state.module
|
|
29
|
+
);
|
|
30
|
+
buildInfo.strict = true;
|
|
31
|
+
buildMeta.exportsType = "default";
|
|
32
|
+
buildMeta.defaultObject = false;
|
|
31
33
|
|
|
32
34
|
return state;
|
|
33
35
|
}
|