@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
|
@@ -16,6 +16,7 @@ const {
|
|
|
16
16
|
/** @typedef {import("../ChunkGraph").ModuleComparator} ModuleComparator */
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
+
* Defines the chunk module id range plugin options type used by this module.
|
|
19
20
|
* @typedef {object} ChunkModuleIdRangePluginOptions
|
|
20
21
|
* @property {string} name the chunk name
|
|
21
22
|
* @property {("index" | "index2" | "preOrderIndex" | "postOrderIndex")=} order order
|
|
@@ -27,6 +28,7 @@ const PLUGIN_NAME = "ChunkModuleIdRangePlugin";
|
|
|
27
28
|
|
|
28
29
|
class ChunkModuleIdRangePlugin {
|
|
29
30
|
/**
|
|
31
|
+
* Creates an instance of ChunkModuleIdRangePlugin.
|
|
30
32
|
* @param {ChunkModuleIdRangePluginOptions} options options object
|
|
31
33
|
*/
|
|
32
34
|
constructor(options) {
|
|
@@ -35,7 +37,7 @@ class ChunkModuleIdRangePlugin {
|
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
/**
|
|
38
|
-
*
|
|
40
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
39
41
|
* @param {Compiler} compiler the compiler instance
|
|
40
42
|
* @returns {void}
|
|
41
43
|
*/
|
|
@@ -15,6 +15,7 @@ const {
|
|
|
15
15
|
/** @typedef {import("../Compiler")} Compiler */
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
+
* Defines the deterministic chunk ids plugin options type used by this module.
|
|
18
19
|
* @typedef {object} DeterministicChunkIdsPluginOptions
|
|
19
20
|
* @property {string=} context context for ids
|
|
20
21
|
* @property {number=} maxLength maximum length of ids
|
|
@@ -24,6 +25,7 @@ const PLUGIN_NAME = "DeterministicChunkIdsPlugin";
|
|
|
24
25
|
|
|
25
26
|
class DeterministicChunkIdsPlugin {
|
|
26
27
|
/**
|
|
28
|
+
* Creates an instance of DeterministicChunkIdsPlugin.
|
|
27
29
|
* @param {DeterministicChunkIdsPluginOptions=} options options
|
|
28
30
|
*/
|
|
29
31
|
constructor(options = {}) {
|
|
@@ -32,7 +34,7 @@ class DeterministicChunkIdsPlugin {
|
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
/**
|
|
35
|
-
*
|
|
37
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
36
38
|
* @param {Compiler} compiler the compiler instance
|
|
37
39
|
* @returns {void}
|
|
38
40
|
*/
|
|
@@ -18,6 +18,7 @@ const {
|
|
|
18
18
|
/** @typedef {import("../Module")} Module */
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
+
* Defines the deterministic module ids plugin options type used by this module.
|
|
21
22
|
* @typedef {object} DeterministicModuleIdsPluginOptions
|
|
22
23
|
* @property {string=} context context relative to which module identifiers are computed
|
|
23
24
|
* @property {((module: Module) => boolean)=} test selector function for modules
|
|
@@ -31,6 +32,7 @@ const PLUGIN_NAME = "DeterministicModuleIdsPlugin";
|
|
|
31
32
|
|
|
32
33
|
class DeterministicModuleIdsPlugin {
|
|
33
34
|
/**
|
|
35
|
+
* Creates an instance of DeterministicModuleIdsPlugin.
|
|
34
36
|
* @param {DeterministicModuleIdsPluginOptions=} options options
|
|
35
37
|
*/
|
|
36
38
|
constructor(options = {}) {
|
|
@@ -39,7 +41,7 @@ class DeterministicModuleIdsPlugin {
|
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
/**
|
|
42
|
-
*
|
|
44
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
43
45
|
* @param {Compiler} compiler the compiler instance
|
|
44
46
|
* @returns {void}
|
|
45
47
|
*/
|
|
@@ -22,6 +22,7 @@ const PLUGIN_NAME = "HashedModuleIdsPlugin";
|
|
|
22
22
|
|
|
23
23
|
class HashedModuleIdsPlugin {
|
|
24
24
|
/**
|
|
25
|
+
* Creates an instance of HashedModuleIdsPlugin.
|
|
25
26
|
* @param {HashedModuleIdsPluginOptions=} options options object
|
|
26
27
|
*/
|
|
27
28
|
constructor(options = {}) {
|
|
@@ -30,7 +31,7 @@ class HashedModuleIdsPlugin {
|
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
|
-
*
|
|
34
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
34
35
|
* @param {Compiler} compiler the compiler instance
|
|
35
36
|
* @returns {void}
|
|
36
37
|
*/
|
package/lib/ids/IdHelpers.js
CHANGED
|
@@ -16,8 +16,10 @@ const numberHash = require("../util/numberHash");
|
|
|
16
16
|
/** @typedef {import("../util/Hash").HashFunction} HashFunction */
|
|
17
17
|
/** @typedef {import("../util/identifier").AssociatedObjectForCache} AssociatedObjectForCache */
|
|
18
18
|
/** @typedef {import("../Module").BuildMeta} BuildMeta */
|
|
19
|
+
/** @typedef {import("../css/CssModule").CssModuleBuildMeta} CssModuleBuildMeta */
|
|
19
20
|
|
|
20
21
|
/**
|
|
22
|
+
* Returns hash.
|
|
21
23
|
* @param {string} str string to hash
|
|
22
24
|
* @param {number} len max length of the hash
|
|
23
25
|
* @param {HashFunction} hashFunction hash function to use
|
|
@@ -31,6 +33,7 @@ const getHash = (str, len, hashFunction) => {
|
|
|
31
33
|
};
|
|
32
34
|
|
|
33
35
|
/**
|
|
36
|
+
* Returns string prefixed by an underscore if it is a number.
|
|
34
37
|
* @param {string} str the string
|
|
35
38
|
* @returns {string} string prefixed by an underscore if it is a number
|
|
36
39
|
*/
|
|
@@ -52,6 +55,7 @@ const avoidNumber = (str) => {
|
|
|
52
55
|
};
|
|
53
56
|
|
|
54
57
|
/**
|
|
58
|
+
* Returns id representation.
|
|
55
59
|
* @param {string} request the request
|
|
56
60
|
* @returns {string} id representation
|
|
57
61
|
*/
|
|
@@ -59,6 +63,7 @@ const requestToId = (request) =>
|
|
|
59
63
|
request.replace(/^(\.\.?\/)+/, "").replace(/(^[.-]|[^a-z0-9_-])+/gi, "_");
|
|
60
64
|
|
|
61
65
|
/**
|
|
66
|
+
* Shorten long string.
|
|
62
67
|
* @param {string} string the string
|
|
63
68
|
* @param {string} delimiter separator for string and hash
|
|
64
69
|
* @param {HashFunction} hashFunction hash function to use
|
|
@@ -74,6 +79,7 @@ const shortenLongString = (string, delimiter, hashFunction) => {
|
|
|
74
79
|
};
|
|
75
80
|
|
|
76
81
|
/**
|
|
82
|
+
* Gets short module name.
|
|
77
83
|
* @param {Module} module the module
|
|
78
84
|
* @param {string} context context directory
|
|
79
85
|
* @param {AssociatedObjectForCache=} associatedObjectForCache an object to which the cache will be attached
|
|
@@ -92,6 +98,7 @@ const getShortModuleName = (module, context, associatedObjectForCache) => {
|
|
|
92
98
|
};
|
|
93
99
|
|
|
94
100
|
/**
|
|
101
|
+
* Gets long module name.
|
|
95
102
|
* @param {string} shortName the short name
|
|
96
103
|
* @param {Module} module the module
|
|
97
104
|
* @param {string} context context directory
|
|
@@ -111,6 +118,7 @@ const getLongModuleName = (
|
|
|
111
118
|
};
|
|
112
119
|
|
|
113
120
|
/**
|
|
121
|
+
* Gets full module name.
|
|
114
122
|
* @param {Module} module the module
|
|
115
123
|
* @param {string} context context directory
|
|
116
124
|
* @param {AssociatedObjectForCache=} associatedObjectForCache an object to which the cache will be attached
|
|
@@ -120,6 +128,7 @@ const getFullModuleName = (module, context, associatedObjectForCache) =>
|
|
|
120
128
|
makePathsRelative(context, module.identifier(), associatedObjectForCache);
|
|
121
129
|
|
|
122
130
|
/**
|
|
131
|
+
* Gets short chunk name.
|
|
123
132
|
* @param {Chunk} chunk the chunk
|
|
124
133
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
125
134
|
* @param {string} context context directory
|
|
@@ -148,6 +157,7 @@ const getShortChunkName = (
|
|
|
148
157
|
};
|
|
149
158
|
|
|
150
159
|
/**
|
|
160
|
+
* Gets long chunk name.
|
|
151
161
|
* @param {Chunk} chunk the chunk
|
|
152
162
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
153
163
|
* @param {string} context context directory
|
|
@@ -185,6 +195,7 @@ const getLongChunkName = (
|
|
|
185
195
|
};
|
|
186
196
|
|
|
187
197
|
/**
|
|
198
|
+
* Gets full chunk name.
|
|
188
199
|
* @param {Chunk} chunk the chunk
|
|
189
200
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
190
201
|
* @param {string} context context directory
|
|
@@ -206,6 +217,7 @@ const getFullChunkName = (
|
|
|
206
217
|
};
|
|
207
218
|
|
|
208
219
|
/**
|
|
220
|
+
* Adds to map of items.
|
|
209
221
|
* @template K
|
|
210
222
|
* @template V
|
|
211
223
|
* @param {Map<K, V[]>} map a map from key to values
|
|
@@ -225,6 +237,7 @@ const addToMapOfItems = (map, key, value) => {
|
|
|
225
237
|
/** @typedef {Set<string>} UsedModuleIds */
|
|
226
238
|
|
|
227
239
|
/**
|
|
240
|
+
* Gets used module ids and modules.
|
|
228
241
|
* @param {Compilation} compilation the compilation
|
|
229
242
|
* @param {((module: Module) => boolean)=} filter filter modules
|
|
230
243
|
* @returns {[UsedModuleIds, Module[]]} used module ids as strings and modules without id matching the filter
|
|
@@ -251,7 +264,9 @@ const getUsedModuleIdsAndModules = (compilation, filter) => {
|
|
|
251
264
|
(!filter || filter(module)) &&
|
|
252
265
|
(chunkGraph.getNumberOfModuleChunks(module) !== 0 ||
|
|
253
266
|
// CSS modules need IDs even when not in chunks, for generating CSS class names(i.e. [id]-[local])
|
|
254
|
-
/** @type {
|
|
267
|
+
/** @type {CssModuleBuildMeta} */ (module.buildMeta).isCssModule ||
|
|
268
|
+
/** @type {CssModuleBuildMeta} */ (module.buildMeta)
|
|
269
|
+
.needIdInConcatenation)
|
|
255
270
|
) {
|
|
256
271
|
modules.push(module);
|
|
257
272
|
}
|
|
@@ -263,6 +278,7 @@ const getUsedModuleIdsAndModules = (compilation, filter) => {
|
|
|
263
278
|
/** @typedef {Set<string>} UsedChunkIds */
|
|
264
279
|
|
|
265
280
|
/**
|
|
281
|
+
* Gets used chunk ids.
|
|
266
282
|
* @param {Compilation} compilation the compilation
|
|
267
283
|
* @returns {UsedChunkIds} used chunk ids as strings
|
|
268
284
|
*/
|
|
@@ -286,6 +302,7 @@ const getUsedChunkIds = (compilation) => {
|
|
|
286
302
|
};
|
|
287
303
|
|
|
288
304
|
/**
|
|
305
|
+
* Returns list of items without a name.
|
|
289
306
|
* @template T
|
|
290
307
|
* @param {Iterable<T>} items list of items to be named
|
|
291
308
|
* @param {(item: T) => string} getShortName get a short name for an item
|
|
@@ -304,6 +321,7 @@ const assignNames = (
|
|
|
304
321
|
assignName
|
|
305
322
|
) => {
|
|
306
323
|
/**
|
|
324
|
+
* Defines the map to item type used by this module.
|
|
307
325
|
* @template T
|
|
308
326
|
* @typedef {Map<string, T[]>} MapToItem
|
|
309
327
|
*/
|
|
@@ -345,7 +363,7 @@ const assignNames = (
|
|
|
345
363
|
items.sort(comparator);
|
|
346
364
|
let i = 0;
|
|
347
365
|
for (const item of items) {
|
|
348
|
-
while (
|
|
366
|
+
while (usedIds.has(name + i)) i++;
|
|
349
367
|
assignName(item, name + i);
|
|
350
368
|
usedIds.add(name + i);
|
|
351
369
|
i++;
|
|
@@ -358,6 +376,7 @@ const assignNames = (
|
|
|
358
376
|
};
|
|
359
377
|
|
|
360
378
|
/**
|
|
379
|
+
* Assign deterministic ids.
|
|
361
380
|
* @template T
|
|
362
381
|
* @param {T[]} items list of items to be named
|
|
363
382
|
* @param {(item: T) => string} getName get a name for an item
|
|
@@ -412,6 +431,7 @@ const assignDeterministicIds = (
|
|
|
412
431
|
};
|
|
413
432
|
|
|
414
433
|
/**
|
|
434
|
+
* Assign ascending module ids.
|
|
415
435
|
* @param {UsedModuleIds} usedIds used ids
|
|
416
436
|
* @param {Iterable<Module>} modules the modules
|
|
417
437
|
* @param {Compilation} compilation the compilation
|
|
@@ -425,6 +445,7 @@ const assignAscendingModuleIds = (usedIds, modules, compilation) => {
|
|
|
425
445
|
let assignId;
|
|
426
446
|
if (usedIds.size > 0) {
|
|
427
447
|
/**
|
|
448
|
+
* Processes the provided module.
|
|
428
449
|
* @param {Module} module the module
|
|
429
450
|
*/
|
|
430
451
|
assignId = (module) => {
|
|
@@ -435,6 +456,7 @@ const assignAscendingModuleIds = (usedIds, modules, compilation) => {
|
|
|
435
456
|
};
|
|
436
457
|
} else {
|
|
437
458
|
/**
|
|
459
|
+
* Processes the provided module.
|
|
438
460
|
* @param {Module} module the module
|
|
439
461
|
*/
|
|
440
462
|
assignId = (module) => {
|
|
@@ -449,6 +471,7 @@ const assignAscendingModuleIds = (usedIds, modules, compilation) => {
|
|
|
449
471
|
};
|
|
450
472
|
|
|
451
473
|
/**
|
|
474
|
+
* Assign ascending chunk ids.
|
|
452
475
|
* @param {Iterable<Chunk>} chunks the chunks
|
|
453
476
|
* @param {Compilation} compilation the compilation
|
|
454
477
|
* @returns {void}
|
|
@@ -17,6 +17,7 @@ const {
|
|
|
17
17
|
/** @typedef {import("../Compiler")} Compiler */
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
+
* Defines the named chunk ids plugin options type used by this module.
|
|
20
21
|
* @typedef {object} NamedChunkIdsPluginOptions
|
|
21
22
|
* @property {string=} context context
|
|
22
23
|
* @property {string=} delimiter delimiter
|
|
@@ -26,6 +27,7 @@ const PLUGIN_NAME = "NamedChunkIdsPlugin";
|
|
|
26
27
|
|
|
27
28
|
class NamedChunkIdsPlugin {
|
|
28
29
|
/**
|
|
30
|
+
* Creates an instance of NamedChunkIdsPlugin.
|
|
29
31
|
* @param {NamedChunkIdsPluginOptions=} options options
|
|
30
32
|
*/
|
|
31
33
|
constructor(options = {}) {
|
|
@@ -34,7 +36,7 @@ class NamedChunkIdsPlugin {
|
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
/**
|
|
37
|
-
*
|
|
39
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
38
40
|
* @param {Compiler} compiler the compiler instance
|
|
39
41
|
* @returns {void}
|
|
40
42
|
*/
|
|
@@ -17,6 +17,7 @@ const {
|
|
|
17
17
|
/** @typedef {import("../Compiler")} Compiler */
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
+
* Defines the named module ids plugin options type used by this module.
|
|
20
21
|
* @typedef {object} NamedModuleIdsPluginOptions
|
|
21
22
|
* @property {string=} context context
|
|
22
23
|
*/
|
|
@@ -25,6 +26,7 @@ const PLUGIN_NAME = "NamedModuleIdsPlugin";
|
|
|
25
26
|
|
|
26
27
|
class NamedModuleIdsPlugin {
|
|
27
28
|
/**
|
|
29
|
+
* Creates an instance of NamedModuleIdsPlugin.
|
|
28
30
|
* @param {NamedModuleIdsPluginOptions=} options options
|
|
29
31
|
*/
|
|
30
32
|
constructor(options = {}) {
|
|
@@ -33,7 +35,7 @@ class NamedModuleIdsPlugin {
|
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
/**
|
|
36
|
-
*
|
|
38
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
37
39
|
* @param {Compiler} compiler the compiler instance
|
|
38
40
|
* @returns {void}
|
|
39
41
|
*/
|
|
@@ -16,6 +16,7 @@ const PLUGIN_NAME = "OccurrenceChunkIdsPlugin";
|
|
|
16
16
|
|
|
17
17
|
class OccurrenceChunkIdsPlugin {
|
|
18
18
|
/**
|
|
19
|
+
* Creates an instance of OccurrenceChunkIdsPlugin.
|
|
19
20
|
* @param {OccurrenceChunkIdsPluginOptions=} options options object
|
|
20
21
|
*/
|
|
21
22
|
constructor(options = {}) {
|
|
@@ -24,7 +25,7 @@ class OccurrenceChunkIdsPlugin {
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
|
-
*
|
|
28
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
28
29
|
* @param {Compiler} compiler the compiler instance
|
|
29
30
|
* @returns {void}
|
|
30
31
|
*/
|
|
@@ -21,6 +21,7 @@ const PLUGIN_NAME = "OccurrenceModuleIdsPlugin";
|
|
|
21
21
|
|
|
22
22
|
class OccurrenceModuleIdsPlugin {
|
|
23
23
|
/**
|
|
24
|
+
* Creates an instance of OccurrenceModuleIdsPlugin.
|
|
24
25
|
* @param {OccurrenceModuleIdsPluginOptions=} options options object
|
|
25
26
|
*/
|
|
26
27
|
constructor(options = {}) {
|
|
@@ -29,7 +30,7 @@ class OccurrenceModuleIdsPlugin {
|
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
/**
|
|
32
|
-
*
|
|
33
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
33
34
|
* @param {Compiler} compiler the compiler instance
|
|
34
35
|
* @returns {void}
|
|
35
36
|
*/
|
|
@@ -79,6 +80,7 @@ class OccurrenceModuleIdsPlugin {
|
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
/**
|
|
83
|
+
* Count occurs in entry.
|
|
82
84
|
* @param {Module} module module
|
|
83
85
|
* @returns {number} count of occurs
|
|
84
86
|
*/
|
|
@@ -96,6 +98,7 @@ class OccurrenceModuleIdsPlugin {
|
|
|
96
98
|
};
|
|
97
99
|
|
|
98
100
|
/**
|
|
101
|
+
* Returns count of occurs.
|
|
99
102
|
* @param {Module} module module
|
|
100
103
|
* @returns {number} count of occurs
|
|
101
104
|
*/
|
|
@@ -18,6 +18,7 @@ const { getUsedModuleIdsAndModules } = require("./IdHelpers");
|
|
|
18
18
|
const plugin = "SyncModuleIdsPlugin";
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
+
* Represents the sync module ids plugin runtime component.
|
|
21
22
|
* @typedef {object} SyncModuleIdsPluginOptions
|
|
22
23
|
* @property {string} path path to file
|
|
23
24
|
* @property {string=} context context for module names
|
|
@@ -27,6 +28,7 @@ const plugin = "SyncModuleIdsPlugin";
|
|
|
27
28
|
|
|
28
29
|
class SyncModuleIdsPlugin {
|
|
29
30
|
/**
|
|
31
|
+
* Creates an instance of SyncModuleIdsPlugin.
|
|
30
32
|
* @param {SyncModuleIdsPluginOptions} options options
|
|
31
33
|
*/
|
|
32
34
|
constructor(options) {
|
|
@@ -35,7 +37,7 @@ class SyncModuleIdsPlugin {
|
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
/**
|
|
38
|
-
*
|
|
40
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
39
41
|
* @param {Compiler} compiler the compiler instance
|
|
40
42
|
* @returns {void}
|
|
41
43
|
*/
|
package/lib/index.js
CHANGED
|
@@ -35,12 +35,28 @@ const memoize = require("./util/memoize");
|
|
|
35
35
|
/** @typedef {import("../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptionsNormalized */
|
|
36
36
|
/** @typedef {import("../declarations/WebpackOptions").WebpackPluginFunction} WebpackPluginFunction */
|
|
37
37
|
/** @typedef {import("../declarations/WebpackOptions").WebpackPluginInstance} WebpackPluginInstance */
|
|
38
|
+
/** @typedef {import("./asset/AssetModule").AssetModuleBuildInfo} AssetModuleBuildInfo */
|
|
38
39
|
/** @typedef {import("./ChunkGroup")} ChunkGroup */
|
|
39
40
|
/** @typedef {import("./Compiler").AssetEmittedInfo} AssetEmittedInfo */
|
|
41
|
+
/** @typedef {import("./ContextModule").ContextModuleBuildInfo} ContextModuleBuildInfo */
|
|
42
|
+
/** @typedef {import("./css/CssModule").CssModuleBuildInfo} CssModuleBuildInfo */
|
|
43
|
+
/** @typedef {import("./css/CssModule").CssModuleBuildMeta} CssModuleBuildMeta */
|
|
44
|
+
/** @typedef {import("./ExternalModule").ExternalModuleBuildInfo} ExternalModuleBuildInfo */
|
|
45
|
+
/** @typedef {import("./html/HtmlModule").HtmlModuleBuildInfo} HtmlModuleBuildInfo */
|
|
46
|
+
/** @typedef {import("./javascript/JavascriptModule").JavascriptModuleBuildInfo} JavascriptModuleBuildInfo */
|
|
47
|
+
/** @typedef {import("./javascript/JavascriptModule").JavascriptModuleBuildMeta} JavascriptModuleBuildMeta */
|
|
48
|
+
/** @typedef {import("./json/JsonModule").JsonModuleBuildInfo} JsonModuleBuildInfo */
|
|
49
|
+
/** @typedef {import("./Module").BuildInfo} BuildInfo */
|
|
50
|
+
/** @typedef {import("./Module").BuildMeta} BuildMeta */
|
|
51
|
+
/** @typedef {import("./NormalModule").NormalModuleBuildInfo} NormalModuleBuildInfo */
|
|
52
|
+
/** @typedef {import("./optimize/ConcatenatedModule").ConcatenatedModuleBuildInfo} ConcatenatedModuleBuildInfo */
|
|
53
|
+
/** @typedef {import("./wasm-sync/SyncWasmModule").SyncWasmModuleBuildMeta} SyncWasmModuleBuildMeta */
|
|
40
54
|
/** @typedef {import("./Compilation").Asset} Asset */
|
|
41
55
|
/** @typedef {import("./Compilation").AssetInfo} AssetInfo */
|
|
42
56
|
/** @typedef {import("./Compilation").EntryOptions} EntryOptions */
|
|
43
57
|
/** @typedef {import("./Compilation").PathData} PathData */
|
|
58
|
+
/** @typedef {import("./Compilation").PathDataChunk} PathDataChunk */
|
|
59
|
+
/** @typedef {import("./Compilation").PathDataModule} PathDataModule */
|
|
44
60
|
/** @typedef {import("./CodeGenerationResults")} CodeGenerationResults */
|
|
45
61
|
/** @typedef {import("./Entrypoint")} Entrypoint */
|
|
46
62
|
/** @typedef {import("./ExternalModuleFactoryPlugin").ExternalItemFunctionCallback} ExternalItemFunctionCallback */
|
|
@@ -65,6 +81,8 @@ const memoize = require("./util/memoize");
|
|
|
65
81
|
/** @typedef {import("./cli").Problem} Problem */
|
|
66
82
|
/** @typedef {import("./cli").Colors} Colors */
|
|
67
83
|
/** @typedef {import("./cli").ColorsOptions} ColorsOptions */
|
|
84
|
+
/** @typedef {import("./config/defineConfig").ConfigurationFactory} ConfigurationFactory */
|
|
85
|
+
/** @typedef {import("./config/defineConfig").DefineConfigInput} DefineConfigInput */
|
|
68
86
|
/** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsAsset} StatsAsset */
|
|
69
87
|
/** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsChunk} StatsChunk */
|
|
70
88
|
/** @typedef {import("./stats/DefaultStatsFactoryPlugin").StatsChunkGroup} StatsChunkGroup */
|
|
@@ -85,6 +103,7 @@ const memoize = require("./util/memoize");
|
|
|
85
103
|
/** @typedef {import("./util/fs").OutputFileSystem} OutputFileSystem */
|
|
86
104
|
|
|
87
105
|
/**
|
|
106
|
+
* Returns function.
|
|
88
107
|
* @template {EXPECTED_FUNCTION} T
|
|
89
108
|
* @param {() => T} factory factory function
|
|
90
109
|
* @returns {T} function
|
|
@@ -93,6 +112,7 @@ const lazyFunction = (factory) => {
|
|
|
93
112
|
const fac = memoize(factory);
|
|
94
113
|
const f = /** @type {unknown} */ (
|
|
95
114
|
/**
|
|
115
|
+
* Handles the callback logic for this hook.
|
|
96
116
|
* @param {...EXPECTED_ANY} args args
|
|
97
117
|
* @returns {T} result
|
|
98
118
|
*/
|
|
@@ -102,6 +122,7 @@ const lazyFunction = (factory) => {
|
|
|
102
122
|
};
|
|
103
123
|
|
|
104
124
|
/**
|
|
125
|
+
* Merges the provided values into a single result.
|
|
105
126
|
* @template A
|
|
106
127
|
* @template B
|
|
107
128
|
* @param {A} obj input a
|
|
@@ -141,7 +162,11 @@ module.exports = mergeExports(fn, {
|
|
|
141
162
|
get webpack() {
|
|
142
163
|
return require("./webpack");
|
|
143
164
|
},
|
|
165
|
+
get defineConfig() {
|
|
166
|
+
return require("./config/defineConfig");
|
|
167
|
+
},
|
|
144
168
|
/**
|
|
169
|
+
* Returns validate fn.
|
|
145
170
|
* @returns {(configuration: Configuration | MultiConfiguration) => void} validate fn
|
|
146
171
|
*/
|
|
147
172
|
get validate() {
|
|
@@ -151,11 +176,14 @@ module.exports = mergeExports(fn, {
|
|
|
151
176
|
|
|
152
177
|
const getRealValidate = memoize(
|
|
153
178
|
/**
|
|
179
|
+
* Handles the callback logic for this hook.
|
|
154
180
|
* @returns {(configuration: Configuration | MultiConfiguration) => void} validate fn
|
|
155
181
|
*/
|
|
156
182
|
() => {
|
|
157
183
|
const validateSchema = require("./validateSchema");
|
|
158
|
-
const webpackOptionsSchema =
|
|
184
|
+
const webpackOptionsSchema =
|
|
185
|
+
/** @type {EXPECTED_ANY} */
|
|
186
|
+
(require("../schemas/WebpackOptions.json"));
|
|
159
187
|
|
|
160
188
|
return (options) => validateSchema(webpackOptionsSchema, options);
|
|
161
189
|
}
|
|
@@ -217,18 +245,9 @@ module.exports = mergeExports(fn, {
|
|
|
217
245
|
get DefinePlugin() {
|
|
218
246
|
return require("./DefinePlugin");
|
|
219
247
|
},
|
|
220
|
-
get DelegatedPlugin() {
|
|
221
|
-
return require("./DelegatedPlugin");
|
|
222
|
-
},
|
|
223
248
|
get Dependency() {
|
|
224
249
|
return require("./Dependency");
|
|
225
250
|
},
|
|
226
|
-
get DllPlugin() {
|
|
227
|
-
return require("./DllPlugin");
|
|
228
|
-
},
|
|
229
|
-
get DllReferencePlugin() {
|
|
230
|
-
return require("./DllReferencePlugin");
|
|
231
|
-
},
|
|
232
251
|
get DynamicEntryPlugin() {
|
|
233
252
|
return require("./DynamicEntryPlugin");
|
|
234
253
|
},
|
|
@@ -278,9 +297,6 @@ module.exports = mergeExports(fn, {
|
|
|
278
297
|
"DEP_WEBPACK_JAVASCRIPT_MODULES_PLUGIN"
|
|
279
298
|
)();
|
|
280
299
|
},
|
|
281
|
-
get LibManifestPlugin() {
|
|
282
|
-
return require("./LibManifestPlugin");
|
|
283
|
-
},
|
|
284
300
|
get LibraryTemplatePlugin() {
|
|
285
301
|
return util.deprecate(
|
|
286
302
|
() => require("./LibraryTemplatePlugin"),
|
|
@@ -371,7 +387,7 @@ module.exports = mergeExports(fn, {
|
|
|
371
387
|
return require("./WatchIgnorePlugin");
|
|
372
388
|
},
|
|
373
389
|
get WebpackError() {
|
|
374
|
-
return require("./WebpackError");
|
|
390
|
+
return require("./errors/WebpackError");
|
|
375
391
|
},
|
|
376
392
|
get WebpackOptionsApply() {
|
|
377
393
|
return require("./WebpackOptionsApply");
|
|
@@ -383,7 +399,7 @@ module.exports = mergeExports(fn, {
|
|
|
383
399
|
"DEP_WEBPACK_OPTIONS_DEFAULTER"
|
|
384
400
|
)();
|
|
385
401
|
},
|
|
386
|
-
// TODO webpack 6
|
|
402
|
+
// TODO webpack 6 remove
|
|
387
403
|
get WebpackOptionsValidationError() {
|
|
388
404
|
return require("schema-utils").ValidationError;
|
|
389
405
|
},
|
|
@@ -590,6 +606,12 @@ module.exports = mergeExports(fn, {
|
|
|
590
606
|
}
|
|
591
607
|
},
|
|
592
608
|
|
|
609
|
+
html: {
|
|
610
|
+
get HtmlModulesPlugin() {
|
|
611
|
+
return require("./html/HtmlModulesPlugin");
|
|
612
|
+
}
|
|
613
|
+
},
|
|
614
|
+
|
|
593
615
|
library: {
|
|
594
616
|
get AbstractLibraryPlugin() {
|
|
595
617
|
return require("./library/AbstractLibraryPlugin");
|
|
@@ -599,6 +621,35 @@ module.exports = mergeExports(fn, {
|
|
|
599
621
|
}
|
|
600
622
|
},
|
|
601
623
|
|
|
624
|
+
// TODO remove in webpack 6 in favor of `dll` scope
|
|
625
|
+
get DelegatedPlugin() {
|
|
626
|
+
return require("./dll/DelegatedPlugin");
|
|
627
|
+
},
|
|
628
|
+
get DllPlugin() {
|
|
629
|
+
return require("./dll/DllPlugin");
|
|
630
|
+
},
|
|
631
|
+
get DllReferencePlugin() {
|
|
632
|
+
return require("./dll/DllReferencePlugin");
|
|
633
|
+
},
|
|
634
|
+
get LibManifestPlugin() {
|
|
635
|
+
return require("./dll/LibManifestPlugin");
|
|
636
|
+
},
|
|
637
|
+
|
|
638
|
+
dll: {
|
|
639
|
+
get DelegatedPlugin() {
|
|
640
|
+
return require("./dll/DelegatedPlugin");
|
|
641
|
+
},
|
|
642
|
+
get DllPlugin() {
|
|
643
|
+
return require("./dll/DllPlugin");
|
|
644
|
+
},
|
|
645
|
+
get DllReferencePlugin() {
|
|
646
|
+
return require("./dll/DllReferencePlugin");
|
|
647
|
+
},
|
|
648
|
+
get LibManifestPlugin() {
|
|
649
|
+
return require("./dll/LibManifestPlugin");
|
|
650
|
+
}
|
|
651
|
+
},
|
|
652
|
+
|
|
602
653
|
container: {
|
|
603
654
|
get ContainerPlugin() {
|
|
604
655
|
return require("./container/ContainerPlugin");
|
|
@@ -23,7 +23,7 @@ const PLUGIN_NAME = "ArrayPushCallbackChunkFormatPlugin";
|
|
|
23
23
|
|
|
24
24
|
class ArrayPushCallbackChunkFormatPlugin {
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
27
27
|
* @param {Compiler} compiler the compiler instance
|
|
28
28
|
* @returns {void}
|
|
29
29
|
*/
|
|
@@ -65,12 +65,11 @@ class ArrayPushCallbackChunkFormatPlugin {
|
|
|
65
65
|
} else {
|
|
66
66
|
const chunkLoadingGlobal =
|
|
67
67
|
runtimeTemplate.outputOptions.chunkLoadingGlobal;
|
|
68
|
+
const chunkLoadingGlobalExpr = `${globalObject}[${JSON.stringify(
|
|
69
|
+
chunkLoadingGlobal
|
|
70
|
+
)}]`;
|
|
68
71
|
source.add(
|
|
69
|
-
`(${
|
|
70
|
-
chunkLoadingGlobal
|
|
71
|
-
)}] = ${globalObject}[${JSON.stringify(
|
|
72
|
-
chunkLoadingGlobal
|
|
73
|
-
)}] || []).push([`
|
|
72
|
+
`(${runtimeTemplate.assignOr(chunkLoadingGlobalExpr, "[]")}).push([`
|
|
74
73
|
);
|
|
75
74
|
source.add(`${JSON.stringify(chunk.ids)},`);
|
|
76
75
|
source.add(modules);
|