webpack 5.97.1 → 5.104.1
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 +368 -434
- package/bin/webpack.js +15 -9
- package/hot/dev-server.js +18 -3
- package/hot/emitter-event-target.js +7 -0
- package/hot/lazy-compilation-node.js +45 -29
- package/hot/lazy-compilation-universal.js +18 -0
- package/hot/lazy-compilation-web.js +15 -5
- package/hot/load-http.js +7 -0
- package/hot/log.js +15 -15
- package/hot/only-dev-server.js +19 -4
- package/hot/poll.js +1 -0
- package/lib/APIPlugin.js +48 -50
- package/lib/AbstractMethodError.js +1 -0
- package/lib/AsyncDependenciesBlock.js +4 -5
- package/lib/AutomaticPrefetchPlugin.js +22 -22
- package/lib/BannerPlugin.js +35 -40
- package/lib/Cache.js +12 -9
- package/lib/CacheFacade.js +13 -13
- package/lib/CaseSensitiveModulesWarning.js +6 -6
- package/lib/Chunk.js +68 -47
- package/lib/ChunkGraph.js +174 -95
- package/lib/ChunkGroup.js +32 -24
- package/lib/ChunkTemplate.js +8 -8
- package/lib/CleanPlugin.js +90 -42
- package/lib/CodeGenerationResults.js +12 -9
- package/lib/CompatibilityPlugin.js +70 -21
- package/lib/Compilation.js +827 -550
- package/lib/Compiler.js +137 -109
- package/lib/ConcatenationScope.js +45 -8
- package/lib/ConditionalInitFragment.js +1 -1
- package/lib/ConstPlugin.js +89 -59
- package/lib/ContextExclusionPlugin.js +5 -4
- package/lib/ContextModule.js +66 -51
- package/lib/ContextModuleFactory.js +51 -30
- package/lib/ContextReplacementPlugin.js +89 -34
- package/lib/CssModule.js +8 -4
- package/lib/DefinePlugin.js +209 -57
- package/lib/DelegatedModule.js +34 -23
- package/lib/DelegatedModuleFactoryPlugin.js +27 -24
- package/lib/DelegatedPlugin.js +4 -2
- package/lib/DependenciesBlock.js +0 -2
- package/lib/Dependency.js +37 -19
- package/lib/DependencyTemplate.js +2 -0
- package/lib/DependencyTemplates.js +5 -6
- package/lib/DllEntryPlugin.js +8 -4
- package/lib/DllModule.js +11 -12
- package/lib/DllModuleFactory.js +2 -2
- package/lib/DllPlugin.js +9 -6
- package/lib/DllReferencePlugin.js +60 -65
- package/lib/DotenvPlugin.js +462 -0
- package/lib/DynamicEntryPlugin.js +8 -8
- package/lib/EntryOptionPlugin.js +8 -6
- package/lib/EntryPlugin.js +5 -3
- package/lib/Entrypoint.js +19 -0
- package/lib/EnvironmentNotSupportAsyncWarning.js +0 -3
- package/lib/EnvironmentPlugin.js +26 -19
- package/lib/ErrorHelpers.js +6 -6
- package/lib/EvalDevToolModulePlugin.js +17 -14
- package/lib/EvalSourceMapDevToolPlugin.js +156 -142
- package/lib/ExportsInfo.js +180 -115
- package/lib/ExportsInfoApiPlugin.js +2 -2
- package/lib/ExternalModule.js +256 -102
- package/lib/ExternalModuleFactoryPlugin.js +66 -29
- package/lib/ExternalsPlugin.js +57 -2
- package/lib/FileSystemInfo.js +313 -247
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -2
- package/lib/FlagDependencyExportsPlugin.js +29 -19
- package/lib/FlagDependencyUsagePlugin.js +9 -10
- package/lib/FlagEntryExportAsUsedPlugin.js +1 -1
- package/lib/Generator.js +43 -10
- package/lib/GraphHelpers.js +11 -3
- package/lib/HookWebpackError.js +35 -7
- package/lib/HotModuleReplacementPlugin.js +149 -108
- package/lib/HotUpdateChunk.js +0 -3
- package/lib/IgnoreErrorModuleFactory.js +2 -2
- package/lib/IgnorePlugin.js +16 -13
- package/lib/IgnoreWarningsPlugin.js +6 -4
- package/lib/InitFragment.js +41 -23
- package/lib/InvalidDependenciesModuleWarning.js +2 -3
- package/lib/JavascriptMetaInfoPlugin.js +2 -4
- package/lib/LibManifestPlugin.js +12 -13
- package/lib/LoaderOptionsPlugin.js +12 -14
- package/lib/LoaderTargetPlugin.js +5 -3
- package/lib/MainTemplate.js +18 -29
- package/lib/ManifestPlugin.js +235 -0
- package/lib/Module.js +138 -60
- package/lib/ModuleBuildError.js +4 -2
- package/lib/ModuleDependencyError.js +4 -3
- package/lib/ModuleDependencyWarning.js +4 -3
- package/lib/ModuleError.js +1 -1
- package/lib/ModuleFactory.js +10 -3
- package/lib/ModuleFilenameHelpers.js +63 -60
- package/lib/ModuleGraph.js +195 -70
- package/lib/ModuleGraphConnection.js +14 -20
- package/lib/ModuleInfoHeaderPlugin.js +15 -16
- package/lib/ModuleNotFoundError.js +1 -1
- package/lib/ModuleParseError.js +8 -4
- package/lib/ModuleSourceTypeConstants.js +189 -0
- package/lib/ModuleTemplate.js +7 -8
- package/lib/ModuleTypeConstants.js +37 -15
- package/lib/ModuleWarning.js +1 -1
- package/lib/MultiCompiler.js +64 -49
- package/lib/MultiStats.js +19 -14
- package/lib/MultiWatching.js +7 -11
- package/lib/NoEmitOnErrorsPlugin.js +5 -3
- package/lib/NodeStuffPlugin.js +438 -126
- package/lib/NormalModule.js +322 -201
- package/lib/NormalModuleFactory.js +230 -117
- package/lib/NormalModuleReplacementPlugin.js +37 -39
- package/lib/NullFactory.js +3 -2
- package/lib/OptimizationStages.js +1 -1
- package/lib/OptionsApply.js +1 -1
- package/lib/Parser.js +5 -3
- package/lib/PlatformPlugin.js +3 -1
- package/lib/PrefetchPlugin.js +6 -4
- package/lib/ProgressPlugin.js +48 -49
- package/lib/ProvidePlugin.js +7 -5
- package/lib/RawModule.js +26 -12
- package/lib/RecordIdsPlugin.js +88 -110
- package/lib/RequestShortener.js +3 -1
- package/lib/ResolverFactory.js +15 -14
- package/lib/RuntimeGlobals.js +216 -153
- package/lib/RuntimeModule.js +7 -6
- package/lib/RuntimePlugin.js +115 -62
- package/lib/RuntimeTemplate.js +248 -76
- package/lib/SelfModuleFactory.js +2 -2
- package/lib/SizeFormatHelpers.js +2 -2
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +17 -27
- package/lib/SourceMapDevToolPlugin.js +72 -59
- package/lib/Stats.js +2 -3
- package/lib/Template.js +31 -24
- package/lib/TemplatedPathPlugin.js +24 -21
- package/lib/UseStrictPlugin.js +1 -1
- package/lib/WarnCaseSensitiveModulesPlugin.js +36 -37
- package/lib/WarnDeprecatedOptionPlugin.js +7 -8
- package/lib/WarnNoModeSetPlugin.js +3 -1
- package/lib/WatchIgnorePlugin.js +11 -9
- package/lib/Watching.js +27 -29
- package/lib/WebpackError.js +10 -3
- package/lib/WebpackIsIncludedPlugin.js +4 -5
- package/lib/WebpackOptionsApply.js +263 -135
- package/lib/asset/AssetBytesGenerator.js +171 -0
- package/lib/asset/AssetBytesParser.js +37 -0
- package/lib/asset/AssetGenerator.js +285 -223
- package/lib/asset/AssetModulesPlugin.js +103 -41
- package/lib/asset/AssetParser.js +7 -3
- package/lib/asset/AssetSourceGenerator.js +41 -17
- package/lib/asset/RawDataUrlModule.js +17 -9
- package/lib/async-modules/AsyncModuleHelpers.js +52 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +39 -24
- package/lib/async-modules/InferAsyncModulesPlugin.js +25 -26
- package/lib/buildChunkGraph.js +36 -17
- package/lib/cache/AddBuildDependenciesPlugin.js +5 -6
- package/lib/cache/IdleFileCachePlugin.js +22 -20
- package/lib/cache/MemoryCachePlugin.js +3 -3
- package/lib/cache/MemoryWithGcCachePlugin.js +17 -11
- package/lib/cache/PackFileCacheStrategy.js +198 -170
- package/lib/cache/ResolverCachePlugin.js +58 -48
- package/lib/cache/getLazyHashedEtag.js +5 -4
- package/lib/cli.js +197 -39
- package/lib/config/browserslistTargetHandler.js +110 -85
- package/lib/config/defaults.js +514 -113
- package/lib/config/normalization.js +91 -64
- package/lib/config/target.js +30 -18
- package/lib/container/ContainerEntryDependency.js +0 -1
- package/lib/container/ContainerEntryModule.js +16 -15
- package/lib/container/ContainerEntryModuleFactory.js +2 -2
- package/lib/container/ContainerPlugin.js +5 -6
- package/lib/container/ContainerReferencePlugin.js +27 -30
- package/lib/container/FallbackDependency.js +2 -1
- package/lib/container/FallbackModule.js +19 -14
- package/lib/container/FallbackModuleFactory.js +2 -2
- package/lib/container/HoistContainerReferencesPlugin.js +7 -7
- package/lib/container/ModuleFederationPlugin.js +4 -4
- package/lib/container/RemoteModule.js +14 -14
- package/lib/container/RemoteRuntimeModule.js +2 -2
- package/lib/container/options.js +9 -9
- package/lib/css/CssGenerator.js +366 -74
- package/lib/css/CssLoadingRuntimeModule.js +26 -16
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +56 -0
- package/lib/css/CssModulesPlugin.js +191 -142
- package/lib/css/CssParser.js +1756 -740
- package/lib/css/walkCssTokens.js +180 -67
- package/lib/debug/ProfilingPlugin.js +135 -51
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +29 -28
- package/lib/dependencies/AMDPlugin.js +18 -11
- package/lib/dependencies/AMDRequireArrayDependency.js +5 -4
- package/lib/dependencies/AMDRequireContextDependency.js +2 -1
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +35 -26
- package/lib/dependencies/AMDRuntimeModules.js +3 -1
- package/lib/dependencies/CachedConstDependency.js +24 -18
- package/lib/dependencies/CommonJsExportRequireDependency.js +31 -24
- package/lib/dependencies/CommonJsExportsDependency.js +2 -1
- package/lib/dependencies/CommonJsExportsParserPlugin.js +50 -36
- package/lib/dependencies/CommonJsFullRequireDependency.js +7 -13
- package/lib/dependencies/CommonJsImportsParserPlugin.js +146 -127
- package/lib/dependencies/CommonJsPlugin.js +29 -18
- package/lib/dependencies/CommonJsRequireContextDependency.js +4 -3
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +4 -4
- package/lib/dependencies/ConstDependency.js +2 -2
- package/lib/dependencies/ContextDependency.js +10 -5
- package/lib/dependencies/ContextDependencyHelpers.js +21 -13
- package/lib/dependencies/ContextDependencyTemplateAsId.js +10 -9
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +13 -10
- package/lib/dependencies/ContextElementDependency.js +23 -12
- package/lib/dependencies/CssIcssExportDependency.js +402 -22
- package/lib/dependencies/CssIcssImportDependency.js +116 -51
- package/lib/dependencies/CssIcssSymbolDependency.js +33 -35
- package/lib/dependencies/CssImportDependency.js +17 -14
- package/lib/dependencies/CssUrlDependency.js +8 -13
- package/lib/dependencies/DynamicExports.js +19 -19
- package/lib/dependencies/ExportsInfoDependency.js +13 -10
- package/lib/dependencies/ExternalModuleDependency.js +7 -7
- package/lib/dependencies/ExternalModuleInitFragment.js +3 -2
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +96 -0
- package/lib/dependencies/HarmonyAcceptDependency.js +96 -5
- package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -5
- package/lib/dependencies/HarmonyCompatibilityDependency.js +0 -1
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +10 -30
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +19 -8
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +136 -99
- package/lib/dependencies/HarmonyExportExpressionDependency.js +1 -1
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +152 -61
- package/lib/dependencies/HarmonyExportInitFragment.js +2 -2
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +2 -2
- package/lib/dependencies/HarmonyExports.js +5 -5
- package/lib/dependencies/HarmonyImportDependency.js +92 -45
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +201 -163
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +5 -6
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +69 -42
- package/lib/dependencies/HarmonyModulesPlugin.js +16 -11
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +15 -15
- package/lib/dependencies/ImportContextDependency.js +15 -1
- package/lib/dependencies/ImportDependency.js +25 -7
- package/lib/dependencies/ImportEagerDependency.js +7 -5
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +23 -13
- package/lib/dependencies/ImportMetaContextPlugin.js +2 -2
- package/lib/dependencies/ImportMetaPlugin.js +172 -20
- package/lib/dependencies/ImportParserPlugin.js +327 -49
- package/lib/dependencies/ImportPhase.js +121 -0
- package/lib/dependencies/ImportPlugin.js +3 -1
- package/lib/dependencies/ImportWeakDependency.js +7 -5
- package/lib/dependencies/JsonExportsDependency.js +54 -28
- package/lib/dependencies/LoaderDependency.js +0 -3
- package/lib/dependencies/LoaderImportDependency.js +0 -3
- package/lib/dependencies/LoaderPlugin.js +24 -25
- package/lib/dependencies/LocalModulesHelpers.js +4 -4
- package/lib/dependencies/ModuleDecoratorDependency.js +2 -4
- package/lib/dependencies/ModuleDependency.js +14 -13
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -1
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/ProvidedDependency.js +8 -10
- package/lib/dependencies/PureExpressionDependency.js +1 -2
- package/lib/dependencies/RequireContextDependency.js +2 -1
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +47 -44
- package/lib/dependencies/RequireContextPlugin.js +5 -2
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +3 -3
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +101 -99
- package/lib/dependencies/RequireEnsurePlugin.js +6 -6
- package/lib/dependencies/RequireIncludeDependency.js +2 -2
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +33 -34
- package/lib/dependencies/RequireIncludePlugin.js +1 -0
- package/lib/dependencies/RequireResolveContextDependency.js +1 -1
- package/lib/dependencies/RequireResolveDependency.js +3 -3
- package/lib/dependencies/RuntimeRequirementsDependency.js +3 -4
- package/lib/dependencies/StaticExportsDependency.js +3 -5
- package/lib/dependencies/SystemPlugin.js +4 -4
- package/lib/dependencies/URLContextDependency.js +65 -0
- package/lib/dependencies/URLDependency.js +3 -8
- package/lib/dependencies/URLPlugin.js +18 -159
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +3 -3
- package/lib/dependencies/WebAssemblyImportDependency.js +2 -2
- package/lib/dependencies/WebpackIsIncludedDependency.js +2 -3
- package/lib/dependencies/WorkerDependency.js +8 -6
- package/lib/dependencies/WorkerPlugin.js +131 -67
- package/lib/dependencies/getFunctionExpression.js +2 -2
- package/lib/dependencies/processExportInfo.js +4 -4
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +1 -1
- package/lib/esm/ModuleChunkFormatPlugin.js +232 -179
- package/lib/esm/ModuleChunkLoadingPlugin.js +112 -57
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +102 -28
- package/lib/formatLocation.js +2 -2
- package/lib/hmr/HotModuleReplacement.runtime.js +41 -29
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -1
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +43 -33
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +37 -0
- package/lib/hmr/LazyCompilationPlugin.js +67 -54
- package/lib/hmr/lazyCompilationBackend.js +23 -18
- package/lib/ids/ChunkModuleIdRangePlugin.js +14 -11
- package/lib/ids/DeterministicChunkIdsPlugin.js +32 -37
- package/lib/ids/DeterministicModuleIdsPlugin.js +52 -52
- package/lib/ids/HashedModuleIdsPlugin.js +15 -13
- package/lib/ids/IdHelpers.js +66 -49
- package/lib/ids/NamedChunkIdsPlugin.js +14 -17
- package/lib/ids/NamedModuleIdsPlugin.js +12 -14
- package/lib/ids/NaturalChunkIdsPlugin.js +6 -4
- package/lib/ids/NaturalModuleIdsPlugin.js +4 -3
- package/lib/ids/OccurrenceChunkIdsPlugin.js +7 -5
- package/lib/ids/OccurrenceModuleIdsPlugin.js +8 -7
- package/lib/ids/SyncModuleIdsPlugin.js +18 -13
- package/lib/index.js +54 -14
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +116 -119
- package/lib/javascript/BasicEvaluatedExpression.js +26 -18
- package/lib/javascript/ChunkFormatHelpers.js +70 -0
- package/lib/javascript/ChunkHelpers.js +17 -5
- package/lib/javascript/CommonJsChunkFormatPlugin.js +114 -141
- package/lib/javascript/EnableChunkLoadingPlugin.js +7 -4
- package/lib/javascript/JavascriptGenerator.js +122 -100
- package/lib/javascript/JavascriptModulesPlugin.js +332 -152
- package/lib/javascript/JavascriptParser.js +1488 -1052
- package/lib/javascript/JavascriptParserHelpers.js +48 -47
- package/lib/javascript/StartupHelpers.js +23 -22
- package/lib/json/JsonData.js +4 -4
- package/lib/json/JsonGenerator.js +66 -32
- package/lib/json/JsonModulesPlugin.js +16 -6
- package/lib/json/JsonParser.js +23 -8
- package/lib/library/AbstractLibraryPlugin.js +45 -10
- package/lib/library/AmdLibraryPlugin.js +7 -5
- package/lib/library/AssignLibraryPlugin.js +71 -17
- package/lib/library/EnableLibraryPlugin.js +51 -25
- package/lib/library/ExportPropertyLibraryPlugin.js +12 -18
- package/lib/library/JsonpLibraryPlugin.js +5 -2
- package/lib/library/ModuleLibraryPlugin.js +230 -18
- package/lib/library/SystemLibraryPlugin.js +29 -11
- package/lib/library/UmdLibraryPlugin.js +35 -32
- package/lib/logging/Logger.js +18 -15
- package/lib/logging/createConsoleLogger.js +27 -27
- package/lib/logging/runtime.js +11 -11
- package/lib/logging/truncateArgs.js +5 -5
- package/lib/node/CommonJsChunkLoadingPlugin.js +72 -75
- package/lib/node/NodeEnvironmentPlugin.js +9 -3
- package/lib/node/NodeTargetPlugin.js +9 -1
- package/lib/node/NodeTemplatePlugin.js +2 -2
- package/lib/node/NodeWatchFileSystem.js +4 -4
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +22 -38
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +10 -11
- package/lib/node/ReadFileCompileWasmPlugin.js +11 -14
- package/lib/node/RequireChunkLoadingRuntimeModule.js +22 -30
- package/lib/node/nodeConsole.js +12 -7
- package/lib/optimize/AggressiveMergingPlugin.js +46 -47
- package/lib/optimize/AggressiveSplittingPlugin.js +233 -238
- package/lib/optimize/ConcatenatedModule.js +620 -251
- package/lib/optimize/EnsureChunkConditionsPlugin.js +58 -58
- package/lib/optimize/FlagIncludedChunksPlugin.js +93 -96
- package/lib/optimize/InnerGraph.js +139 -124
- package/lib/optimize/InnerGraphPlugin.js +29 -24
- package/lib/optimize/LimitChunkCountPlugin.js +32 -8
- package/lib/optimize/MangleExportsPlugin.js +22 -22
- package/lib/optimize/MergeDuplicateChunksPlugin.js +80 -81
- package/lib/optimize/MinChunkSizePlugin.js +12 -7
- package/lib/optimize/ModuleConcatenationPlugin.js +92 -71
- package/lib/optimize/RealContentHashPlugin.js +58 -44
- package/lib/optimize/RemoveEmptyChunksPlugin.js +8 -5
- package/lib/optimize/RemoveParentModulesPlugin.js +7 -4
- package/lib/optimize/RuntimeChunkPlugin.js +22 -25
- package/lib/optimize/SideEffectsFlagPlugin.js +44 -26
- package/lib/optimize/SplitChunksPlugin.js +209 -158
- package/lib/performance/AssetsOverSizeLimitWarning.js +1 -1
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +2 -2
- package/lib/performance/SizeLimitsPlugin.js +8 -5
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +5 -7
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +61 -64
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +3 -4
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +2 -2
- package/lib/rules/BasicEffectRulePlugin.js +14 -5
- package/lib/rules/BasicMatcherRulePlugin.js +18 -7
- package/lib/rules/ObjectMatcherRulePlugin.js +17 -6
- package/lib/rules/RuleSetCompiler.js +73 -32
- package/lib/rules/UseEffectRulePlugin.js +61 -25
- package/lib/runtime/AsyncModuleRuntimeModule.js +74 -9
- package/lib/runtime/AutoPublicPathRuntimeModule.js +9 -4
- package/lib/runtime/BaseUriRuntimeModule.js +2 -2
- package/lib/runtime/CompatRuntimeModule.js +0 -1
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -1
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +34 -35
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -1
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -1
- package/lib/runtime/LoadScriptRuntimeModule.js +0 -2
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +248 -0
- package/lib/runtime/PublicPathRuntimeModule.js +2 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +2 -1
- package/lib/runtime/StartupChunkDependenciesPlugin.js +39 -42
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +10 -9
- package/lib/runtime/StartupEntrypointRuntimeModule.js +0 -1
- package/lib/runtime/SystemContextRuntimeModule.js +0 -2
- package/lib/runtime/ToBinaryRuntimeModule.js +64 -0
- package/lib/schemes/DataUriPlugin.js +9 -31
- package/lib/schemes/FileUriPlugin.js +11 -6
- package/lib/schemes/HttpUriPlugin.js +381 -261
- package/lib/schemes/VirtualUrlPlugin.js +222 -0
- package/lib/serialization/AggregateErrorSerializer.js +41 -0
- package/lib/serialization/BinaryMiddleware.js +51 -33
- package/lib/serialization/ErrorObjectSerializer.js +7 -2
- package/lib/serialization/FileMiddleware.js +101 -71
- package/lib/serialization/NullPrototypeObjectSerializer.js +5 -3
- package/lib/serialization/ObjectMiddleware.js +130 -54
- package/lib/serialization/PlainObjectSerializer.js +1 -1
- package/lib/serialization/Serializer.js +38 -20
- package/lib/serialization/SerializerMiddleware.js +121 -49
- package/lib/serialization/SingleItemMiddleware.js +9 -7
- package/lib/serialization/types.js +1 -1
- package/lib/sharing/ConsumeSharedModule.js +9 -9
- package/lib/sharing/ConsumeSharedPlugin.js +14 -14
- package/lib/sharing/ConsumeSharedRuntimeModule.js +11 -8
- package/lib/sharing/ProvideSharedModule.js +9 -11
- package/lib/sharing/ProvideSharedModuleFactory.js +5 -3
- package/lib/sharing/ProvideSharedPlugin.js +15 -10
- package/lib/sharing/SharePlugin.js +3 -4
- package/lib/sharing/ShareRuntimeModule.js +7 -6
- package/lib/sharing/resolveMatchedConfigs.js +27 -13
- package/lib/sharing/utils.js +37 -43
- package/lib/stats/DefaultStatsFactoryPlugin.js +455 -286
- package/lib/stats/DefaultStatsPresetPlugin.js +77 -46
- package/lib/stats/DefaultStatsPrinterPlugin.js +583 -419
- package/lib/stats/StatsFactory.js +75 -32
- package/lib/stats/StatsPrinter.js +71 -51
- package/lib/url/URLParserPlugin.js +264 -0
- package/lib/util/ArrayHelpers.js +6 -8
- package/lib/util/ArrayQueue.js +1 -1
- package/lib/util/AsyncQueue.js +11 -10
- package/lib/util/Hash.js +37 -5
- package/lib/util/IterableHelpers.js +4 -4
- package/lib/util/LazyBucketSortedSet.js +46 -27
- package/lib/util/LazySet.js +16 -10
- package/lib/util/MapHelpers.js +1 -1
- package/lib/util/ParallelismFactorCalculator.js +2 -2
- package/lib/util/Semaphore.js +3 -3
- package/lib/util/SetHelpers.js +6 -6
- package/lib/util/SortableSet.js +11 -9
- package/lib/util/StackedCacheMap.js +2 -2
- package/lib/util/StackedMap.js +3 -3
- package/lib/util/StringXor.js +2 -1
- package/lib/util/TupleQueue.js +11 -8
- package/lib/util/TupleSet.js +44 -19
- package/lib/util/URLAbsoluteSpecifier.js +3 -4
- package/lib/util/WeakTupleMap.js +56 -42
- package/lib/util/binarySearchBounds.js +4 -3
- package/lib/util/chainedImports.js +3 -1
- package/lib/util/cleverMerge.js +171 -107
- package/lib/util/comparators.js +265 -162
- package/lib/util/compileBooleanMatcher.js +120 -41
- package/lib/util/concatenate.js +20 -16
- package/lib/util/conventions.js +73 -74
- package/lib/util/create-schema-validation.js +8 -8
- package/lib/util/createHash.js +32 -135
- package/lib/util/dataURL.js +39 -0
- package/lib/util/deprecation.js +119 -116
- package/lib/util/deterministicGrouping.js +56 -47
- package/lib/util/extractSourceMap.js +319 -0
- package/lib/util/extractUrlAndGlobal.js +1 -1
- package/lib/util/findGraphRoots.js +19 -9
- package/lib/util/fs.js +169 -141
- package/lib/util/hash/BatchedHash.js +50 -10
- package/lib/util/hash/BulkUpdateHash.js +138 -0
- package/lib/util/hash/DebugHash.js +75 -0
- package/lib/util/hash/hash-digest.js +216 -0
- package/lib/util/hash/md4.js +2 -2
- package/lib/util/hash/wasm-hash.js +59 -17
- package/lib/util/identifier.js +124 -61
- package/lib/util/internalSerializables.js +4 -6
- package/lib/util/magicComment.js +9 -5
- package/lib/util/makeSerializable.js +2 -2
- package/lib/util/memoize.js +5 -2
- package/lib/util/objectToMap.js +3 -2
- package/lib/util/processAsyncTree.js +5 -5
- package/lib/util/propertyAccess.js +1 -1
- package/lib/util/propertyName.js +2 -3
- package/lib/util/registerExternalSerializer.js +16 -20
- package/lib/util/removeBOM.js +25 -0
- package/lib/util/runtime.js +72 -56
- package/lib/util/semver.js +44 -33
- package/lib/util/serialization.js +56 -56
- package/lib/util/smartGrouping.js +42 -27
- package/lib/util/source.js +5 -4
- package/lib/util/traverseDestructuringAssignmentProperties.js +45 -0
- package/lib/validateSchema.js +7 -9
- package/lib/wasm/EnableWasmLoadingPlugin.js +22 -12
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +9 -5
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +15 -3
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +28 -22
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +47 -57
- package/lib/wasm-async/AsyncWebAssemblyParser.js +2 -10
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +8 -4
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +23 -17
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +55 -57
- package/lib/wasm-sync/WebAssemblyGenerator.js +56 -41
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +6 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +25 -10
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +11 -12
- package/lib/wasm-sync/WebAssemblyParser.js +10 -17
- package/lib/wasm-sync/WebAssemblyUtils.js +1 -1
- package/lib/web/FetchCompileAsyncWasmPlugin.js +4 -4
- package/lib/web/FetchCompileWasmPlugin.js +6 -8
- package/lib/web/JsonpChunkLoadingPlugin.js +74 -74
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +10 -26
- package/lib/web/JsonpTemplatePlugin.js +0 -1
- package/lib/webpack.js +107 -87
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +79 -75
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +38 -51
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -0
- package/module.d.ts +5 -0
- package/package.json +149 -129
- package/schemas/WebpackOptions.check.d.ts +1 -1
- package/schemas/WebpackOptions.check.js +2 -2
- package/schemas/WebpackOptions.json +543 -190
- package/schemas/plugins/BannerPlugin.check.d.ts +1 -1
- package/schemas/plugins/BannerPlugin.check.js +2 -2
- package/schemas/plugins/BannerPlugin.json +4 -0
- package/schemas/plugins/DllPlugin.check.d.ts +1 -1
- package/schemas/plugins/DllPlugin.check.js +1 -1
- package/schemas/plugins/DllReferencePlugin.check.d.ts +1 -1
- package/schemas/plugins/DllReferencePlugin.check.js +1 -1
- package/schemas/plugins/IgnorePlugin.check.d.ts +1 -1
- package/schemas/plugins/IgnorePlugin.check.js +1 -1
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.js +1 -1
- package/schemas/plugins/{HashedModuleIdsPlugin.check.d.ts → ManifestPlugin.check.d.ts} +2 -2
- package/schemas/plugins/ManifestPlugin.check.js +6 -0
- package/schemas/plugins/ManifestPlugin.json +98 -0
- package/schemas/plugins/ProgressPlugin.check.d.ts +1 -1
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +1 -1
- package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +1 -1
- package/schemas/plugins/SourceMapDevToolPlugin.check.js +2 -2
- package/schemas/plugins/SourceMapDevToolPlugin.json +23 -6
- package/schemas/plugins/WatchIgnorePlugin.check.d.ts +1 -1
- package/schemas/plugins/WatchIgnorePlugin.check.js +1 -1
- package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +1 -1
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -1
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +1 -1
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -1
- package/schemas/plugins/asset/AssetParserOptions.check.d.ts +1 -1
- package/schemas/plugins/asset/AssetParserOptions.check.js +1 -1
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +1 -1
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.check.d.ts +1 -1
- package/schemas/plugins/container/ContainerPlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +2 -2
- package/schemas/plugins/container/ContainerReferencePlugin.json +4 -1
- package/schemas/plugins/container/ExternalsType.check.d.ts +1 -1
- package/schemas/plugins/container/ExternalsType.check.js +2 -2
- package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +2 -2
- package/schemas/plugins/container/ModuleFederationPlugin.json +4 -1
- package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +1 -1
- package/schemas/plugins/css/CssGeneratorOptions.check.js +1 -1
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +1 -1
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +2 -2
- package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +1 -1
- package/schemas/plugins/css/CssModuleParserOptions.check.js +2 -2
- package/schemas/plugins/css/CssParserOptions.check.d.ts +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +2 -2
- package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +1 -1
- package/schemas/plugins/debug/ProfilingPlugin.check.js +1 -1
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +7 -0
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +6 -0
- package/schemas/plugins/{HashedModuleIdsPlugin.json → ids/HashedModuleIdsPlugin.json} +15 -2
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +1 -1
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +1 -1
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +1 -1
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +1 -1
- package/schemas/plugins/{css/CssGlobalParserOptions.check.d.ts → json/JsonModulesPluginGenerator.check.d.ts} +1 -1
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +6 -0
- package/schemas/plugins/json/JsonModulesPluginGenerator.json +3 -0
- package/schemas/plugins/{css/CssGlobalGeneratorOptions.check.d.ts → json/JsonModulesPluginParser.check.d.ts} +1 -1
- package/schemas/plugins/json/JsonModulesPluginParser.check.js +6 -0
- package/schemas/plugins/json/JsonModulesPluginParser.json +3 -0
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +1 -1
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -1
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +1 -1
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -1
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +1 -1
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +1 -1
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +1 -1
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -1
- package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +1 -1
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -1
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +7 -0
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +6 -0
- package/schemas/plugins/schemes/VirtualUrlPlugin.json +77 -0
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +1 -1
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +1 -1
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +1 -1
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +1 -1
- package/schemas/plugins/sharing/SharePlugin.check.d.ts +1 -1
- package/schemas/plugins/sharing/SharePlugin.check.js +1 -1
- package/types.d.ts +5115 -1863
- package/SECURITY.md +0 -9
- package/lib/ModuleSourceTypesConstants.js +0 -112
- package/lib/dependencies/CssLocalIdentifierDependency.js +0 -250
- package/lib/dependencies/CssSelfLocalIdentifierDependency.js +0 -111
- package/lib/library/ModernModuleLibraryPlugin.js +0 -144
- package/schemas/plugins/HashedModuleIdsPlugin.check.js +0 -6
- package/schemas/plugins/JsonModulesPluginParser.check.d.ts +0 -7
- package/schemas/plugins/JsonModulesPluginParser.check.js +0 -6
- package/schemas/plugins/JsonModulesPluginParser.json +0 -12
- package/schemas/plugins/css/CssAutoGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoGeneratorOptions.check.js +0 -6
- package/schemas/plugins/css/CssAutoGeneratorOptions.json +0 -3
- package/schemas/plugins/css/CssAutoParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoParserOptions.check.js +0 -6
- package/schemas/plugins/css/CssAutoParserOptions.json +0 -3
- package/schemas/plugins/css/CssGlobalGeneratorOptions.check.js +0 -6
- package/schemas/plugins/css/CssGlobalGeneratorOptions.json +0 -3
- package/schemas/plugins/css/CssGlobalParserOptions.check.js +0 -6
- package/schemas/plugins/css/CssGlobalParserOptions.json +0 -3
package/lib/Module.js
CHANGED
|
@@ -9,7 +9,11 @@ const util = require("util");
|
|
|
9
9
|
const ChunkGraph = require("./ChunkGraph");
|
|
10
10
|
const DependenciesBlock = require("./DependenciesBlock");
|
|
11
11
|
const ModuleGraph = require("./ModuleGraph");
|
|
12
|
-
const {
|
|
12
|
+
const {
|
|
13
|
+
JAVASCRIPT_TYPE,
|
|
14
|
+
UNKNOWN_TYPE
|
|
15
|
+
} = require("./ModuleSourceTypeConstants");
|
|
16
|
+
const { JAVASCRIPT_TYPES } = require("./ModuleSourceTypeConstants");
|
|
13
17
|
const RuntimeGlobals = require("./RuntimeGlobals");
|
|
14
18
|
const { first } = require("./util/SetHelpers");
|
|
15
19
|
const { compareChunksById } = require("./util/comparators");
|
|
@@ -17,34 +21,50 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
17
21
|
|
|
18
22
|
/** @typedef {import("webpack-sources").Source} Source */
|
|
19
23
|
/** @typedef {import("../declarations/WebpackOptions").ResolveOptions} ResolveOptions */
|
|
20
|
-
/** @typedef {import("
|
|
24
|
+
/** @typedef {import("./config/defaults").WebpackOptionsNormalizedWithDefaults} WebpackOptions */
|
|
21
25
|
/** @typedef {import("./Chunk")} Chunk */
|
|
22
26
|
/** @typedef {import("./ChunkGraph").ModuleId} ModuleId */
|
|
23
27
|
/** @typedef {import("./ChunkGroup")} ChunkGroup */
|
|
24
28
|
/** @typedef {import("./CodeGenerationResults")} CodeGenerationResults */
|
|
25
29
|
/** @typedef {import("./Compilation")} Compilation */
|
|
26
30
|
/** @typedef {import("./Compilation").AssetInfo} AssetInfo */
|
|
31
|
+
/** @typedef {import("./Compilation").FileSystemDependencies} FileSystemDependencies */
|
|
32
|
+
/** @typedef {import("./Compilation").UnsafeCacheData} UnsafeCacheData */
|
|
27
33
|
/** @typedef {import("./ConcatenationScope")} ConcatenationScope */
|
|
28
34
|
/** @typedef {import("./Dependency")} Dependency */
|
|
29
35
|
/** @typedef {import("./Dependency").UpdateHashContext} UpdateHashContext */
|
|
36
|
+
/** @typedef {import("./DependencyTemplate").CssData} CssData */
|
|
30
37
|
/** @typedef {import("./DependencyTemplates")} DependencyTemplates */
|
|
31
|
-
/** @typedef {import("./
|
|
38
|
+
/** @typedef {import("./ModuleSourceTypeConstants").AllTypes} AllTypes */
|
|
32
39
|
/** @typedef {import("./FileSystemInfo")} FileSystemInfo */
|
|
33
40
|
/** @typedef {import("./FileSystemInfo").Snapshot} Snapshot */
|
|
34
41
|
/** @typedef {import("./ModuleGraphConnection").ConnectionState} ConnectionState */
|
|
35
42
|
/** @typedef {import("./ModuleTypeConstants").ModuleTypes} ModuleTypes */
|
|
43
|
+
/** @typedef {import("./ModuleGraph").OptimizationBailouts} OptimizationBailouts */
|
|
36
44
|
/** @typedef {import("./NormalModuleFactory")} NormalModuleFactory */
|
|
37
45
|
/** @typedef {import("./RequestShortener")} RequestShortener */
|
|
38
46
|
/** @typedef {import("./ResolverFactory").ResolverWithOptions} ResolverWithOptions */
|
|
39
47
|
/** @typedef {import("./RuntimeTemplate")} RuntimeTemplate */
|
|
48
|
+
/** @typedef {import("../declarations/WebpackOptions").CssParserExportType} CssParserExportType */
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @template T
|
|
52
|
+
* @typedef {import("./InitFragment")<T>} InitFragment
|
|
53
|
+
*/
|
|
40
54
|
/** @typedef {import("./WebpackError")} WebpackError */
|
|
55
|
+
/** @typedef {import("./json/JsonData")} JsonData */
|
|
41
56
|
/** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
42
57
|
/** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
43
58
|
/** @typedef {import("./util/Hash")} Hash */
|
|
44
|
-
/** @template T @typedef {import("./util/LazySet")<T>} LazySet<T> */
|
|
45
|
-
/** @template T @typedef {import("./util/SortableSet")<T>} SortableSet<T> */
|
|
46
59
|
/** @typedef {import("./util/fs").InputFileSystem} InputFileSystem */
|
|
60
|
+
/** @typedef {import("./util/identifier").AssociatedObjectForCache} AssociatedObjectForCache */
|
|
47
61
|
/** @typedef {import("./util/runtime").RuntimeSpec} RuntimeSpec */
|
|
62
|
+
/** @typedef {"namespace" | "default-only" | "default-with-named" | "dynamic"} ExportsType */
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* @template T
|
|
66
|
+
* @typedef {import("./util/LazySet")<T>} LazySet<T>
|
|
67
|
+
*/
|
|
48
68
|
|
|
49
69
|
/**
|
|
50
70
|
* @typedef {object} SourceContext
|
|
@@ -56,7 +76,9 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
56
76
|
* @property {string=} type the type of source that should be generated
|
|
57
77
|
*/
|
|
58
78
|
|
|
59
|
-
/** @typedef {
|
|
79
|
+
/** @typedef {AllTypes} KnownSourceType */
|
|
80
|
+
/** @typedef {KnownSourceType | string} SourceType */
|
|
81
|
+
/** @typedef {ReadonlySet<SourceType>} SourceTypes */
|
|
60
82
|
|
|
61
83
|
// TODO webpack 6: compilation will be required in CodeGenerationContext
|
|
62
84
|
/**
|
|
@@ -66,6 +88,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
66
88
|
* @property {ModuleGraph} moduleGraph the module graph
|
|
67
89
|
* @property {ChunkGraph} chunkGraph the chunk graph
|
|
68
90
|
* @property {RuntimeSpec} runtime the runtimes code should be generated for
|
|
91
|
+
* @property {RuntimeSpec[]} runtimes all runtimes code should be generated for
|
|
69
92
|
* @property {ConcatenationScope=} concatenationScope when in concatenated module, information about other concatenated modules
|
|
70
93
|
* @property {CodeGenerationResults | undefined} codeGenerationResults code generation results of other modules (need to have a codeGenerationDependency to use that)
|
|
71
94
|
* @property {Compilation=} compilation the compilation
|
|
@@ -81,10 +104,16 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
81
104
|
/** @typedef {Set<string>} RuntimeRequirements */
|
|
82
105
|
/** @typedef {ReadonlySet<string>} ReadOnlyRuntimeRequirements */
|
|
83
106
|
|
|
107
|
+
/** @typedef {Map<"topLevelDeclarations", Set<string>> & Map<"chunkInitFragments", InitFragment<EXPECTED_ANY>[]>} KnownCodeGenerationResultDataForJavascriptModules */
|
|
108
|
+
/** @typedef {Map<"url", { ["css-url"]: string }>} KnownCodeGenerationResultDataForCssModules */
|
|
109
|
+
/** @typedef {Map<"filename", string> & Map<"assetInfo", AssetInfo> & Map<"fullContentHash", string>} KnownCodeGenerationResultDataForAssetModules */
|
|
110
|
+
/** @typedef {Map<"share-init", [{ shareScope: string, initStage: number, init: string }]>} KnownCodeGenerationResultForSharing */
|
|
111
|
+
/** @typedef {KnownCodeGenerationResultDataForJavascriptModules & KnownCodeGenerationResultDataForCssModules & KnownCodeGenerationResultDataForAssetModules & KnownCodeGenerationResultForSharing & Map<string, EXPECTED_ANY>} CodeGenerationResultData */
|
|
112
|
+
|
|
84
113
|
/**
|
|
85
114
|
* @typedef {object} CodeGenerationResult
|
|
86
|
-
* @property {Map<
|
|
87
|
-
* @property {
|
|
115
|
+
* @property {Map<SourceType, Source>} sources the resulting sources for all source types
|
|
116
|
+
* @property {CodeGenerationResultData=} data the resulting data for all source types
|
|
88
117
|
* @property {ReadOnlyRuntimeRequirements | null} runtimeRequirements the runtime requirements
|
|
89
118
|
* @property {string=} hash a hash of the code generation result (will be automatically calculated from sources and runtimeRequirements if not provided)
|
|
90
119
|
*/
|
|
@@ -92,39 +121,56 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
92
121
|
/**
|
|
93
122
|
* @typedef {object} LibIdentOptions
|
|
94
123
|
* @property {string} context absolute context path to which lib ident is relative to
|
|
95
|
-
* @property {
|
|
124
|
+
* @property {AssociatedObjectForCache=} associatedObjectForCache object for caching
|
|
96
125
|
*/
|
|
97
126
|
|
|
98
127
|
/**
|
|
99
128
|
* @typedef {object} KnownBuildMeta
|
|
100
|
-
* @property {string=} moduleArgument
|
|
101
|
-
* @property {string=} exportsArgument
|
|
102
|
-
* @property {boolean=} strict
|
|
103
|
-
* @property {string=} moduleConcatenationBailout
|
|
104
129
|
* @property {("default" | "namespace" | "flagged" | "dynamic")=} exportsType
|
|
130
|
+
* @property {CssParserExportType=} exportType
|
|
105
131
|
* @property {(false | "redirect" | "redirect-warn")=} defaultObject
|
|
106
132
|
* @property {boolean=} strictHarmonyModule
|
|
133
|
+
* @property {boolean=} treatAsCommonJs
|
|
107
134
|
* @property {boolean=} async
|
|
108
135
|
* @property {boolean=} sideEffectFree
|
|
109
|
-
* @property {
|
|
136
|
+
* @property {boolean=} isCSSModule
|
|
137
|
+
* @property {Record<string, string>=} jsIncompatibleExports
|
|
138
|
+
* @property {Map<RuntimeSpec, Record<string, string>>=} exportsFinalNameByRuntime
|
|
139
|
+
* @property {Map<RuntimeSpec, string>=} exportsSourceByRuntime
|
|
110
140
|
*/
|
|
111
141
|
|
|
112
142
|
/**
|
|
113
143
|
* @typedef {object} KnownBuildInfo
|
|
114
144
|
* @property {boolean=} cacheable
|
|
115
145
|
* @property {boolean=} parsed
|
|
116
|
-
* @property {
|
|
117
|
-
* @property {
|
|
118
|
-
* @property {
|
|
119
|
-
* @property {
|
|
120
|
-
* @property {
|
|
121
|
-
* @property {
|
|
122
|
-
* @property {
|
|
123
|
-
* @property {
|
|
124
|
-
* @property {
|
|
146
|
+
* @property {boolean=} strict
|
|
147
|
+
* @property {string=} moduleArgument using in AMD
|
|
148
|
+
* @property {string=} exportsArgument using in AMD
|
|
149
|
+
* @property {string=} moduleConcatenationBailout using in CommonJs
|
|
150
|
+
* @property {boolean=} needCreateRequire using in APIPlugin
|
|
151
|
+
* @property {string=} resourceIntegrity using in HttpUriPlugin
|
|
152
|
+
* @property {FileSystemDependencies=} fileDependencies using in NormalModule
|
|
153
|
+
* @property {FileSystemDependencies=} contextDependencies using in NormalModule
|
|
154
|
+
* @property {FileSystemDependencies=} missingDependencies using in NormalModule
|
|
155
|
+
* @property {FileSystemDependencies=} buildDependencies using in NormalModule
|
|
156
|
+
* @property {ValueCacheVersions=} valueDependencies using in NormalModule
|
|
157
|
+
* @property {Record<string, Source>=} assets using in NormalModule
|
|
158
|
+
* @property {Map<string, AssetInfo | undefined>=} assetsInfo using in NormalModule
|
|
159
|
+
* @property {string=} hash using in NormalModule
|
|
160
|
+
* @property {(Snapshot | null)=} snapshot using in ContextModule
|
|
161
|
+
* @property {string=} fullContentHash for assets modules
|
|
162
|
+
* @property {string=} filename for assets modules
|
|
163
|
+
* @property {boolean=} dataUrl for assets modules
|
|
164
|
+
* @property {AssetInfo=} assetInfo for assets modules
|
|
165
|
+
* @property {boolean=} javascriptModule for external modules
|
|
166
|
+
* @property {boolean=} active for lazy compilation modules
|
|
167
|
+
* @property {CssData=} cssData for css modules
|
|
168
|
+
* @property {JsonData=} jsonData for json modules
|
|
169
|
+
* @property {Set<string>=} topLevelDeclarations top level declaration names
|
|
125
170
|
*/
|
|
126
171
|
|
|
127
|
-
/** @typedef {
|
|
172
|
+
/** @typedef {string | Set<string>} ValueCacheVersion */
|
|
173
|
+
/** @typedef {Map<string, ValueCacheVersion>} ValueCacheVersions */
|
|
128
174
|
|
|
129
175
|
/**
|
|
130
176
|
* @typedef {object} NeedBuildContext
|
|
@@ -133,21 +179,24 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
133
179
|
* @property {ValueCacheVersions} valueCacheVersions
|
|
134
180
|
*/
|
|
135
181
|
|
|
136
|
-
/** @typedef {
|
|
137
|
-
|
|
182
|
+
/** @typedef {(err?: WebpackError | null, needBuild?: boolean) => void} NeedBuildCallback */
|
|
183
|
+
|
|
184
|
+
/** @typedef {(err?: WebpackError) => void} BuildCallback */
|
|
185
|
+
|
|
186
|
+
/** @typedef {KnownBuildMeta & Record<string, EXPECTED_ANY>} BuildMeta */
|
|
187
|
+
/** @typedef {KnownBuildInfo & Record<string, EXPECTED_ANY>} BuildInfo */
|
|
138
188
|
|
|
139
189
|
/**
|
|
140
190
|
* @typedef {object} FactoryMeta
|
|
141
191
|
* @property {boolean=} sideEffectFree
|
|
142
192
|
*/
|
|
143
193
|
|
|
144
|
-
/** @typedef {{ factoryMeta: FactoryMeta | undefined, resolveOptions: ResolveOptions | undefined }} UnsafeCacheData */
|
|
145
|
-
|
|
146
194
|
const EMPTY_RESOLVE_OPTIONS = {};
|
|
147
195
|
|
|
148
196
|
let debugId = 1000;
|
|
149
197
|
|
|
150
|
-
|
|
198
|
+
/** @type {SourceTypes} */
|
|
199
|
+
const DEFAULT_TYPES_UNKNOWN = new Set([UNKNOWN_TYPE]);
|
|
151
200
|
|
|
152
201
|
const deprecatedNeedRebuild = util.deprecate(
|
|
153
202
|
/**
|
|
@@ -164,6 +213,9 @@ const deprecatedNeedRebuild = util.deprecate(
|
|
|
164
213
|
"DEP_WEBPACK_MODULE_NEED_REBUILD"
|
|
165
214
|
);
|
|
166
215
|
|
|
216
|
+
/** @typedef {string} LibIdent */
|
|
217
|
+
/** @typedef {string} NameForCondition */
|
|
218
|
+
|
|
167
219
|
/** @typedef {(requestShortener: RequestShortener) => string} OptimizationBailoutFunction */
|
|
168
220
|
|
|
169
221
|
class Module extends DependenciesBlock {
|
|
@@ -201,6 +253,7 @@ class Module extends DependenciesBlock {
|
|
|
201
253
|
this.useSimpleSourceMap = false;
|
|
202
254
|
|
|
203
255
|
// Is in hot context, i.e. HotModuleReplacementPlugin.js enabled
|
|
256
|
+
// TODO do we need hot here?
|
|
204
257
|
/** @type {boolean} */
|
|
205
258
|
this.hot = false;
|
|
206
259
|
// Info from Build
|
|
@@ -382,7 +435,7 @@ class Module extends DependenciesBlock {
|
|
|
382
435
|
|
|
383
436
|
/**
|
|
384
437
|
* @deprecated
|
|
385
|
-
* @returns {
|
|
438
|
+
* @returns {OptimizationBailouts} list
|
|
386
439
|
*/
|
|
387
440
|
get optimizationBailout() {
|
|
388
441
|
return ModuleGraph.getModuleGraphForModule(
|
|
@@ -505,7 +558,7 @@ class Module extends DependenciesBlock {
|
|
|
505
558
|
/**
|
|
506
559
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
507
560
|
* @param {boolean | undefined} strict the importing module is strict
|
|
508
|
-
* @returns {
|
|
561
|
+
* @returns {ExportsType} export type
|
|
509
562
|
* "namespace": Exports is already a namespace object. namespace = exports.
|
|
510
563
|
* "dynamic": Check at runtime if __esModule is set. When set: namespace = { ...exports, default: exports }. When not set: namespace = { default: exports }.
|
|
511
564
|
* "default-only": Provide a namespace object with only default export. namespace = { default: exports }
|
|
@@ -721,8 +774,9 @@ class Module extends DependenciesBlock {
|
|
|
721
774
|
// 1. If module is in one of the chunks of the group we can continue checking the next items
|
|
722
775
|
// because it's accessible.
|
|
723
776
|
for (const chunk of cg.chunks) {
|
|
724
|
-
if (chunk !== ignoreChunk && chunkGraph.isModuleInChunk(this, chunk))
|
|
777
|
+
if (chunk !== ignoreChunk && chunkGraph.isModuleInChunk(this, chunk)) {
|
|
725
778
|
continue queueFor;
|
|
779
|
+
}
|
|
726
780
|
}
|
|
727
781
|
// 2. If the chunk group is initial, we can break here because it's not accessible.
|
|
728
782
|
if (chunkGroup.isInitial()) return false;
|
|
@@ -745,13 +799,14 @@ class Module extends DependenciesBlock {
|
|
|
745
799
|
fromModule,
|
|
746
800
|
connections
|
|
747
801
|
] of moduleGraph.getIncomingConnectionsByOriginModule(this)) {
|
|
748
|
-
if (!connections.some(c => c.isTargetActive(chunk.runtime))) continue;
|
|
802
|
+
if (!connections.some((c) => c.isTargetActive(chunk.runtime))) continue;
|
|
749
803
|
for (const originChunk of chunkGraph.getModuleChunksIterable(
|
|
750
804
|
/** @type {Module} */ (fromModule)
|
|
751
805
|
)) {
|
|
752
806
|
// return true if module this is not reachable from originChunk when ignoring chunk
|
|
753
|
-
if (!this.isAccessibleInChunk(chunkGraph, originChunk, chunk))
|
|
807
|
+
if (!this.isAccessibleInChunk(chunkGraph, originChunk, chunk)) {
|
|
754
808
|
return true;
|
|
809
|
+
}
|
|
755
810
|
}
|
|
756
811
|
}
|
|
757
812
|
return false;
|
|
@@ -778,7 +833,7 @@ class Module extends DependenciesBlock {
|
|
|
778
833
|
|
|
779
834
|
/**
|
|
780
835
|
* @param {NeedBuildContext} context context info
|
|
781
|
-
* @param {
|
|
836
|
+
* @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
|
|
782
837
|
* @returns {void}
|
|
783
838
|
*/
|
|
784
839
|
needBuild(context, callback) {
|
|
@@ -792,8 +847,8 @@ class Module extends DependenciesBlock {
|
|
|
792
847
|
|
|
793
848
|
/**
|
|
794
849
|
* @deprecated Use needBuild instead
|
|
795
|
-
* @param {Map<string, number|null>} fileTimestamps timestamps of files
|
|
796
|
-
* @param {Map<string, number|null>} contextTimestamps timestamps of directories
|
|
850
|
+
* @param {Map<string, number | null>} fileTimestamps timestamps of files
|
|
851
|
+
* @param {Map<string, number | null>} contextTimestamps timestamps of directories
|
|
797
852
|
* @returns {boolean} true, if the module needs a rebuild
|
|
798
853
|
*/
|
|
799
854
|
needRebuild(fileTimestamps, contextTimestamps) {
|
|
@@ -840,6 +895,7 @@ class Module extends DependenciesBlock {
|
|
|
840
895
|
*/
|
|
841
896
|
identifier() {
|
|
842
897
|
const AbstractMethodError = require("./AbstractMethodError");
|
|
898
|
+
|
|
843
899
|
throw new AbstractMethodError();
|
|
844
900
|
}
|
|
845
901
|
|
|
@@ -851,6 +907,7 @@ class Module extends DependenciesBlock {
|
|
|
851
907
|
*/
|
|
852
908
|
readableIdentifier(requestShortener) {
|
|
853
909
|
const AbstractMethodError = require("./AbstractMethodError");
|
|
910
|
+
|
|
854
911
|
throw new AbstractMethodError();
|
|
855
912
|
}
|
|
856
913
|
|
|
@@ -861,11 +918,12 @@ class Module extends DependenciesBlock {
|
|
|
861
918
|
* @param {Compilation} compilation the compilation
|
|
862
919
|
* @param {ResolverWithOptions} resolver the resolver
|
|
863
920
|
* @param {InputFileSystem} fs the file system
|
|
864
|
-
* @param {
|
|
921
|
+
* @param {BuildCallback} callback callback function
|
|
865
922
|
* @returns {void}
|
|
866
923
|
*/
|
|
867
924
|
build(options, compilation, resolver, fs, callback) {
|
|
868
925
|
const AbstractMethodError = require("./AbstractMethodError");
|
|
926
|
+
|
|
869
927
|
throw new AbstractMethodError();
|
|
870
928
|
}
|
|
871
929
|
|
|
@@ -878,7 +936,7 @@ class Module extends DependenciesBlock {
|
|
|
878
936
|
if (this.source === Module.prototype.source) {
|
|
879
937
|
return DEFAULT_TYPES_UNKNOWN;
|
|
880
938
|
}
|
|
881
|
-
return
|
|
939
|
+
return JAVASCRIPT_TYPES;
|
|
882
940
|
}
|
|
883
941
|
|
|
884
942
|
/**
|
|
@@ -886,12 +944,13 @@ class Module extends DependenciesBlock {
|
|
|
886
944
|
* @deprecated Use codeGeneration() instead
|
|
887
945
|
* @param {DependencyTemplates} dependencyTemplates the dependency templates
|
|
888
946
|
* @param {RuntimeTemplate} runtimeTemplate the runtime template
|
|
889
|
-
* @param {
|
|
947
|
+
* @param {SourceType=} type the type of source that should be generated
|
|
890
948
|
* @returns {Source} generated source
|
|
891
949
|
*/
|
|
892
|
-
source(dependencyTemplates, runtimeTemplate, type =
|
|
950
|
+
source(dependencyTemplates, runtimeTemplate, type = JAVASCRIPT_TYPE) {
|
|
893
951
|
if (this.codeGeneration === Module.prototype.codeGeneration) {
|
|
894
952
|
const AbstractMethodError = require("./AbstractMethodError");
|
|
953
|
+
|
|
895
954
|
throw new AbstractMethodError();
|
|
896
955
|
}
|
|
897
956
|
const chunkGraph = ChunkGraph.getChunkGraphForModule(
|
|
@@ -906,6 +965,7 @@ class Module extends DependenciesBlock {
|
|
|
906
965
|
moduleGraph: chunkGraph.moduleGraph,
|
|
907
966
|
chunkGraph,
|
|
908
967
|
runtime: undefined,
|
|
968
|
+
runtimes: [],
|
|
909
969
|
codeGenerationResults: undefined
|
|
910
970
|
};
|
|
911
971
|
const sources = this.codeGeneration(codeGenContext).sources;
|
|
@@ -913,7 +973,7 @@ class Module extends DependenciesBlock {
|
|
|
913
973
|
return /** @type {Source} */ (
|
|
914
974
|
type
|
|
915
975
|
? sources.get(type)
|
|
916
|
-
: sources.get(/** @type {
|
|
976
|
+
: sources.get(/** @type {SourceType} */ (first(this.getSourceTypes())))
|
|
917
977
|
);
|
|
918
978
|
}
|
|
919
979
|
|
|
@@ -925,19 +985,20 @@ class Module extends DependenciesBlock {
|
|
|
925
985
|
*/
|
|
926
986
|
size(type) {
|
|
927
987
|
const AbstractMethodError = require("./AbstractMethodError");
|
|
988
|
+
|
|
928
989
|
throw new AbstractMethodError();
|
|
929
990
|
}
|
|
930
991
|
|
|
931
992
|
/**
|
|
932
993
|
* @param {LibIdentOptions} options options
|
|
933
|
-
* @returns {
|
|
994
|
+
* @returns {LibIdent | null} an identifier for library inclusion
|
|
934
995
|
*/
|
|
935
996
|
libIdent(options) {
|
|
936
997
|
return null;
|
|
937
998
|
}
|
|
938
999
|
|
|
939
1000
|
/**
|
|
940
|
-
* @returns {
|
|
1001
|
+
* @returns {NameForCondition | null} absolute path which should be used for condition matching (usually the resource path)
|
|
941
1002
|
*/
|
|
942
1003
|
nameForCondition() {
|
|
943
1004
|
return null;
|
|
@@ -967,7 +1028,7 @@ class Module extends DependenciesBlock {
|
|
|
967
1028
|
// Best override this method
|
|
968
1029
|
const sources = new Map();
|
|
969
1030
|
for (const type of this.getSourceTypes()) {
|
|
970
|
-
if (type !==
|
|
1031
|
+
if (type !== UNKNOWN_TYPE) {
|
|
971
1032
|
sources.set(
|
|
972
1033
|
type,
|
|
973
1034
|
this.source(
|
|
@@ -1030,7 +1091,7 @@ class Module extends DependenciesBlock {
|
|
|
1030
1091
|
|
|
1031
1092
|
/**
|
|
1032
1093
|
* restore unsafe cache data
|
|
1033
|
-
* @param {
|
|
1094
|
+
* @param {UnsafeCacheData} unsafeCacheData data from getUnsafeCacheData
|
|
1034
1095
|
* @param {NormalModuleFactory} normalModuleFactory the normal module factory handling the unsafe caching
|
|
1035
1096
|
*/
|
|
1036
1097
|
_restoreFromUnsafeCache(unsafeCacheData, normalModuleFactory) {
|
|
@@ -1054,10 +1115,10 @@ class Module extends DependenciesBlock {
|
|
|
1054
1115
|
}
|
|
1055
1116
|
|
|
1056
1117
|
/**
|
|
1057
|
-
* @param {
|
|
1058
|
-
* @param {
|
|
1059
|
-
* @param {
|
|
1060
|
-
* @param {
|
|
1118
|
+
* @param {FileSystemDependencies} fileDependencies set where file dependencies are added to
|
|
1119
|
+
* @param {FileSystemDependencies} contextDependencies set where context dependencies are added to
|
|
1120
|
+
* @param {FileSystemDependencies} missingDependencies set where missing dependencies are added to
|
|
1121
|
+
* @param {FileSystemDependencies} buildDependencies set where build dependencies are added to
|
|
1061
1122
|
*/
|
|
1062
1123
|
addCacheDependencies(
|
|
1063
1124
|
fileDependencies,
|
|
@@ -1122,9 +1183,11 @@ class Module extends DependenciesBlock {
|
|
|
1122
1183
|
makeSerializable(Module, "webpack/lib/Module");
|
|
1123
1184
|
|
|
1124
1185
|
// TODO remove in webpack 6
|
|
1125
|
-
// eslint-disable-next-line no-warning-comments
|
|
1126
|
-
// @ts-ignore https://github.com/microsoft/TypeScript/issues/42919
|
|
1127
1186
|
Object.defineProperty(Module.prototype, "hasEqualsChunks", {
|
|
1187
|
+
/**
|
|
1188
|
+
* @deprecated
|
|
1189
|
+
* @returns {EXPECTED_ANY} throw an error
|
|
1190
|
+
*/
|
|
1128
1191
|
get() {
|
|
1129
1192
|
throw new Error(
|
|
1130
1193
|
"Module.hasEqualsChunks was renamed (use hasEqualChunks instead)"
|
|
@@ -1133,9 +1196,11 @@ Object.defineProperty(Module.prototype, "hasEqualsChunks", {
|
|
|
1133
1196
|
});
|
|
1134
1197
|
|
|
1135
1198
|
// TODO remove in webpack 6
|
|
1136
|
-
// eslint-disable-next-line no-warning-comments
|
|
1137
|
-
// @ts-ignore https://github.com/microsoft/TypeScript/issues/42919
|
|
1138
1199
|
Object.defineProperty(Module.prototype, "isUsed", {
|
|
1200
|
+
/**
|
|
1201
|
+
* @deprecated
|
|
1202
|
+
* @returns {EXPECTED_ANY} throw an error
|
|
1203
|
+
*/
|
|
1139
1204
|
get() {
|
|
1140
1205
|
throw new Error(
|
|
1141
1206
|
"Module.isUsed was renamed (use getUsedName, isExportUsed or isModuleUsed instead)"
|
|
@@ -1145,12 +1210,16 @@ Object.defineProperty(Module.prototype, "isUsed", {
|
|
|
1145
1210
|
|
|
1146
1211
|
// TODO remove in webpack 6
|
|
1147
1212
|
Object.defineProperty(Module.prototype, "errors", {
|
|
1213
|
+
/**
|
|
1214
|
+
* @deprecated
|
|
1215
|
+
* @returns {WebpackError[]} errors
|
|
1216
|
+
*/
|
|
1148
1217
|
get: util.deprecate(
|
|
1149
1218
|
/**
|
|
1150
1219
|
* @this {Module}
|
|
1151
|
-
* @returns {WebpackError[]}
|
|
1220
|
+
* @returns {WebpackError[]} errors
|
|
1152
1221
|
*/
|
|
1153
|
-
function () {
|
|
1222
|
+
function errors() {
|
|
1154
1223
|
if (this._errors === undefined) {
|
|
1155
1224
|
this._errors = [];
|
|
1156
1225
|
}
|
|
@@ -1163,12 +1232,16 @@ Object.defineProperty(Module.prototype, "errors", {
|
|
|
1163
1232
|
|
|
1164
1233
|
// TODO remove in webpack 6
|
|
1165
1234
|
Object.defineProperty(Module.prototype, "warnings", {
|
|
1235
|
+
/**
|
|
1236
|
+
* @deprecated
|
|
1237
|
+
* @returns {WebpackError[]} warnings
|
|
1238
|
+
*/
|
|
1166
1239
|
get: util.deprecate(
|
|
1167
1240
|
/**
|
|
1168
1241
|
* @this {Module}
|
|
1169
|
-
* @returns {WebpackError[]}
|
|
1242
|
+
* @returns {WebpackError[]} warnings
|
|
1170
1243
|
*/
|
|
1171
|
-
function () {
|
|
1244
|
+
function warnings() {
|
|
1172
1245
|
if (this._warnings === undefined) {
|
|
1173
1246
|
this._warnings = [];
|
|
1174
1247
|
}
|
|
@@ -1180,14 +1253,19 @@ Object.defineProperty(Module.prototype, "warnings", {
|
|
|
1180
1253
|
});
|
|
1181
1254
|
|
|
1182
1255
|
// TODO remove in webpack 6
|
|
1183
|
-
// eslint-disable-next-line no-warning-comments
|
|
1184
|
-
// @ts-ignore https://github.com/microsoft/TypeScript/issues/42919
|
|
1185
1256
|
Object.defineProperty(Module.prototype, "used", {
|
|
1257
|
+
/**
|
|
1258
|
+
* @deprecated
|
|
1259
|
+
* @returns {EXPECTED_ANY} throw an error
|
|
1260
|
+
*/
|
|
1186
1261
|
get() {
|
|
1187
1262
|
throw new Error(
|
|
1188
1263
|
"Module.used was refactored (use ModuleGraph.getUsedExports instead)"
|
|
1189
1264
|
);
|
|
1190
1265
|
},
|
|
1266
|
+
/**
|
|
1267
|
+
* @param {EXPECTED_ANY} value value
|
|
1268
|
+
*/
|
|
1191
1269
|
set(value) {
|
|
1192
1270
|
throw new Error(
|
|
1193
1271
|
"Module.used was refactored (use ModuleGraph.setUsedExports instead)"
|
package/lib/ModuleBuildError.js
CHANGED
|
@@ -12,10 +12,12 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
12
12
|
/** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
13
13
|
/** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
14
14
|
|
|
15
|
+
/** @typedef {Error & { hideStack?: boolean }} ErrorWithHideStack */
|
|
16
|
+
|
|
15
17
|
class ModuleBuildError extends WebpackError {
|
|
16
18
|
/**
|
|
17
|
-
* @param {string |
|
|
18
|
-
* @param {{from?: string|null}} info additional info
|
|
19
|
+
* @param {string | ErrorWithHideStack} err error thrown
|
|
20
|
+
* @param {{from?: string | null}} info additional info
|
|
19
21
|
*/
|
|
20
22
|
constructor(err, { from = null } = {}) {
|
|
21
23
|
let message = "Module build failed";
|
|
@@ -9,12 +9,13 @@ const WebpackError = require("./WebpackError");
|
|
|
9
9
|
|
|
10
10
|
/** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
|
|
11
11
|
/** @typedef {import("./Module")} Module */
|
|
12
|
+
/** @typedef {import("./ModuleBuildError").ErrorWithHideStack} ErrorWithHideStack */
|
|
12
13
|
|
|
13
14
|
class ModuleDependencyError extends WebpackError {
|
|
14
15
|
/**
|
|
15
16
|
* Creates an instance of ModuleDependencyError.
|
|
16
17
|
* @param {Module} module module tied to dependency
|
|
17
|
-
* @param {
|
|
18
|
+
* @param {ErrorWithHideStack} err error thrown
|
|
18
19
|
* @param {DependencyLocation} loc location of dependency
|
|
19
20
|
*/
|
|
20
21
|
constructor(module, err, loc) {
|
|
@@ -22,7 +23,7 @@ class ModuleDependencyError extends WebpackError {
|
|
|
22
23
|
|
|
23
24
|
this.name = "ModuleDependencyError";
|
|
24
25
|
this.details =
|
|
25
|
-
err && !
|
|
26
|
+
err && !err.hideStack
|
|
26
27
|
? /** @type {string} */ (err.stack).split("\n").slice(1).join("\n")
|
|
27
28
|
: undefined;
|
|
28
29
|
this.module = module;
|
|
@@ -30,7 +31,7 @@ class ModuleDependencyError extends WebpackError {
|
|
|
30
31
|
/** error is not (de)serialized, so it might be undefined after deserialization */
|
|
31
32
|
this.error = err;
|
|
32
33
|
|
|
33
|
-
if (err &&
|
|
34
|
+
if (err && err.hideStack && err.stack) {
|
|
34
35
|
this.stack = /** @type {string} */ `${err.stack
|
|
35
36
|
.split("\n")
|
|
36
37
|
.slice(1)
|
|
@@ -10,11 +10,12 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
10
10
|
|
|
11
11
|
/** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
|
|
12
12
|
/** @typedef {import("./Module")} Module */
|
|
13
|
+
/** @typedef {import("./ModuleDependencyError").ErrorWithHideStack} ErrorWithHideStack */
|
|
13
14
|
|
|
14
15
|
class ModuleDependencyWarning extends WebpackError {
|
|
15
16
|
/**
|
|
16
17
|
* @param {Module} module module tied to dependency
|
|
17
|
-
* @param {
|
|
18
|
+
* @param {ErrorWithHideStack} err error thrown
|
|
18
19
|
* @param {DependencyLocation} loc location of dependency
|
|
19
20
|
*/
|
|
20
21
|
constructor(module, err, loc) {
|
|
@@ -22,7 +23,7 @@ class ModuleDependencyWarning extends WebpackError {
|
|
|
22
23
|
|
|
23
24
|
this.name = "ModuleDependencyWarning";
|
|
24
25
|
this.details =
|
|
25
|
-
err && !
|
|
26
|
+
err && !err.hideStack
|
|
26
27
|
? /** @type {string} */ (err.stack).split("\n").slice(1).join("\n")
|
|
27
28
|
: undefined;
|
|
28
29
|
this.module = module;
|
|
@@ -30,7 +31,7 @@ class ModuleDependencyWarning extends WebpackError {
|
|
|
30
31
|
/** error is not (de)serialized, so it might be undefined after deserialization */
|
|
31
32
|
this.error = err;
|
|
32
33
|
|
|
33
|
-
if (err &&
|
|
34
|
+
if (err && err.hideStack && err.stack) {
|
|
34
35
|
this.stack = /** @type {string} */ `${err.stack
|
|
35
36
|
.split("\n")
|
|
36
37
|
.slice(1)
|
package/lib/ModuleError.js
CHANGED
|
@@ -15,7 +15,7 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
15
15
|
class ModuleError extends WebpackError {
|
|
16
16
|
/**
|
|
17
17
|
* @param {Error} err error thrown
|
|
18
|
-
* @param {{from?: string|null}} info additional info
|
|
18
|
+
* @param {{from?: string | null}} info additional info
|
|
19
19
|
*/
|
|
20
20
|
constructor(err, { from = null } = {}) {
|
|
21
21
|
let message = "Module Error";
|
package/lib/ModuleFactory.js
CHANGED
|
@@ -18,11 +18,13 @@
|
|
|
18
18
|
* @property {boolean=} cacheable allow to use the unsafe cache
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
+
/** @typedef {string | null} IssuerLayer */
|
|
22
|
+
|
|
21
23
|
/**
|
|
22
24
|
* @typedef {object} ModuleFactoryCreateDataContextInfo
|
|
23
25
|
* @property {string} issuer
|
|
24
|
-
* @property {
|
|
25
|
-
* @property {string} compiler
|
|
26
|
+
* @property {IssuerLayer} issuerLayer
|
|
27
|
+
* @property {string=} compiler
|
|
26
28
|
*/
|
|
27
29
|
|
|
28
30
|
/**
|
|
@@ -33,16 +35,21 @@
|
|
|
33
35
|
* @property {Dependency[]} dependencies
|
|
34
36
|
*/
|
|
35
37
|
|
|
38
|
+
/**
|
|
39
|
+
* @typedef {(err?: Error | null, result?: ModuleFactoryResult) => void} ModuleFactoryCallback
|
|
40
|
+
*/
|
|
41
|
+
|
|
36
42
|
class ModuleFactory {
|
|
37
43
|
/* istanbul ignore next */
|
|
38
44
|
/**
|
|
39
45
|
* @abstract
|
|
40
46
|
* @param {ModuleFactoryCreateData} data data object
|
|
41
|
-
* @param {
|
|
47
|
+
* @param {ModuleFactoryCallback} callback callback
|
|
42
48
|
* @returns {void}
|
|
43
49
|
*/
|
|
44
50
|
create(data, callback) {
|
|
45
51
|
const AbstractMethodError = require("./AbstractMethodError");
|
|
52
|
+
|
|
46
53
|
throw new AbstractMethodError();
|
|
47
54
|
}
|
|
48
55
|
}
|