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
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const { DEFAULTS } = require("
|
|
9
|
-
const { getOrInsert } = require("
|
|
10
|
-
const { first } = require("
|
|
11
|
-
const createHash = require("
|
|
12
|
-
const { RuntimeSpecMap, runtimeToString } = require("
|
|
8
|
+
const { DEFAULTS } = require("../config/defaults");
|
|
9
|
+
const { getOrInsert } = require("../util/MapHelpers");
|
|
10
|
+
const { first } = require("../util/SetHelpers");
|
|
11
|
+
const createHash = require("../util/createHash");
|
|
12
|
+
const { RuntimeSpecMap, runtimeToString } = require("../util/runtime");
|
|
13
13
|
|
|
14
14
|
/** @import { Source } from "webpack-sources" */
|
|
15
15
|
/**
|
|
@@ -20,8 +20,8 @@ const { RuntimeSpecMap, runtimeToString } = require("./util/runtime");
|
|
|
20
20
|
* ReadOnlyRuntimeRequirements
|
|
21
21
|
* } from "./Module"
|
|
22
22
|
*/
|
|
23
|
-
/** @import { HashFunction } from "
|
|
24
|
-
/** @import { RuntimeSpec } from "
|
|
23
|
+
/** @import { HashFunction } from "../util/Hash" */
|
|
24
|
+
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Stores code generation results keyed by module and runtime so later stages
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const { contextifyStackFrames } = require("
|
|
8
|
+
const { contextifyStackFrames } = require("../errors/ErrorHelpers");
|
|
9
|
+
const memoize = require("../util/memoize");
|
|
9
10
|
const { JAVASCRIPT_TYPE } = require("./ModuleSourceTypeConstants");
|
|
10
|
-
const memoize = require("./util/memoize");
|
|
11
11
|
|
|
12
12
|
/** @import { Source } from "webpack-sources" */
|
|
13
|
-
/** @import ChunkGraph from "
|
|
13
|
+
/** @import ChunkGraph from "../graph/ChunkGraph" */
|
|
14
14
|
/** @import CodeGenerationResults from "./CodeGenerationResults" */
|
|
15
|
-
/** @import ConcatenationScope from "
|
|
16
|
-
/** @import DependencyTemplates from "
|
|
15
|
+
/** @import ConcatenationScope from "../optimize/ConcatenationScope" */
|
|
16
|
+
/** @import DependencyTemplates from "../template/DependencyTemplates" */
|
|
17
17
|
/**
|
|
18
18
|
* @import {
|
|
19
19
|
* CodeGenerationResultData,
|
|
@@ -23,12 +23,12 @@ const memoize = require("./util/memoize");
|
|
|
23
23
|
* SourceTypes
|
|
24
24
|
* } from "./Module"
|
|
25
25
|
*/
|
|
26
|
-
/** @import ModuleGraph from "
|
|
27
|
-
/** @import RequestShortener from "
|
|
26
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
27
|
+
/** @import RequestShortener from "../util/RequestShortener" */
|
|
28
28
|
/** @import NormalModule from "./NormalModule" */
|
|
29
|
-
/** @import RuntimeTemplate from "
|
|
30
|
-
/** @import Hash from "
|
|
31
|
-
/** @import { RuntimeSpec } from "
|
|
29
|
+
/** @import RuntimeTemplate from "../template/RuntimeTemplate" */
|
|
30
|
+
/** @import Hash from "../util/Hash" */
|
|
31
|
+
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Defines the generate context type used by this module.
|
|
@@ -56,15 +56,21 @@ const memoize = require("./util/memoize");
|
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
58
|
* Represents the generator runtime component.
|
|
59
|
+
* @template {NormalModule} [TModule=NormalModule]
|
|
59
60
|
* @typedef {object} UpdateHashContext
|
|
60
|
-
* @property {
|
|
61
|
+
* @property {TModule} module the module
|
|
61
62
|
* @property {ChunkGraph} chunkGraph
|
|
62
63
|
* @property {RuntimeSpec} runtime
|
|
63
64
|
* @property {RuntimeTemplate=} runtimeTemplate
|
|
64
65
|
*/
|
|
65
66
|
|
|
66
|
-
const getModuleParseError = memoize(() =>
|
|
67
|
+
const getModuleParseError = memoize(() =>
|
|
68
|
+
require("../errors/ModuleParseError")
|
|
69
|
+
);
|
|
67
70
|
|
|
71
|
+
/**
|
|
72
|
+
* @template {NormalModule} [TModule=NormalModule] the module class this generator generates
|
|
73
|
+
*/
|
|
68
74
|
class Generator {
|
|
69
75
|
/**
|
|
70
76
|
* Returns generator by type.
|
|
@@ -113,11 +119,11 @@ class Generator {
|
|
|
113
119
|
/**
|
|
114
120
|
* Returns the source types available for this module.
|
|
115
121
|
* @abstract
|
|
116
|
-
* @param {
|
|
122
|
+
* @param {TModule} module fresh module
|
|
117
123
|
* @returns {SourceTypes} available types (do not mutate)
|
|
118
124
|
*/
|
|
119
125
|
getTypes(module) {
|
|
120
|
-
const AbstractMethodError = require("
|
|
126
|
+
const AbstractMethodError = require("../errors/AbstractMethodError");
|
|
121
127
|
|
|
122
128
|
throw new AbstractMethodError();
|
|
123
129
|
}
|
|
@@ -133,12 +139,12 @@ class Generator {
|
|
|
133
139
|
/**
|
|
134
140
|
* Returns the estimated size for the requested source type.
|
|
135
141
|
* @abstract
|
|
136
|
-
* @param {
|
|
142
|
+
* @param {TModule} module the module
|
|
137
143
|
* @param {SourceType=} type source type
|
|
138
144
|
* @returns {number} estimate size of the module
|
|
139
145
|
*/
|
|
140
146
|
getSize(module, type) {
|
|
141
|
-
const AbstractMethodError = require("
|
|
147
|
+
const AbstractMethodError = require("../errors/AbstractMethodError");
|
|
142
148
|
|
|
143
149
|
throw new AbstractMethodError();
|
|
144
150
|
}
|
|
@@ -147,7 +153,7 @@ class Generator {
|
|
|
147
153
|
/**
|
|
148
154
|
* Generates generated code for this runtime module.
|
|
149
155
|
* @abstract
|
|
150
|
-
* @param {
|
|
156
|
+
* @param {TModule} module module for which the code should be generated
|
|
151
157
|
* @param {GenerateContext} generateContext context for generate
|
|
152
158
|
* @returns {Source | null} generated code
|
|
153
159
|
*/
|
|
@@ -155,14 +161,14 @@ class Generator {
|
|
|
155
161
|
module,
|
|
156
162
|
{ dependencyTemplates, runtimeTemplate, moduleGraph, type }
|
|
157
163
|
) {
|
|
158
|
-
const AbstractMethodError = require("
|
|
164
|
+
const AbstractMethodError = require("../errors/AbstractMethodError");
|
|
159
165
|
|
|
160
166
|
throw new AbstractMethodError();
|
|
161
167
|
}
|
|
162
168
|
|
|
163
169
|
/**
|
|
164
170
|
* Returns the reason this module cannot be concatenated, when one exists.
|
|
165
|
-
* @param {
|
|
171
|
+
* @param {TModule} module module for which the bailout reason should be determined
|
|
166
172
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
167
173
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
168
174
|
*/
|
|
@@ -173,7 +179,7 @@ class Generator {
|
|
|
173
179
|
/**
|
|
174
180
|
* Updates the hash with the data contributed by this instance.
|
|
175
181
|
* @param {Hash} hash hash that will be modified
|
|
176
|
-
* @param {UpdateHashContext} updateHashContext context for updating hash
|
|
182
|
+
* @param {UpdateHashContext<TModule>} updateHashContext context for updating hash
|
|
177
183
|
*/
|
|
178
184
|
updateHash(hash, { module, runtime }) {
|
|
179
185
|
// no nothing
|
|
@@ -198,6 +204,10 @@ function generateError(error, module, generateContext) {
|
|
|
198
204
|
return generator.generateError(error, module, generateContext);
|
|
199
205
|
}
|
|
200
206
|
|
|
207
|
+
/**
|
|
208
|
+
* @template {NormalModule} [TModule=NormalModule] the module class this generator generates
|
|
209
|
+
* @extends {Generator<TModule>}
|
|
210
|
+
*/
|
|
201
211
|
class ByTypeGenerator extends Generator {
|
|
202
212
|
/**
|
|
203
213
|
* Creates an instance of ByTypeGenerator.
|
|
@@ -214,7 +224,7 @@ class ByTypeGenerator extends Generator {
|
|
|
214
224
|
|
|
215
225
|
/**
|
|
216
226
|
* Returns the source types available for this module.
|
|
217
|
-
* @param {
|
|
227
|
+
* @param {TModule} module fresh module
|
|
218
228
|
* @returns {SourceTypes} available types (do not mutate)
|
|
219
229
|
*/
|
|
220
230
|
getTypes(module) {
|
|
@@ -223,7 +233,7 @@ class ByTypeGenerator extends Generator {
|
|
|
223
233
|
|
|
224
234
|
/**
|
|
225
235
|
* Returns the estimated size for the requested source type.
|
|
226
|
-
* @param {
|
|
236
|
+
* @param {TModule} module the module
|
|
227
237
|
* @param {SourceType=} type source type
|
|
228
238
|
* @returns {number} estimate size of the module
|
|
229
239
|
*/
|
|
@@ -235,7 +245,7 @@ class ByTypeGenerator extends Generator {
|
|
|
235
245
|
|
|
236
246
|
/**
|
|
237
247
|
* Generates generated code for this runtime module.
|
|
238
|
-
* @param {
|
|
248
|
+
* @param {TModule} module module for which the code should be generated
|
|
239
249
|
* @param {GenerateContext} generateContext context for generate
|
|
240
250
|
* @returns {Source | null} generated code
|
|
241
251
|
*/
|
|
@@ -6,76 +6,85 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const util = require("util");
|
|
9
|
-
const ChunkGraph = require("
|
|
10
|
-
const DependenciesBlock = require("
|
|
11
|
-
const ModuleGraph = require("
|
|
9
|
+
const ChunkGraph = require("../graph/ChunkGraph");
|
|
10
|
+
const DependenciesBlock = require("../graph/DependenciesBlock");
|
|
11
|
+
const ModuleGraph = require("../graph/ModuleGraph");
|
|
12
|
+
const RuntimeGlobals = require("../runtime/RuntimeGlobals");
|
|
13
|
+
const { first } = require("../util/SetHelpers");
|
|
14
|
+
const { compareChunksById } = require("../util/comparators");
|
|
15
|
+
const makeSerializable = require("../util/makeSerializable");
|
|
16
|
+
const { JAVASCRIPT_TYPES } = require("./ModuleSourceTypeConstants");
|
|
12
17
|
const {
|
|
13
18
|
JAVASCRIPT_TYPE,
|
|
14
19
|
UNKNOWN_TYPE
|
|
15
20
|
} = require("./ModuleSourceTypeConstants");
|
|
16
|
-
const { JAVASCRIPT_TYPES } = require("./ModuleSourceTypeConstants");
|
|
17
|
-
const RuntimeGlobals = require("./RuntimeGlobals");
|
|
18
|
-
const { first } = require("./util/SetHelpers");
|
|
19
|
-
const { compareChunksById } = require("./util/comparators");
|
|
20
|
-
const makeSerializable = require("./util/makeSerializable");
|
|
21
21
|
|
|
22
22
|
/** @import { Source } from "webpack-sources" */
|
|
23
|
-
/** @import { ResolveOptions } from "
|
|
23
|
+
/** @import { ResolveOptions } from "../../declarations/WebpackOptions" */
|
|
24
24
|
/**
|
|
25
25
|
* @import {
|
|
26
26
|
* WebpackOptionsNormalizedWithDefaults as WebpackOptions
|
|
27
|
-
* } from "
|
|
27
|
+
* } from "../config/defaults"
|
|
28
28
|
*/
|
|
29
|
-
/** @import Chunk from "
|
|
30
|
-
/** @import { ModuleId } from "
|
|
31
|
-
/** @import ChunkGroup from "
|
|
29
|
+
/** @import Chunk from "../graph/Chunk" */
|
|
30
|
+
/** @import { ModuleId } from "../graph/ChunkGraph" */
|
|
31
|
+
/** @import ChunkGroup from "../graph/ChunkGroup" */
|
|
32
32
|
/** @import CodeGenerationResults from "./CodeGenerationResults" */
|
|
33
33
|
/**
|
|
34
34
|
* @import Compilation, {
|
|
35
35
|
* AssetInfo,
|
|
36
36
|
* FileSystemDependencies,
|
|
37
37
|
* UnsafeCacheData
|
|
38
|
-
* } from "
|
|
38
|
+
* } from "../Compilation"
|
|
39
39
|
*/
|
|
40
|
-
/** @import ConcatenationScope from "
|
|
41
|
-
/** @import Dependency, { UpdateHashContext } from "
|
|
42
|
-
/** @import DependencyTemplates from "
|
|
40
|
+
/** @import ConcatenationScope from "../optimize/ConcatenationScope" */
|
|
41
|
+
/** @import Dependency, { UpdateHashContext } from "../graph/Dependency" */
|
|
42
|
+
/** @import DependencyTemplates from "../template/DependencyTemplates" */
|
|
43
43
|
/** @import { AllTypes } from "./ModuleSourceTypeConstants" */
|
|
44
|
-
/** @import FileSystemInfo from "
|
|
45
|
-
/** @import { ConnectionState } from "
|
|
44
|
+
/** @import FileSystemInfo from "../fs/FileSystemInfo" */
|
|
45
|
+
/** @import { ConnectionState } from "../graph/ModuleGraphConnection" */
|
|
46
46
|
/** @import { ModuleTypes } from "./ModuleTypeConstants" */
|
|
47
|
-
/** @import { OptimizationBailouts } from "
|
|
47
|
+
/** @import { OptimizationBailouts } from "../graph/ModuleGraph" */
|
|
48
48
|
/** @import ModuleProfile from "./ModuleProfile" */
|
|
49
|
+
/** @import RemoteModule from "../container/RemoteModule" */
|
|
50
|
+
/** @import ConsumeSharedModule from "../sharing/ConsumeSharedModule" */
|
|
51
|
+
/** @import CssModule from "../css/CssModule" */
|
|
52
|
+
/** @import HtmlModule from "../html/HtmlModule" */
|
|
53
|
+
/** @import ConcatenatedModule from "../optimize/ConcatenatedModule" */
|
|
54
|
+
/** @import ExternalModule from "../externals/ExternalModule" */
|
|
55
|
+
/** @import NormalModule from "./NormalModule" */
|
|
56
|
+
/** @import RuntimeModule from "../runtime/RuntimeModule" */
|
|
57
|
+
/** @import ContextModule from "../context/ContextModule" */
|
|
49
58
|
/** @import NormalModuleFactory from "./NormalModuleFactory" */
|
|
50
|
-
/** @import RequestShortener from "
|
|
51
|
-
/** @import { ResolverWithOptions } from "
|
|
52
|
-
/** @import RuntimeTemplate from "
|
|
59
|
+
/** @import RequestShortener from "../util/RequestShortener" */
|
|
60
|
+
/** @import { ResolverWithOptions } from "../resolve/ResolverFactory" */
|
|
61
|
+
/** @import RuntimeTemplate from "../template/RuntimeTemplate" */
|
|
53
62
|
/**
|
|
54
63
|
* Defines the init fragment type used by this module.
|
|
55
64
|
* @template T
|
|
56
|
-
* @typedef {import("
|
|
65
|
+
* @typedef {import("../template/InitFragment")<T>} InitFragment
|
|
57
66
|
*/
|
|
58
|
-
/** @import WebpackError from "
|
|
67
|
+
/** @import WebpackError from "../errors/WebpackError" */
|
|
59
68
|
/**
|
|
60
69
|
* @import {
|
|
61
70
|
* ObjectDeserializerContext,
|
|
62
71
|
* ObjectSerializerContext
|
|
63
|
-
* } from "
|
|
72
|
+
* } from "../serialization/ObjectMiddleware"
|
|
64
73
|
*/
|
|
65
|
-
/** @import Hash from "
|
|
66
|
-
/** @import { InputFileSystem } from "
|
|
67
|
-
/** @import { AssociatedObjectForCache } from "
|
|
68
|
-
/** @import { RuntimeSpec } from "
|
|
74
|
+
/** @import Hash from "../util/Hash" */
|
|
75
|
+
/** @import { InputFileSystem } from "../fs/fs" */
|
|
76
|
+
/** @import { AssociatedObjectForCache } from "../util/identifier" */
|
|
77
|
+
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
69
78
|
/**
|
|
70
79
|
* @template T
|
|
71
|
-
* @typedef {import("
|
|
80
|
+
* @typedef {import("../util/SortableSet")<T>} SortableSet
|
|
72
81
|
*/
|
|
73
82
|
/** @typedef {"namespace" | "default-only" | "default-with-named" | "dynamic"} ExportsType */
|
|
74
83
|
|
|
75
84
|
/**
|
|
76
85
|
* Defines the shared type used by this module.
|
|
77
86
|
* @template T
|
|
78
|
-
* @typedef {import("
|
|
87
|
+
* @typedef {import("../util/LazySet")<T>} LazySet<T>
|
|
79
88
|
*/
|
|
80
89
|
|
|
81
90
|
/**
|
|
@@ -95,7 +104,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
95
104
|
|
|
96
105
|
/** @typedef {ReadonlySet<typeof JAVASCRIPT_TYPE | string>} BasicSourceTypes */
|
|
97
106
|
|
|
98
|
-
// TODO
|
|
107
|
+
// TODO in the next major release: compilation will be required in CodeGenerationContext
|
|
99
108
|
/**
|
|
100
109
|
* Defines the code generation context type used by this module.
|
|
101
110
|
* @typedef {object} CodeGenerationContext
|
|
@@ -127,7 +136,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
127
136
|
* @typedef {object} AllCodeGenerationSchemas
|
|
128
137
|
* @property {Set<string>} topLevelDeclarations top level declarations for javascript modules
|
|
129
138
|
* @property {Set<string>} freeNames free identifier names in the rendered source for javascript modules
|
|
130
|
-
* @property {InitFragment<
|
|
139
|
+
* @property {InitFragment<import("../javascript/JavascriptModulesPlugin").ChunkRenderContext>[]} chunkInitFragments chunk init fragments for javascript modules
|
|
131
140
|
* @property {string} externalReexport native external reexport source and attributes
|
|
132
141
|
* @property {string} exportsSource export definitions left out of a javascript module's source on demand (see `KnownMeta.onDemandExports`), to be placed before its body where it is wrapped
|
|
133
142
|
* @property {string} exportsBindingSource export definitions left out on demand that read the module's own declarations, to be placed after its body where it is wrapped
|
|
@@ -268,6 +277,21 @@ const deprecatedNeedRebuild = util.deprecate(
|
|
|
268
277
|
|
|
269
278
|
/** @typedef {(requestShortener: RequestShortener) => string} OptimizationBailoutFunction */
|
|
270
279
|
|
|
280
|
+
/**
|
|
281
|
+
* The kinds a module can be, each naming the class `is(kind)` narrows to.
|
|
282
|
+
* @typedef {{
|
|
283
|
+
* external: ExternalModule,
|
|
284
|
+
* normal: NormalModule,
|
|
285
|
+
* runtime: RuntimeModule,
|
|
286
|
+
* context: ContextModule,
|
|
287
|
+
* remote: RemoteModule,
|
|
288
|
+
* "consume-shared": ConsumeSharedModule,
|
|
289
|
+
* css: CssModule,
|
|
290
|
+
* html: HtmlModule,
|
|
291
|
+
* concatenated: ConcatenatedModule,
|
|
292
|
+
* }} ModuleKinds
|
|
293
|
+
*/
|
|
294
|
+
|
|
271
295
|
class Module extends DependenciesBlock {
|
|
272
296
|
/**
|
|
273
297
|
* Creates an instance of Module.
|
|
@@ -297,7 +321,7 @@ class Module extends DependenciesBlock {
|
|
|
297
321
|
/** @type {FactoryMeta | undefined} */
|
|
298
322
|
this.factoryMeta = undefined;
|
|
299
323
|
// TODO refactor this -> options object filled from Factory
|
|
300
|
-
// TODO
|
|
324
|
+
// TODO in the next major release: use an enum
|
|
301
325
|
/** @type {boolean} */
|
|
302
326
|
this.useSourceMap = false;
|
|
303
327
|
/** @type {boolean} */
|
|
@@ -319,7 +343,7 @@ class Module extends DependenciesBlock {
|
|
|
319
343
|
this.codeGenerationDependencies = undefined;
|
|
320
344
|
}
|
|
321
345
|
|
|
322
|
-
// TODO
|
|
346
|
+
// TODO in the next major release: remove
|
|
323
347
|
// BACKWARD-COMPAT START
|
|
324
348
|
/**
|
|
325
349
|
* Returns the module id assigned by the chunk graph.
|
|
@@ -881,7 +905,9 @@ class Module extends DependenciesBlock {
|
|
|
881
905
|
isAccessibleInChunk(chunkGraph, chunk, ignoreChunk) {
|
|
882
906
|
// Check if module is accessible in ALL chunk groups
|
|
883
907
|
for (const chunkGroup of chunk.groupsIterable) {
|
|
884
|
-
if (!this.isAccessibleInChunkGroup(chunkGraph, chunkGroup))
|
|
908
|
+
if (!this.isAccessibleInChunkGroup(chunkGraph, chunkGroup, ignoreChunk)) {
|
|
909
|
+
return false;
|
|
910
|
+
}
|
|
885
911
|
}
|
|
886
912
|
return true;
|
|
887
913
|
}
|
|
@@ -906,9 +932,9 @@ class Module extends DependenciesBlock {
|
|
|
906
932
|
}
|
|
907
933
|
}
|
|
908
934
|
// 2. If the chunk group is initial, we can break here because it's not accessible.
|
|
909
|
-
if (
|
|
935
|
+
if (cg.isInitial()) return false;
|
|
910
936
|
// 3. Enqueue all parents because it must be accessible from ALL parents
|
|
911
|
-
for (const parent of
|
|
937
|
+
for (const parent of cg.parentsIterable) queue.add(parent);
|
|
912
938
|
}
|
|
913
939
|
// When we processed through the whole list and we didn't bailout, the module is accessible
|
|
914
940
|
return true;
|
|
@@ -1029,7 +1055,7 @@ class Module extends DependenciesBlock {
|
|
|
1029
1055
|
* @returns {string} a unique identifier of the module
|
|
1030
1056
|
*/
|
|
1031
1057
|
identifier() {
|
|
1032
|
-
const AbstractMethodError = require("
|
|
1058
|
+
const AbstractMethodError = require("../errors/AbstractMethodError");
|
|
1033
1059
|
|
|
1034
1060
|
throw new AbstractMethodError();
|
|
1035
1061
|
}
|
|
@@ -1042,7 +1068,7 @@ class Module extends DependenciesBlock {
|
|
|
1042
1068
|
* @returns {string} a user readable identifier of the module
|
|
1043
1069
|
*/
|
|
1044
1070
|
readableIdentifier(requestShortener) {
|
|
1045
|
-
const AbstractMethodError = require("
|
|
1071
|
+
const AbstractMethodError = require("../errors/AbstractMethodError");
|
|
1046
1072
|
|
|
1047
1073
|
throw new AbstractMethodError();
|
|
1048
1074
|
}
|
|
@@ -1059,7 +1085,7 @@ class Module extends DependenciesBlock {
|
|
|
1059
1085
|
* @returns {void}
|
|
1060
1086
|
*/
|
|
1061
1087
|
build(options, compilation, resolver, fs, callback) {
|
|
1062
|
-
const AbstractMethodError = require("
|
|
1088
|
+
const AbstractMethodError = require("../errors/AbstractMethodError");
|
|
1063
1089
|
|
|
1064
1090
|
throw new AbstractMethodError();
|
|
1065
1091
|
}
|
|
@@ -1085,6 +1111,16 @@ class Module extends DependenciesBlock {
|
|
|
1085
1111
|
return undefined;
|
|
1086
1112
|
}
|
|
1087
1113
|
|
|
1114
|
+
/**
|
|
1115
|
+
* Returns whether this module is of the given kind; a subclass is every kind its parent is.
|
|
1116
|
+
* @template {keyof ModuleKinds} K
|
|
1117
|
+
* @param {K} kind a module kind
|
|
1118
|
+
* @returns {this is ModuleKinds[K]} true when this module is of that kind
|
|
1119
|
+
*/
|
|
1120
|
+
is(kind) {
|
|
1121
|
+
return /** @type {typeof Module} */ (this.constructor).KINDS.has(kind);
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1088
1124
|
/**
|
|
1089
1125
|
* Basic source types are high-level categories like javascript, css, webassembly, etc.
|
|
1090
1126
|
* We only have built-in knowledge about the javascript basic type here; other basic types may be
|
|
@@ -1109,7 +1145,7 @@ class Module extends DependenciesBlock {
|
|
|
1109
1145
|
*/
|
|
1110
1146
|
source(dependencyTemplates, runtimeTemplate, type = JAVASCRIPT_TYPE) {
|
|
1111
1147
|
if (this.codeGeneration === Module.prototype.codeGeneration) {
|
|
1112
|
-
const AbstractMethodError = require("
|
|
1148
|
+
const AbstractMethodError = require("../errors/AbstractMethodError");
|
|
1113
1149
|
|
|
1114
1150
|
throw new AbstractMethodError();
|
|
1115
1151
|
}
|
|
@@ -1145,7 +1181,7 @@ class Module extends DependenciesBlock {
|
|
|
1145
1181
|
* @returns {number} the estimated size of the module (must be non-zero)
|
|
1146
1182
|
*/
|
|
1147
1183
|
size(type) {
|
|
1148
|
-
const AbstractMethodError = require("
|
|
1184
|
+
const AbstractMethodError = require("../errors/AbstractMethodError");
|
|
1149
1185
|
|
|
1150
1186
|
throw new AbstractMethodError();
|
|
1151
1187
|
}
|
|
@@ -1167,6 +1203,22 @@ class Module extends DependenciesBlock {
|
|
|
1167
1203
|
return null;
|
|
1168
1204
|
}
|
|
1169
1205
|
|
|
1206
|
+
/**
|
|
1207
|
+
* Returns the module this one was built around: itself, or the root of a scope-hoisted concatenation.
|
|
1208
|
+
* @returns {Module} the root module
|
|
1209
|
+
*/
|
|
1210
|
+
getRootModule() {
|
|
1211
|
+
return this;
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
/**
|
|
1215
|
+
* Returns the modules this one was built from: itself, or every module merged by scope hoisting.
|
|
1216
|
+
* @returns {Iterable<Module>} the source modules (do not mutate)
|
|
1217
|
+
*/
|
|
1218
|
+
getSourceModules() {
|
|
1219
|
+
return [this];
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1170
1222
|
/**
|
|
1171
1223
|
* Returns the reason this module cannot be concatenated, when one exists.
|
|
1172
1224
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
@@ -1176,6 +1228,15 @@ class Module extends DependenciesBlock {
|
|
|
1176
1228
|
return `Module Concatenation is not implemented for ${this.constructor.name}`;
|
|
1177
1229
|
}
|
|
1178
1230
|
|
|
1231
|
+
/**
|
|
1232
|
+
* Whether a concatenation may defer this module behind its lazy CommonJS
|
|
1233
|
+
* accessor. A generator ignoring `ConcatenationScope#isWrapped` answers false.
|
|
1234
|
+
* @returns {boolean} true, when it may be wrapped
|
|
1235
|
+
*/
|
|
1236
|
+
canBeWrappedInConcatenation() {
|
|
1237
|
+
return true;
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1179
1240
|
/**
|
|
1180
1241
|
* Gets side effects connection state.
|
|
1181
1242
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
@@ -1362,10 +1423,10 @@ class Module extends DependenciesBlock {
|
|
|
1362
1423
|
super.deserialize(context);
|
|
1363
1424
|
}
|
|
1364
1425
|
|
|
1365
|
-
// TODO
|
|
1426
|
+
// TODO in the next major release: remove
|
|
1366
1427
|
/**
|
|
1367
1428
|
* Gets source basic types.
|
|
1368
|
-
* @deprecated In
|
|
1429
|
+
* @deprecated In the next major release, call getSourceBasicTypes() directly on the module instance instead of using this static method.
|
|
1369
1430
|
* @param {Module} module the module
|
|
1370
1431
|
* @returns {ReturnType<Module["getSourceBasicTypes"]>} the source types of the module
|
|
1371
1432
|
*/
|
|
@@ -1379,9 +1440,13 @@ class Module extends DependenciesBlock {
|
|
|
1379
1440
|
}
|
|
1380
1441
|
}
|
|
1381
1442
|
|
|
1382
|
-
makeSerializable(Module,
|
|
1443
|
+
makeSerializable(Module, [
|
|
1444
|
+
"webpack/lib/module/Module",
|
|
1445
|
+
// TODO in the next major release: remove, they restore pre-move cache packs
|
|
1446
|
+
"webpack/lib/Module"
|
|
1447
|
+
]);
|
|
1383
1448
|
|
|
1384
|
-
// TODO
|
|
1449
|
+
// TODO in the next major release: remove
|
|
1385
1450
|
Object.defineProperty(Module.prototype, "hasEqualsChunks", {
|
|
1386
1451
|
/**
|
|
1387
1452
|
* Gets has equals chunks.
|
|
@@ -1395,7 +1460,7 @@ Object.defineProperty(Module.prototype, "hasEqualsChunks", {
|
|
|
1395
1460
|
}
|
|
1396
1461
|
});
|
|
1397
1462
|
|
|
1398
|
-
// TODO
|
|
1463
|
+
// TODO in the next major release: remove
|
|
1399
1464
|
Object.defineProperty(Module.prototype, "isUsed", {
|
|
1400
1465
|
/**
|
|
1401
1466
|
* Returns throw an error.
|
|
@@ -1409,7 +1474,7 @@ Object.defineProperty(Module.prototype, "isUsed", {
|
|
|
1409
1474
|
}
|
|
1410
1475
|
});
|
|
1411
1476
|
|
|
1412
|
-
// TODO
|
|
1477
|
+
// TODO in the next major release: remove
|
|
1413
1478
|
Object.defineProperty(Module.prototype, "errors", {
|
|
1414
1479
|
/**
|
|
1415
1480
|
* Returns errors.
|
|
@@ -1433,7 +1498,7 @@ Object.defineProperty(Module.prototype, "errors", {
|
|
|
1433
1498
|
)
|
|
1434
1499
|
});
|
|
1435
1500
|
|
|
1436
|
-
// TODO
|
|
1501
|
+
// TODO in the next major release: remove
|
|
1437
1502
|
Object.defineProperty(Module.prototype, "warnings", {
|
|
1438
1503
|
/**
|
|
1439
1504
|
* Returns warnings.
|
|
@@ -1457,7 +1522,7 @@ Object.defineProperty(Module.prototype, "warnings", {
|
|
|
1457
1522
|
)
|
|
1458
1523
|
});
|
|
1459
1524
|
|
|
1460
|
-
// TODO
|
|
1525
|
+
// TODO in the next major release: remove
|
|
1461
1526
|
Object.defineProperty(Module.prototype, "used", {
|
|
1462
1527
|
/**
|
|
1463
1528
|
* Returns throw an error.
|
|
@@ -1471,7 +1536,7 @@ Object.defineProperty(Module.prototype, "used", {
|
|
|
1471
1536
|
},
|
|
1472
1537
|
/**
|
|
1473
1538
|
* Updates used using the provided value.
|
|
1474
|
-
* @param {
|
|
1539
|
+
* @param {never} value value
|
|
1475
1540
|
*/
|
|
1476
1541
|
set(value) {
|
|
1477
1542
|
throw new Error(
|
|
@@ -1480,4 +1545,7 @@ Object.defineProperty(Module.prototype, "used", {
|
|
|
1480
1545
|
}
|
|
1481
1546
|
});
|
|
1482
1547
|
|
|
1548
|
+
/** @type {Set<keyof ModuleKinds>} */
|
|
1549
|
+
Module.KINDS = new Set();
|
|
1550
|
+
|
|
1483
1551
|
module.exports = Module;
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
/** @import { ResolveOptions } from "
|
|
9
|
-
/** @import Dependency from "
|
|
8
|
+
/** @import { ResolveOptions } from "../../declarations/WebpackOptions" */
|
|
9
|
+
/** @import Dependency from "../graph/Dependency" */
|
|
10
10
|
/** @import Module from "./Module" */
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -53,7 +53,7 @@ class ModuleFactory {
|
|
|
53
53
|
* @returns {void}
|
|
54
54
|
*/
|
|
55
55
|
create(data, callback) {
|
|
56
|
-
const AbstractMethodError = require("
|
|
56
|
+
const AbstractMethodError = require("../errors/AbstractMethodError");
|
|
57
57
|
|
|
58
58
|
throw new AbstractMethodError();
|
|
59
59
|
}
|