@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
|
@@ -6,47 +6,48 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { OriginalSource, RawSource } = require("webpack-sources");
|
|
9
|
-
const Module = require("
|
|
9
|
+
const Module = require("../Module");
|
|
10
10
|
const {
|
|
11
11
|
JAVASCRIPT_TYPE,
|
|
12
12
|
JAVASCRIPT_TYPES
|
|
13
|
-
} = require("
|
|
14
|
-
const { JAVASCRIPT_MODULE_TYPE_DYNAMIC } = require("
|
|
15
|
-
const RuntimeGlobals = require("
|
|
16
|
-
const DelegatedSourceDependency = require("
|
|
17
|
-
const StaticExportsDependency = require("
|
|
18
|
-
const makeSerializable = require("
|
|
13
|
+
} = require("../ModuleSourceTypeConstants");
|
|
14
|
+
const { JAVASCRIPT_MODULE_TYPE_DYNAMIC } = require("../ModuleTypeConstants");
|
|
15
|
+
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
16
|
+
const DelegatedSourceDependency = require("../dependencies/DelegatedSourceDependency");
|
|
17
|
+
const StaticExportsDependency = require("../dependencies/StaticExportsDependency");
|
|
18
|
+
const makeSerializable = require("../util/makeSerializable");
|
|
19
19
|
|
|
20
|
-
/** @typedef {import("
|
|
21
|
-
/** @typedef {import("
|
|
22
|
-
/** @typedef {import("
|
|
23
|
-
/** @typedef {import("
|
|
24
|
-
/** @typedef {import("
|
|
20
|
+
/** @typedef {import("../../declarations/plugins/dll/DllReferencePlugin").DllReferencePluginOptions} DllReferencePluginOptions */
|
|
21
|
+
/** @typedef {import("../config/defaults").WebpackOptionsNormalizedWithDefaults} WebpackOptions */
|
|
22
|
+
/** @typedef {import("../Compilation")} Compilation */
|
|
23
|
+
/** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
|
|
24
|
+
/** @typedef {import("../Generator").SourceTypes} SourceTypes */
|
|
25
25
|
/** @typedef {import("./LibManifestPlugin").ManifestModuleData} ManifestModuleData */
|
|
26
|
-
/** @typedef {import("
|
|
27
|
-
/** @typedef {import("
|
|
28
|
-
/** @typedef {import("
|
|
29
|
-
/** @typedef {import("
|
|
30
|
-
/** @typedef {import("
|
|
31
|
-
/** @typedef {import("
|
|
32
|
-
/** @typedef {import("
|
|
33
|
-
/** @typedef {import("
|
|
34
|
-
/** @typedef {import("
|
|
35
|
-
/** @typedef {import("
|
|
36
|
-
/** @typedef {import("
|
|
37
|
-
/** @typedef {import("
|
|
38
|
-
/** @typedef {import("
|
|
39
|
-
/** @typedef {import("
|
|
40
|
-
/** @typedef {import("
|
|
41
|
-
/** @typedef {import("
|
|
42
|
-
/** @typedef {import("
|
|
43
|
-
/** @typedef {import("
|
|
26
|
+
/** @typedef {import("../Module").ModuleId} ModuleId */
|
|
27
|
+
/** @typedef {import("../Module").BuildCallback} BuildCallback */
|
|
28
|
+
/** @typedef {import("../Module").BuildMeta} BuildMeta */
|
|
29
|
+
/** @typedef {import("../Module").CodeGenerationContext} CodeGenerationContext */
|
|
30
|
+
/** @typedef {import("../Module").CodeGenerationResult} CodeGenerationResult */
|
|
31
|
+
/** @typedef {import("../Module").LibIdentOptions} LibIdentOptions */
|
|
32
|
+
/** @typedef {import("../Module").LibIdent} LibIdent */
|
|
33
|
+
/** @typedef {import("../Module").NeedBuildCallback} NeedBuildCallback */
|
|
34
|
+
/** @typedef {import("../Module").NeedBuildContext} NeedBuildContext */
|
|
35
|
+
/** @typedef {import("../Module").Sources} Sources */
|
|
36
|
+
/** @typedef {import("../Module").RuntimeRequirements} RuntimeRequirements */
|
|
37
|
+
/** @typedef {import("../RequestShortener")} RequestShortener */
|
|
38
|
+
/** @typedef {import("../ResolverFactory").ResolverWithOptions} ResolverWithOptions */
|
|
39
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[DelegatedModuleSourceRequest, DelegatedModuleData, DelegatedModuleType, string, string | Module]>} ObjectDeserializerContext */
|
|
40
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[DelegatedModuleSourceRequest, DelegatedModuleData, DelegatedModuleType, string, string | Module]>} ObjectSerializerContext */
|
|
41
|
+
/** @typedef {import("../dependencies/StaticExportsDependency").Exports} Exports */
|
|
42
|
+
/** @typedef {import("../util/Hash")} Hash */
|
|
43
|
+
/** @typedef {import("../util/fs").InputFileSystem} InputFileSystem */
|
|
44
44
|
|
|
45
45
|
/** @typedef {string} DelegatedModuleSourceRequest */
|
|
46
46
|
|
|
47
47
|
/** @typedef {NonNullable<DllReferencePluginOptions["type"]>} DelegatedModuleType */
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
|
+
* Defines the delegated module data type used by this module.
|
|
50
51
|
* @typedef {object} DelegatedModuleData
|
|
51
52
|
* @property {BuildMeta=} buildMeta build meta
|
|
52
53
|
* @property {Exports=} exports exports
|
|
@@ -60,6 +61,7 @@ const RUNTIME_REQUIREMENTS = new Set([
|
|
|
60
61
|
|
|
61
62
|
class DelegatedModule extends Module {
|
|
62
63
|
/**
|
|
64
|
+
* Creates an instance of DelegatedModule.
|
|
63
65
|
* @param {DelegatedModuleSourceRequest} sourceRequest source request
|
|
64
66
|
* @param {DelegatedModuleData} data data
|
|
65
67
|
* @param {DelegatedModuleType} type type
|
|
@@ -70,11 +72,17 @@ class DelegatedModule extends Module {
|
|
|
70
72
|
super(JAVASCRIPT_MODULE_TYPE_DYNAMIC, null);
|
|
71
73
|
|
|
72
74
|
// Info from Factory
|
|
75
|
+
/** @type {string} */
|
|
73
76
|
this.sourceRequest = sourceRequest;
|
|
77
|
+
/** @type {ModuleId} */
|
|
74
78
|
this.request = data.id;
|
|
79
|
+
/** @type {DelegatedModuleType} */
|
|
75
80
|
this.delegationType = type;
|
|
81
|
+
/** @type {string} */
|
|
76
82
|
this.userRequest = userRequest;
|
|
83
|
+
/** @type {string | Module} */
|
|
77
84
|
this.originalRequest = originalRequest;
|
|
85
|
+
/** @type {DelegatedModuleData} */
|
|
78
86
|
this.delegateData = data;
|
|
79
87
|
|
|
80
88
|
// Build info
|
|
@@ -83,6 +91,7 @@ class DelegatedModule extends Module {
|
|
|
83
91
|
}
|
|
84
92
|
|
|
85
93
|
/**
|
|
94
|
+
* Returns the source types this module can generate.
|
|
86
95
|
* @returns {SourceTypes} types available (do not mutate)
|
|
87
96
|
*/
|
|
88
97
|
getSourceTypes() {
|
|
@@ -90,6 +99,7 @@ class DelegatedModule extends Module {
|
|
|
90
99
|
}
|
|
91
100
|
|
|
92
101
|
/**
|
|
102
|
+
* Gets the library identifier.
|
|
93
103
|
* @param {LibIdentOptions} options options
|
|
94
104
|
* @returns {LibIdent | null} an identifier for library inclusion
|
|
95
105
|
*/
|
|
@@ -100,6 +110,7 @@ class DelegatedModule extends Module {
|
|
|
100
110
|
}
|
|
101
111
|
|
|
102
112
|
/**
|
|
113
|
+
* Returns the unique identifier used to reference this module.
|
|
103
114
|
* @returns {string} a unique identifier of the module
|
|
104
115
|
*/
|
|
105
116
|
identifier() {
|
|
@@ -109,6 +120,7 @@ class DelegatedModule extends Module {
|
|
|
109
120
|
}
|
|
110
121
|
|
|
111
122
|
/**
|
|
123
|
+
* Returns a human-readable identifier for this module.
|
|
112
124
|
* @param {RequestShortener} requestShortener the request shortener
|
|
113
125
|
* @returns {string} a user readable identifier of the module
|
|
114
126
|
*/
|
|
@@ -117,6 +129,7 @@ class DelegatedModule extends Module {
|
|
|
117
129
|
}
|
|
118
130
|
|
|
119
131
|
/**
|
|
132
|
+
* Checks whether the module needs to be rebuilt for the current build state.
|
|
120
133
|
* @param {NeedBuildContext} context context info
|
|
121
134
|
* @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
|
|
122
135
|
* @returns {void}
|
|
@@ -126,6 +139,7 @@ class DelegatedModule extends Module {
|
|
|
126
139
|
}
|
|
127
140
|
|
|
128
141
|
/**
|
|
142
|
+
* Builds the module using the provided compilation context.
|
|
129
143
|
* @param {WebpackOptions} options webpack options
|
|
130
144
|
* @param {Compilation} compilation the compilation
|
|
131
145
|
* @param {ResolverWithOptions} resolver the resolver
|
|
@@ -149,6 +163,7 @@ class DelegatedModule extends Module {
|
|
|
149
163
|
}
|
|
150
164
|
|
|
151
165
|
/**
|
|
166
|
+
* Generates code and runtime requirements for this module.
|
|
152
167
|
* @param {CodeGenerationContext} context context for code generation
|
|
153
168
|
* @returns {CodeGenerationResult} result
|
|
154
169
|
*/
|
|
@@ -198,6 +213,7 @@ class DelegatedModule extends Module {
|
|
|
198
213
|
}
|
|
199
214
|
|
|
200
215
|
/**
|
|
216
|
+
* Returns the estimated size for the requested source type.
|
|
201
217
|
* @param {string=} type the source type for which the size should be estimated
|
|
202
218
|
* @returns {number} the estimated size of the module (must be non-zero)
|
|
203
219
|
*/
|
|
@@ -206,6 +222,7 @@ class DelegatedModule extends Module {
|
|
|
206
222
|
}
|
|
207
223
|
|
|
208
224
|
/**
|
|
225
|
+
* Updates the hash with the data contributed by this instance.
|
|
209
226
|
* @param {Hash} hash the hash used to track dependencies
|
|
210
227
|
* @param {UpdateHashContext} context context
|
|
211
228
|
* @returns {void}
|
|
@@ -217,33 +234,43 @@ class DelegatedModule extends Module {
|
|
|
217
234
|
}
|
|
218
235
|
|
|
219
236
|
/**
|
|
237
|
+
* Serializes this instance into the provided serializer context.
|
|
220
238
|
* @param {ObjectSerializerContext} context context
|
|
221
239
|
*/
|
|
222
240
|
serialize(context) {
|
|
223
|
-
const { write } = context;
|
|
224
241
|
// constructor
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
242
|
+
context
|
|
243
|
+
.write(this.sourceRequest)
|
|
244
|
+
.write(this.delegateData)
|
|
245
|
+
.write(this.delegationType)
|
|
246
|
+
.write(this.userRequest)
|
|
247
|
+
.write(this.originalRequest);
|
|
230
248
|
super.serialize(context);
|
|
231
249
|
}
|
|
232
250
|
|
|
233
251
|
/**
|
|
252
|
+
* Restores this instance from the provided deserializer context.
|
|
234
253
|
* @param {ObjectDeserializerContext} context context\
|
|
235
254
|
* @returns {DelegatedModule} DelegatedModule
|
|
236
255
|
*/
|
|
237
256
|
static deserialize(context) {
|
|
238
|
-
const
|
|
257
|
+
const sourceRequest = context.read();
|
|
258
|
+
const c1 = context.rest;
|
|
259
|
+
const delegateData = c1.read();
|
|
260
|
+
const c2 = c1.rest;
|
|
261
|
+
const delegationType = c2.read();
|
|
262
|
+
const c3 = c2.rest;
|
|
263
|
+
const userRequest = c3.read();
|
|
264
|
+
const c4 = c3.rest;
|
|
265
|
+
const originalRequest = c4.read();
|
|
239
266
|
const obj = new DelegatedModule(
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
267
|
+
sourceRequest,
|
|
268
|
+
delegateData,
|
|
269
|
+
delegationType,
|
|
270
|
+
userRequest,
|
|
271
|
+
originalRequest
|
|
245
272
|
);
|
|
246
|
-
obj.deserialize(
|
|
273
|
+
obj.deserialize(c4.rest);
|
|
247
274
|
return obj;
|
|
248
275
|
}
|
|
249
276
|
|
|
@@ -274,6 +301,6 @@ class DelegatedModule extends Module {
|
|
|
274
301
|
}
|
|
275
302
|
}
|
|
276
303
|
|
|
277
|
-
makeSerializable(DelegatedModule, "webpack/lib/DelegatedModule");
|
|
304
|
+
makeSerializable(DelegatedModule, "webpack/lib/dll/DelegatedModule");
|
|
278
305
|
|
|
279
306
|
module.exports = DelegatedModule;
|
|
@@ -7,15 +7,16 @@
|
|
|
7
7
|
|
|
8
8
|
const DelegatedModule = require("./DelegatedModule");
|
|
9
9
|
|
|
10
|
-
/** @typedef {import("
|
|
11
|
-
/** @typedef {import("
|
|
10
|
+
/** @typedef {import("../../declarations/plugins/dll/DllReferencePlugin").DllReferencePluginOptions} DllReferencePluginOptions */
|
|
11
|
+
/** @typedef {import("../../declarations/plugins/dll/DllReferencePlugin").DllReferencePluginOptionsContent} DllReferencePluginOptionsContent */
|
|
12
12
|
/** @typedef {import("./DelegatedModule").DelegatedModuleData} DelegatedModuleData */
|
|
13
13
|
/** @typedef {import("./DelegatedModule").DelegatedModuleSourceRequest} DelegatedModuleSourceRequest */
|
|
14
14
|
/** @typedef {import("./DelegatedModule").DelegatedModuleType} DelegatedModuleType */
|
|
15
|
-
/** @typedef {import("
|
|
16
|
-
/** @typedef {import("
|
|
15
|
+
/** @typedef {import("../NormalModuleFactory")} NormalModuleFactory */
|
|
16
|
+
/** @typedef {import("../util/identifier").AssociatedObjectForCache} AssociatedObjectForCache */
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
+
* Defines the options type used by this module.
|
|
19
20
|
* @typedef {object} Options
|
|
20
21
|
* @property {DelegatedModuleSourceRequest} source source
|
|
21
22
|
* @property {NonNullable<DllReferencePluginOptions["context"]>} context absolute context path to which lib ident is relative to
|
|
@@ -30,15 +31,18 @@ const PLUGIN_NAME = "DelegatedModuleFactoryPlugin";
|
|
|
30
31
|
|
|
31
32
|
class DelegatedModuleFactoryPlugin {
|
|
32
33
|
/**
|
|
34
|
+
* Creates an instance of DelegatedModuleFactoryPlugin.
|
|
33
35
|
* @param {Options} options options
|
|
34
36
|
*/
|
|
35
37
|
constructor(options) {
|
|
38
|
+
/** @type {Options} */
|
|
36
39
|
this.options = options;
|
|
37
40
|
options.type = options.type || "require";
|
|
38
41
|
options.extensions = options.extensions || ["", ".js", ".json", ".wasm"];
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
/**
|
|
45
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
42
46
|
* @param {NormalModuleFactory} normalModuleFactory the normal module factory
|
|
43
47
|
* @returns {void}
|
|
44
48
|
*/
|
|
@@ -89,6 +93,25 @@ class DelegatedModuleFactoryPlugin {
|
|
|
89
93
|
);
|
|
90
94
|
}
|
|
91
95
|
}
|
|
96
|
+
// Directory request: resolve to its index file, like the default resolver.
|
|
97
|
+
for (let i = 0; i < extensions.length; i++) {
|
|
98
|
+
const extension = extensions[i];
|
|
99
|
+
const requestPlusExt = `${innerRequest}/index${extension}`;
|
|
100
|
+
if (requestPlusExt in this.options.content) {
|
|
101
|
+
resolved = this.options.content[requestPlusExt];
|
|
102
|
+
return callback(
|
|
103
|
+
null,
|
|
104
|
+
new DelegatedModule(
|
|
105
|
+
this.options.source,
|
|
106
|
+
resolved,
|
|
107
|
+
/** @type {DelegatedModuleType} */
|
|
108
|
+
(this.options.type),
|
|
109
|
+
requestPlusExt,
|
|
110
|
+
`${request}/index${extension}`
|
|
111
|
+
)
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
92
115
|
}
|
|
93
116
|
return callback();
|
|
94
117
|
}
|
|
@@ -5,24 +5,26 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
+
const DelegatedSourceDependency = require("../dependencies/DelegatedSourceDependency");
|
|
8
9
|
const DelegatedModuleFactoryPlugin = require("./DelegatedModuleFactoryPlugin");
|
|
9
|
-
const DelegatedSourceDependency = require("./dependencies/DelegatedSourceDependency");
|
|
10
10
|
|
|
11
|
-
/** @typedef {import("
|
|
11
|
+
/** @typedef {import("../Compiler")} Compiler */
|
|
12
12
|
/** @typedef {import("./DelegatedModuleFactoryPlugin").Options} Options */
|
|
13
13
|
|
|
14
14
|
const PLUGIN_NAME = "DelegatedPlugin";
|
|
15
15
|
|
|
16
16
|
class DelegatedPlugin {
|
|
17
17
|
/**
|
|
18
|
+
* Creates an instance of DelegatedPlugin.
|
|
18
19
|
* @param {Options} options options
|
|
19
20
|
*/
|
|
20
21
|
constructor(options) {
|
|
22
|
+
/** @type {Options} */
|
|
21
23
|
this.options = options;
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
/**
|
|
25
|
-
*
|
|
27
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
26
28
|
* @param {Compiler} compiler the compiler instance
|
|
27
29
|
* @returns {void}
|
|
28
30
|
*/
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
+
const DllEntryDependency = require("../dependencies/DllEntryDependency");
|
|
9
|
+
const EntryDependency = require("../dependencies/EntryDependency");
|
|
8
10
|
const DllModuleFactory = require("./DllModuleFactory");
|
|
9
|
-
const DllEntryDependency = require("./dependencies/DllEntryDependency");
|
|
10
|
-
const EntryDependency = require("./dependencies/EntryDependency");
|
|
11
11
|
|
|
12
|
-
/** @typedef {import("
|
|
13
|
-
/** @typedef {import("
|
|
12
|
+
/** @typedef {import("../Compiler")} Compiler */
|
|
13
|
+
/** @typedef {import("../Entrypoint").EntryOptions} EntryOptions */
|
|
14
14
|
|
|
15
15
|
/** @typedef {string[]} Entries */
|
|
16
16
|
/** @typedef {EntryOptions & { name: string }} Options */
|
|
@@ -19,18 +19,22 @@ const PLUGIN_NAME = "DllEntryPlugin";
|
|
|
19
19
|
|
|
20
20
|
class DllEntryPlugin {
|
|
21
21
|
/**
|
|
22
|
+
* Creates an instance of DllEntryPlugin.
|
|
22
23
|
* @param {string} context context
|
|
23
24
|
* @param {Entries} entries entry names
|
|
24
25
|
* @param {Options} options options
|
|
25
26
|
*/
|
|
26
27
|
constructor(context, entries, options) {
|
|
28
|
+
/** @type {string} */
|
|
27
29
|
this.context = context;
|
|
30
|
+
/** @type {Entries} */
|
|
28
31
|
this.entries = entries;
|
|
32
|
+
/** @type {Options} */
|
|
29
33
|
this.options = options;
|
|
30
34
|
}
|
|
31
35
|
|
|
32
36
|
/**
|
|
33
|
-
*
|
|
37
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
34
38
|
* @param {Compiler} compiler the compiler instance
|
|
35
39
|
* @returns {void}
|
|
36
40
|
*/
|
|
@@ -6,32 +6,32 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const { RawSource } = require("webpack-sources");
|
|
9
|
-
const Module = require("
|
|
9
|
+
const Module = require("../Module");
|
|
10
10
|
const {
|
|
11
11
|
JAVASCRIPT_TYPE,
|
|
12
12
|
JAVASCRIPT_TYPES
|
|
13
|
-
} = require("
|
|
14
|
-
const { JAVASCRIPT_MODULE_TYPE_DYNAMIC } = require("
|
|
15
|
-
const RuntimeGlobals = require("
|
|
16
|
-
const makeSerializable = require("
|
|
17
|
-
|
|
18
|
-
/** @typedef {import("
|
|
19
|
-
/** @typedef {import("
|
|
20
|
-
/** @typedef {import("
|
|
21
|
-
/** @typedef {import("
|
|
22
|
-
/** @typedef {import("
|
|
23
|
-
/** @typedef {import("
|
|
24
|
-
/** @typedef {import("
|
|
25
|
-
/** @typedef {import("
|
|
26
|
-
/** @typedef {import("
|
|
27
|
-
/** @typedef {import("
|
|
28
|
-
/** @typedef {import("
|
|
29
|
-
/** @typedef {import("
|
|
30
|
-
/** @typedef {import("
|
|
31
|
-
/** @typedef {import("
|
|
32
|
-
/** @typedef {import("
|
|
33
|
-
/** @typedef {import("
|
|
34
|
-
/** @typedef {import("
|
|
13
|
+
} = require("../ModuleSourceTypeConstants");
|
|
14
|
+
const { JAVASCRIPT_MODULE_TYPE_DYNAMIC } = require("../ModuleTypeConstants");
|
|
15
|
+
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
16
|
+
const makeSerializable = require("../util/makeSerializable");
|
|
17
|
+
|
|
18
|
+
/** @typedef {import("../config/defaults").WebpackOptionsNormalizedWithDefaults} WebpackOptions */
|
|
19
|
+
/** @typedef {import("../Compilation")} Compilation */
|
|
20
|
+
/** @typedef {import("../Dependency")} Dependency */
|
|
21
|
+
/** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
|
|
22
|
+
/** @typedef {import("../Generator").SourceTypes} SourceTypes */
|
|
23
|
+
/** @typedef {import("../Module").BuildCallback} BuildCallback */
|
|
24
|
+
/** @typedef {import("../Module").CodeGenerationContext} CodeGenerationContext */
|
|
25
|
+
/** @typedef {import("../Module").CodeGenerationResult} CodeGenerationResult */
|
|
26
|
+
/** @typedef {import("../Module").NeedBuildCallback} NeedBuildCallback */
|
|
27
|
+
/** @typedef {import("../Module").NeedBuildContext} NeedBuildContext */
|
|
28
|
+
/** @typedef {import("../Module").Sources} Sources */
|
|
29
|
+
/** @typedef {import("../RequestShortener")} RequestShortener */
|
|
30
|
+
/** @typedef {import("../ResolverFactory").ResolverWithOptions} ResolverWithOptions */
|
|
31
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[string]>} ObjectDeserializerContext */
|
|
32
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[string]>} ObjectSerializerContext */
|
|
33
|
+
/** @typedef {import("../util/Hash")} Hash */
|
|
34
|
+
/** @typedef {import("../util/fs").InputFileSystem} InputFileSystem */
|
|
35
35
|
|
|
36
36
|
const RUNTIME_REQUIREMENTS = new Set([
|
|
37
37
|
RuntimeGlobals.require,
|
|
@@ -40,6 +40,7 @@ const RUNTIME_REQUIREMENTS = new Set([
|
|
|
40
40
|
|
|
41
41
|
class DllModule extends Module {
|
|
42
42
|
/**
|
|
43
|
+
* Creates an instance of DllModule.
|
|
43
44
|
* @param {string} context context path
|
|
44
45
|
* @param {Dependency[]} dependencies dependencies
|
|
45
46
|
* @param {string} name name
|
|
@@ -50,10 +51,12 @@ class DllModule extends Module {
|
|
|
50
51
|
// Info from Factory
|
|
51
52
|
/** @type {Dependency[]} */
|
|
52
53
|
this.dependencies = dependencies;
|
|
54
|
+
/** @type {string} */
|
|
53
55
|
this.name = name;
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
/**
|
|
59
|
+
* Returns the source types this module can generate.
|
|
57
60
|
* @returns {SourceTypes} types available (do not mutate)
|
|
58
61
|
*/
|
|
59
62
|
getSourceTypes() {
|
|
@@ -61,6 +64,7 @@ class DllModule extends Module {
|
|
|
61
64
|
}
|
|
62
65
|
|
|
63
66
|
/**
|
|
67
|
+
* Returns the unique identifier used to reference this module.
|
|
64
68
|
* @returns {string} a unique identifier of the module
|
|
65
69
|
*/
|
|
66
70
|
identifier() {
|
|
@@ -68,6 +72,7 @@ class DllModule extends Module {
|
|
|
68
72
|
}
|
|
69
73
|
|
|
70
74
|
/**
|
|
75
|
+
* Returns a human-readable identifier for this module.
|
|
71
76
|
* @param {RequestShortener} requestShortener the request shortener
|
|
72
77
|
* @returns {string} a user readable identifier of the module
|
|
73
78
|
*/
|
|
@@ -76,6 +81,7 @@ class DllModule extends Module {
|
|
|
76
81
|
}
|
|
77
82
|
|
|
78
83
|
/**
|
|
84
|
+
* Builds the module using the provided compilation context.
|
|
79
85
|
* @param {WebpackOptions} options webpack options
|
|
80
86
|
* @param {Compilation} compilation the compilation
|
|
81
87
|
* @param {ResolverWithOptions} resolver the resolver
|
|
@@ -90,6 +96,7 @@ class DllModule extends Module {
|
|
|
90
96
|
}
|
|
91
97
|
|
|
92
98
|
/**
|
|
99
|
+
* Generates code and runtime requirements for this module.
|
|
93
100
|
* @param {CodeGenerationContext} context context for code generation
|
|
94
101
|
* @returns {CodeGenerationResult} result
|
|
95
102
|
*/
|
|
@@ -107,6 +114,7 @@ class DllModule extends Module {
|
|
|
107
114
|
}
|
|
108
115
|
|
|
109
116
|
/**
|
|
117
|
+
* Checks whether the module needs to be rebuilt for the current build state.
|
|
110
118
|
* @param {NeedBuildContext} context context info
|
|
111
119
|
* @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
|
|
112
120
|
* @returns {void}
|
|
@@ -116,6 +124,7 @@ class DllModule extends Module {
|
|
|
116
124
|
}
|
|
117
125
|
|
|
118
126
|
/**
|
|
127
|
+
* Returns the estimated size for the requested source type.
|
|
119
128
|
* @param {string=} type the source type for which the size should be estimated
|
|
120
129
|
* @returns {number} the estimated size of the module (must be non-zero)
|
|
121
130
|
*/
|
|
@@ -124,6 +133,7 @@ class DllModule extends Module {
|
|
|
124
133
|
}
|
|
125
134
|
|
|
126
135
|
/**
|
|
136
|
+
* Updates the hash with the data contributed by this instance.
|
|
127
137
|
* @param {Hash} hash the hash used to track dependencies
|
|
128
138
|
* @param {UpdateHashContext} context context
|
|
129
139
|
* @returns {void}
|
|
@@ -134,6 +144,7 @@ class DllModule extends Module {
|
|
|
134
144
|
}
|
|
135
145
|
|
|
136
146
|
/**
|
|
147
|
+
* Serializes this instance into the provided serializer context.
|
|
137
148
|
* @param {ObjectSerializerContext} context context
|
|
138
149
|
*/
|
|
139
150
|
serialize(context) {
|
|
@@ -142,6 +153,7 @@ class DllModule extends Module {
|
|
|
142
153
|
}
|
|
143
154
|
|
|
144
155
|
/**
|
|
156
|
+
* Restores this instance from the provided deserializer context.
|
|
145
157
|
* @param {ObjectDeserializerContext} context context
|
|
146
158
|
*/
|
|
147
159
|
deserialize(context) {
|
|
@@ -170,6 +182,6 @@ class DllModule extends Module {
|
|
|
170
182
|
}
|
|
171
183
|
}
|
|
172
184
|
|
|
173
|
-
makeSerializable(DllModule, "webpack/lib/DllModule");
|
|
185
|
+
makeSerializable(DllModule, "webpack/lib/dll/DllModule");
|
|
174
186
|
|
|
175
187
|
module.exports = DllModule;
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
+
const ModuleFactory = require("../ModuleFactory");
|
|
8
9
|
const DllModule = require("./DllModule");
|
|
9
|
-
const ModuleFactory = require("./ModuleFactory");
|
|
10
10
|
|
|
11
|
-
/** @typedef {import("
|
|
12
|
-
/** @typedef {import("
|
|
13
|
-
/** @typedef {import("
|
|
11
|
+
/** @typedef {import("../ModuleFactory").ModuleFactoryCallback} ModuleFactoryCallback */
|
|
12
|
+
/** @typedef {import("../ModuleFactory").ModuleFactoryCreateData} ModuleFactoryCreateData */
|
|
13
|
+
/** @typedef {import("../dependencies/DllEntryDependency")} DllEntryDependency */
|
|
14
14
|
|
|
15
15
|
class DllModuleFactory extends ModuleFactory {
|
|
16
16
|
constructor() {
|
|
@@ -19,6 +19,7 @@ class DllModuleFactory extends ModuleFactory {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
+
* Processes the provided data.
|
|
22
23
|
* @param {ModuleFactoryCreateData} data data object
|
|
23
24
|
* @param {ModuleFactoryCallback} callback callback
|
|
24
25
|
* @returns {void}
|
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
+
const FlagAllModulesAsUsedPlugin = require("../FlagAllModulesAsUsedPlugin");
|
|
8
9
|
const DllEntryPlugin = require("./DllEntryPlugin");
|
|
9
|
-
const FlagAllModulesAsUsedPlugin = require("./FlagAllModulesAsUsedPlugin");
|
|
10
10
|
const LibManifestPlugin = require("./LibManifestPlugin");
|
|
11
11
|
|
|
12
|
-
/** @typedef {import("
|
|
13
|
-
/** @typedef {import("
|
|
12
|
+
/** @typedef {import("../../declarations/plugins/dll/DllPlugin").DllPluginOptions} DllPluginOptions */
|
|
13
|
+
/** @typedef {import("../Compiler")} Compiler */
|
|
14
|
+
/** @typedef {import("../Module").FactoryMeta} FactoryMeta */
|
|
14
15
|
/** @typedef {import("./DllEntryPlugin").Entries} Entries */
|
|
15
16
|
/** @typedef {import("./DllEntryPlugin").Options} Options */
|
|
16
17
|
|
|
@@ -18,6 +19,7 @@ const PLUGIN_NAME = "DllPlugin";
|
|
|
18
19
|
|
|
19
20
|
class DllPlugin {
|
|
20
21
|
/**
|
|
22
|
+
* Creates an instance of DllPlugin.
|
|
21
23
|
* @param {DllPluginOptions} options options object
|
|
22
24
|
*/
|
|
23
25
|
constructor(options) {
|
|
@@ -26,20 +28,21 @@ class DllPlugin {
|
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
/**
|
|
29
|
-
*
|
|
31
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
30
32
|
* @param {Compiler} compiler the compiler instance
|
|
31
33
|
* @returns {void}
|
|
32
34
|
*/
|
|
33
35
|
apply(compiler) {
|
|
34
36
|
compiler.hooks.validate.tap(PLUGIN_NAME, () => {
|
|
35
37
|
compiler.validate(
|
|
36
|
-
() => require("
|
|
38
|
+
() => require("../../schemas/plugins/dll/DllPlugin.json"),
|
|
37
39
|
this.options,
|
|
38
40
|
{
|
|
39
41
|
name: "Dll Plugin",
|
|
40
42
|
baseDataPath: "options"
|
|
41
43
|
},
|
|
42
|
-
(options) =>
|
|
44
|
+
(options) =>
|
|
45
|
+
require("../../schemas/plugins/dll/DllPlugin.check")(options)
|
|
43
46
|
);
|
|
44
47
|
});
|
|
45
48
|
|
|
@@ -66,6 +69,21 @@ class DllPlugin {
|
|
|
66
69
|
new LibManifestPlugin({ ...this.options, entryOnly }).apply(compiler);
|
|
67
70
|
if (!entryOnly) {
|
|
68
71
|
new FlagAllModulesAsUsedPlugin(PLUGIN_NAME).apply(compiler);
|
|
72
|
+
compiler.hooks.compilation.tap(
|
|
73
|
+
PLUGIN_NAME,
|
|
74
|
+
(_compilation, { normalModuleFactory }) => {
|
|
75
|
+
normalModuleFactory.hooks.module.tap(
|
|
76
|
+
{ name: PLUGIN_NAME, stage: 10 },
|
|
77
|
+
(module) => {
|
|
78
|
+
if (module.factoryMeta === undefined) {
|
|
79
|
+
module.factoryMeta = {};
|
|
80
|
+
}
|
|
81
|
+
module.factoryMeta.sideEffectFree = false;
|
|
82
|
+
return module;
|
|
83
|
+
}
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
);
|
|
69
87
|
}
|
|
70
88
|
}
|
|
71
89
|
}
|