@depup/webpack 5.106.0-depup.0 → 5.109.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -11
- package/changes.json +16 -24
- package/hot/dev-server.js +2 -0
- package/lib/APIPlugin.js +60 -35
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +13 -5
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +41 -0
- package/lib/Chunk.js +71 -25
- package/lib/ChunkGraph.js +141 -9
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +23 -26
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +54 -37
- package/lib/Compilation.js +635 -107
- package/lib/Compiler.js +93 -31
- package/lib/ConcatenationScope.js +34 -4
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +15 -12
- package/lib/ContextExclusionPlugin.js +3 -1
- package/lib/ContextModule.js +345 -55
- package/lib/ContextModuleFactory.js +193 -51
- package/lib/ContextReplacementPlugin.js +8 -1
- package/lib/DefinePlugin.js +498 -127
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +159 -11
- package/lib/DependencyTemplate.js +7 -1
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DotenvPlugin.js +3 -0
- package/lib/DynamicEntryPlugin.js +3 -1
- package/lib/EntryOptionPlugin.js +42 -2
- package/lib/EntryPlugin.js +4 -1
- package/lib/Entrypoint.js +5 -1
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -11
- package/lib/ExportsInfo.js +399 -108
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +376 -78
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +575 -149
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +92 -6
- package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
- package/lib/Generator.js +24 -3
- package/lib/HotModuleReplacementPlugin.js +110 -44
- package/lib/IgnorePlugin.js +5 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +15 -0
- package/lib/JavascriptMetaInfoPlugin.js +9 -6
- package/lib/LazyBarrel.js +389 -0
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +3 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +121 -60
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +5 -2
- package/lib/ModuleGraph.js +69 -2
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleNotFoundError.js +3 -83
- package/lib/ModuleProfile.js +27 -1
- package/lib/ModuleSourceTypeConstants.js +52 -19
- package/lib/ModuleTemplate.js +10 -0
- package/lib/ModuleTypeConstants.js +20 -4
- package/lib/MultiCompiler.js +59 -4
- package/lib/MultiStats.js +9 -0
- package/lib/MultiWatching.js +6 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +78 -46
- package/lib/NormalModule.js +485 -181
- package/lib/NormalModuleFactory.js +148 -29
- package/lib/NormalModuleReplacementPlugin.js +3 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +3 -1
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +4 -1
- package/lib/ProgressPlugin.js +351 -161
- package/lib/ProvidePlugin.js +6 -3
- package/lib/RawModule.js +32 -16
- package/lib/RecordIdsPlugin.js +9 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +58 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +104 -26
- package/lib/RuntimeTemplate.js +616 -37
- package/lib/SelfModuleFactory.js +3 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +341 -63
- package/lib/Stats.js +6 -0
- package/lib/Template.js +29 -3
- package/lib/TemplatedPathPlugin.js +505 -138
- package/lib/UseStrictPlugin.js +3 -2
- package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
- package/lib/WarnDeprecatedOptionPlugin.js +6 -2
- package/lib/WarnNoModeSetPlugin.js +18 -2
- package/lib/WatchIgnorePlugin.js +5 -1
- package/lib/Watching.js +25 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +4 -2
- package/lib/WebpackOptionsApply.js +88 -25
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +28 -10
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +199 -60
- package/lib/asset/AssetModule.js +47 -0
- package/lib/asset/AssetModulesPlugin.js +115 -24
- package/lib/asset/AssetParser.js +4 -2
- package/lib/asset/AssetSourceGenerator.js +26 -8
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +23 -13
- package/lib/asset/WebManifestGenerator.js +164 -0
- package/lib/asset/WebManifestParser.js +130 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/async-modules/isGeneratorLowered.js +26 -0
- package/lib/buildChunkGraph.js +107 -15
- package/lib/bun/BunTargetPlugin.js +42 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
- package/lib/cache/AddManagedPathsPlugin.js +5 -1
- package/lib/cache/IdleFileCachePlugin.js +6 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
- package/lib/cache/PackFileCacheStrategy.js +43 -7
- package/lib/cache/ResolverCachePlugin.js +12 -1
- package/lib/cache/getLazyHashedEtag.js +13 -2
- package/lib/cache/mergeEtags.js +4 -0
- package/lib/cli.js +142 -20
- package/lib/config/browserslistTargetHandler.js +141 -0
- package/lib/config/defaults.js +591 -41
- package/lib/config/defineConfig.js +31 -0
- package/lib/config/normalization.js +46 -1
- package/lib/config/target.js +200 -2
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +27 -14
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +6 -2
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +3 -2
- package/lib/container/FallbackDependency.js +9 -7
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +22 -9
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/ModuleFederationPlugin.js +12 -26
- package/lib/container/RemoteModule.js +33 -10
- package/lib/container/RemoteRuntimeModule.js +15 -12
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +534 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +156 -77
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +356 -204
- package/lib/css/CssParser.js +3452 -1950
- package/lib/css/syntax.js +4058 -0
- package/lib/debug/ProfilingPlugin.js +33 -2
- package/lib/deno/DenoTargetPlugin.js +41 -0
- package/lib/dependencies/AMDDefineDependency.js +29 -17
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
- package/lib/dependencies/AMDPlugin.js +6 -3
- package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
- package/lib/dependencies/AMDRequireContextDependency.js +10 -11
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
- package/lib/dependencies/AMDRequireDependency.js +28 -20
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +9 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +138 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +62 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +187 -24
- package/lib/dependencies/CommonJsPlugin.js +7 -4
- package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
- package/lib/dependencies/CommonJsRequireDependency.js +135 -13
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
- package/lib/dependencies/ConstDependency.js +22 -12
- package/lib/dependencies/ContextDependency.js +13 -2
- package/lib/dependencies/ContextDependencyHelpers.js +7 -4
- package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +27 -14
- package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
- package/lib/dependencies/CriticalDependencyWarning.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +682 -368
- package/lib/dependencies/CssIcssImportDependency.js +62 -17
- package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
- package/lib/dependencies/CssImportDependency.js +37 -1
- package/lib/dependencies/CssUrlDependency.js +87 -14
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +12 -13
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportBindingInitFragment.js +164 -0
- package/lib/dependencies/ExportsInfoDependency.js +18 -12
- package/lib/dependencies/ExternalModuleDependency.js +13 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
- package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
- package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +32 -2
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +140 -46
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +253 -37
- package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
- package/lib/dependencies/HarmonyExports.js +6 -1
- package/lib/dependencies/HarmonyImportDependency.js +59 -3
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +426 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +136 -17
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
- package/lib/dependencies/HtmlEntryDependency.js +1295 -0
- package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
- package/lib/dependencies/HtmlSourceDependency.js +172 -0
- package/lib/dependencies/ImportContextDependency.js +9 -9
- package/lib/dependencies/ImportDependency.js +92 -3
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
- package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
- package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
- package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
- package/lib/dependencies/ImportMetaPlugin.js +595 -209
- package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
- package/lib/dependencies/ImportParserPlugin.js +114 -27
- package/lib/dependencies/ImportPhase.js +17 -11
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +3 -0
- package/lib/dependencies/JsonExportsDependency.js +15 -10
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +3 -0
- package/lib/dependencies/LoaderPlugin.js +9 -2
- package/lib/dependencies/LocalModule.js +15 -12
- package/lib/dependencies/LocalModuleDependency.js +15 -13
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
- package/lib/dependencies/ModuleDependency.js +14 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +36 -27
- package/lib/dependencies/PureExpressionDependency.js +14 -10
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
- package/lib/dependencies/RequireEnsureDependency.js +16 -13
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +7 -4
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +10 -11
- package/lib/dependencies/RequireResolveDependency.js +2 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
- package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
- package/lib/dependencies/StaticExportsDependency.js +13 -10
- package/lib/dependencies/SystemPlugin.js +9 -6
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
- package/lib/dependencies/URLContextDependency.js +8 -7
- package/lib/dependencies/URLDependency.js +157 -33
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +12 -13
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
- package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
- package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
- package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
- package/lib/dependencies/WorkerDependency.js +111 -27
- package/lib/dependencies/WorkletDependency.js +278 -0
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +14 -11
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
- package/lib/{DllModule.js → dll/DllModule.js} +36 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
- package/lib/electron/ElectronTargetPlugin.js +24 -5
- package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
- package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
- package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
- package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
- package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
- package/lib/errors/JSONParseError.js +115 -0
- package/lib/errors/LoaderLoadingError.js +20 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
- package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
- package/lib/errors/ModuleNotFoundError.js +94 -0
- package/lib/errors/ModuleParseError.js +141 -0
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
- package/lib/errors/NonErrorEmittedError.js +30 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
- package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
- package/lib/errors/WebpackError.js +84 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
- package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +71 -49
- package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +154 -7
- package/lib/hmr/lazyCompilationBackend.js +34 -8
- package/lib/html/HtmlGenerator.js +1470 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1111 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9020 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
- package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
- package/lib/ids/HashedModuleIdsPlugin.js +2 -1
- package/lib/ids/IdHelpers.js +25 -2
- package/lib/ids/NamedChunkIdsPlugin.js +3 -1
- package/lib/ids/NamedModuleIdsPlugin.js +3 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
- package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
- package/lib/ids/SyncModuleIdsPlugin.js +3 -1
- package/lib/index.js +66 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
- package/lib/javascript/BasicEvaluatedExpression.js +370 -49
- package/lib/javascript/ChunkFormatHelpers.js +2 -1
- package/lib/javascript/ChunkHelpers.js +1 -0
- package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
- package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
- package/lib/javascript/JavascriptGenerator.js +213 -51
- package/lib/javascript/JavascriptModule.js +54 -0
- package/lib/javascript/JavascriptModulesPlugin.js +579 -183
- package/lib/javascript/JavascriptParser.js +1289 -462
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +4380 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModule.js +40 -0
- package/lib/json/JsonModulesPlugin.js +8 -1
- package/lib/json/JsonParser.js +18 -27
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +21 -3
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +154 -7
- package/lib/library/SystemLibraryPlugin.js +11 -3
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/loaders/LoaderRunner.js +714 -0
- package/lib/loaders/loadLoader.js +100 -0
- package/lib/logging/Logger.js +17 -0
- package/lib/logging/createConsoleLogger.js +7 -0
- package/lib/logging/runtime.js +2 -0
- package/lib/logging/truncateArgs.js +2 -0
- package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
- package/lib/node/NodeEnvironmentPlugin.js +7 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -63
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +40 -22
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +23 -1
- package/lib/node/ReadFileCompileWasmPlugin.js +18 -1
- package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
- package/lib/node/nodeBuiltins.js +80 -0
- package/lib/node/nodeConsole.js +116 -64
- package/lib/optimize/AggressiveMergingPlugin.js +3 -1
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +585 -116
- package/lib/optimize/ConstExportsPlugin.js +211 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
- package/lib/optimize/InlineExports.js +178 -0
- package/lib/optimize/InnerGraph.js +374 -262
- package/lib/optimize/InnerGraphPlugin.js +246 -117
- package/lib/optimize/LimitChunkCountPlugin.js +9 -0
- package/lib/optimize/MangleExportsPlugin.js +5 -1
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
- package/lib/optimize/MinChunkSizePlugin.js +2 -1
- package/lib/optimize/MinMaxSizeWarning.js +5 -4
- package/lib/optimize/ModuleConcatenationPlugin.js +159 -34
- package/lib/optimize/RealContentHashPlugin.js +125 -50
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
- package/lib/optimize/RuntimeChunkPlugin.js +2 -1
- package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
- package/lib/optimize/SplitChunksPlugin.js +54 -6
- package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
- package/lib/performance/NoAsyncChunksWarning.js +5 -3
- package/lib/performance/SizeLimitsPlugin.js +8 -2
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
- package/lib/prefetch/ResourceHintPlugin.js +663 -0
- package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
- package/lib/prefetch/parseResourceHintOptions.js +103 -0
- package/lib/rules/BasicEffectRulePlugin.js +3 -0
- package/lib/rules/BasicMatcherRulePlugin.js +3 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
- package/lib/rules/RuleSetCompiler.js +132 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
- package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
- package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
- package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/runtime/WorkerRuntimeModule.js +33 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +86 -4
- package/lib/schemes/VirtualUrlPlugin.js +8 -4
- package/lib/serialization/AggregateErrorSerializer.js +9 -6
- package/lib/serialization/ArraySerializer.js +6 -8
- package/lib/serialization/BinaryMiddleware.js +552 -463
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +50 -3
- package/lib/serialization/MapObjectSerializer.js +7 -9
- package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
- package/lib/serialization/ObjectMiddleware.js +73 -13
- package/lib/serialization/PlainObjectSerializer.js +16 -8
- package/lib/serialization/RegExpObjectSerializer.js +4 -2
- package/lib/serialization/Serializer.js +6 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +6 -8
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +21 -7
- package/lib/sharing/ConsumeSharedPlugin.js +11 -11
- package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +34 -15
- package/lib/sharing/ProvideSharedModule.js +42 -12
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +13 -8
- package/lib/sharing/SharePlugin.js +5 -1
- package/lib/sharing/ShareRuntimeModule.js +19 -16
- package/lib/sharing/resolveMatchedConfigs.js +6 -2
- package/lib/sharing/utils.js +9 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +94 -12
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +64 -18
- package/lib/stats/StatsFactory.js +39 -18
- package/lib/stats/StatsPrinter.js +16 -2
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +111 -23
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +154 -74
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +26 -0
- package/lib/util/LazySet.js +45 -4
- package/lib/util/LocConverter.js +64 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +15 -1
- package/lib/util/SetHelpers.js +4 -1
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/SourceProcessor.js +119 -0
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +162 -43
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +14 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +60 -1
- package/lib/util/binarySearchBounds.js +3 -2
- package/lib/util/chainedImports.js +3 -3
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +35 -4
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +80 -24
- package/lib/util/conventions.js +46 -1
- package/lib/util/createHash.js +0 -1
- package/lib/util/createHooksRegistry.js +43 -0
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +3 -2
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +46 -17
- package/lib/util/extractSourceMap.js +2 -1
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +7 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
- package/lib/util/fs.js +87 -14
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/globUtils.js +710 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/DebugHash.js +1 -0
- package/lib/util/hash/hash-digest.js +32 -15
- package/lib/util/hash/md4.js +1 -1
- package/lib/util/hash/wasm-hash.js +5 -0
- package/lib/util/hash/xxhash64.js +1 -1
- package/lib/util/identifier.js +97 -6
- package/lib/util/implicitTypeLoaderFallback.js +62 -0
- package/lib/util/internalSerializables.js +102 -60
- package/lib/util/magicComment.js +149 -7
- package/lib/util/makeSerializable.js +7 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +31 -1
- package/lib/util/numberHash.js +2 -2
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +9 -2
- package/lib/util/publicPathPlaceholder.js +64 -0
- package/lib/util/registerExternalSerializer.js +24 -4
- package/lib/util/removeBOM.js +1 -0
- package/lib/util/runtime.js +32 -0
- package/lib/util/semver.js +15 -0
- package/lib/util/serialization.js +2 -0
- package/lib/util/smartGrouping.js +8 -0
- package/lib/util/source.js +23 -0
- package/lib/util/topologicalSort.js +69 -0
- package/lib/validateSchema.js +1 -0
- package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
- package/lib/wasm-async/AsyncWasmModule.js +77 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
- package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
- package/lib/wasm-sync/SyncWasmModule.js +39 -0
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
- package/lib/wasm-sync/WebAssemblyParser.js +9 -3
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
- package/lib/web/FetchCompileWasmPlugin.js +27 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +78 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +21 -0
- package/package.json +79 -77
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1117 -79
- package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
- package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlParserOptions.check.js +6 -0
- package/schemas/plugins/HtmlParserOptions.json +3 -0
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +38 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +8608 -1159
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/ModuleParseError.js +0 -125
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- package/lib/css/walkCssTokens.js +0 -1843
- package/lib/util/AppendOnlyStackedSet.js +0 -78
- /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
- /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
package/lib/Module.js
CHANGED
|
@@ -33,11 +33,9 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
33
33
|
/** @typedef {import("./ConcatenationScope")} ConcatenationScope */
|
|
34
34
|
/** @typedef {import("./Dependency")} Dependency */
|
|
35
35
|
/** @typedef {import("./Dependency").UpdateHashContext} UpdateHashContext */
|
|
36
|
-
/** @typedef {import("./DependencyTemplate").CssData} CssData */
|
|
37
36
|
/** @typedef {import("./DependencyTemplates")} DependencyTemplates */
|
|
38
37
|
/** @typedef {import("./ModuleSourceTypeConstants").AllTypes} AllTypes */
|
|
39
38
|
/** @typedef {import("./FileSystemInfo")} FileSystemInfo */
|
|
40
|
-
/** @typedef {import("./FileSystemInfo").Snapshot} Snapshot */
|
|
41
39
|
/** @typedef {import("./ModuleGraphConnection").ConnectionState} ConnectionState */
|
|
42
40
|
/** @typedef {import("./ModuleTypeConstants").ModuleTypes} ModuleTypes */
|
|
43
41
|
/** @typedef {import("./ModuleGraph").OptimizationBailouts} OptimizationBailouts */
|
|
@@ -47,11 +45,11 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
47
45
|
/** @typedef {import("./ResolverFactory").ResolverWithOptions} ResolverWithOptions */
|
|
48
46
|
/** @typedef {import("./RuntimeTemplate")} RuntimeTemplate */
|
|
49
47
|
/**
|
|
48
|
+
* Defines the init fragment type used by this module.
|
|
50
49
|
* @template T
|
|
51
50
|
* @typedef {import("./InitFragment")<T>} InitFragment
|
|
52
51
|
*/
|
|
53
|
-
/** @typedef {import("./WebpackError")} WebpackError */
|
|
54
|
-
/** @typedef {import("./json/JsonData")} JsonData */
|
|
52
|
+
/** @typedef {import("./errors/WebpackError")} WebpackError */
|
|
55
53
|
/** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
56
54
|
/** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
57
55
|
/** @typedef {import("./util/Hash")} Hash */
|
|
@@ -65,11 +63,13 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
65
63
|
/** @typedef {"namespace" | "default-only" | "default-with-named" | "dynamic"} ExportsType */
|
|
66
64
|
|
|
67
65
|
/**
|
|
66
|
+
* Defines the shared type used by this module.
|
|
68
67
|
* @template T
|
|
69
68
|
* @typedef {import("./util/LazySet")<T>} LazySet<T>
|
|
70
69
|
*/
|
|
71
70
|
|
|
72
71
|
/**
|
|
72
|
+
* Defines the source context type used by this module.
|
|
73
73
|
* @typedef {object} SourceContext
|
|
74
74
|
* @property {DependencyTemplates} dependencyTemplates the dependency templates
|
|
75
75
|
* @property {RuntimeTemplate} runtimeTemplate the runtime template
|
|
@@ -87,6 +87,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
87
87
|
|
|
88
88
|
// TODO webpack 6: compilation will be required in CodeGenerationContext
|
|
89
89
|
/**
|
|
90
|
+
* Defines the code generation context type used by this module.
|
|
90
91
|
* @typedef {object} CodeGenerationContext
|
|
91
92
|
* @property {DependencyTemplates} dependencyTemplates the dependency templates
|
|
92
93
|
* @property {RuntimeTemplate} runtimeTemplate the runtime template
|
|
@@ -101,34 +102,37 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
101
102
|
*/
|
|
102
103
|
|
|
103
104
|
/**
|
|
105
|
+
* Defines the concatenation bailout reason context type used by this module.
|
|
104
106
|
* @typedef {object} ConcatenationBailoutReasonContext
|
|
105
107
|
* @property {ModuleGraph} moduleGraph the module graph
|
|
106
108
|
* @property {ChunkGraph} chunkGraph the chunk graph
|
|
109
|
+
* @property {boolean=} concatenateCommonJsModules whether eligible CommonJS modules may be concatenated
|
|
107
110
|
*/
|
|
108
111
|
|
|
109
112
|
/** @typedef {Set<string>} RuntimeRequirements */
|
|
110
113
|
/** @typedef {ReadonlySet<string>} ReadOnlyRuntimeRequirements */
|
|
111
114
|
|
|
112
115
|
/**
|
|
116
|
+
* Defines the all code generation schemas type used by this module.
|
|
113
117
|
* @typedef {object} AllCodeGenerationSchemas
|
|
114
118
|
* @property {Set<string>} topLevelDeclarations top level declarations for javascript modules
|
|
119
|
+
* @property {Set<string>} freeNames free identifier names in the rendered source for javascript modules
|
|
115
120
|
* @property {InitFragment<EXPECTED_ANY>[]} chunkInitFragments chunk init fragments for javascript modules
|
|
116
|
-
* @property {{ javascript?: string, ["
|
|
121
|
+
* @property {{ javascript?: string, ["asset-url"]?: string }} url url for asset modules
|
|
117
122
|
* @property {string} filename a filename for asset modules
|
|
118
123
|
* @property {AssetInfo} assetInfo an asset info for asset modules
|
|
119
124
|
* @property {string} fullContentHash a full content hash for asset modules
|
|
120
125
|
* @property {[{ shareScope: string, initStage: number, init: string }]} share-init share-init for modules federation
|
|
121
126
|
*/
|
|
122
127
|
|
|
123
|
-
/* eslint-disable jsdoc/type-formatting */
|
|
124
128
|
/**
|
|
129
|
+
* Defines the code gen value type used by this module.
|
|
125
130
|
* @template {string} K
|
|
126
|
-
* @typedef {K extends keyof AllCodeGenerationSchemas ? AllCodeGenerationSchemas[K] : EXPECTED_ANY} CodeGenValue
|
|
131
|
+
* @typedef {K extends (keyof AllCodeGenerationSchemas) ? AllCodeGenerationSchemas[K] : EXPECTED_ANY} CodeGenValue
|
|
127
132
|
*/
|
|
128
|
-
/* eslint-enable jsdoc/type-formatting */
|
|
129
133
|
|
|
130
|
-
/* eslint-disable jsdoc/require-template */
|
|
131
134
|
/**
|
|
135
|
+
* Defines the code gen map overloads type used by this module.
|
|
132
136
|
* @typedef {object} CodeGenMapOverloads
|
|
133
137
|
* @property {<K extends string>(key: K) => CodeGenValue<K> | undefined} get
|
|
134
138
|
* @property {<K extends string>(key: K, value: CodeGenValue<K>) => CodeGenerationResultData} set
|
|
@@ -137,12 +141,14 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
137
141
|
*/
|
|
138
142
|
|
|
139
143
|
/**
|
|
144
|
+
* Defines the code generation result data type used by this module.
|
|
140
145
|
* @typedef {Omit<Map<string, EXPECTED_ANY>, "get" | "set" | "has" | "delete"> & CodeGenMapOverloads} CodeGenerationResultData
|
|
141
146
|
*/
|
|
142
147
|
|
|
143
148
|
/** @typedef {Map<SourceType, Source>} Sources */
|
|
144
149
|
|
|
145
150
|
/**
|
|
151
|
+
* Defines the code generation result type used by this module.
|
|
146
152
|
* @typedef {object} CodeGenerationResult
|
|
147
153
|
* @property {Sources} sources the resulting sources for all source types
|
|
148
154
|
* @property {CodeGenerationResultData=} data the resulting data for all source types
|
|
@@ -151,59 +157,45 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
151
157
|
*/
|
|
152
158
|
|
|
153
159
|
/**
|
|
160
|
+
* Defines the lib ident options type used by this module.
|
|
154
161
|
* @typedef {object} LibIdentOptions
|
|
155
162
|
* @property {string} context absolute context path to which lib ident is relative to
|
|
156
163
|
* @property {AssociatedObjectForCache=} associatedObjectForCache object for caching
|
|
157
164
|
*/
|
|
158
165
|
|
|
159
166
|
/**
|
|
167
|
+
* Defines the build meta properties common to all module types.
|
|
168
|
+
* Module type specific properties live in the `Known*BuildMeta` typedef of the dedicated module class.
|
|
160
169
|
* @typedef {object} KnownBuildMeta
|
|
161
170
|
* @property {("default" | "namespace" | "flagged" | "dynamic")=} exportsType
|
|
162
171
|
* @property {(false | "redirect" | "redirect-warn")=} defaultObject
|
|
163
|
-
* @property {boolean=} strictHarmonyModule
|
|
164
|
-
* @property {boolean=} treatAsCommonJs
|
|
165
172
|
* @property {boolean=} async
|
|
166
173
|
* @property {boolean=} sideEffectFree
|
|
167
|
-
* @property {
|
|
168
|
-
* @property {
|
|
169
|
-
* @property {Map<string, Record<string, string>>=} exportsFinalNameByRuntime
|
|
170
|
-
* @property {Map<string, string>=} exportsSourceByRuntime
|
|
174
|
+
* @property {Map<string, Record<string, string>>=} exportsFinalNameByRuntime using in ModuleLibraryPlugin
|
|
175
|
+
* @property {Map<string, string>=} exportsSourceByRuntime using in ModuleLibraryPlugin
|
|
171
176
|
*/
|
|
172
177
|
|
|
173
178
|
/**
|
|
179
|
+
* Defines the build info properties common to all module types.
|
|
180
|
+
* Module type specific properties live in the `Known*BuildInfo` typedef of the dedicated module class.
|
|
174
181
|
* @typedef {object} KnownBuildInfo
|
|
175
182
|
* @property {boolean=} cacheable
|
|
176
|
-
* @property {
|
|
183
|
+
* @property {string[]=} notCacheableReasons reasons why the module is not cacheable (e.g. paths of loaders that marked it)
|
|
177
184
|
* @property {boolean=} strict
|
|
178
|
-
* @property {string=} moduleArgument
|
|
179
|
-
* @property {string=} exportsArgument
|
|
180
|
-
* @property {string
|
|
181
|
-
* @property {
|
|
182
|
-
* @property {string=} resourceIntegrity using in HttpUriPlugin
|
|
183
|
-
* @property {FileSystemDependencies=} fileDependencies using in NormalModule
|
|
184
|
-
* @property {FileSystemDependencies=} contextDependencies using in NormalModule
|
|
185
|
-
* @property {FileSystemDependencies=} missingDependencies using in NormalModule
|
|
186
|
-
* @property {FileSystemDependencies=} buildDependencies using in NormalModule
|
|
187
|
-
* @property {ValueCacheVersions=} valueDependencies using in NormalModule
|
|
188
|
-
* @property {Record<string, Source>=} assets using in NormalModule
|
|
189
|
-
* @property {Map<string, AssetInfo | undefined>=} assetsInfo using in NormalModule
|
|
190
|
-
* @property {string=} hash using in NormalModule
|
|
191
|
-
* @property {(Snapshot | null)=} snapshot using in ContextModule
|
|
192
|
-
* @property {string=} fullContentHash for assets modules
|
|
193
|
-
* @property {string=} filename for assets modules
|
|
194
|
-
* @property {boolean=} dataUrl for assets modules
|
|
195
|
-
* @property {AssetInfo=} assetInfo for assets modules
|
|
196
|
-
* @property {boolean=} javascriptModule for external modules
|
|
197
|
-
* @property {boolean=} active for lazy compilation modules
|
|
198
|
-
* @property {CssData=} cssData for css modules
|
|
199
|
-
* @property {JsonData=} jsonData for json modules
|
|
185
|
+
* @property {string=} moduleArgument
|
|
186
|
+
* @property {string=} exportsArgument
|
|
187
|
+
* @property {Record<string, Source>=} assets assets added by loaders or plugins
|
|
188
|
+
* @property {Map<string, AssetInfo | undefined>=} assetsInfo
|
|
200
189
|
* @property {Set<string>=} topLevelDeclarations top level declaration names
|
|
190
|
+
* @property {boolean=} isCircular true when the module is part of a circular dependency chain
|
|
191
|
+
* @property {boolean=} usesTopLevelAwaitForOf module uses top-level `for await…of`, which can't be lowered to a generator
|
|
201
192
|
*/
|
|
202
193
|
|
|
203
194
|
/** @typedef {string | Set<string>} ValueCacheVersion */
|
|
204
195
|
/** @typedef {Map<string, ValueCacheVersion>} ValueCacheVersions */
|
|
205
196
|
|
|
206
197
|
/**
|
|
198
|
+
* Defines the need build context type used by this module.
|
|
207
199
|
* @typedef {object} NeedBuildContext
|
|
208
200
|
* @property {Compilation} compilation
|
|
209
201
|
* @property {FileSystemInfo} fileSystemInfo
|
|
@@ -218,6 +210,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
218
210
|
/** @typedef {KnownBuildInfo & Record<string, EXPECTED_ANY>} BuildInfo */
|
|
219
211
|
|
|
220
212
|
/**
|
|
213
|
+
* Defines the factory meta type used by this module.
|
|
221
214
|
* @typedef {object} FactoryMeta
|
|
222
215
|
* @property {boolean=} sideEffectFree
|
|
223
216
|
*/
|
|
@@ -231,6 +224,7 @@ const DEFAULT_TYPES_UNKNOWN = new Set([UNKNOWN_TYPE]);
|
|
|
231
224
|
|
|
232
225
|
const deprecatedNeedRebuild = util.deprecate(
|
|
233
226
|
/**
|
|
227
|
+
* Handles the callback logic for this hook.
|
|
234
228
|
* @param {Module} module the module
|
|
235
229
|
* @param {NeedBuildContext} context context info
|
|
236
230
|
* @returns {boolean} true, when rebuild is needed
|
|
@@ -251,6 +245,7 @@ const deprecatedNeedRebuild = util.deprecate(
|
|
|
251
245
|
|
|
252
246
|
class Module extends DependenciesBlock {
|
|
253
247
|
/**
|
|
248
|
+
* Creates an instance of Module.
|
|
254
249
|
* @param {ModuleTypes | ""} type the module type, when deserializing the type is not known and is an empty string
|
|
255
250
|
* @param {(string | null)=} context an optional context
|
|
256
251
|
* @param {(string | null)=} layer an optional layer in which the module is
|
|
@@ -283,15 +278,12 @@ class Module extends DependenciesBlock {
|
|
|
283
278
|
/** @type {boolean} */
|
|
284
279
|
this.useSimpleSourceMap = false;
|
|
285
280
|
|
|
286
|
-
// Is in hot context, i.e. HotModuleReplacementPlugin.js enabled
|
|
287
|
-
// TODO do we need hot here?
|
|
288
|
-
/** @type {boolean} */
|
|
289
|
-
this.hot = false;
|
|
290
281
|
// Info from Build
|
|
291
|
-
/** @type {
|
|
282
|
+
/** @type {Error[] | undefined} */
|
|
292
283
|
this._warnings = undefined;
|
|
293
|
-
/** @type {
|
|
284
|
+
/** @type {Error[] | undefined} */
|
|
294
285
|
this._errors = undefined;
|
|
286
|
+
// Subclasses with type specific build info/meta redeclare these with a narrowed type
|
|
295
287
|
/** @type {BuildMeta | undefined} */
|
|
296
288
|
this.buildMeta = undefined;
|
|
297
289
|
/** @type {BuildInfo | undefined} */
|
|
@@ -305,6 +297,7 @@ class Module extends DependenciesBlock {
|
|
|
305
297
|
// TODO remove in webpack 6
|
|
306
298
|
// BACKWARD-COMPAT START
|
|
307
299
|
/**
|
|
300
|
+
* Returns the module id assigned by the chunk graph.
|
|
308
301
|
* @deprecated
|
|
309
302
|
* @returns {ModuleId | null} module id
|
|
310
303
|
*/
|
|
@@ -317,6 +310,7 @@ class Module extends DependenciesBlock {
|
|
|
317
310
|
}
|
|
318
311
|
|
|
319
312
|
/**
|
|
313
|
+
* Updates the module id using the provided value.
|
|
320
314
|
* @deprecated
|
|
321
315
|
* @param {ModuleId} value value
|
|
322
316
|
*/
|
|
@@ -333,6 +327,7 @@ class Module extends DependenciesBlock {
|
|
|
333
327
|
}
|
|
334
328
|
|
|
335
329
|
/**
|
|
330
|
+
* Returns the hash of the module.
|
|
336
331
|
* @deprecated
|
|
337
332
|
* @returns {string} the hash of the module
|
|
338
333
|
*/
|
|
@@ -345,6 +340,7 @@ class Module extends DependenciesBlock {
|
|
|
345
340
|
}
|
|
346
341
|
|
|
347
342
|
/**
|
|
343
|
+
* Returns the rendered hash of the module.
|
|
348
344
|
* @deprecated
|
|
349
345
|
* @returns {string} the shortened hash of the module
|
|
350
346
|
*/
|
|
@@ -381,6 +377,7 @@ class Module extends DependenciesBlock {
|
|
|
381
377
|
}
|
|
382
378
|
|
|
383
379
|
/**
|
|
380
|
+
* Returns the pre-order index.
|
|
384
381
|
* @deprecated
|
|
385
382
|
* @returns {number | null} the pre order index
|
|
386
383
|
*/
|
|
@@ -393,6 +390,7 @@ class Module extends DependenciesBlock {
|
|
|
393
390
|
}
|
|
394
391
|
|
|
395
392
|
/**
|
|
393
|
+
* Updates the pre-order index using the provided value.
|
|
396
394
|
* @deprecated
|
|
397
395
|
* @param {number} value the pre order index
|
|
398
396
|
*/
|
|
@@ -405,6 +403,7 @@ class Module extends DependenciesBlock {
|
|
|
405
403
|
}
|
|
406
404
|
|
|
407
405
|
/**
|
|
406
|
+
* Returns the post-order index.
|
|
408
407
|
* @deprecated
|
|
409
408
|
* @returns {number | null} the post order index
|
|
410
409
|
*/
|
|
@@ -417,6 +416,7 @@ class Module extends DependenciesBlock {
|
|
|
417
416
|
}
|
|
418
417
|
|
|
419
418
|
/**
|
|
419
|
+
* Updates the post-order index using the provided value.
|
|
420
420
|
* @deprecated
|
|
421
421
|
* @param {number} value the post order index
|
|
422
422
|
*/
|
|
@@ -429,6 +429,7 @@ class Module extends DependenciesBlock {
|
|
|
429
429
|
}
|
|
430
430
|
|
|
431
431
|
/**
|
|
432
|
+
* Returns the depth.
|
|
432
433
|
* @deprecated
|
|
433
434
|
* @returns {number | null} the depth
|
|
434
435
|
*/
|
|
@@ -441,6 +442,7 @@ class Module extends DependenciesBlock {
|
|
|
441
442
|
}
|
|
442
443
|
|
|
443
444
|
/**
|
|
445
|
+
* Updates the depth using the provided value.
|
|
444
446
|
* @deprecated
|
|
445
447
|
* @param {number} value the depth
|
|
446
448
|
*/
|
|
@@ -453,6 +455,7 @@ class Module extends DependenciesBlock {
|
|
|
453
455
|
}
|
|
454
456
|
|
|
455
457
|
/**
|
|
458
|
+
* Returns the issuer.
|
|
456
459
|
* @deprecated
|
|
457
460
|
* @returns {Module | null | undefined} issuer
|
|
458
461
|
*/
|
|
@@ -465,6 +468,7 @@ class Module extends DependenciesBlock {
|
|
|
465
468
|
}
|
|
466
469
|
|
|
467
470
|
/**
|
|
471
|
+
* Updates the issuer using the provided value.
|
|
468
472
|
* @deprecated
|
|
469
473
|
* @param {Module | null} value issuer
|
|
470
474
|
*/
|
|
@@ -489,6 +493,7 @@ class Module extends DependenciesBlock {
|
|
|
489
493
|
}
|
|
490
494
|
|
|
491
495
|
/**
|
|
496
|
+
* Gets optimization bailout.
|
|
492
497
|
* @deprecated
|
|
493
498
|
* @returns {OptimizationBailouts} list
|
|
494
499
|
*/
|
|
@@ -515,6 +520,7 @@ class Module extends DependenciesBlock {
|
|
|
515
520
|
}
|
|
516
521
|
|
|
517
522
|
/**
|
|
523
|
+
* Adds the provided chunk to the module.
|
|
518
524
|
* @deprecated
|
|
519
525
|
* @param {Chunk} chunk the chunk
|
|
520
526
|
* @returns {boolean} true, when the module was added
|
|
@@ -531,6 +537,7 @@ class Module extends DependenciesBlock {
|
|
|
531
537
|
}
|
|
532
538
|
|
|
533
539
|
/**
|
|
540
|
+
* Removes the provided chunk from the module.
|
|
534
541
|
* @deprecated
|
|
535
542
|
* @param {Chunk} chunk the chunk
|
|
536
543
|
* @returns {void}
|
|
@@ -544,6 +551,7 @@ class Module extends DependenciesBlock {
|
|
|
544
551
|
}
|
|
545
552
|
|
|
546
553
|
/**
|
|
554
|
+
* Checks whether this module is in the provided chunk.
|
|
547
555
|
* @deprecated
|
|
548
556
|
* @param {Chunk} chunk the chunk
|
|
549
557
|
* @returns {boolean} true, when the module is in the chunk
|
|
@@ -605,6 +613,7 @@ class Module extends DependenciesBlock {
|
|
|
605
613
|
}
|
|
606
614
|
|
|
607
615
|
/**
|
|
616
|
+
* Checks whether this module provides the specified export.
|
|
608
617
|
* @deprecated
|
|
609
618
|
* @param {string} exportName a name of an export
|
|
610
619
|
* @returns {boolean | null} true, if the export is provided why the module.
|
|
@@ -621,6 +630,7 @@ class Module extends DependenciesBlock {
|
|
|
621
630
|
// BACKWARD-COMPAT END
|
|
622
631
|
|
|
623
632
|
/**
|
|
633
|
+
* Gets exports argument.
|
|
624
634
|
* @returns {string} name of the exports argument
|
|
625
635
|
*/
|
|
626
636
|
get exportsArgument() {
|
|
@@ -628,6 +638,7 @@ class Module extends DependenciesBlock {
|
|
|
628
638
|
}
|
|
629
639
|
|
|
630
640
|
/**
|
|
641
|
+
* Gets module argument.
|
|
631
642
|
* @returns {string} name of the module argument
|
|
632
643
|
*/
|
|
633
644
|
get moduleArgument() {
|
|
@@ -635,6 +646,7 @@ class Module extends DependenciesBlock {
|
|
|
635
646
|
}
|
|
636
647
|
|
|
637
648
|
/**
|
|
649
|
+
* Returns export type.
|
|
638
650
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
639
651
|
* @param {boolean | undefined} strict the importing module is strict
|
|
640
652
|
* @returns {ExportsType} export type
|
|
@@ -705,6 +717,7 @@ class Module extends DependenciesBlock {
|
|
|
705
717
|
}
|
|
706
718
|
|
|
707
719
|
/**
|
|
720
|
+
* Adds presentational dependency.
|
|
708
721
|
* @param {Dependency} presentationalDependency dependency being tied to module.
|
|
709
722
|
* This is a Dependency without edge in the module graph. It's only for presentation.
|
|
710
723
|
* @returns {void}
|
|
@@ -717,6 +730,7 @@ class Module extends DependenciesBlock {
|
|
|
717
730
|
}
|
|
718
731
|
|
|
719
732
|
/**
|
|
733
|
+
* Adds code generation dependency.
|
|
720
734
|
* @param {Dependency} codeGenerationDependency dependency being tied to module.
|
|
721
735
|
* This is a Dependency where the code generation result of the referenced module is needed during code generation.
|
|
722
736
|
* The Dependency should also be added to normal dependencies via addDependency.
|
|
@@ -730,7 +744,7 @@ class Module extends DependenciesBlock {
|
|
|
730
744
|
}
|
|
731
745
|
|
|
732
746
|
/**
|
|
733
|
-
*
|
|
747
|
+
* Clear dependencies and blocks.
|
|
734
748
|
* @returns {void}
|
|
735
749
|
*/
|
|
736
750
|
clearDependenciesAndBlocks() {
|
|
@@ -744,7 +758,8 @@ class Module extends DependenciesBlock {
|
|
|
744
758
|
}
|
|
745
759
|
|
|
746
760
|
/**
|
|
747
|
-
*
|
|
761
|
+
* Adds the provided warning to the module.
|
|
762
|
+
* @param {Error} warning the warning
|
|
748
763
|
* @returns {void}
|
|
749
764
|
*/
|
|
750
765
|
addWarning(warning) {
|
|
@@ -755,13 +770,15 @@ class Module extends DependenciesBlock {
|
|
|
755
770
|
}
|
|
756
771
|
|
|
757
772
|
/**
|
|
758
|
-
*
|
|
773
|
+
* Returns list of warnings if any.
|
|
774
|
+
* @returns {Error[] | undefined} list of warnings if any
|
|
759
775
|
*/
|
|
760
776
|
getWarnings() {
|
|
761
777
|
return this._warnings;
|
|
762
778
|
}
|
|
763
779
|
|
|
764
780
|
/**
|
|
781
|
+
* Gets number of warnings.
|
|
765
782
|
* @returns {number} number of warnings
|
|
766
783
|
*/
|
|
767
784
|
getNumberOfWarnings() {
|
|
@@ -769,7 +786,8 @@ class Module extends DependenciesBlock {
|
|
|
769
786
|
}
|
|
770
787
|
|
|
771
788
|
/**
|
|
772
|
-
*
|
|
789
|
+
* Adds the provided error to the module.
|
|
790
|
+
* @param {Error} error the error
|
|
773
791
|
* @returns {void}
|
|
774
792
|
*/
|
|
775
793
|
addError(error) {
|
|
@@ -780,13 +798,15 @@ class Module extends DependenciesBlock {
|
|
|
780
798
|
}
|
|
781
799
|
|
|
782
800
|
/**
|
|
783
|
-
*
|
|
801
|
+
* Returns list of errors if any.
|
|
802
|
+
* @returns {Error[] | undefined} list of errors if any
|
|
784
803
|
*/
|
|
785
804
|
getErrors() {
|
|
786
805
|
return this._errors;
|
|
787
806
|
}
|
|
788
807
|
|
|
789
808
|
/**
|
|
809
|
+
* Gets number of errors.
|
|
790
810
|
* @returns {number} number of errors
|
|
791
811
|
*/
|
|
792
812
|
getNumberOfErrors() {
|
|
@@ -807,6 +827,7 @@ class Module extends DependenciesBlock {
|
|
|
807
827
|
}
|
|
808
828
|
|
|
809
829
|
/**
|
|
830
|
+
* Checks whether this module is optional.
|
|
810
831
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
811
832
|
* @returns {boolean} true, if the module is optional
|
|
812
833
|
*/
|
|
@@ -826,6 +847,7 @@ class Module extends DependenciesBlock {
|
|
|
826
847
|
}
|
|
827
848
|
|
|
828
849
|
/**
|
|
850
|
+
* Checks whether this module is accessible in chunk.
|
|
829
851
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
830
852
|
* @param {Chunk} chunk a chunk
|
|
831
853
|
* @param {Chunk=} ignoreChunk chunk to be ignored
|
|
@@ -840,6 +862,7 @@ class Module extends DependenciesBlock {
|
|
|
840
862
|
}
|
|
841
863
|
|
|
842
864
|
/**
|
|
865
|
+
* Checks whether this module is accessible in chunk group.
|
|
843
866
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
844
867
|
* @param {ChunkGroup} chunkGroup a chunk group
|
|
845
868
|
* @param {Chunk=} ignoreChunk chunk to be ignored
|
|
@@ -867,6 +890,7 @@ class Module extends DependenciesBlock {
|
|
|
867
890
|
}
|
|
868
891
|
|
|
869
892
|
/**
|
|
893
|
+
* Checks whether this module contains the chunk.
|
|
870
894
|
* @param {Chunk} chunk a chunk
|
|
871
895
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
872
896
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
@@ -892,6 +916,7 @@ class Module extends DependenciesBlock {
|
|
|
892
916
|
}
|
|
893
917
|
|
|
894
918
|
/**
|
|
919
|
+
* Checks whether this module contains the module graph.
|
|
895
920
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
896
921
|
* @param {RuntimeSpec} runtime the runtime
|
|
897
922
|
* @returns {boolean} true if at least one other module depends on this module
|
|
@@ -904,6 +929,7 @@ class Module extends DependenciesBlock {
|
|
|
904
929
|
}
|
|
905
930
|
|
|
906
931
|
/**
|
|
932
|
+
* Returns a string representation.
|
|
907
933
|
* @returns {string} for debugging
|
|
908
934
|
*/
|
|
909
935
|
toString() {
|
|
@@ -911,6 +937,7 @@ class Module extends DependenciesBlock {
|
|
|
911
937
|
}
|
|
912
938
|
|
|
913
939
|
/**
|
|
940
|
+
* Checks whether the module needs to be rebuilt for the current build state.
|
|
914
941
|
* @param {NeedBuildContext} context context info
|
|
915
942
|
* @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
|
|
916
943
|
* @returns {void}
|
|
@@ -925,6 +952,7 @@ class Module extends DependenciesBlock {
|
|
|
925
952
|
}
|
|
926
953
|
|
|
927
954
|
/**
|
|
955
|
+
* Checks whether it needs rebuild.
|
|
928
956
|
* @deprecated Use needBuild instead
|
|
929
957
|
* @param {Map<string, number | null>} fileTimestamps timestamps of files
|
|
930
958
|
* @param {Map<string, number | null>} contextTimestamps timestamps of directories
|
|
@@ -935,6 +963,7 @@ class Module extends DependenciesBlock {
|
|
|
935
963
|
}
|
|
936
964
|
|
|
937
965
|
/**
|
|
966
|
+
* Updates the hash with the data contributed by this instance.
|
|
938
967
|
* @param {Hash} hash the hash used to track dependencies
|
|
939
968
|
* @param {UpdateHashContext} context context
|
|
940
969
|
* @returns {void}
|
|
@@ -961,6 +990,7 @@ class Module extends DependenciesBlock {
|
|
|
961
990
|
}
|
|
962
991
|
|
|
963
992
|
/**
|
|
993
|
+
* Invalidates the cached state associated with this value.
|
|
964
994
|
* @returns {void}
|
|
965
995
|
*/
|
|
966
996
|
invalidateBuild() {
|
|
@@ -969,29 +999,32 @@ class Module extends DependenciesBlock {
|
|
|
969
999
|
|
|
970
1000
|
/* istanbul ignore next */
|
|
971
1001
|
/**
|
|
1002
|
+
* Returns the unique identifier used to reference this module.
|
|
972
1003
|
* @abstract
|
|
973
1004
|
* @returns {string} a unique identifier of the module
|
|
974
1005
|
*/
|
|
975
1006
|
identifier() {
|
|
976
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
1007
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
977
1008
|
|
|
978
1009
|
throw new AbstractMethodError();
|
|
979
1010
|
}
|
|
980
1011
|
|
|
981
1012
|
/* istanbul ignore next */
|
|
982
1013
|
/**
|
|
1014
|
+
* Returns a human-readable identifier for this module.
|
|
983
1015
|
* @abstract
|
|
984
1016
|
* @param {RequestShortener} requestShortener the request shortener
|
|
985
1017
|
* @returns {string} a user readable identifier of the module
|
|
986
1018
|
*/
|
|
987
1019
|
readableIdentifier(requestShortener) {
|
|
988
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
1020
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
989
1021
|
|
|
990
1022
|
throw new AbstractMethodError();
|
|
991
1023
|
}
|
|
992
1024
|
|
|
993
1025
|
/* istanbul ignore next */
|
|
994
1026
|
/**
|
|
1027
|
+
* Builds the module using the provided compilation context.
|
|
995
1028
|
* @abstract
|
|
996
1029
|
* @param {WebpackOptions} options webpack options
|
|
997
1030
|
* @param {Compilation} compilation the compilation
|
|
@@ -1001,12 +1034,13 @@ class Module extends DependenciesBlock {
|
|
|
1001
1034
|
* @returns {void}
|
|
1002
1035
|
*/
|
|
1003
1036
|
build(options, compilation, resolver, fs, callback) {
|
|
1004
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
1037
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
1005
1038
|
|
|
1006
1039
|
throw new AbstractMethodError();
|
|
1007
1040
|
}
|
|
1008
1041
|
|
|
1009
1042
|
/**
|
|
1043
|
+
* Returns the source types this module can generate.
|
|
1010
1044
|
* @abstract
|
|
1011
1045
|
* @returns {SourceTypes} types available (do not mutate)
|
|
1012
1046
|
*/
|
|
@@ -1018,6 +1052,14 @@ class Module extends DependenciesBlock {
|
|
|
1018
1052
|
return JAVASCRIPT_TYPES;
|
|
1019
1053
|
}
|
|
1020
1054
|
|
|
1055
|
+
/**
|
|
1056
|
+
* Freshly recomputed source types when they depend on incoming connections, for chunk-graph cache invalidation; undefined otherwise. #20800
|
|
1057
|
+
* @returns {SourceTypes | undefined} source types or undefined
|
|
1058
|
+
*/
|
|
1059
|
+
getReferencedSourceTypes() {
|
|
1060
|
+
return undefined;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1021
1063
|
/**
|
|
1022
1064
|
* Basic source types are high-level categories like javascript, css, webassembly, etc.
|
|
1023
1065
|
* We only have built-in knowledge about the javascript basic type here; other basic types may be
|
|
@@ -1032,6 +1074,7 @@ class Module extends DependenciesBlock {
|
|
|
1032
1074
|
}
|
|
1033
1075
|
|
|
1034
1076
|
/**
|
|
1077
|
+
* Returns generated source.
|
|
1035
1078
|
* @abstract
|
|
1036
1079
|
* @deprecated Use codeGeneration() instead
|
|
1037
1080
|
* @param {DependencyTemplates} dependencyTemplates the dependency templates
|
|
@@ -1041,7 +1084,7 @@ class Module extends DependenciesBlock {
|
|
|
1041
1084
|
*/
|
|
1042
1085
|
source(dependencyTemplates, runtimeTemplate, type = JAVASCRIPT_TYPE) {
|
|
1043
1086
|
if (this.codeGeneration === Module.prototype.codeGeneration) {
|
|
1044
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
1087
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
1045
1088
|
|
|
1046
1089
|
throw new AbstractMethodError();
|
|
1047
1090
|
}
|
|
@@ -1071,17 +1114,19 @@ class Module extends DependenciesBlock {
|
|
|
1071
1114
|
|
|
1072
1115
|
/* istanbul ignore next */
|
|
1073
1116
|
/**
|
|
1117
|
+
* Returns the estimated size for the requested source type.
|
|
1074
1118
|
* @abstract
|
|
1075
1119
|
* @param {string=} type the source type for which the size should be estimated
|
|
1076
1120
|
* @returns {number} the estimated size of the module (must be non-zero)
|
|
1077
1121
|
*/
|
|
1078
1122
|
size(type) {
|
|
1079
|
-
const AbstractMethodError = require("./AbstractMethodError");
|
|
1123
|
+
const AbstractMethodError = require("./errors/AbstractMethodError");
|
|
1080
1124
|
|
|
1081
1125
|
throw new AbstractMethodError();
|
|
1082
1126
|
}
|
|
1083
1127
|
|
|
1084
1128
|
/**
|
|
1129
|
+
* Gets the library identifier.
|
|
1085
1130
|
* @param {LibIdentOptions} options options
|
|
1086
1131
|
* @returns {LibIdent | null} an identifier for library inclusion
|
|
1087
1132
|
*/
|
|
@@ -1090,6 +1135,7 @@ class Module extends DependenciesBlock {
|
|
|
1090
1135
|
}
|
|
1091
1136
|
|
|
1092
1137
|
/**
|
|
1138
|
+
* Returns the path used when matching this module against rule conditions.
|
|
1093
1139
|
* @returns {NameForCondition | null} absolute path which should be used for condition matching (usually the resource path)
|
|
1094
1140
|
*/
|
|
1095
1141
|
nameForCondition() {
|
|
@@ -1097,6 +1143,7 @@ class Module extends DependenciesBlock {
|
|
|
1097
1143
|
}
|
|
1098
1144
|
|
|
1099
1145
|
/**
|
|
1146
|
+
* Returns the reason this module cannot be concatenated, when one exists.
|
|
1100
1147
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
1101
1148
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
1102
1149
|
*/
|
|
@@ -1105,6 +1152,7 @@ class Module extends DependenciesBlock {
|
|
|
1105
1152
|
}
|
|
1106
1153
|
|
|
1107
1154
|
/**
|
|
1155
|
+
* Gets side effects connection state.
|
|
1108
1156
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
1109
1157
|
* @returns {ConnectionState} how this module should be connected to referencing modules when consumed for side-effects only
|
|
1110
1158
|
*/
|
|
@@ -1113,6 +1161,7 @@ class Module extends DependenciesBlock {
|
|
|
1113
1161
|
}
|
|
1114
1162
|
|
|
1115
1163
|
/**
|
|
1164
|
+
* Generates code and runtime requirements for this module.
|
|
1116
1165
|
* @param {CodeGenerationContext} context context for code generation
|
|
1117
1166
|
* @returns {CodeGenerationResult} result
|
|
1118
1167
|
*/
|
|
@@ -1143,6 +1192,7 @@ class Module extends DependenciesBlock {
|
|
|
1143
1192
|
}
|
|
1144
1193
|
|
|
1145
1194
|
/**
|
|
1195
|
+
* Returns true if the module can be placed in the chunk.
|
|
1146
1196
|
* @param {Chunk} chunk the chunk which condition should be checked
|
|
1147
1197
|
* @param {Compilation} compilation the compilation
|
|
1148
1198
|
* @returns {boolean} true if the module can be placed in the chunk
|
|
@@ -1201,6 +1251,7 @@ class Module extends DependenciesBlock {
|
|
|
1201
1251
|
}
|
|
1202
1252
|
|
|
1203
1253
|
/**
|
|
1254
|
+
* Gets the original source.
|
|
1204
1255
|
* @returns {Source | null} the original source for the module before webpack transformation
|
|
1205
1256
|
*/
|
|
1206
1257
|
originalSource() {
|
|
@@ -1208,6 +1259,7 @@ class Module extends DependenciesBlock {
|
|
|
1208
1259
|
}
|
|
1209
1260
|
|
|
1210
1261
|
/**
|
|
1262
|
+
* Adds the provided file dependencies to the module.
|
|
1211
1263
|
* @param {FileSystemDependencies} fileDependencies set where file dependencies are added to
|
|
1212
1264
|
* @param {FileSystemDependencies} contextDependencies set where context dependencies are added to
|
|
1213
1265
|
* @param {FileSystemDependencies} missingDependencies set where missing dependencies are added to
|
|
@@ -1221,6 +1273,7 @@ class Module extends DependenciesBlock {
|
|
|
1221
1273
|
) {}
|
|
1222
1274
|
|
|
1223
1275
|
/**
|
|
1276
|
+
* Serializes this instance into the provided serializer context.
|
|
1224
1277
|
* @param {ObjectSerializerContext} context context
|
|
1225
1278
|
*/
|
|
1226
1279
|
serialize(context) {
|
|
@@ -1232,7 +1285,6 @@ class Module extends DependenciesBlock {
|
|
|
1232
1285
|
write(this.factoryMeta);
|
|
1233
1286
|
write(this.useSourceMap);
|
|
1234
1287
|
write(this.useSimpleSourceMap);
|
|
1235
|
-
write(this.hot);
|
|
1236
1288
|
write(
|
|
1237
1289
|
this._warnings !== undefined && this._warnings.length === 0
|
|
1238
1290
|
? undefined
|
|
@@ -1251,6 +1303,7 @@ class Module extends DependenciesBlock {
|
|
|
1251
1303
|
}
|
|
1252
1304
|
|
|
1253
1305
|
/**
|
|
1306
|
+
* Restores this instance from the provided deserializer context.
|
|
1254
1307
|
* @param {ObjectDeserializerContext} context context
|
|
1255
1308
|
*/
|
|
1256
1309
|
deserialize(context) {
|
|
@@ -1262,7 +1315,6 @@ class Module extends DependenciesBlock {
|
|
|
1262
1315
|
this.factoryMeta = read();
|
|
1263
1316
|
this.useSourceMap = read();
|
|
1264
1317
|
this.useSimpleSourceMap = read();
|
|
1265
|
-
this.hot = read();
|
|
1266
1318
|
this._warnings = read();
|
|
1267
1319
|
this._errors = read();
|
|
1268
1320
|
this.buildMeta = read();
|
|
@@ -1274,6 +1326,7 @@ class Module extends DependenciesBlock {
|
|
|
1274
1326
|
|
|
1275
1327
|
// TODO remove in webpack 6
|
|
1276
1328
|
/**
|
|
1329
|
+
* Gets source basic types.
|
|
1277
1330
|
* @deprecated In webpack 6, call getSourceBasicTypes() directly on the module instance instead of using this static method.
|
|
1278
1331
|
* @param {Module} module the module
|
|
1279
1332
|
* @returns {ReturnType<Module["getSourceBasicTypes"]>} the source types of the module
|
|
@@ -1293,6 +1346,7 @@ makeSerializable(Module, "webpack/lib/Module");
|
|
|
1293
1346
|
// TODO remove in webpack 6
|
|
1294
1347
|
Object.defineProperty(Module.prototype, "hasEqualsChunks", {
|
|
1295
1348
|
/**
|
|
1349
|
+
* Gets has equals chunks.
|
|
1296
1350
|
* @deprecated
|
|
1297
1351
|
* @returns {EXPECTED_ANY} throw an error
|
|
1298
1352
|
*/
|
|
@@ -1306,6 +1360,7 @@ Object.defineProperty(Module.prototype, "hasEqualsChunks", {
|
|
|
1306
1360
|
// TODO remove in webpack 6
|
|
1307
1361
|
Object.defineProperty(Module.prototype, "isUsed", {
|
|
1308
1362
|
/**
|
|
1363
|
+
* Returns throw an error.
|
|
1309
1364
|
* @deprecated
|
|
1310
1365
|
* @returns {EXPECTED_ANY} throw an error
|
|
1311
1366
|
*/
|
|
@@ -1319,13 +1374,15 @@ Object.defineProperty(Module.prototype, "isUsed", {
|
|
|
1319
1374
|
// TODO remove in webpack 6
|
|
1320
1375
|
Object.defineProperty(Module.prototype, "errors", {
|
|
1321
1376
|
/**
|
|
1377
|
+
* Returns errors.
|
|
1322
1378
|
* @deprecated
|
|
1323
|
-
* @returns {
|
|
1379
|
+
* @returns {Error[]} errors
|
|
1324
1380
|
*/
|
|
1325
1381
|
get: util.deprecate(
|
|
1326
1382
|
/**
|
|
1383
|
+
* Returns errors.
|
|
1327
1384
|
* @this {Module}
|
|
1328
|
-
* @returns {
|
|
1385
|
+
* @returns {Error[]} errors
|
|
1329
1386
|
*/
|
|
1330
1387
|
function errors() {
|
|
1331
1388
|
if (this._errors === undefined) {
|
|
@@ -1341,13 +1398,15 @@ Object.defineProperty(Module.prototype, "errors", {
|
|
|
1341
1398
|
// TODO remove in webpack 6
|
|
1342
1399
|
Object.defineProperty(Module.prototype, "warnings", {
|
|
1343
1400
|
/**
|
|
1401
|
+
* Returns warnings.
|
|
1344
1402
|
* @deprecated
|
|
1345
|
-
* @returns {
|
|
1403
|
+
* @returns {Error[]} warnings
|
|
1346
1404
|
*/
|
|
1347
1405
|
get: util.deprecate(
|
|
1348
1406
|
/**
|
|
1407
|
+
* Returns warnings.
|
|
1349
1408
|
* @this {Module}
|
|
1350
|
-
* @returns {
|
|
1409
|
+
* @returns {Error[]} warnings
|
|
1351
1410
|
*/
|
|
1352
1411
|
function warnings() {
|
|
1353
1412
|
if (this._warnings === undefined) {
|
|
@@ -1363,6 +1422,7 @@ Object.defineProperty(Module.prototype, "warnings", {
|
|
|
1363
1422
|
// TODO remove in webpack 6
|
|
1364
1423
|
Object.defineProperty(Module.prototype, "used", {
|
|
1365
1424
|
/**
|
|
1425
|
+
* Returns throw an error.
|
|
1366
1426
|
* @deprecated
|
|
1367
1427
|
* @returns {EXPECTED_ANY} throw an error
|
|
1368
1428
|
*/
|
|
@@ -1372,6 +1432,7 @@ Object.defineProperty(Module.prototype, "used", {
|
|
|
1372
1432
|
);
|
|
1373
1433
|
},
|
|
1374
1434
|
/**
|
|
1435
|
+
* Updates used using the provided value.
|
|
1375
1436
|
* @param {EXPECTED_ANY} value value
|
|
1376
1437
|
*/
|
|
1377
1438
|
set(value) {
|