webpack 5.106.1 → 5.107.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 +2 -2
- package/lib/APIPlugin.js +4 -2
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +10 -1
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +26 -0
- package/lib/Chunk.js +46 -0
- package/lib/ChunkGraph.js +111 -0
- package/lib/ChunkGroup.js +57 -13
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CleanPlugin.js +14 -1
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +23 -8
- package/lib/Compilation.js +161 -27
- package/lib/Compiler.js +41 -17
- package/lib/ConcatenationScope.js +24 -1
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +4 -1
- package/lib/ContextExclusionPlugin.js +2 -1
- package/lib/ContextModule.js +14 -2
- package/lib/ContextModuleFactory.js +10 -0
- package/lib/ContextReplacementPlugin.js +4 -1
- package/lib/DefinePlugin.js +22 -9
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +48 -4
- 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 +3 -0
- package/lib/EntryPlugin.js +2 -1
- package/lib/Entrypoint.js +4 -0
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -10
- package/lib/ExportsInfo.js +56 -2
- package/lib/ExportsInfoApiPlugin.js +2 -1
- package/lib/ExternalModule.js +114 -15
- package/lib/ExternalModuleFactoryPlugin.js +15 -0
- package/lib/ExternalsPlugin.js +2 -1
- package/lib/FileSystemInfo.js +291 -71
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
- package/lib/FlagDependencyExportsPlugin.js +4 -1
- package/lib/FlagDependencyUsagePlugin.js +5 -1
- package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
- package/lib/Generator.js +16 -3
- package/lib/HotModuleReplacementPlugin.js +35 -9
- package/lib/IgnorePlugin.js +4 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +10 -0
- package/lib/JavascriptMetaInfoPlugin.js +2 -1
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +2 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +101 -19
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +3 -0
- package/lib/ModuleGraph.js +66 -0
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleSourceTypeConstants.js +32 -1
- package/lib/ModuleTemplate.js +8 -0
- package/lib/ModuleTypeConstants.js +12 -3
- package/lib/MultiCompiler.js +30 -2
- package/lib/MultiStats.js +8 -0
- package/lib/MultiWatching.js +3 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +11 -2
- package/lib/NormalModule.js +43 -33
- package/lib/NormalModuleFactory.js +35 -2
- package/lib/NormalModuleReplacementPlugin.js +1 -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 +2 -1
- package/lib/ProgressPlugin.js +158 -68
- package/lib/ProvidePlugin.js +3 -1
- package/lib/RawModule.js +12 -0
- package/lib/RecordIdsPlugin.js +8 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +6 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +13 -0
- package/lib/RuntimeTemplate.js +35 -1
- package/lib/SelfModuleFactory.js +2 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +3 -1
- package/lib/Stats.js +5 -0
- package/lib/Template.js +20 -0
- package/lib/TemplatedPathPlugin.js +10 -3
- package/lib/UseStrictPlugin.js +2 -1
- package/lib/WarnCaseSensitiveModulesPlugin.js +71 -3
- package/lib/WarnDeprecatedOptionPlugin.js +2 -2
- package/lib/WarnNoModeSetPlugin.js +17 -2
- package/lib/WatchIgnorePlugin.js +4 -1
- package/lib/Watching.js +16 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +3 -1
- package/lib/WebpackOptionsApply.js +14 -1
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +12 -2
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +42 -10
- package/lib/asset/AssetModulesPlugin.js +7 -2
- package/lib/asset/AssetParser.js +2 -0
- package/lib/asset/AssetSourceGenerator.js +12 -2
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +11 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/buildChunkGraph.js +19 -6
- package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
- package/lib/cache/AddManagedPathsPlugin.js +2 -1
- package/lib/cache/IdleFileCachePlugin.js +2 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
- package/lib/cache/PackFileCacheStrategy.js +33 -4
- package/lib/cache/ResolverCachePlugin.js +10 -1
- package/lib/cache/getLazyHashedEtag.js +4 -0
- package/lib/cache/mergeEtags.js +2 -0
- package/lib/cli.js +33 -1
- package/lib/config/browserslistTargetHandler.js +2 -0
- package/lib/config/defaults.js +232 -12
- package/lib/config/normalization.js +15 -1
- package/lib/config/target.js +11 -0
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +12 -0
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +4 -0
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +2 -1
- package/lib/container/FallbackDependency.js +4 -0
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +12 -0
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/ModuleFederationPlugin.js +3 -1
- package/lib/container/RemoteModule.js +13 -0
- package/lib/container/RemoteRuntimeModule.js +1 -0
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +336 -100
- package/lib/css/CssInjectStyleRuntimeModule.js +45 -42
- package/lib/css/CssLoadingRuntimeModule.js +23 -4
- package/lib/{CssModule.js → css/CssModule.js} +21 -15
- package/lib/css/CssModulesPlugin.js +235 -89
- package/lib/css/CssParser.js +616 -261
- package/lib/css/walkCssTokens.js +179 -2
- package/lib/debug/ProfilingPlugin.js +19 -1
- package/lib/dependencies/AMDDefineDependency.js +7 -0
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
- package/lib/dependencies/AMDPlugin.js +4 -1
- package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
- package/lib/dependencies/AMDRequireContextDependency.js +3 -0
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +14 -1
- package/lib/dependencies/AMDRequireDependency.js +4 -0
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +6 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +64 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +62 -10
- package/lib/dependencies/CommonJsExportsDependency.js +4 -0
- package/lib/dependencies/CommonJsExportsParserPlugin.js +9 -1
- package/lib/dependencies/CommonJsFullRequireDependency.js +36 -9
- package/lib/dependencies/CommonJsImportsParserPlugin.js +24 -3
- package/lib/dependencies/CommonJsPlugin.js +4 -1
- package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
- package/lib/dependencies/CommonJsRequireDependency.js +70 -4
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
- package/lib/dependencies/ConstDependency.js +6 -1
- package/lib/dependencies/ContextDependency.js +9 -2
- package/lib/dependencies/ContextDependencyHelpers.js +4 -1
- package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +4 -0
- package/lib/dependencies/CreateRequireParserPlugin.js +7 -1
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
- package/lib/dependencies/CriticalDependencyWarning.js +2 -1
- package/lib/dependencies/CssIcssExportDependency.js +339 -66
- package/lib/dependencies/CssIcssImportDependency.js +53 -8
- package/lib/dependencies/CssIcssSymbolDependency.js +16 -4
- package/lib/dependencies/CssImportDependency.js +12 -0
- package/lib/dependencies/CssUrlDependency.js +32 -0
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +3 -0
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportsInfoDependency.js +6 -0
- package/lib/dependencies/ExternalModuleDependency.js +5 -0
- package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
- package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
- package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +4 -1
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +10 -7
- package/lib/dependencies/HarmonyExportExpressionDependency.js +27 -14
- package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +143 -5
- package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
- package/lib/dependencies/HarmonyExports.js +2 -0
- package/lib/dependencies/HarmonyImportDependency.js +21 -2
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +31 -1
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +18 -3
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +5 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +133 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +101 -0
- package/lib/dependencies/HtmlScriptSrcDependency.js +318 -0
- package/lib/dependencies/HtmlSourceDependency.js +127 -0
- package/lib/dependencies/ImportContextDependency.js +4 -0
- package/lib/dependencies/ImportDependency.js +5 -0
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +4 -1
- package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
- package/lib/dependencies/ImportMetaPlugin.js +6 -0
- package/lib/dependencies/ImportParserPlugin.js +9 -2
- package/lib/dependencies/ImportPhase.js +7 -3
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +2 -0
- package/lib/dependencies/JsonExportsDependency.js +6 -1
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +2 -0
- package/lib/dependencies/LoaderPlugin.js +4 -1
- package/lib/dependencies/LocalModule.js +4 -0
- package/lib/dependencies/LocalModuleDependency.js +4 -0
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
- package/lib/dependencies/ModuleDependency.js +7 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +6 -1
- package/lib/dependencies/PureExpressionDependency.js +7 -1
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
- package/lib/dependencies/RequireEnsureDependency.js +4 -0
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +4 -0
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +4 -1
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +3 -0
- package/lib/dependencies/RequireResolveDependency.js +1 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
- package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
- package/lib/dependencies/StaticExportsDependency.js +3 -0
- package/lib/dependencies/SystemPlugin.js +5 -2
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/URLContextDependency.js +3 -0
- package/lib/dependencies/URLDependency.js +6 -0
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +4 -0
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
- package/lib/dependencies/WebAssemblyImportDependency.js +5 -2
- package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
- package/lib/dependencies/WorkerDependency.js +6 -1
- package/lib/dependencies/WorkerPlugin.js +11 -3
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +1 -0
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +44 -31
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +7 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +4 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +6 -5
- package/lib/{DllModule.js → dll/DllModule.js} +35 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +8 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +23 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +13 -10
- package/lib/electron/ElectronTargetPlugin.js +2 -1
- 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} +4 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +4 -4
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +11 -5
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +6 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +4 -3
- package/lib/errors/JSONParseError.js +114 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +8 -5
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +2 -2
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +5 -4
- package/lib/{ModuleError.js → errors/ModuleError.js} +7 -5
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +1 -1
- package/lib/{ModuleNotFoundError.js → errors/ModuleNotFoundError.js} +3 -2
- package/lib/{ModuleParseError.js → errors/ModuleParseError.js} +11 -6
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +2 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +2 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +8 -5
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +5 -4
- package/lib/errors/NonErrorEmittedError.js +28 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +8 -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 +5 -1
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +20 -1
- package/lib/hmr/lazyCompilationBackend.js +2 -0
- package/lib/html/HtmlGenerator.js +379 -0
- package/lib/html/HtmlModulesPlugin.js +433 -0
- package/lib/html/HtmlParser.js +1489 -0
- package/lib/html/walkHtmlTokens.js +2733 -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 +22 -1
- 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 +39 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
- package/lib/javascript/BasicEvaluatedExpression.js +4 -2
- 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 +5 -1
- package/lib/javascript/JavascriptGenerator.js +10 -0
- package/lib/javascript/JavascriptModulesPlugin.js +112 -9
- package/lib/javascript/JavascriptParser.js +360 -16
- package/lib/javascript/JavascriptParserHelpers.js +7 -1
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +14 -25
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +16 -0
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +1 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +86 -1
- package/lib/library/SystemLibraryPlugin.js +8 -0
- package/lib/library/UmdLibraryPlugin.js +16 -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 +2 -1
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +2 -0
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
- package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
- package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -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 +62 -6
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
- package/lib/optimize/InnerGraph.js +16 -1
- package/lib/optimize/InnerGraphPlugin.js +14 -2
- 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 +36 -8
- package/lib/optimize/RealContentHashPlugin.js +104 -26
- 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 +118 -4
- package/lib/optimize/SplitChunksPlugin.js +50 -2
- 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 +6 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -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 +18 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
- package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +121 -13
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +35 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
- package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +43 -1
- package/lib/schemes/VirtualUrlPlugin.js +7 -2
- package/lib/serialization/AggregateErrorSerializer.js +2 -0
- package/lib/serialization/ArraySerializer.js +2 -0
- package/lib/serialization/BinaryMiddleware.js +20 -1
- package/lib/serialization/DateObjectSerializer.js +2 -0
- package/lib/serialization/ErrorObjectSerializer.js +3 -0
- package/lib/serialization/FileMiddleware.js +21 -0
- package/lib/serialization/MapObjectSerializer.js +2 -0
- package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
- package/lib/serialization/ObjectMiddleware.js +23 -0
- package/lib/serialization/PlainObjectSerializer.js +7 -0
- package/lib/serialization/RegExpObjectSerializer.js +2 -0
- package/lib/serialization/Serializer.js +5 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +2 -0
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +15 -0
- package/lib/sharing/ConsumeSharedPlugin.js +8 -3
- package/lib/sharing/ConsumeSharedRuntimeModule.js +9 -4
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +4 -0
- package/lib/sharing/ProvideSharedModule.js +12 -1
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +5 -2
- package/lib/sharing/SharePlugin.js +2 -1
- package/lib/sharing/ShareRuntimeModule.js +1 -0
- package/lib/sharing/resolveMatchedConfigs.js +4 -1
- package/lib/sharing/utils.js +8 -0
- package/lib/stats/DefaultStatsFactoryPlugin.js +58 -3
- package/lib/stats/DefaultStatsPresetPlugin.js +12 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +38 -2
- package/lib/stats/StatsFactory.js +13 -1
- package/lib/stats/StatsPrinter.js +7 -0
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +8 -2
- package/lib/util/AppendOnlyStackedSet.js +15 -0
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +22 -2
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +21 -0
- package/lib/util/LazySet.js +39 -0
- package/lib/util/LocConverter.js +53 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +14 -1
- package/lib/util/SetHelpers.js +3 -0
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +45 -0
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +13 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +33 -0
- package/lib/util/binarySearchBounds.js +1 -0
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +34 -3
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +9 -3
- package/lib/util/conventions.js +46 -1
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +1 -0
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +20 -0
- package/lib/util/extractSourceMap.js +1 -0
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +5 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +4 -1
- package/lib/util/fs.js +71 -8
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/hash-digest.js +8 -0
- 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 +67 -0
- package/lib/util/internalSerializables.js +35 -19
- package/lib/util/magicComment.js +10 -6
- package/lib/util/makeSerializable.js +6 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +1 -0
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +1 -0
- package/lib/util/registerExternalSerializer.js +20 -0
- 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 +1 -0
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +12 -3
- package/lib/wasm-async/AsyncWebAssemblyParser.js +2 -1
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +6 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +2 -2
- package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +7 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
- package/lib/wasm-sync/WebAssemblyParser.js +2 -0
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
- package/lib/web/FetchCompileWasmPlugin.js +13 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +13 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/package.json +31 -31
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +161 -57
- 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/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +22 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → css/CssAutoOrModuleParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +5325 -353
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- /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
|
@@ -13,14 +13,21 @@ const WasmChunkLoadingRuntimeModule = require("../wasm-sync/WasmChunkLoadingRunt
|
|
|
13
13
|
/** @typedef {import("../Compiler")} Compiler */
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
+
* Options that influence how synchronous WebAssembly modules are emitted for
|
|
17
|
+
* the fetch-based wasm loading runtime.
|
|
16
18
|
* @typedef {object} FetchCompileWasmPluginOptions
|
|
17
19
|
* @property {boolean=} mangleImports mangle imports
|
|
18
20
|
*/
|
|
19
21
|
|
|
20
22
|
const PLUGIN_NAME = "FetchCompileWasmPlugin";
|
|
21
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Enables synchronous WebAssembly chunk loading that fetches `.wasm` files and
|
|
26
|
+
* compiles them in browser-like environments.
|
|
27
|
+
*/
|
|
22
28
|
class FetchCompileWasmPlugin {
|
|
23
29
|
/**
|
|
30
|
+
* Stores options that affect generated synchronous WebAssembly runtime code.
|
|
24
31
|
* @param {FetchCompileWasmPluginOptions=} options options
|
|
25
32
|
*/
|
|
26
33
|
constructor(options = {}) {
|
|
@@ -29,7 +36,8 @@ class FetchCompileWasmPlugin {
|
|
|
29
36
|
}
|
|
30
37
|
|
|
31
38
|
/**
|
|
32
|
-
*
|
|
39
|
+
* Registers compilation hooks that attach the fetch-based synchronous wasm
|
|
40
|
+
* runtime module to chunks containing sync WebAssembly modules.
|
|
33
41
|
* @param {Compiler} compiler the compiler instance
|
|
34
42
|
* @returns {void}
|
|
35
43
|
*/
|
|
@@ -37,6 +45,8 @@ class FetchCompileWasmPlugin {
|
|
|
37
45
|
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
|
38
46
|
const globalWasmLoading = compilation.outputOptions.wasmLoading;
|
|
39
47
|
/**
|
|
48
|
+
* Determines whether the chunk should load synchronous WebAssembly
|
|
49
|
+
* binaries through the `fetch` backend.
|
|
40
50
|
* @param {Chunk} chunk chunk
|
|
41
51
|
* @returns {boolean} true, if wasm loading is enabled for the chunk
|
|
42
52
|
*/
|
|
@@ -49,6 +59,8 @@ class FetchCompileWasmPlugin {
|
|
|
49
59
|
return wasmLoading === "fetch";
|
|
50
60
|
};
|
|
51
61
|
/**
|
|
62
|
+
* Generates the runtime expression that downloads the emitted wasm
|
|
63
|
+
* binary for a module.
|
|
52
64
|
* @param {string} path path to the wasm file
|
|
53
65
|
* @returns {string} code to load the wasm file
|
|
54
66
|
*/
|
|
@@ -14,9 +14,15 @@ const JsonpChunkLoadingRuntimeModule = require("./JsonpChunkLoadingRuntimeModule
|
|
|
14
14
|
|
|
15
15
|
const PLUGIN_NAME = "JsonpChunkLoadingPlugin";
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Enables browser-side JavaScript chunk loading through the JSONP runtime and
|
|
19
|
+
* adds the supporting runtime requirements for matching chunks.
|
|
20
|
+
*/
|
|
17
21
|
class JsonpChunkLoadingPlugin {
|
|
18
22
|
/**
|
|
19
|
-
*
|
|
23
|
+
* Registers compilation hooks that attach the JSONP chunk-loading runtime
|
|
24
|
+
* module and its dependent runtime globals to chunks using `chunkLoading:
|
|
25
|
+
* "jsonp"`.
|
|
20
26
|
* @param {Compiler} compiler the compiler instance
|
|
21
27
|
* @returns {void}
|
|
22
28
|
*/
|
|
@@ -24,6 +30,8 @@ class JsonpChunkLoadingPlugin {
|
|
|
24
30
|
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
|
25
31
|
const globalChunkLoading = compilation.outputOptions.chunkLoading;
|
|
26
32
|
/**
|
|
33
|
+
* Determines whether the chunk resolves JavaScript chunks through the
|
|
34
|
+
* JSONP loading backend.
|
|
27
35
|
* @param {Chunk} chunk chunk
|
|
28
36
|
* @returns {boolean} true, if wasm loading is enabled for the chunk
|
|
29
37
|
*/
|
|
@@ -38,6 +46,8 @@ class JsonpChunkLoadingPlugin {
|
|
|
38
46
|
/** @type {WeakSet<Chunk>} */
|
|
39
47
|
const onceForChunkSet = new WeakSet();
|
|
40
48
|
/**
|
|
49
|
+
* Adds the JSONP runtime module to a chunk once, along with the core
|
|
50
|
+
* runtime globals it relies on.
|
|
41
51
|
* @param {Chunk} chunk chunk
|
|
42
52
|
* @param {RuntimeRequirements} set runtime requirements
|
|
43
53
|
*/
|
|
@@ -15,6 +15,7 @@ const JsonpChunkLoadingRuntimeModule = require("./JsonpChunkLoadingRuntimeModule
|
|
|
15
15
|
// TODO webpack 6 remove this class
|
|
16
16
|
class JsonpTemplatePlugin {
|
|
17
17
|
/**
|
|
18
|
+
* Returns hooks.
|
|
18
19
|
* @deprecated use JsonpChunkLoadingRuntimeModule.getCompilationHooks instead
|
|
19
20
|
* @param {Compilation} compilation the compilation
|
|
20
21
|
* @returns {JsonpChunkLoadingRuntimeModule.JsonpCompilationPluginHooks} hooks
|
|
@@ -24,7 +25,7 @@ class JsonpTemplatePlugin {
|
|
|
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
|
*/
|
package/lib/webpack.js
CHANGED
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
const util = require("util");
|
|
9
9
|
const webpackOptionsSchemaCheck = require("../schemas/WebpackOptions.check");
|
|
10
|
-
const webpackOptionsSchema =
|
|
10
|
+
const webpackOptionsSchema =
|
|
11
|
+
/** @type {EXPECTED_ANY} */
|
|
12
|
+
(require("../schemas/WebpackOptions.json"));
|
|
11
13
|
const Compiler = require("./Compiler");
|
|
12
14
|
const MultiCompiler = require("./MultiCompiler");
|
|
13
15
|
const WebpackOptionsApply = require("./WebpackOptionsApply");
|
|
@@ -37,6 +39,7 @@ const memoize = require("./util/memoize");
|
|
|
37
39
|
const getValidateSchema = memoize(() => require("./validateSchema"));
|
|
38
40
|
|
|
39
41
|
/**
|
|
42
|
+
* Defines the callback callback.
|
|
40
43
|
* @template T
|
|
41
44
|
* @template [R=void]
|
|
42
45
|
* @callback Callback
|
|
@@ -48,6 +51,7 @@ const getValidateSchema = memoize(() => require("./validateSchema"));
|
|
|
48
51
|
/** @typedef {Callback<void>} ErrorCallback */
|
|
49
52
|
|
|
50
53
|
/**
|
|
54
|
+
* Creates a multi compiler.
|
|
51
55
|
* @param {ReadonlyArray<WebpackOptions>} childOptions options array
|
|
52
56
|
* @param {MultiCompilerOptions} options options
|
|
53
57
|
* @returns {MultiCompiler} a multi-compiler
|
|
@@ -69,6 +73,7 @@ const createMultiCompiler = (childOptions, options) => {
|
|
|
69
73
|
};
|
|
70
74
|
|
|
71
75
|
/**
|
|
76
|
+
* Creates a compiler.
|
|
72
77
|
* @param {WebpackOptions} rawOptions options object
|
|
73
78
|
* @param {number=} compilerIndex index of compiler
|
|
74
79
|
* @returns {Compiler} a compiler
|
|
@@ -121,6 +126,7 @@ const createCompiler = (rawOptions, compilerIndex) => {
|
|
|
121
126
|
};
|
|
122
127
|
|
|
123
128
|
/**
|
|
129
|
+
* Returns array of options.
|
|
124
130
|
* @template T
|
|
125
131
|
* @param {T[] | T} options options
|
|
126
132
|
* @returns {T[]} array of options
|
|
@@ -129,6 +135,7 @@ const asArray = (options) =>
|
|
|
129
135
|
Array.isArray(options) ? [...options] : [options];
|
|
130
136
|
|
|
131
137
|
/**
|
|
138
|
+
* Checks whether it needs validate.
|
|
132
139
|
* @param {WebpackOptions | null | undefined} options options
|
|
133
140
|
* @returns {boolean} true when need to validate, otherwise false
|
|
134
141
|
*/
|
|
@@ -147,28 +154,33 @@ const needValidate = (options) => {
|
|
|
147
154
|
};
|
|
148
155
|
|
|
149
156
|
/**
|
|
157
|
+
* Returns the compiler object.
|
|
150
158
|
* @overload
|
|
151
159
|
* @param {WebpackOptions} options options object
|
|
152
160
|
* @param {Callback<Stats>} callback callback
|
|
153
161
|
* @returns {Compiler | null} the compiler object
|
|
154
162
|
*/
|
|
155
163
|
/**
|
|
164
|
+
* Returns the compiler object.
|
|
156
165
|
* @overload
|
|
157
166
|
* @param {WebpackOptions} options options object
|
|
158
167
|
* @returns {Compiler} the compiler object
|
|
159
168
|
*/
|
|
160
169
|
/**
|
|
170
|
+
* Returns the multi compiler object.
|
|
161
171
|
* @overload
|
|
162
172
|
* @param {MultiWebpackOptions} options options objects
|
|
163
173
|
* @param {Callback<MultiStats>} callback callback
|
|
164
174
|
* @returns {MultiCompiler | null} the multi compiler object
|
|
165
175
|
*/
|
|
166
176
|
/**
|
|
177
|
+
* Returns the multi compiler object.
|
|
167
178
|
* @overload
|
|
168
179
|
* @param {MultiWebpackOptions} options options objects
|
|
169
180
|
* @returns {MultiCompiler} the multi compiler object
|
|
170
181
|
*/
|
|
171
182
|
/**
|
|
183
|
+
* Returns compiler or MultiCompiler.
|
|
172
184
|
* @param {WebpackOptions | MultiWebpackOptions} options options
|
|
173
185
|
* @param {Callback<Stats> & Callback<MultiStats>=} callback callback
|
|
174
186
|
* @returns {Compiler | MultiCompiler | null} Compiler or MultiCompiler
|
|
@@ -15,9 +15,14 @@ const ImportScriptsChunkLoadingRuntimeModule = require("./ImportScriptsChunkLoad
|
|
|
15
15
|
|
|
16
16
|
const PLUGIN_NAME = "ImportScriptsChunkLoadingPlugin";
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Enables worker-side chunk loading via `importScripts` and wires in the
|
|
20
|
+
* runtime helpers needed for startup, loading, and hot updates.
|
|
21
|
+
*/
|
|
18
22
|
class ImportScriptsChunkLoadingPlugin {
|
|
19
23
|
/**
|
|
20
|
-
*
|
|
24
|
+
* Registers compilation hooks that attach the `importScripts` chunk-loading
|
|
25
|
+
* runtime and its supporting globals to chunks using that backend.
|
|
21
26
|
* @param {Compiler} compiler the compiler instance
|
|
22
27
|
* @returns {void}
|
|
23
28
|
*/
|
|
@@ -29,6 +34,8 @@ class ImportScriptsChunkLoadingPlugin {
|
|
|
29
34
|
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
|
30
35
|
const globalChunkLoading = compilation.outputOptions.chunkLoading;
|
|
31
36
|
/**
|
|
37
|
+
* Determines whether the chunk resolves additional chunks through the
|
|
38
|
+
* worker-side `importScripts` backend.
|
|
32
39
|
* @param {Chunk} chunk chunk
|
|
33
40
|
* @returns {boolean} true, if wasm loading is enabled for the chunk
|
|
34
41
|
*/
|
|
@@ -43,6 +50,8 @@ class ImportScriptsChunkLoadingPlugin {
|
|
|
43
50
|
/** @type {WeakSet<Chunk>} */
|
|
44
51
|
const onceForChunkSet = new WeakSet();
|
|
45
52
|
/**
|
|
53
|
+
* Adds the `importScripts` chunk-loading runtime module to a chunk once
|
|
54
|
+
* and records the globals it depends on.
|
|
46
55
|
* @param {Chunk} chunk chunk
|
|
47
56
|
* @param {RuntimeRequirements} set runtime requirements
|
|
48
57
|
*/
|
|
@@ -12,7 +12,7 @@ const EnableChunkLoadingPlugin = require("../javascript/EnableChunkLoadingPlugin
|
|
|
12
12
|
|
|
13
13
|
class WebWorkerTemplatePlugin {
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
16
16
|
* @param {Compiler} compiler the compiler instance
|
|
17
17
|
* @returns {void}
|
|
18
18
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "webpack",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.107.0",
|
|
4
4
|
"description": "Packs ECMAScript/CommonJs/AMD modules for the browser. Allows you to split your codebase into multiple bundles, which can be loaded on demand. Supports loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.",
|
|
5
5
|
"homepage": "https://github.com/webpack/webpack",
|
|
6
6
|
"bugs": "https://github.com/webpack/webpack/issues",
|
|
@@ -58,6 +58,8 @@
|
|
|
58
58
|
"test:basic:deno": "yarn test:base:deno --testMatch \"<rootDir>/test/*.basictest.js\"",
|
|
59
59
|
"test:unit": "yarn test:base --testMatch \"<rootDir>/test/*.unittest.js\"",
|
|
60
60
|
"test:integration": "yarn test:base --testMatch \"<rootDir>/test/*.{basictest,longtest,test}.js\"",
|
|
61
|
+
"test:integration:a": "yarn test:base --testMatch \"<rootDir>/test/*.{basictest,test}.js\"",
|
|
62
|
+
"test:integration:b": "yarn test:base --testMatch \"<rootDir>/test/*.longtest.js\"",
|
|
61
63
|
"test:test262": "yarn test:base --testMatch \"<rootDir>/test/*.spectest.js\"",
|
|
62
64
|
"test:base:deno": "deno --allow-read --allow-env --allow-sys --allow-ffi --allow-write --allow-run --v8-flags='--max-old-space-size=4096' ./node_modules/jest-cli/bin/jest.js --logHeapUsage",
|
|
63
65
|
"test:update-snapshots": "yarn test:base -u",
|
|
@@ -86,7 +88,6 @@
|
|
|
86
88
|
]
|
|
87
89
|
},
|
|
88
90
|
"dependencies": {
|
|
89
|
-
"@types/eslint-scope": "^3.7.7",
|
|
90
91
|
"@types/estree": "^1.0.8",
|
|
91
92
|
"@types/json-schema": "^7.0.15",
|
|
92
93
|
"@webassemblyjs/ast": "^1.14.1",
|
|
@@ -96,52 +97,52 @@
|
|
|
96
97
|
"acorn-import-phases": "^1.0.3",
|
|
97
98
|
"browserslist": "^4.28.1",
|
|
98
99
|
"chrome-trace-event": "^1.0.2",
|
|
99
|
-
"enhanced-resolve": "^5.
|
|
100
|
-
"es-module-lexer": "^2.
|
|
100
|
+
"enhanced-resolve": "^5.21.4",
|
|
101
|
+
"es-module-lexer": "^2.1.0",
|
|
101
102
|
"eslint-scope": "5.1.1",
|
|
102
103
|
"events": "^3.2.0",
|
|
103
104
|
"glob-to-regexp": "^0.4.1",
|
|
104
105
|
"graceful-fs": "^4.2.11",
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"mime-types": "^2.1.27",
|
|
106
|
+
"loader-runner": "^4.3.2",
|
|
107
|
+
"mime-db": "^1.54.0",
|
|
108
108
|
"neo-async": "^2.6.2",
|
|
109
109
|
"schema-utils": "^4.3.3",
|
|
110
110
|
"tapable": "^2.3.0",
|
|
111
|
-
"terser-webpack-plugin": "^5.
|
|
111
|
+
"terser-webpack-plugin": "^5.5.0",
|
|
112
112
|
"watchpack": "^2.5.1",
|
|
113
|
-
"webpack-sources": "^3.
|
|
113
|
+
"webpack-sources": "^3.4.1"
|
|
114
114
|
},
|
|
115
115
|
"devDependencies": {
|
|
116
116
|
"@babel/core": "^7.27.1",
|
|
117
117
|
"@babel/preset-react": "^7.27.1",
|
|
118
118
|
"@changesets/cli": "^2.29.8",
|
|
119
119
|
"@changesets/get-github-info": "^0.8.0",
|
|
120
|
-
"@codspeed/core": "^5.
|
|
120
|
+
"@codspeed/core": "^5.4.0",
|
|
121
|
+
"@types/eslint-scope": "^3.7.7",
|
|
121
122
|
"@types/glob-to-regexp": "^0.4.4",
|
|
122
123
|
"@types/graceful-fs": "^4.1.9",
|
|
123
124
|
"@types/jest": "^30.0.0",
|
|
124
|
-
"@types/mime-
|
|
125
|
+
"@types/mime-db": "^1.43.6",
|
|
125
126
|
"@types/neo-async": "^2.6.7",
|
|
126
|
-
"@types/node": "^25.
|
|
127
|
+
"@types/node": "^25.6.0",
|
|
127
128
|
"@types/xxhashjs": "^0.2.4",
|
|
128
129
|
"@webdiscus/pug-loader": "^2.11.1",
|
|
129
|
-
"assemblyscript": "^0.28.
|
|
130
|
+
"assemblyscript": "^0.28.17",
|
|
130
131
|
"babel-loader": "^10.0.0",
|
|
131
132
|
"bundle-loader": "^0.5.6",
|
|
132
133
|
"coffee-loader": "^5.0.0",
|
|
133
134
|
"coffeescript": "^2.5.1",
|
|
134
135
|
"core-js": "^3.47.0",
|
|
135
|
-
"cspell": "^
|
|
136
|
+
"cspell": "^10.0.0",
|
|
136
137
|
"css-loader": "^7.1.2",
|
|
137
|
-
"date-fns": "^4.
|
|
138
|
+
"date-fns": "^4.2.1",
|
|
138
139
|
"es5-ext": "^0.10.53",
|
|
139
140
|
"es6-promise-polyfill": "^1.2.0",
|
|
140
141
|
"eslint": "^9.39.2",
|
|
141
142
|
"eslint-config-webpack": "^4.9.3",
|
|
142
143
|
"file-loader": "^6.0.0",
|
|
143
144
|
"fork-ts-checker-webpack-plugin": "^9.0.2",
|
|
144
|
-
"globals": "^17.
|
|
145
|
+
"globals": "^17.6.0",
|
|
145
146
|
"hash-wasm": "^4.9.0",
|
|
146
147
|
"html-loader": "^5.1.0",
|
|
147
148
|
"husky": "^9.0.11",
|
|
@@ -152,12 +153,12 @@
|
|
|
152
153
|
"jest-diff": "^30.3.0",
|
|
153
154
|
"jest-environment-node": "^30.3.0",
|
|
154
155
|
"jest-snapshot": "^30.3.0",
|
|
155
|
-
"jest-junit": "^
|
|
156
|
+
"jest-junit": "^17.0.0",
|
|
156
157
|
"json-loader": "^0.5.7",
|
|
157
158
|
"json5": "^2.1.3",
|
|
158
159
|
"less": "^4.6.4",
|
|
159
160
|
"less-loader": "^12.3.2",
|
|
160
|
-
"lint-staged": "^
|
|
161
|
+
"lint-staged": "^17.0.5",
|
|
161
162
|
"lodash": "^4.17.19",
|
|
162
163
|
"lodash-es": "^4.17.15",
|
|
163
164
|
"memfs": "^4.51.1",
|
|
@@ -166,16 +167,16 @@
|
|
|
166
167
|
"mini-svg-data-uri": "^1.2.3",
|
|
167
168
|
"node-gyp": "^12.1.0",
|
|
168
169
|
"nyc": "^18.0.0",
|
|
169
|
-
"open-cli": "^
|
|
170
|
-
"oxc-parser": "^0.
|
|
171
|
-
"pkg-pr-new": "^0.0.
|
|
172
|
-
"prettier": "^3.
|
|
170
|
+
"open-cli": "^9.0.0",
|
|
171
|
+
"oxc-parser": "^0.132.0",
|
|
172
|
+
"pkg-pr-new": "^0.0.75",
|
|
173
|
+
"prettier": "^3.8.2",
|
|
173
174
|
"prettier-2": "npm:prettier@^2",
|
|
174
175
|
"pretty-format": "^30.0.5",
|
|
175
176
|
"pug": "^3.0.3",
|
|
176
177
|
"raw-loader": "^4.0.1",
|
|
177
|
-
"react": "^19.2.
|
|
178
|
-
"react-dom": "^19.2.
|
|
178
|
+
"react": "^19.2.5",
|
|
179
|
+
"react-dom": "^19.2.5",
|
|
179
180
|
"rehype-sanitize": "^6.0.0",
|
|
180
181
|
"rehype-stringify": "^10.0.1",
|
|
181
182
|
"remark-frontmatter": "^5.0.0",
|
|
@@ -185,15 +186,14 @@
|
|
|
185
186
|
"rimraf": "^3.0.2",
|
|
186
187
|
"script-loader": "^0.7.2",
|
|
187
188
|
"simple-git": "^3.28.0",
|
|
188
|
-
"strip-ansi": "^6.0.0",
|
|
189
189
|
"style-loader": "^4.0.0",
|
|
190
|
-
"terser": "^5.
|
|
191
|
-
"three": "^0.
|
|
192
|
-
"tinybench": "^6.0.
|
|
190
|
+
"terser": "^5.46.2",
|
|
191
|
+
"three": "^0.184.0",
|
|
192
|
+
"tinybench": "^6.0.1",
|
|
193
193
|
"toml": "^4.1.1",
|
|
194
|
-
"tooling": "webpack/tooling#v1.
|
|
195
|
-
"ts-loader": "^9.5.
|
|
196
|
-
"typescript": "^
|
|
194
|
+
"tooling": "webpack/tooling#v1.26.2",
|
|
195
|
+
"ts-loader": "^9.5.7",
|
|
196
|
+
"typescript": "^6.0.3",
|
|
197
197
|
"unified": "^11.0.5",
|
|
198
198
|
"url-loader": "^4.1.0",
|
|
199
199
|
"wast-loader": "^1.12.1",
|