webpack 5.106.1 → 5.106.2
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/lib/APIPlugin.js +3 -1
- package/lib/AbstractMethodError.js +10 -1
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AsyncDependencyToInitialChunkError.js +6 -1
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +10 -1
- package/lib/Cache.js +26 -1
- package/lib/CacheFacade.js +26 -0
- package/lib/CaseSensitiveModulesWarning.js +9 -1
- 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/CommentCompilationWarning.js +6 -0
- package/lib/CompatibilityPlugin.js +15 -1
- package/lib/Compilation.js +127 -1
- package/lib/Compiler.js +37 -4
- 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 +12 -0
- package/lib/ContextModuleFactory.js +10 -0
- package/lib/ContextReplacementPlugin.js +4 -1
- package/lib/CssModule.js +6 -0
- package/lib/DefinePlugin.js +20 -7
- package/lib/DelegatedModule.js +13 -0
- package/lib/DelegatedModuleFactoryPlugin.js +3 -0
- package/lib/DelegatedPlugin.js +2 -1
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +26 -3
- package/lib/DependencyTemplate.js +5 -0
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DllEntryPlugin.js +2 -1
- package/lib/DllModule.js +11 -0
- package/lib/DllModuleFactory.js +1 -0
- package/lib/DllPlugin.js +2 -1
- package/lib/DllReferencePlugin.js +11 -6
- 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 +2 -1
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +3 -1
- package/lib/ExportsInfo.js +56 -2
- package/lib/ExportsInfoApiPlugin.js +2 -1
- package/lib/ExternalModule.js +38 -0
- package/lib/ExternalModuleFactoryPlugin.js +10 -0
- package/lib/ExternalsPlugin.js +2 -1
- package/lib/FileSystemInfo.js +105 -0
- 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 +13 -0
- package/lib/GraphHelpers.js +3 -0
- package/lib/HookWebpackError.js +6 -0
- package/lib/HotModuleReplacementPlugin.js +9 -1
- package/lib/IgnoreErrorModuleFactory.js +2 -0
- package/lib/IgnorePlugin.js +2 -1
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +10 -0
- package/lib/InvalidDependenciesModuleWarning.js +1 -0
- package/lib/JavascriptMetaInfoPlugin.js +2 -1
- package/lib/LibManifestPlugin.js +4 -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 +82 -1
- package/lib/ModuleBuildError.js +3 -0
- package/lib/ModuleDependencyWarning.js +1 -0
- package/lib/ModuleError.js +2 -0
- package/lib/ModuleFactory.js +5 -0
- 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/ModuleNotFoundError.js +1 -0
- package/lib/ModuleParseError.js +3 -0
- package/lib/ModuleRestoreError.js +1 -0
- package/lib/ModuleSourceTypeConstants.js +1 -0
- package/lib/ModuleStoreError.js +1 -0
- package/lib/ModuleTemplate.js +8 -0
- package/lib/ModuleWarning.js +3 -0
- package/lib/MultiCompiler.js +28 -0
- package/lib/MultiStats.js +8 -0
- package/lib/MultiWatching.js +3 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffInWebError.js +1 -0
- package/lib/NodeStuffPlugin.js +10 -1
- package/lib/NormalModule.js +30 -2
- package/lib/NormalModuleFactory.js +25 -0
- package/lib/NormalModuleReplacementPlugin.js +1 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +2 -0
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +2 -1
- package/lib/ProgressPlugin.js +29 -12
- 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/RequireJsStuffPlugin.js +2 -1
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +1 -0
- package/lib/RuntimeModule.js +13 -0
- package/lib/RuntimePlugin.js +2 -0
- package/lib/RuntimeTemplate.js +35 -1
- package/lib/SelfModuleFactory.js +2 -0
- package/lib/SizeFormatHelpers.js +1 -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/UnhandledSchemeError.js +6 -0
- package/lib/UnsupportedFeatureWarning.js +1 -0
- package/lib/UseStrictPlugin.js +2 -1
- package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
- package/lib/WarnDeprecatedOptionPlugin.js +1 -1
- package/lib/WarnNoModeSetPlugin.js +1 -1
- package/lib/WatchIgnorePlugin.js +4 -1
- package/lib/Watching.js +14 -0
- package/lib/WebpackError.js +3 -0
- package/lib/WebpackIsIncludedPlugin.js +2 -0
- package/lib/WebpackOptionsApply.js +1 -0
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +6 -0
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +20 -2
- package/lib/asset/AssetModulesPlugin.js +4 -1
- package/lib/asset/AssetParser.js +2 -0
- package/lib/asset/AssetSourceGenerator.js +6 -0
- 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 +15 -0
- 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 +29 -0
- 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 +30 -0
- package/lib/config/browserslistTargetHandler.js +2 -0
- package/lib/config/defaults.js +35 -2
- package/lib/config/normalization.js +12 -0
- 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 +35 -14
- package/lib/css/CssInjectStyleRuntimeModule.js +1 -0
- package/lib/css/CssLoadingRuntimeModule.js +1 -0
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +1 -0
- package/lib/css/CssModulesPlugin.js +69 -3
- package/lib/css/CssParser.js +59 -1
- package/lib/css/walkCssTokens.js +31 -0
- 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 +13 -0
- 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 +1 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +8 -0
- package/lib/dependencies/CommonJsExportsDependency.js +4 -0
- package/lib/dependencies/CommonJsExportsParserPlugin.js +8 -0
- package/lib/dependencies/CommonJsFullRequireDependency.js +4 -0
- package/lib/dependencies/CommonJsImportsParserPlugin.js +20 -0
- package/lib/dependencies/CommonJsPlugin.js +4 -1
- package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
- package/lib/dependencies/CommonJsRequireDependency.js +3 -0
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
- package/lib/dependencies/ConstDependency.js +6 -1
- package/lib/dependencies/ContextDependency.js +8 -1
- package/lib/dependencies/ContextDependencyHelpers.js +3 -0
- 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 +6 -0
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
- package/lib/dependencies/CriticalDependencyWarning.js +1 -0
- package/lib/dependencies/CssIcssExportDependency.js +10 -2
- package/lib/dependencies/CssIcssImportDependency.js +4 -1
- package/lib/dependencies/CssIcssSymbolDependency.js +5 -1
- package/lib/dependencies/CssImportDependency.js +4 -0
- package/lib/dependencies/CssUrlDependency.js +7 -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 +3 -0
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +2 -0
- package/lib/dependencies/HarmonyExportExpressionDependency.js +5 -0
- package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +33 -2
- 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 +11 -0
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +9 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +17 -2
- package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -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 +3 -0
- 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 +7 -0
- package/lib/dependencies/ImportPhase.js +6 -2
- 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 +3 -0
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- 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 +4 -1
- 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 +4 -1
- package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
- package/lib/dependencies/WorkerDependency.js +6 -1
- package/lib/dependencies/WorkerPlugin.js +9 -1
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +1 -0
- package/lib/electron/ElectronTargetPlugin.js +2 -1
- 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/formatLocation.js +2 -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/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 +20 -0
- 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 +5 -0
- 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 +23 -1
- package/lib/javascript/JavascriptParser.js +163 -0
- package/lib/javascript/JavascriptParserHelpers.js +6 -0
- 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 +8 -10
- package/lib/library/AbstractLibraryPlugin.js +16 -1
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +16 -0
- package/lib/library/EnableLibraryPlugin.js +7 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +12 -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 +3 -1
- 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 +3 -0
- package/lib/optimize/AggressiveMergingPlugin.js +3 -1
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +11 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
- package/lib/optimize/InnerGraph.js +15 -0
- package/lib/optimize/InnerGraphPlugin.js +3 -1
- 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 +1 -0
- package/lib/optimize/ModuleConcatenationPlugin.js +21 -1
- package/lib/optimize/RealContentHashPlugin.js +16 -1
- 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 +7 -1
- package/lib/optimize/SplitChunksPlugin.js +49 -1
- package/lib/performance/AssetsOverSizeLimitWarning.js +1 -0
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -0
- package/lib/performance/SizeLimitsPlugin.js +7 -1
- 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 +1 -0
- 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 +6 -0
- 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 +2 -0
- 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/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 +1 -1
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +43 -1
- package/lib/schemes/VirtualUrlPlugin.js +6 -1
- 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 +12 -0
- 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 +6 -1
- package/lib/sharing/ConsumeSharedRuntimeModule.js +1 -0
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +4 -0
- package/lib/sharing/ProvideSharedModule.js +11 -0
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +4 -1
- package/lib/sharing/SharePlugin.js +2 -1
- package/lib/sharing/ShareRuntimeModule.js +1 -0
- package/lib/sharing/resolveMatchedConfigs.js +3 -0
- package/lib/sharing/utils.js +8 -0
- package/lib/stats/DefaultStatsFactoryPlugin.js +56 -1
- package/lib/stats/DefaultStatsPresetPlugin.js +11 -1
- package/lib/stats/DefaultStatsPrinterPlugin.js +37 -1
- package/lib/stats/StatsFactory.js +12 -0
- package/lib/stats/StatsPrinter.js +7 -0
- package/lib/url/URLParserPlugin.js +6 -0
- 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 +20 -0
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +21 -0
- package/lib/util/LazySet.js +39 -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 +6 -0
- 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 +17 -0
- package/lib/util/comparators.js +31 -0
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +6 -0
- package/lib/util/conventions.js +4 -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/util/fs.js +63 -0
- 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/wasm-hash.js +5 -0
- package/lib/util/identifier.js +19 -0
- package/lib/util/magicComment.js +1 -0
- 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 +112 -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 +2 -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 +10 -1
- package/lib/wasm-async/AsyncWebAssemblyParser.js +1 -0
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +1 -0
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +1 -1
- package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +2 -0
- 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 +10 -0
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/package.json +12 -14
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +44 -55
- package/types.d.ts +4594 -331
package/lib/util/runtime.js
CHANGED
|
@@ -15,6 +15,7 @@ const SortableSet = require("./SortableSet");
|
|
|
15
15
|
/** @typedef {RuntimeSpec | boolean} RuntimeCondition */
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
+
* Gets entry runtime.
|
|
18
19
|
* @param {Compilation} compilation the compilation
|
|
19
20
|
* @param {string} name name of the entry
|
|
20
21
|
* @param {EntryOptions=} options optionally already received entry options
|
|
@@ -54,6 +55,7 @@ const getEntryRuntime = (compilation, name, options) => {
|
|
|
54
55
|
};
|
|
55
56
|
|
|
56
57
|
/**
|
|
58
|
+
* Processes the provided runtime.
|
|
57
59
|
* @param {RuntimeSpec} runtime runtime
|
|
58
60
|
* @param {(runtime: string | undefined) => void} fn functor
|
|
59
61
|
* @param {boolean} deterministicOrder enforce a deterministic order
|
|
@@ -73,6 +75,7 @@ const forEachRuntime = (runtime, fn, deterministicOrder = false) => {
|
|
|
73
75
|
};
|
|
74
76
|
|
|
75
77
|
/**
|
|
78
|
+
* Returns runtime key.
|
|
76
79
|
* @template T
|
|
77
80
|
* @param {Exclude<RuntimeSpec, undefined | string>} set set
|
|
78
81
|
* @returns {string} runtime key
|
|
@@ -83,6 +86,7 @@ const getRuntimesKey = (set) => {
|
|
|
83
86
|
};
|
|
84
87
|
|
|
85
88
|
/**
|
|
89
|
+
* Returns key of runtimes.
|
|
86
90
|
* @param {RuntimeSpec} runtime runtime(s)
|
|
87
91
|
* @returns {string} key of runtimes
|
|
88
92
|
*/
|
|
@@ -93,6 +97,7 @@ const getRuntimeKey = (runtime) => {
|
|
|
93
97
|
};
|
|
94
98
|
|
|
95
99
|
/**
|
|
100
|
+
* Returns runtime(s).
|
|
96
101
|
* @param {string} key key of runtimes
|
|
97
102
|
* @returns {RuntimeSpec} runtime(s)
|
|
98
103
|
*/
|
|
@@ -104,6 +109,7 @@ const keyToRuntime = (key) => {
|
|
|
104
109
|
};
|
|
105
110
|
|
|
106
111
|
/**
|
|
112
|
+
* Gets runtimes string.
|
|
107
113
|
* @template T
|
|
108
114
|
* @param {Exclude<RuntimeSpec, undefined | string>} set set
|
|
109
115
|
* @returns {string} runtime string
|
|
@@ -114,6 +120,7 @@ const getRuntimesString = (set) => {
|
|
|
114
120
|
};
|
|
115
121
|
|
|
116
122
|
/**
|
|
123
|
+
* Returns readable version.
|
|
117
124
|
* @param {RuntimeSpec} runtime runtime(s)
|
|
118
125
|
* @returns {string} readable version
|
|
119
126
|
*/
|
|
@@ -124,6 +131,7 @@ const runtimeToString = (runtime) => {
|
|
|
124
131
|
};
|
|
125
132
|
|
|
126
133
|
/**
|
|
134
|
+
* Runtime condition to string.
|
|
127
135
|
* @param {RuntimeCondition} runtimeCondition runtime condition
|
|
128
136
|
* @returns {string} readable version
|
|
129
137
|
*/
|
|
@@ -134,6 +142,7 @@ const runtimeConditionToString = (runtimeCondition) => {
|
|
|
134
142
|
};
|
|
135
143
|
|
|
136
144
|
/**
|
|
145
|
+
* Returns true, when they are equal.
|
|
137
146
|
* @param {RuntimeSpec} a first
|
|
138
147
|
* @param {RuntimeSpec} b second
|
|
139
148
|
* @returns {boolean} true, when they are equal
|
|
@@ -164,6 +173,7 @@ const runtimeEqual = (a, b) => {
|
|
|
164
173
|
};
|
|
165
174
|
|
|
166
175
|
/**
|
|
176
|
+
* Compares the provided values and returns their ordering.
|
|
167
177
|
* @param {RuntimeSpec} a first
|
|
168
178
|
* @param {RuntimeSpec} b second
|
|
169
179
|
* @returns {-1 | 0 | 1} compare
|
|
@@ -184,6 +194,7 @@ const compareRuntime = (a, b) => {
|
|
|
184
194
|
};
|
|
185
195
|
|
|
186
196
|
/**
|
|
197
|
+
* Merges the provided values into a single result.
|
|
187
198
|
* @param {RuntimeSpec} a first
|
|
188
199
|
* @param {RuntimeSpec} b second
|
|
189
200
|
* @returns {RuntimeSpec} merged
|
|
@@ -225,6 +236,7 @@ const mergeRuntime = (a, b) => {
|
|
|
225
236
|
};
|
|
226
237
|
|
|
227
238
|
/**
|
|
239
|
+
* Merges runtime condition.
|
|
228
240
|
* @param {RuntimeCondition} a first
|
|
229
241
|
* @param {RuntimeCondition} b second
|
|
230
242
|
* @param {RuntimeSpec} runtime full runtime
|
|
@@ -246,6 +258,7 @@ const mergeRuntimeCondition = (a, b, runtime) => {
|
|
|
246
258
|
};
|
|
247
259
|
|
|
248
260
|
/**
|
|
261
|
+
* Merges runtime condition non false.
|
|
249
262
|
* @param {RuntimeSpec | true} a first
|
|
250
263
|
* @param {RuntimeSpec | true} b second
|
|
251
264
|
* @param {RuntimeSpec} runtime full runtime
|
|
@@ -265,6 +278,7 @@ const mergeRuntimeConditionNonFalse = (a, b, runtime) => {
|
|
|
265
278
|
};
|
|
266
279
|
|
|
267
280
|
/**
|
|
281
|
+
* Merges runtime owned.
|
|
268
282
|
* @param {RuntimeSpec} a first (may be modified)
|
|
269
283
|
* @param {RuntimeSpec} b second
|
|
270
284
|
* @returns {RuntimeSpec} merged
|
|
@@ -302,6 +316,7 @@ const mergeRuntimeOwned = (a, b) => {
|
|
|
302
316
|
};
|
|
303
317
|
|
|
304
318
|
/**
|
|
319
|
+
* Returns merged.
|
|
305
320
|
* @param {RuntimeSpec} a first
|
|
306
321
|
* @param {RuntimeSpec} b second
|
|
307
322
|
* @returns {RuntimeSpec} merged
|
|
@@ -339,6 +354,7 @@ const intersectRuntime = (a, b) => {
|
|
|
339
354
|
};
|
|
340
355
|
|
|
341
356
|
/**
|
|
357
|
+
* Returns result.
|
|
342
358
|
* @param {RuntimeSpec} a first
|
|
343
359
|
* @param {RuntimeSpec} b second
|
|
344
360
|
* @returns {RuntimeSpec} result
|
|
@@ -384,6 +400,7 @@ const subtractRuntime = (a, b) => {
|
|
|
384
400
|
};
|
|
385
401
|
|
|
386
402
|
/**
|
|
403
|
+
* Subtract runtime condition.
|
|
387
404
|
* @param {RuntimeCondition} a first
|
|
388
405
|
* @param {RuntimeCondition} b second
|
|
389
406
|
* @param {RuntimeSpec} runtime runtime
|
|
@@ -398,6 +415,7 @@ const subtractRuntimeCondition = (a, b, runtime) => {
|
|
|
398
415
|
};
|
|
399
416
|
|
|
400
417
|
/**
|
|
418
|
+
* Returns true/false if filter is constant for all runtimes, otherwise runtimes that are active.
|
|
401
419
|
* @param {RuntimeSpec} runtime runtime
|
|
402
420
|
* @param {(runtime?: RuntimeSpec) => boolean} filter filter function
|
|
403
421
|
* @returns {boolean | RuntimeSpec} true/false if filter is constant for all runtimes, otherwise runtimes that are active
|
|
@@ -424,16 +442,19 @@ const filterRuntime = (runtime, filter) => {
|
|
|
424
442
|
};
|
|
425
443
|
|
|
426
444
|
/**
|
|
445
|
+
* Defines the runtime spec map inner map type used by this module.
|
|
427
446
|
* @template T
|
|
428
447
|
* @typedef {Map<string, T>} RuntimeSpecMapInnerMap
|
|
429
448
|
*/
|
|
430
449
|
|
|
431
450
|
/**
|
|
451
|
+
* Represents RuntimeSpecMap.
|
|
432
452
|
* @template T
|
|
433
453
|
* @template [R=T]
|
|
434
454
|
*/
|
|
435
455
|
class RuntimeSpecMap {
|
|
436
456
|
/**
|
|
457
|
+
* Creates an instance of RuntimeSpecMap.
|
|
437
458
|
* @param {RuntimeSpecMap<T, R>=} clone copy form this
|
|
438
459
|
*/
|
|
439
460
|
constructor(clone) {
|
|
@@ -448,6 +469,7 @@ class RuntimeSpecMap {
|
|
|
448
469
|
}
|
|
449
470
|
|
|
450
471
|
/**
|
|
472
|
+
* Returns value.
|
|
451
473
|
* @param {RuntimeSpec} runtime the runtimes
|
|
452
474
|
* @returns {R | undefined} value
|
|
453
475
|
*/
|
|
@@ -467,6 +489,7 @@ class RuntimeSpecMap {
|
|
|
467
489
|
}
|
|
468
490
|
|
|
469
491
|
/**
|
|
492
|
+
* Returns true, when the runtime is stored.
|
|
470
493
|
* @param {RuntimeSpec} runtime the runtimes
|
|
471
494
|
* @returns {boolean} true, when the runtime is stored
|
|
472
495
|
*/
|
|
@@ -484,6 +507,7 @@ class RuntimeSpecMap {
|
|
|
484
507
|
}
|
|
485
508
|
|
|
486
509
|
/**
|
|
510
|
+
* Updates default using the provided runtime.
|
|
487
511
|
* @param {RuntimeSpec} runtime the runtimes
|
|
488
512
|
* @param {R} value the value
|
|
489
513
|
*/
|
|
@@ -515,6 +539,7 @@ class RuntimeSpecMap {
|
|
|
515
539
|
}
|
|
516
540
|
|
|
517
541
|
/**
|
|
542
|
+
* Returns the new value.
|
|
518
543
|
* @param {RuntimeSpec} runtime the runtimes
|
|
519
544
|
* @param {() => R} computer function to compute the value
|
|
520
545
|
* @returns {R} the new value
|
|
@@ -557,6 +582,7 @@ class RuntimeSpecMap {
|
|
|
557
582
|
}
|
|
558
583
|
|
|
559
584
|
/**
|
|
585
|
+
* Processes the provided runtime.
|
|
560
586
|
* @param {RuntimeSpec} runtime the runtimes
|
|
561
587
|
*/
|
|
562
588
|
delete(runtime) {
|
|
@@ -577,6 +603,7 @@ class RuntimeSpecMap {
|
|
|
577
603
|
}
|
|
578
604
|
|
|
579
605
|
/**
|
|
606
|
+
* Processes the provided runtime.
|
|
580
607
|
* @param {RuntimeSpec} runtime the runtimes
|
|
581
608
|
* @param {(value: R | undefined) => R} fn function to update the value
|
|
582
609
|
*/
|
|
@@ -634,6 +661,7 @@ class RuntimeSpecMap {
|
|
|
634
661
|
}
|
|
635
662
|
|
|
636
663
|
/**
|
|
664
|
+
* Returns values.
|
|
637
665
|
* @returns {IterableIterator<R>} values
|
|
638
666
|
*/
|
|
639
667
|
values() {
|
|
@@ -658,6 +686,7 @@ class RuntimeSpecMap {
|
|
|
658
686
|
|
|
659
687
|
class RuntimeSpecSet {
|
|
660
688
|
/**
|
|
689
|
+
* Creates an instance of RuntimeSpecSet.
|
|
661
690
|
* @param {Iterable<RuntimeSpec>=} iterable iterable
|
|
662
691
|
*/
|
|
663
692
|
constructor(iterable) {
|
|
@@ -671,6 +700,7 @@ class RuntimeSpecSet {
|
|
|
671
700
|
}
|
|
672
701
|
|
|
673
702
|
/**
|
|
703
|
+
* Processes the provided runtime.
|
|
674
704
|
* @param {RuntimeSpec} runtime runtime
|
|
675
705
|
*/
|
|
676
706
|
add(runtime) {
|
|
@@ -678,6 +708,7 @@ class RuntimeSpecSet {
|
|
|
678
708
|
}
|
|
679
709
|
|
|
680
710
|
/**
|
|
711
|
+
* Returns true, when the runtime exists.
|
|
681
712
|
* @param {RuntimeSpec} runtime runtime
|
|
682
713
|
* @returns {boolean} true, when the runtime exists
|
|
683
714
|
*/
|
|
@@ -686,6 +717,7 @@ class RuntimeSpecSet {
|
|
|
686
717
|
}
|
|
687
718
|
|
|
688
719
|
/**
|
|
720
|
+
* Returns iterable iterator.
|
|
689
721
|
* @returns {IterableIterator<RuntimeSpec>} iterable iterator
|
|
690
722
|
*/
|
|
691
723
|
[Symbol.iterator]() {
|
package/lib/util/semver.js
CHANGED
|
@@ -11,11 +11,13 @@
|
|
|
11
11
|
/** @typedef {(SemVerRangeItem | SemVerRangeItem[])[]} SemVerRange */
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
+
* Returns parsed version.
|
|
14
15
|
* @param {string} str version string
|
|
15
16
|
* @returns {SemVerRange} parsed version
|
|
16
17
|
*/
|
|
17
18
|
const parseVersion = (str) => {
|
|
18
19
|
/**
|
|
20
|
+
* Returns result.
|
|
19
21
|
* @param {str} str str
|
|
20
22
|
* @returns {VersionValue[]} result
|
|
21
23
|
*/
|
|
@@ -49,6 +51,7 @@ module.exports.parseVersion = parseVersion;
|
|
|
49
51
|
|
|
50
52
|
/* eslint-disable eqeqeq */
|
|
51
53
|
/**
|
|
54
|
+
* Returns true, iff a < b.
|
|
52
55
|
* @param {string} a version
|
|
53
56
|
* @param {string} b version
|
|
54
57
|
* @returns {boolean} true, iff a < b
|
|
@@ -98,11 +101,13 @@ const versionLt = (a, b) => {
|
|
|
98
101
|
module.exports.versionLt = versionLt;
|
|
99
102
|
|
|
100
103
|
/**
|
|
104
|
+
* Returns parsed range.
|
|
101
105
|
* @param {string} str range string
|
|
102
106
|
* @returns {SemVerRange} parsed range
|
|
103
107
|
*/
|
|
104
108
|
module.exports.parseRange = (str) => {
|
|
105
109
|
/**
|
|
110
|
+
* Returns result.
|
|
106
111
|
* @param {string} str str
|
|
107
112
|
* @returns {VersionValue[]} result
|
|
108
113
|
*/
|
|
@@ -114,6 +119,7 @@ module.exports.parseRange = (str) => {
|
|
|
114
119
|
|
|
115
120
|
// see https://docs.npmjs.com/misc/semver#range-grammar for grammar
|
|
116
121
|
/**
|
|
122
|
+
* Returns the sem ver range item.
|
|
117
123
|
* @param {string} str str
|
|
118
124
|
* @returns {SemVerRangeItem[]}
|
|
119
125
|
*/
|
|
@@ -143,6 +149,7 @@ module.exports.parseRange = (str) => {
|
|
|
143
149
|
};
|
|
144
150
|
|
|
145
151
|
/**
|
|
152
|
+
* Returns the sem ver range item.
|
|
146
153
|
*
|
|
147
154
|
* @param {SemVerRangeItem[]} range range
|
|
148
155
|
* @returns {SemVerRangeItem[]}
|
|
@@ -163,6 +170,7 @@ module.exports.parseRange = (str) => {
|
|
|
163
170
|
};
|
|
164
171
|
|
|
165
172
|
/**
|
|
173
|
+
* Returns result.
|
|
166
174
|
*
|
|
167
175
|
* @param {SemVerRangeItem[]} range
|
|
168
176
|
* @returns {SemVerRangeItem[]} result
|
|
@@ -172,6 +180,7 @@ module.exports.parseRange = (str) => {
|
|
|
172
180
|
};
|
|
173
181
|
|
|
174
182
|
/**
|
|
183
|
+
* Returns the sem ver range.
|
|
175
184
|
* @param {string} str str
|
|
176
185
|
* @returns {SemVerRange}
|
|
177
186
|
*/
|
|
@@ -230,6 +239,7 @@ module.exports.parseRange = (str) => {
|
|
|
230
239
|
};
|
|
231
240
|
|
|
232
241
|
/**
|
|
242
|
+
* Returns result.
|
|
233
243
|
*
|
|
234
244
|
* @param {SemVerRangeItem[][]} items items
|
|
235
245
|
* @param {number} fn fn
|
|
@@ -251,6 +261,7 @@ module.exports.parseRange = (str) => {
|
|
|
251
261
|
};
|
|
252
262
|
|
|
253
263
|
/**
|
|
264
|
+
* Returns the sem ver range.
|
|
254
265
|
* @param {string} str str
|
|
255
266
|
* @returns {SemVerRange}
|
|
256
267
|
*/
|
|
@@ -291,6 +302,7 @@ module.exports.parseRange = (str) => {
|
|
|
291
302
|
};
|
|
292
303
|
|
|
293
304
|
/**
|
|
305
|
+
* Returns the sem ver range.
|
|
294
306
|
* @param {string} str str
|
|
295
307
|
* @returns {SemVerRange}
|
|
296
308
|
*/
|
|
@@ -309,6 +321,7 @@ module.exports.parseRange = (str) => {
|
|
|
309
321
|
|
|
310
322
|
/* eslint-disable eqeqeq */
|
|
311
323
|
/**
|
|
324
|
+
* Returns the string.
|
|
312
325
|
* @param {SemVerRange} range
|
|
313
326
|
* @returns {string}
|
|
314
327
|
*/
|
|
@@ -370,6 +383,7 @@ const rangeToString = (range) => {
|
|
|
370
383
|
module.exports.rangeToString = rangeToString;
|
|
371
384
|
|
|
372
385
|
/**
|
|
386
|
+
* Returns if version satisfy the range.
|
|
373
387
|
* @param {SemVerRange} range version range
|
|
374
388
|
* @param {string} version the version
|
|
375
389
|
* @returns {boolean} if version satisfy the range
|
|
@@ -531,6 +545,7 @@ const satisfy = (range, version) => {
|
|
|
531
545
|
module.exports.satisfy = satisfy;
|
|
532
546
|
|
|
533
547
|
/**
|
|
548
|
+
* Returns the string.
|
|
534
549
|
* @param {SemVerRange | string | number | false | undefined} json
|
|
535
550
|
* @returns {string}
|
|
536
551
|
*/
|
|
@@ -13,6 +13,7 @@ const memoize = require("./memoize");
|
|
|
13
13
|
/** @typedef {import("../util/fs").IntermediateFileSystem} IntermediateFileSystem */
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
+
* Defines the serializer type used by this module.
|
|
16
17
|
* @template D, S, C
|
|
17
18
|
* @typedef {import("../serialization/Serializer")<D, S, C>} Serializer
|
|
18
19
|
*/
|
|
@@ -109,6 +110,7 @@ module.exports = {
|
|
|
109
110
|
);
|
|
110
111
|
},
|
|
111
112
|
/**
|
|
113
|
+
* Creates a file serializer.
|
|
112
114
|
* @template D, S, C
|
|
113
115
|
* @param {IntermediateFileSystem} fs filesystem
|
|
114
116
|
* @param {HashFunction} hashFunction hash function to use
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
+
* Defines the group options type used by this module.
|
|
9
10
|
* @typedef {object} GroupOptions
|
|
10
11
|
* @property {boolean=} groupChildren
|
|
11
12
|
* @property {boolean=} force
|
|
@@ -13,6 +14,7 @@
|
|
|
13
14
|
*/
|
|
14
15
|
|
|
15
16
|
/**
|
|
17
|
+
* Defines the group config type used by this module.
|
|
16
18
|
* @template I
|
|
17
19
|
* @template G
|
|
18
20
|
* @typedef {object} GroupConfig
|
|
@@ -22,17 +24,20 @@
|
|
|
22
24
|
*/
|
|
23
25
|
|
|
24
26
|
/**
|
|
27
|
+
* Defines the group type used by this module.
|
|
25
28
|
* @template I
|
|
26
29
|
* @template G
|
|
27
30
|
* @typedef {{ config: GroupConfig<I, G>, name: string, alreadyGrouped: boolean, items: Items<I, G> | undefined }} Group
|
|
28
31
|
*/
|
|
29
32
|
|
|
30
33
|
/**
|
|
34
|
+
* Defines the groups type used by this module.
|
|
31
35
|
* @template I, G
|
|
32
36
|
* @typedef {Set<Group<I, G>>} Groups
|
|
33
37
|
*/
|
|
34
38
|
|
|
35
39
|
/**
|
|
40
|
+
* Defines the item with groups type used by this module.
|
|
36
41
|
* @template I
|
|
37
42
|
* @template G
|
|
38
43
|
* @typedef {object} ItemWithGroups
|
|
@@ -41,11 +46,13 @@
|
|
|
41
46
|
*/
|
|
42
47
|
|
|
43
48
|
/**
|
|
49
|
+
* Defines the items type used by this module.
|
|
44
50
|
* @template T, G
|
|
45
51
|
* @typedef {Set<ItemWithGroups<T, G>>} Items
|
|
46
52
|
*/
|
|
47
53
|
|
|
48
54
|
/**
|
|
55
|
+
* Returns grouped items.
|
|
49
56
|
* @template I
|
|
50
57
|
* @template G
|
|
51
58
|
* @template R
|
|
@@ -90,6 +97,7 @@ const smartGrouping = (items, groupConfigs) => {
|
|
|
90
97
|
}
|
|
91
98
|
|
|
92
99
|
/**
|
|
100
|
+
* Returns groups items.
|
|
93
101
|
* @param {Items<I, G>} itemsWithGroups input items with groups
|
|
94
102
|
* @returns {(I | G)[]} groups items
|
|
95
103
|
*/
|
package/lib/util/source.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
const equalityCache = new WeakMap();
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
+
* Checks whether source equal true, when both sources are equal.
|
|
14
15
|
* @param {Source} a a source
|
|
15
16
|
* @param {Source} b another source
|
|
16
17
|
* @returns {boolean} true, when both sources are equal
|
|
@@ -29,6 +30,7 @@ const _isSourceEqual = (a, b) => {
|
|
|
29
30
|
};
|
|
30
31
|
|
|
31
32
|
/**
|
|
33
|
+
* Checks whether this object is source equal.
|
|
32
34
|
* @param {Source} a a source
|
|
33
35
|
* @param {Source} b another source
|
|
34
36
|
* @returns {boolean} true, when both sources are equal
|
package/lib/validateSchema.js
CHANGED
|
@@ -69,6 +69,7 @@ const REMOVED = {
|
|
|
69
69
|
/* cSpell:enable */
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
|
+
* Processes the provided schema.
|
|
72
73
|
* @param {Parameters<typeof validate>[0]} schema a json schema
|
|
73
74
|
* @param {Parameters<typeof validate>[1]} options the options that should be validated
|
|
74
75
|
* @param {Parameters<typeof validate>[2]=} validationConfiguration configuration for generating errors
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
const enabledTypes = new WeakMap();
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
+
* Returns the set of wasm loading backends that have already been enabled for
|
|
18
|
+
* the compiler.
|
|
17
19
|
* @param {Compiler} compiler compiler instance
|
|
18
20
|
* @returns {WasmLoadingTypes} enabled types
|
|
19
21
|
*/
|
|
@@ -27,8 +29,14 @@ const getEnabledTypes = (compiler) => {
|
|
|
27
29
|
return set;
|
|
28
30
|
};
|
|
29
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Validates and enables named wasm loading backends by applying the plugin
|
|
34
|
+
* implementations that provide their runtime support.
|
|
35
|
+
*/
|
|
30
36
|
class EnableWasmLoadingPlugin {
|
|
31
37
|
/**
|
|
38
|
+
* Stores the wasm loading backend name that should be enabled for the
|
|
39
|
+
* compiler.
|
|
32
40
|
* @param {WasmLoadingType} type library type that should be available
|
|
33
41
|
*/
|
|
34
42
|
constructor(type) {
|
|
@@ -37,6 +45,8 @@ class EnableWasmLoadingPlugin {
|
|
|
37
45
|
}
|
|
38
46
|
|
|
39
47
|
/**
|
|
48
|
+
* Marks a custom or built-in wasm loading type as enabled for the compiler
|
|
49
|
+
* without applying additional built-in behavior.
|
|
40
50
|
* @param {Compiler} compiler the compiler instance
|
|
41
51
|
* @param {WasmLoadingType} type type of library
|
|
42
52
|
* @returns {void}
|
|
@@ -46,6 +56,8 @@ class EnableWasmLoadingPlugin {
|
|
|
46
56
|
}
|
|
47
57
|
|
|
48
58
|
/**
|
|
59
|
+
* Verifies that a wasm loading type has been enabled before code generation
|
|
60
|
+
* attempts to use it.
|
|
49
61
|
* @param {Compiler} compiler the compiler instance
|
|
50
62
|
* @param {WasmLoadingType} type type of library
|
|
51
63
|
* @returns {void}
|
|
@@ -63,7 +75,9 @@ class EnableWasmLoadingPlugin {
|
|
|
63
75
|
}
|
|
64
76
|
|
|
65
77
|
/**
|
|
66
|
-
*
|
|
78
|
+
* Enables the requested wasm loading backend once and applies the
|
|
79
|
+
* environment-specific plugins that provide its parser, generator, and
|
|
80
|
+
* runtime support.
|
|
67
81
|
* @param {Compiler} compiler the compiler instance
|
|
68
82
|
* @returns {void}
|
|
69
83
|
*/
|
|
@@ -16,12 +16,14 @@ const { WEBASSEMBLY_TYPES } = require("../ModuleSourceTypeConstants");
|
|
|
16
16
|
/** @typedef {import("../NormalModule")} NormalModule */
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
+
* Represents the async web assembly generator runtime component.
|
|
19
20
|
* @typedef {object} AsyncWebAssemblyGeneratorOptions
|
|
20
21
|
* @property {boolean=} mangleImports mangle imports
|
|
21
22
|
*/
|
|
22
23
|
|
|
23
24
|
class AsyncWebAssemblyGenerator extends Generator {
|
|
24
25
|
/**
|
|
26
|
+
* Creates an instance of AsyncWebAssemblyGenerator.
|
|
25
27
|
* @param {AsyncWebAssemblyGeneratorOptions} options options
|
|
26
28
|
*/
|
|
27
29
|
constructor(options) {
|
|
@@ -31,6 +33,7 @@ class AsyncWebAssemblyGenerator extends Generator {
|
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
/**
|
|
36
|
+
* Returns the source types available for this module.
|
|
34
37
|
* @param {NormalModule} module fresh module
|
|
35
38
|
* @returns {SourceTypes} available types (do not mutate)
|
|
36
39
|
*/
|
|
@@ -39,6 +42,7 @@ class AsyncWebAssemblyGenerator extends Generator {
|
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
/**
|
|
45
|
+
* Returns the estimated size for the requested source type.
|
|
42
46
|
* @param {NormalModule} module the module
|
|
43
47
|
* @param {SourceType=} type source type
|
|
44
48
|
* @returns {number} estimate size of the module
|
|
@@ -52,6 +56,7 @@ class AsyncWebAssemblyGenerator extends Generator {
|
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
/**
|
|
59
|
+
* Generates generated code for this runtime module.
|
|
55
60
|
* @param {NormalModule} module module for which the code should be generated
|
|
56
61
|
* @param {GenerateContext} generateContext context for generate
|
|
57
62
|
* @returns {Source | null} generated code
|
|
@@ -61,6 +66,7 @@ class AsyncWebAssemblyGenerator extends Generator {
|
|
|
61
66
|
}
|
|
62
67
|
|
|
63
68
|
/**
|
|
69
|
+
* Generates fallback output for the provided error condition.
|
|
64
70
|
* @param {Error} error the error
|
|
65
71
|
* @param {NormalModule} module module for which the code should be generated
|
|
66
72
|
* @param {GenerateContext} generateContext context for generate
|
|
@@ -22,11 +22,13 @@ const WebAssemblyImportDependency = require("../dependencies/WebAssemblyImportDe
|
|
|
22
22
|
/** @typedef {import("../NormalModule")} NormalModule */
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
|
+
* Represents the async web assembly javascript generator runtime component.
|
|
25
26
|
* @typedef {{ request: string, importVar: string, dependency: WebAssemblyImportDependency }} ImportObjRequestItem
|
|
26
27
|
*/
|
|
27
28
|
|
|
28
29
|
class AsyncWebAssemblyJavascriptGenerator extends Generator {
|
|
29
30
|
/**
|
|
31
|
+
* Returns the source types available for this module.
|
|
30
32
|
* @param {NormalModule} module fresh module
|
|
31
33
|
* @returns {SourceTypes} available types (do not mutate)
|
|
32
34
|
*/
|
|
@@ -35,6 +37,7 @@ class AsyncWebAssemblyJavascriptGenerator extends Generator {
|
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
/**
|
|
40
|
+
* Returns the estimated size for the requested source type.
|
|
38
41
|
* @param {NormalModule} module the module
|
|
39
42
|
* @param {SourceType=} type source type
|
|
40
43
|
* @returns {number} estimate size of the module
|
|
@@ -50,6 +53,7 @@ class AsyncWebAssemblyJavascriptGenerator extends Generator {
|
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
/**
|
|
56
|
+
* Generates generated code for this runtime module.
|
|
53
57
|
* @param {NormalModule} module module for which the code should be generated
|
|
54
58
|
* @param {GenerateContext} generateContext context for generate
|
|
55
59
|
* @returns {Source | null} generated code
|
|
@@ -253,6 +257,7 @@ class AsyncWebAssemblyJavascriptGenerator extends Generator {
|
|
|
253
257
|
}
|
|
254
258
|
|
|
255
259
|
/**
|
|
260
|
+
* Generates fallback output for the provided error condition.
|
|
256
261
|
* @param {Error} error the error
|
|
257
262
|
* @param {NormalModule} module module for which the code should be generated
|
|
258
263
|
* @param {GenerateContext} generateContext context for generate
|
|
@@ -53,6 +53,7 @@ class AsyncWasmModule extends NormalModule {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
|
+
* Returns the unique identifier used to reference this module.
|
|
56
57
|
* @returns {string} a unique identifier of the module
|
|
57
58
|
*/
|
|
58
59
|
identifier() {
|
|
@@ -79,6 +80,7 @@ class AsyncWasmModule extends NormalModule {
|
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
/**
|
|
83
|
+
* Serializes this instance into the provided serializer context.
|
|
82
84
|
* @param {ObjectSerializerContext} context context
|
|
83
85
|
*/
|
|
84
86
|
serialize(context) {
|
|
@@ -117,6 +119,7 @@ class AsyncWasmModule extends NormalModule {
|
|
|
117
119
|
}
|
|
118
120
|
|
|
119
121
|
/**
|
|
122
|
+
* Restores this instance from the provided deserializer context.
|
|
120
123
|
* @param {ObjectDeserializerContext} context context
|
|
121
124
|
*/
|
|
122
125
|
deserialize(context) {
|
|
@@ -129,6 +132,7 @@ class AsyncWasmModule extends NormalModule {
|
|
|
129
132
|
makeSerializable(AsyncWasmModule, "webpack/lib/wasm-async/AsyncWasmModule");
|
|
130
133
|
|
|
131
134
|
/**
|
|
135
|
+
* Defines the web assembly render context type used by this module.
|
|
132
136
|
* @typedef {object} WebAssemblyRenderContext
|
|
133
137
|
* @property {Chunk} chunk the chunk
|
|
134
138
|
* @property {DependencyTemplates} dependencyTemplates the dependency templates
|
|
@@ -139,11 +143,13 @@ makeSerializable(AsyncWasmModule, "webpack/lib/wasm-async/AsyncWasmModule");
|
|
|
139
143
|
*/
|
|
140
144
|
|
|
141
145
|
/**
|
|
146
|
+
* Defines the compilation hooks type used by this module.
|
|
142
147
|
* @typedef {object} CompilationHooks
|
|
143
148
|
* @property {SyncWaterfallHook<[Source, Module, WebAssemblyRenderContext]>} renderModuleContent
|
|
144
149
|
*/
|
|
145
150
|
|
|
146
151
|
/**
|
|
152
|
+
* Defines the async web assembly modules plugin options type used by this module.
|
|
147
153
|
* @typedef {object} AsyncWebAssemblyModulesPluginOptions
|
|
148
154
|
* @property {boolean=} mangleImports mangle imports
|
|
149
155
|
*/
|
|
@@ -155,6 +161,7 @@ const PLUGIN_NAME = "AsyncWebAssemblyModulesPlugin";
|
|
|
155
161
|
|
|
156
162
|
class AsyncWebAssemblyModulesPlugin {
|
|
157
163
|
/**
|
|
164
|
+
* Returns the attached hooks.
|
|
158
165
|
* @param {Compilation} compilation the compilation
|
|
159
166
|
* @returns {CompilationHooks} the attached hooks
|
|
160
167
|
*/
|
|
@@ -179,6 +186,7 @@ class AsyncWebAssemblyModulesPlugin {
|
|
|
179
186
|
}
|
|
180
187
|
|
|
181
188
|
/**
|
|
189
|
+
* Creates an instance of AsyncWebAssemblyModulesPlugin.
|
|
182
190
|
* @param {AsyncWebAssemblyModulesPluginOptions} options options
|
|
183
191
|
*/
|
|
184
192
|
constructor(options) {
|
|
@@ -187,7 +195,7 @@ class AsyncWebAssemblyModulesPlugin {
|
|
|
187
195
|
}
|
|
188
196
|
|
|
189
197
|
/**
|
|
190
|
-
*
|
|
198
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
191
199
|
* @param {Compiler} compiler the compiler instance
|
|
192
200
|
* @returns {void}
|
|
193
201
|
*/
|
|
@@ -286,6 +294,7 @@ class AsyncWebAssemblyModulesPlugin {
|
|
|
286
294
|
}
|
|
287
295
|
|
|
288
296
|
/**
|
|
297
|
+
* Renders the newly generated source from rendering.
|
|
289
298
|
* @param {Module} module the rendered module
|
|
290
299
|
* @param {WebAssemblyRenderContext} renderContext options object
|
|
291
300
|
* @param {CompilationHooks} hooks hooks
|
|
@@ -31,6 +31,7 @@ const decoderOpts = {
|
|
|
31
31
|
|
|
32
32
|
class WebAssemblyParser extends Parser {
|
|
33
33
|
/**
|
|
34
|
+
* Parses the provided source and updates the parser state.
|
|
34
35
|
* @param {string | Buffer | PreparsedAst} source the source to parse
|
|
35
36
|
* @param {ParserState} state the parser state
|
|
36
37
|
* @returns {ParserState} the parser state
|