@depup/webpack 5.109.0-depup.0 → 5.110.1-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/bin/webpack.js +12 -0
- package/changes.json +10 -10
- package/lib/APIPlugin.js +123 -17
- package/lib/AsyncDependenciesBlock.js +10 -7
- package/lib/AutomaticPrefetchPlugin.js +1 -1
- package/lib/BannerPlugin.js +10 -6
- package/lib/CacheFacade.js +6 -6
- package/lib/Chunk.js +14 -11
- package/lib/ChunkGraph.js +43 -32
- package/lib/ChunkGroup.js +7 -7
- package/lib/ChunkTemplate.js +35 -44
- package/lib/CircularModulesPlugin.js +205 -28
- package/lib/CleanPlugin.js +15 -16
- package/lib/CodeGenerationResults.js +11 -8
- package/lib/CompatibilityPlugin.js +38 -7
- package/lib/Compilation.js +709 -414
- package/lib/Compiler.js +69 -42
- package/lib/ConcatenationScope.js +117 -8
- package/lib/ConditionalInitFragment.js +3 -3
- package/lib/ConstPlugin.js +13 -11
- package/lib/ContextExclusionPlugin.js +1 -1
- package/lib/ContextModule.js +146 -54
- package/lib/ContextModuleFactory.js +46 -14
- package/lib/ContextReplacementPlugin.js +12 -14
- package/lib/DefinePlugin.js +168 -57
- package/lib/DependenciesBlock.js +9 -6
- package/lib/Dependency.js +36 -16
- package/lib/DependencyTemplate.js +11 -12
- package/lib/DependencyTemplates.js +3 -3
- package/lib/DotenvPlugin.js +50 -13
- package/lib/DynamicEntryPlugin.js +8 -4
- package/lib/EntryOptionPlugin.js +8 -4
- package/lib/EntryPlugin.js +2 -2
- package/lib/Entrypoint.js +6 -2
- package/lib/EnvironmentPlugin.js +2 -2
- package/lib/EvalDevToolModulePlugin.js +8 -4
- package/lib/EvalSourceMapDevToolPlugin.js +15 -8
- package/lib/ExportsInfo.js +123 -19
- package/lib/ExportsInfoApiPlugin.js +2 -4
- package/lib/ExternalModule.js +242 -84
- package/lib/ExternalModuleFactoryPlugin.js +97 -38
- package/lib/ExternalsPlugin.js +10 -6
- package/lib/FileSystemInfo.js +116 -42
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -3
- package/lib/FlagDependencyExportsPlugin.js +76 -19
- package/lib/FlagDependencyUsagePlugin.js +63 -57
- package/lib/FlagEntryExportAsUsedPlugin.js +1 -1
- package/lib/Generator.js +36 -15
- package/lib/HotModuleReplacementPlugin.js +16 -44
- package/lib/IgnorePlugin.js +8 -4
- package/lib/IgnoreWarningsPlugin.js +2 -2
- package/lib/InitFragment.js +28 -36
- package/lib/JavascriptMetaInfoPlugin.js +35 -4
- package/lib/LazyBarrel.js +3 -4
- package/lib/LibraryTemplatePlugin.js +10 -6
- package/lib/LoaderOptionsPlugin.js +7 -3
- package/lib/LoaderTargetPlugin.js +1 -1
- package/lib/MainTemplate.js +49 -42
- package/lib/ManifestPlugin.js +12 -11
- package/lib/Module.js +62 -33
- package/lib/ModuleFactory.js +3 -3
- package/lib/ModuleFilenameHelpers.js +22 -6
- package/lib/ModuleGraph.js +195 -21
- package/lib/ModuleGraphConnection.js +6 -13
- package/lib/ModuleInfoHeaderPlugin.js +8 -10
- package/lib/ModuleTemplate.js +62 -63
- package/lib/MultiCompiler.js +130 -64
- package/lib/MultiStats.js +40 -9
- package/lib/MultiWatching.js +3 -3
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +29 -19
- package/lib/NormalModule.js +221 -156
- package/lib/NormalModuleFactory.js +563 -112
- package/lib/NormalModuleReplacementPlugin.js +5 -8
- package/lib/NullFactory.js +6 -2
- package/lib/OptionsApply.js +7 -3
- package/lib/Parser.js +7 -3
- package/lib/PlatformPlugin.js +2 -2
- package/lib/PrefetchPlugin.js +1 -1
- package/lib/ProgressPlugin.js +16 -13
- package/lib/ProvidePlugin.js +3 -5
- package/lib/RawModule.js +25 -17
- package/lib/RecordIdsPlugin.js +3 -3
- package/lib/RequestShortener.js +1 -1
- package/lib/ResolverFactory.js +2 -2
- package/lib/RuntimeGlobals.js +22 -10
- package/lib/RuntimeModule.js +29 -19
- package/lib/RuntimePlugin.js +346 -256
- package/lib/RuntimeTemplate.js +2792 -352
- package/lib/SelfModuleFactory.js +7 -3
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +6 -2
- package/lib/SourceMapDevToolPlugin.js +30 -20
- package/lib/Stats.js +3 -4
- package/lib/Template.js +55 -25
- package/lib/TemplatedPathPlugin.js +96 -14
- package/lib/UseStrictPlugin.js +4 -6
- package/lib/WarnCaseSensitiveModulesPlugin.js +4 -4
- package/lib/WarnDeprecatedOptionPlugin.js +1 -1
- package/lib/WarnNoModeSetPlugin.js +1 -1
- package/lib/WatchIgnorePlugin.js +8 -6
- package/lib/Watching.js +8 -8
- package/lib/WebpackIsIncludedPlugin.js +2 -4
- package/lib/WebpackOptionsApply.js +308 -18
- package/lib/WebpackOptionsDefaulter.js +6 -2
- package/lib/asset/AssetBytesGenerator.js +12 -10
- package/lib/asset/AssetBytesParser.js +2 -4
- package/lib/asset/AssetGenerator.js +188 -95
- package/lib/asset/AssetModule.js +7 -3
- package/lib/asset/AssetModulesPlugin.js +110 -38
- package/lib/asset/AssetParser.js +9 -7
- package/lib/asset/AssetSourceGenerator.js +60 -13
- package/lib/asset/AssetSourceParser.js +2 -4
- package/lib/asset/RawDataUrlModule.js +24 -16
- package/lib/asset/WebManifestGenerator.js +8 -10
- package/lib/asset/WebManifestParser.js +24 -10
- package/lib/async-modules/AsyncModuleHelpers.js +2 -2
- package/lib/async-modules/AwaitDependenciesInitFragment.js +2 -2
- package/lib/async-modules/InferAsyncModulesPlugin.js +2 -2
- package/lib/async-modules/isGeneratorLowered.js +4 -4
- package/lib/buildChunkGraph.js +36 -27
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +1 -1
- package/lib/cache/AddManagedPathsPlugin.js +1 -1
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +18 -10
- package/lib/cache/MemoryWithGcCachePlugin.js +34 -22
- package/lib/cache/PackFileCacheStrategy.js +289 -28
- package/lib/cache/ResolverCachePlugin.js +38 -18
- package/lib/cache/getLazyHashedEtag.js +1 -2
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/cli.js +1 -3
- package/lib/config/browserslistTargetHandler.js +41 -5
- package/lib/config/defaults.js +282 -81
- package/lib/config/defineConfig.js +10 -2
- package/lib/config/getClaimedAssetTypes.js +65 -0
- package/lib/config/normalization.js +36 -16
- package/lib/config/target.js +46 -3
- package/lib/container/ContainerEntryDependency.js +1 -1
- package/lib/container/ContainerEntryModule.js +24 -15
- package/lib/container/ContainerEntryModuleFactory.js +7 -3
- package/lib/container/ContainerPlugin.js +9 -10
- package/lib/container/ContainerReferencePlugin.js +6 -2
- package/lib/container/FallbackDependency.js +1 -1
- package/lib/container/FallbackModule.js +24 -17
- package/lib/container/FallbackModuleFactory.js +7 -3
- package/lib/container/HoistContainerReferencesPlugin.js +53 -66
- package/lib/container/ModuleFederationPlugin.js +7 -18
- package/lib/container/RemoteModule.js +27 -19
- package/lib/container/RemoteRuntimeModule.js +10 -8
- package/lib/container/moduleFederationHooks.js +32 -0
- package/lib/css/CssGenerator.js +178 -44
- package/lib/css/CssInjectStyleRuntimeModule.js +7 -5
- package/lib/css/CssLoadingRuntimeModule.js +82 -36
- package/lib/css/CssModule.js +10 -7
- package/lib/css/CssModulesPlugin.js +197 -106
- package/lib/css/CssParser.js +1248 -618
- package/lib/css/CssServerStylesRuntimeModule.js +54 -0
- package/lib/css/cssMinify.js +168 -0
- package/lib/css/data.js +5324 -0
- package/lib/css/syntax.js +10396 -952
- package/lib/debug/ProfilingPlugin.js +14 -9
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/AMDDefineDependency.js +112 -87
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +30 -17
- package/lib/dependencies/AMDPlugin.js +9 -7
- package/lib/dependencies/AMDRequireArrayDependency.js +5 -5
- package/lib/dependencies/AMDRequireContextDependency.js +2 -2
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -1
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +25 -14
- package/lib/dependencies/AMDRequireDependency.js +8 -7
- package/lib/dependencies/AMDRequireItemDependency.js +1 -1
- package/lib/dependencies/AMDRuntimeModules.js +21 -1
- package/lib/dependencies/BuildTimeConstDependency.js +102 -0
- package/lib/dependencies/CachedConstDependency.js +11 -8
- package/lib/dependencies/CommonJsDependencyHelpers.js +67 -46
- package/lib/dependencies/CommonJsExportRequireDependency.js +140 -45
- package/lib/dependencies/CommonJsExportsDependency.js +53 -49
- package/lib/dependencies/CommonJsExportsParserPlugin.js +207 -25
- package/lib/dependencies/CommonJsFullRequireDependency.js +140 -26
- package/lib/dependencies/CommonJsImportsParserPlugin.js +100 -48
- package/lib/dependencies/CommonJsObjectExportDependency.js +188 -0
- package/lib/dependencies/CommonJsPlugin.js +35 -6
- package/lib/dependencies/CommonJsRequireContextDependency.js +5 -6
- package/lib/dependencies/CommonJsRequireDependency.js +156 -27
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +63 -38
- package/lib/dependencies/ConstDependency.js +8 -9
- package/lib/dependencies/ContextDependency.js +12 -8
- package/lib/dependencies/ContextDependencyHelpers.js +14 -9
- package/lib/dependencies/ContextDependencyTemplateAsId.js +4 -4
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +4 -4
- package/lib/dependencies/ContextElementDependency.js +31 -12
- package/lib/dependencies/CreateRequireParserPlugin.js +12 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -4
- package/lib/dependencies/CssIcssExportDependency.js +56 -28
- package/lib/dependencies/CssIcssImportDependency.js +17 -13
- package/lib/dependencies/CssIcssSymbolDependency.js +9 -10
- package/lib/dependencies/CssImportDependency.js +18 -9
- package/lib/dependencies/CssUrlDependency.js +17 -13
- package/lib/dependencies/DllEntryDependency.js +1 -1
- package/lib/dependencies/DynamicExports.js +2 -2
- package/lib/dependencies/ExportBindingInitFragment.js +36 -9
- package/lib/dependencies/ExportsInfoDependency.js +7 -8
- package/lib/dependencies/ExternalModuleDependency.js +9 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +2 -2
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +8 -5
- package/lib/dependencies/HarmonyAcceptDependency.js +5 -5
- package/lib/dependencies/HarmonyCompatibilityDependency.js +52 -17
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +11 -7
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +15 -11
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +78 -12
- package/lib/dependencies/HarmonyExportExpressionDependency.js +23 -18
- package/lib/dependencies/HarmonyExportHeaderDependency.js +7 -7
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +159 -71
- package/lib/dependencies/HarmonyExportInitFragment.js +18 -6
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +51 -14
- package/lib/dependencies/HarmonyExports.js +7 -4
- package/lib/dependencies/HarmonyImportDependency.js +28 -20
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +31 -24
- package/lib/dependencies/HarmonyImportGuard.js +21 -30
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +38 -9
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +106 -55
- package/lib/dependencies/HarmonyModulesPlugin.js +7 -3
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -3
- package/lib/dependencies/HtmlEntryDependency.js +37 -29
- package/lib/dependencies/HtmlInlineHtmlDependency.js +7 -8
- package/lib/dependencies/HtmlInlineScriptDependency.js +11 -8
- package/lib/dependencies/HtmlInlineStyleDependency.js +7 -10
- package/lib/dependencies/HtmlSourceDependency.js +22 -14
- package/lib/dependencies/ImportContextDependency.js +2 -2
- package/lib/dependencies/ImportDependency.js +24 -20
- package/lib/dependencies/ImportEagerDependency.js +6 -9
- package/lib/dependencies/ImportMetaContextDependency.js +2 -2
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +14 -13
- package/lib/dependencies/ImportMetaContextPlugin.js +7 -3
- package/lib/dependencies/ImportMetaGlobDependency.js +2 -2
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +2 -3
- package/lib/dependencies/ImportMetaGlobHelpers.js +19 -22
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -1
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -1
- package/lib/dependencies/ImportMetaPlugin.js +154 -71
- package/lib/dependencies/ImportMetaResolveDependency.js +3 -4
- package/lib/dependencies/ImportParserPlugin.js +49 -35
- package/lib/dependencies/ImportPhase.js +12 -5
- package/lib/dependencies/ImportPlugin.js +7 -3
- package/lib/dependencies/ImportWeakDependency.js +6 -9
- package/lib/dependencies/JsonExportsDependency.js +11 -7
- package/lib/dependencies/LoaderDependency.js +2 -2
- package/lib/dependencies/LoaderImportDependency.js +2 -2
- package/lib/dependencies/LoaderPlugin.js +11 -7
- package/lib/dependencies/LocalModuleDependency.js +5 -5
- package/lib/dependencies/LocalModulesHelpers.js +1 -1
- package/lib/dependencies/ModuleDecoratorDependency.js +6 -7
- package/lib/dependencies/ModuleDependency.js +9 -6
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +4 -4
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +3 -3
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -1
- package/lib/dependencies/ModuleHotDeclineDependency.js +1 -1
- package/lib/dependencies/ModuleInitFragmentDependency.js +24 -10
- package/lib/dependencies/NullDependency.js +3 -3
- package/lib/dependencies/ProvidedDependency.js +14 -10
- package/lib/dependencies/PureExpressionDependency.js +9 -10
- package/lib/dependencies/RequireContextDependency.js +2 -2
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -4
- package/lib/dependencies/RequireContextPlugin.js +8 -4
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +2 -2
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +5 -8
- package/lib/dependencies/RequireEnsureDependency.js +8 -7
- package/lib/dependencies/RequireEnsurePlugin.js +7 -3
- package/lib/dependencies/RequireHeaderDependency.js +51 -12
- package/lib/dependencies/RequireIncludeDependency.js +6 -6
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +2 -3
- package/lib/dependencies/RequireIncludePlugin.js +7 -3
- package/lib/dependencies/RequireJsStuffPlugin.js +7 -3
- package/lib/dependencies/RequireResolveContextDependency.js +2 -2
- package/lib/dependencies/RequireResolveDependency.js +4 -4
- package/lib/dependencies/RequireResolveHeaderDependency.js +4 -4
- package/lib/dependencies/RuntimeRequirementsDependency.js +5 -6
- package/lib/dependencies/StaticExportsDependency.js +2 -2
- package/lib/dependencies/SystemPlugin.js +10 -6
- package/lib/dependencies/SystemRuntimeModule.js +10 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +11 -7
- package/lib/dependencies/URLContextDependency.js +2 -2
- package/lib/dependencies/URLDependency.js +110 -64
- package/lib/dependencies/URLPlugin.js +7 -3
- package/lib/dependencies/UnsupportedDependency.js +4 -4
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +3 -4
- package/lib/dependencies/WebAssemblyImportDependency.js +5 -5
- package/lib/dependencies/WebpackIsIncludedDependency.js +6 -6
- package/lib/dependencies/WorkerAndWorkletPlugin.js +46 -28
- package/lib/dependencies/WorkerDependency.js +28 -22
- package/lib/dependencies/WorkletDependency.js +15 -14
- package/lib/dependencies/getFunctionExpression.js +8 -4
- package/lib/dependencies/processExportInfo.js +5 -5
- package/lib/dll/DelegatedModule.js +34 -22
- package/lib/dll/DelegatedModuleFactoryPlugin.js +15 -7
- package/lib/dll/DelegatedPlugin.js +2 -2
- package/lib/dll/DllEntryPlugin.js +2 -2
- package/lib/dll/DllModule.js +22 -15
- package/lib/dll/DllModuleFactory.js +7 -3
- package/lib/dll/DllPlugin.js +7 -5
- package/lib/dll/DllReferencePlugin.js +10 -7
- package/lib/dll/LibManifestPlugin.js +5 -5
- package/lib/electron/ElectronTargetPlugin.js +53 -49
- package/lib/errors/AsyncChunkWaterfallWarning.js +36 -0
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BroadContextsWarning.js +43 -0
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/errors/CacheEffectivenessWarning.js +55 -0
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CircularDependenciesWarning.js +38 -0
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingResourceHintsWarning.js +35 -0
- package/lib/errors/DuplicateModulesWarning.js +45 -0
- package/lib/errors/DynamicExportsWarning.js +30 -0
- package/lib/errors/EmbeddedSourceMapsWarning.js +25 -0
- package/lib/errors/EntrypointOverlapWarning.js +45 -0
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/errors/EvalUsageWarning.js +28 -0
- package/lib/errors/HookWebpackError.js +5 -5
- package/lib/errors/HotspotsWarning.js +57 -0
- package/lib/errors/IgnoreErrorModuleFactory.js +7 -3
- package/lib/errors/InlinedAssetsWarning.js +36 -0
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/errors/LargeModulesWarning.js +45 -0
- package/lib/errors/LegacyJavascriptWarning.js +48 -0
- package/lib/errors/MissingSideEffectsWarning.js +36 -0
- package/lib/errors/MixedExportsWarning.js +41 -0
- package/lib/errors/ModuleDependencyError.js +13 -16
- package/lib/errors/ModuleDependencyWarning.js +5 -15
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +2 -2
- package/lib/errors/ModuleParseError.js +1 -2
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/NodeStuffInWebError.js +1 -1
- package/lib/errors/OsDependentRuleWarning.js +31 -0
- package/lib/errors/PureAnnotationsWarning.js +36 -0
- package/lib/errors/RedundantDynamicImportWarning.js +31 -0
- package/lib/errors/ScopeHoistingBailoutsWarning.js +41 -0
- package/lib/errors/SplitChunksCappedWarning.js +41 -0
- package/lib/errors/TinyChunksWarning.js +40 -0
- package/lib/errors/TopLevelThisWarning.js +34 -0
- package/lib/errors/UnsplitVendorsWarning.js +42 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/errors/UnusedAliasesWarning.js +29 -0
- package/lib/errors/UnusedDefinesWarning.js +29 -0
- package/lib/errors/UnusedExternalsWarning.js +29 -0
- package/lib/errors/UnusedReexportsWarning.js +42 -0
- package/lib/errors/UnusedRuleWarning.js +29 -0
- package/lib/errors/WebpackError.js +9 -5
- package/lib/errors/deriveStackFromNestedError.js +90 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +37 -19
- package/lib/esm/ModuleChunkLoadingPlugin.js +89 -51
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +170 -71
- package/lib/hmr/HotModuleReplacement.runtime.js +24 -5
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -1
- package/lib/hmr/LazyCompilationPlugin.js +45 -24
- package/lib/hmr/lazyCompilationBackend.js +28 -10
- package/lib/hmr/parserHooks.js +56 -0
- package/lib/html/HtmlGenerator.js +299 -79
- package/lib/html/HtmlModule.js +7 -3
- package/lib/html/HtmlModulesPlugin.js +312 -174
- package/lib/html/HtmlParser.js +31 -86
- package/lib/html/data.js +1928 -0
- package/lib/html/htmlMinify.js +288 -0
- package/lib/html/syntax.js +7819 -3331
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -3
- package/lib/ids/DeterministicChunkIdsPlugin.js +1 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +2 -2
- package/lib/ids/HashedModuleIdsPlugin.js +6 -2
- package/lib/ids/IdHelpers.js +31 -18
- package/lib/ids/NamedChunkIdsPlugin.js +1 -1
- package/lib/ids/NamedModuleIdsPlugin.js +1 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +2 -2
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +7 -3
- package/lib/ids/OccurrenceModuleIdsPlugin.js +7 -3
- package/lib/ids/SyncModuleIdsPlugin.js +4 -4
- package/lib/index.js +10 -0
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +3 -3
- package/lib/javascript/BasicEvaluatedExpression.js +18 -14
- package/lib/javascript/ChunkFormatHelpers.js +6 -6
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/CommonJsChunkFormatPlugin.js +11 -5
- package/lib/javascript/EnableChunkLoadingPlugin.js +2 -2
- package/lib/javascript/JavascriptGenerator.js +65 -165
- package/lib/javascript/JavascriptModule.js +9 -3
- package/lib/javascript/JavascriptModulesPlugin.js +181 -162
- package/lib/javascript/JavascriptParser.js +291 -112
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/ScopeAnalyzer.js +1094 -0
- package/lib/javascript/StartupHelpers.js +55 -9
- package/lib/javascript/syntax.js +3403 -300
- package/lib/json/JsonData.js +8 -4
- package/lib/json/JsonGenerator.js +38 -16
- package/lib/json/JsonModule.js +7 -3
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +5 -6
- package/lib/library/AbstractLibraryPlugin.js +20 -14
- package/lib/library/AmdLibraryPlugin.js +11 -7
- package/lib/library/AssignLibraryPlugin.js +19 -13
- package/lib/library/EnableLibraryPlugin.js +2 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +15 -8
- package/lib/library/JsonpLibraryPlugin.js +11 -7
- package/lib/library/ModuleLibraryPlugin.js +256 -64
- package/lib/library/SystemLibraryPlugin.js +12 -8
- package/lib/library/UmdLibraryPlugin.js +62 -25
- package/lib/loaders/LoaderRunner.js +14 -1
- package/lib/loaders/loadLoader.js +8 -4
- package/lib/logging/createConsoleLogger.js +7 -4
- package/lib/node/CommonJsChunkLoadingPlugin.js +36 -22
- package/lib/node/NodeEnvironmentPlugin.js +17 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -3
- package/lib/node/NodeTemplatePlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +70 -9
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +81 -20
- package/lib/node/ReadFileCompileWasmPlugin.js +37 -17
- package/lib/node/RequireChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/nodeConsole.js +7 -3
- package/lib/optimize/AggressiveMergingPlugin.js +21 -17
- package/lib/optimize/AggressiveSplittingPlugin.js +9 -6
- package/lib/optimize/ConcatenatedModule.js +996 -477
- package/lib/optimize/ConstExportsPlugin.js +11 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -4
- package/lib/optimize/InlineExports.js +9 -5
- package/lib/optimize/InnerGraph.js +28 -12
- package/lib/optimize/InnerGraphPlugin.js +23 -18
- package/lib/optimize/LimitChunkCountPlugin.js +7 -3
- package/lib/optimize/MangleExportsPlugin.js +7 -8
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -3
- package/lib/optimize/MinChunkSizePlugin.js +7 -3
- package/lib/optimize/ModuleConcatenationPlugin.js +124 -59
- package/lib/optimize/RealContentHashPlugin.js +20 -13
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/RuntimeChunkPlugin.js +2 -2
- package/lib/optimize/SideEffectsFlagPlugin.js +262 -39
- package/lib/optimize/SplitChunksPlugin.js +232 -68
- package/lib/performance/AssetsOverSizeLimitWarning.js +10 -2
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +136 -0
- package/lib/performance/BroadContextsPlugin.js +142 -0
- package/lib/performance/CacheEffectivenessPlugin.js +125 -0
- package/lib/performance/ConflictingResourceHintsPlugin.js +99 -0
- package/lib/performance/DuplicateModulesPlugin.js +93 -0
- package/lib/performance/DuplicatePackagesPlugin.js +119 -0
- package/lib/performance/DuplicatePackagesWarning.js +84 -0
- package/lib/performance/DynamicExportsPlugin.js +120 -0
- package/lib/performance/EmbeddedSourceMapsPlugin.js +71 -0
- package/lib/performance/EntrypointOverlapPlugin.js +122 -0
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -1
- package/lib/performance/EvalUsagePlugin.js +115 -0
- package/lib/performance/HotspotsPlugin.js +296 -0
- package/lib/performance/InlinedAssetsPlugin.js +99 -0
- package/lib/performance/LargeModulesPlugin.js +126 -0
- package/lib/performance/LegacyJavascriptPlugin.js +139 -0
- package/lib/performance/MissingSideEffectsPlugin.js +138 -0
- package/lib/performance/MixedExportsPlugin.js +136 -0
- package/lib/performance/OsDependentRuleWarningPlugin.js +178 -0
- package/lib/performance/PureAnnotationsPlugin.js +219 -0
- package/lib/performance/RedundantDynamicImportsPlugin.js +225 -0
- package/lib/performance/RuntimeInLargeChunkWarning.js +27 -0
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +164 -0
- package/lib/performance/SizeLimitsPlugin.js +139 -7
- package/lib/performance/SplitChunksCappedPlugin.js +99 -0
- package/lib/performance/TinyChunksPlugin.js +128 -0
- package/lib/performance/TopLevelThisPlugin.js +208 -0
- package/lib/performance/UnsplitVendorsPlugin.js +112 -0
- package/lib/performance/UnusedAliasesPlugin.js +253 -0
- package/lib/performance/UnusedDefinesPlugin.js +87 -0
- package/lib/performance/UnusedExternalsPlugin.js +110 -0
- package/lib/performance/UnusedReexportsPlugin.js +159 -0
- package/lib/performance/UnusedRuleWarningPlugin.js +105 -0
- package/lib/performance/getModuleSize.js +22 -0
- package/lib/performance/getSourceModules.js +22 -0
- package/lib/performance/hasOnlyUnusedExports.js +40 -0
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +24 -10
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +63 -46
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +2 -3
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ResourceHintPlugin.js +377 -136
- package/lib/prefetch/ResourceHintRuntimeModule.js +1 -21
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +10 -133
- package/lib/prefetch/parseResourceHintOptions.js +31 -4
- package/lib/rules/BasicEffectRulePlugin.js +2 -2
- package/lib/rules/BasicMatcherRulePlugin.js +8 -4
- package/lib/rules/GlobMatcherRulePlugin.js +68 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +12 -5
- package/lib/rules/RuleSetCompiler.js +146 -12
- package/lib/rules/UseEffectRulePlugin.js +18 -11
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +11 -1
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
- package/lib/runtime/AutoPublicPathRuntimeModule.js +15 -20
- package/lib/runtime/BaseUriRuntimeModule.js +33 -7
- package/lib/runtime/ChunkNameRuntimeModule.js +10 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +11 -1
- package/lib/runtime/CompatRuntimeModule.js +5 -3
- package/lib/runtime/ConcatenationWrapRuntimeModule.js +90 -0
- package/lib/runtime/ConstructRequireRuntimeModule.js +52 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +8 -6
- package/lib/runtime/CreateScriptRuntimeModule.js +11 -1
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +11 -1
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +56 -38
- package/lib/runtime/EnsureChunkRuntimeModule.js +18 -2
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +62 -37
- package/lib/runtime/GetFullHashRuntimeModule.js +12 -2
- package/lib/runtime/GetMainFilenameRuntimeModule.js +12 -2
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -2
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +16 -3
- package/lib/runtime/GlobalRuntimeModule.js +18 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +12 -2
- package/lib/runtime/LoadScriptRuntimeModule.js +2 -2
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +23 -6
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +22 -6
- package/lib/runtime/NonceRuntimeModule.js +10 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -3
- package/lib/runtime/PublicPathRuntimeModule.js +12 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +11 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +12 -2
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +11 -1
- package/lib/runtime/StartupChunkDependenciesPlugin.js +18 -9
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +3 -3
- package/lib/runtime/StartupEntrypointRuntimeModule.js +21 -4
- package/lib/runtime/SystemContextRuntimeModule.js +10 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -1
- package/lib/runtime/WorkerRuntimeModule.js +11 -1
- package/lib/runtime/baseUri.js +63 -0
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +24 -15
- package/lib/schemes/VirtualUrlPlugin.js +13 -7
- package/lib/serialization/AggregateErrorSerializer.js +1 -1
- package/lib/serialization/BinaryMiddleware.js +274 -942
- package/lib/serialization/ErrorObjectSerializer.js +1 -1
- package/lib/serialization/FileMiddleware.js +305 -66
- package/lib/serialization/ObjectMiddleware.js +139 -114
- package/lib/serialization/PlainObjectSerializer.js +19 -16
- package/lib/sharing/ConsumeSharedModule.js +30 -21
- package/lib/sharing/ConsumeSharedPlugin.js +18 -10
- package/lib/sharing/ConsumeSharedRuntimeModule.js +6 -9
- package/lib/sharing/ProvideSharedModule.js +25 -16
- package/lib/sharing/ProvideSharedModuleFactory.js +7 -3
- package/lib/sharing/ProvideSharedPlugin.js +8 -4
- package/lib/sharing/SharePlugin.js +17 -5
- package/lib/sharing/ShareRuntimeModule.js +4 -4
- package/lib/sharing/resolveMatchedConfigs.js +9 -6
- package/lib/sharing/utils.js +1 -3
- package/lib/stats/DefaultStatsFactoryPlugin.js +253 -226
- package/lib/stats/DefaultStatsPresetPlugin.js +17 -8
- package/lib/stats/DefaultStatsPrinterPlugin.js +60 -192
- package/lib/stats/StatsFactory.js +56 -35
- package/lib/stats/StatsPrinter.js +16 -12
- package/lib/typescript/TypeScriptPlugin.js +12 -14
- package/lib/url/URLParserPlugin.js +26 -13
- package/lib/util/AsyncQueue.js +4 -3
- package/lib/util/Hash.js +5 -1
- package/lib/util/LazySet.js +35 -22
- package/lib/util/LocConverter.js +36 -13
- package/lib/util/SourceProcessor.js +1050 -24
- package/lib/util/StringXor.js +1 -1
- package/lib/util/chainedImports.js +9 -5
- package/lib/util/cleverMerge.js +1 -1
- package/lib/util/comparators.js +45 -14
- package/lib/util/concatenate.js +203 -77
- package/lib/util/conventions.js +5 -1
- package/lib/util/createHash.js +2 -2
- package/lib/util/createHooksRegistry.js +8 -10
- package/lib/util/dataURL.js +225 -1
- package/lib/util/extractSourceMap.js +4 -3
- package/lib/util/findCaseMismatch.js +139 -0
- package/lib/util/formatLocation.js +1 -2
- package/lib/util/fs.js +22 -5
- package/lib/util/globUtils.js +298 -24
- package/lib/util/hash/BatchedHash.js +5 -1
- package/lib/util/hash/BulkUpdateHash.js +5 -1
- package/lib/util/hash/DebugHash.js +5 -1
- package/lib/util/hash/hash-digest.js +6 -2
- package/lib/util/identifier.js +25 -1
- package/lib/util/implicitTypeLoaderFallback.js +1 -1
- package/lib/util/internalSerializables.js +6 -0
- package/lib/util/lazyModule.js +56 -0
- package/lib/util/makeSerializable.js +7 -3
- package/lib/util/matchAlias.js +25 -0
- package/lib/util/mimeTypes.js +11 -5
- package/lib/util/nonNumericOnlyHash.js +4 -3
- package/lib/util/parseJson.js +5 -3
- package/lib/util/preloadModuleType.js +32 -0
- package/lib/util/registerExternalSerializer.js +7 -5
- package/lib/util/runtime.js +2 -2
- package/lib/util/semver.js +1 -1
- package/lib/util/serialization.js +28 -28
- package/lib/util/source.js +2 -2
- package/lib/util/traverseDestructuringAssignmentProperties.js +6 -2
- package/lib/wasm/EnableWasmLoadingPlugin.js +10 -8
- package/lib/wasm/wasmModuleFilename.js +54 -0
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +41 -21
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +43 -21
- package/lib/wasm-async/AsyncWasmModule.js +3 -3
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +4 -5
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +57 -17
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +34 -18
- package/lib/wasm-async/AsyncWebAssemblyParser.js +9 -8
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +34 -8
- package/lib/wasm-sync/SyncWasmModule.js +2 -2
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +18 -13
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -5
- package/lib/wasm-sync/WebAssemblyGenerator.js +18 -17
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +4 -4
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +7 -7
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +24 -11
- package/lib/wasm-sync/WebAssemblyParser.js +4 -6
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
- package/lib/web/FetchCompileAsyncWasmPlugin.js +101 -19
- package/lib/web/FetchCompileWasmPlugin.js +46 -16
- package/lib/web/JsonpChunkLoadingPlugin.js +47 -23
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +50 -20
- package/lib/web/JsonpTemplatePlugin.js +2 -2
- package/lib/webpack.js +22 -11
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +60 -26
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +30 -32
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +1 -0
- package/package.json +37 -30
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +780 -91
- package/schemas/plugins/HtmlParserOptions.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.json +10 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +10 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/types.d.ts +4013 -738
- package/lib/runtime/CommonJsWrapRuntimeModule.js +0 -37
|
@@ -18,12 +18,15 @@ const {
|
|
|
18
18
|
toInlinedValue
|
|
19
19
|
} = require("./InlineExports");
|
|
20
20
|
|
|
21
|
-
/** @
|
|
22
|
-
/** @
|
|
23
|
-
/** @
|
|
24
|
-
/** @
|
|
25
|
-
/**
|
|
26
|
-
|
|
21
|
+
/** @import { InlinedValue } from "./InlineExports" */
|
|
22
|
+
/** @import Compiler from "../Compiler" */
|
|
23
|
+
/** @import ExportsInfo from "../ExportsInfo" */
|
|
24
|
+
/** @import JavascriptParser from "../javascript/JavascriptParser" */
|
|
25
|
+
/**
|
|
26
|
+
* @import {
|
|
27
|
+
* JavascriptModuleBuildInfo
|
|
28
|
+
* } from "../javascript/JavascriptModule"
|
|
29
|
+
*/
|
|
27
30
|
|
|
28
31
|
/** @typedef {{ inlineExports: boolean }} ConstValueParserPluginOptions */
|
|
29
32
|
|
|
@@ -207,5 +210,6 @@ class ConstExportsPlugin {
|
|
|
207
210
|
}
|
|
208
211
|
}
|
|
209
212
|
|
|
213
|
+
ConstExportsPlugin.CONST_BINDING_TAG = CONST_BINDING_TAG;
|
|
214
|
+
|
|
210
215
|
module.exports = ConstExportsPlugin;
|
|
211
|
-
module.exports.CONST_BINDING_TAG = CONST_BINDING_TAG;
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
const { STAGE_BASIC } = require("../OptimizationStages");
|
|
9
9
|
|
|
10
|
-
/** @
|
|
11
|
-
/** @
|
|
12
|
-
/** @
|
|
10
|
+
/** @import Chunk from "../Chunk" */
|
|
11
|
+
/** @import ChunkGroup from "../ChunkGroup" */
|
|
12
|
+
/** @import Compiler from "../Compiler" */
|
|
13
13
|
|
|
14
14
|
const PLUGIN_NAME = "EnsureChunkConditionsPlugin";
|
|
15
15
|
|
|
@@ -7,10 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
const { compareIds } = require("../util/comparators");
|
|
9
9
|
|
|
10
|
-
/** @
|
|
11
|
-
/** @
|
|
12
|
-
/** @
|
|
13
|
-
/** @typedef {import("../Module")} Module */
|
|
10
|
+
/** @import Chunk, { ChunkId } from "../Chunk" */
|
|
11
|
+
/** @import Compiler from "../Compiler" */
|
|
12
|
+
/** @import Module from "../Module" */
|
|
14
13
|
|
|
15
14
|
const PLUGIN_NAME = "FlagIncludedChunksPlugin";
|
|
16
15
|
|
|
@@ -8,11 +8,15 @@
|
|
|
8
8
|
const makeSerializable = require("../util/makeSerializable");
|
|
9
9
|
const { propertyAccess } = require("../util/property");
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @import {
|
|
13
|
+
* ObjectDeserializerContext,
|
|
14
|
+
* ObjectSerializerContext
|
|
15
|
+
* } from "../serialization/ObjectMiddleware"
|
|
16
|
+
*/
|
|
17
|
+
/** @import ModuleGraph from "../ModuleGraph" */
|
|
18
|
+
/** @import Module from "../Module" */
|
|
19
|
+
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
16
20
|
|
|
17
21
|
const MAX_INLINE_BYTES = 6;
|
|
18
22
|
|
|
@@ -8,13 +8,12 @@
|
|
|
8
8
|
const { UsageState } = require("../ExportsInfo");
|
|
9
9
|
const JavascriptParser = require("../javascript/JavascriptParser");
|
|
10
10
|
|
|
11
|
-
/** @
|
|
12
|
-
/** @
|
|
13
|
-
/** @
|
|
14
|
-
/** @
|
|
15
|
-
/** @
|
|
16
|
-
/** @
|
|
17
|
-
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
|
|
11
|
+
/** @import Compilation from "../Compilation" */
|
|
12
|
+
/** @import Dependency, { GetConditionFn } from "../Dependency" */
|
|
13
|
+
/** @import Module from "../Module" */
|
|
14
|
+
/** @import ModuleGraph from "../ModuleGraph" */
|
|
15
|
+
/** @import { ParserState } from "../Parser" */
|
|
16
|
+
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
18
17
|
|
|
19
18
|
/** @typedef {boolean | ((compilation: Compilation, module: Module) => boolean)} PureCondition */
|
|
20
19
|
/** @typedef {Set<string | TopLevelSymbol>} InnerGraphValueSet */
|
|
@@ -135,6 +134,15 @@ function isDependencyUsedByExports(
|
|
|
135
134
|
return true;
|
|
136
135
|
}
|
|
137
136
|
|
|
137
|
+
/**
|
|
138
|
+
* One condition per module graph rather than per dependency. The dependency the
|
|
139
|
+
* condition was built for is always the one on the connection it is called with
|
|
140
|
+
* (`ModuleGraph#setResolvedModule` is the only caller of `getCondition`, and it
|
|
141
|
+
* pairs the two), so it can be read off the connection instead of captured.
|
|
142
|
+
* @type {WeakMap<ModuleGraph, GetConditionFn>}
|
|
143
|
+
*/
|
|
144
|
+
const usedByExportsConditions = new WeakMap();
|
|
145
|
+
|
|
138
146
|
/**
|
|
139
147
|
* Returns dependency condition
|
|
140
148
|
* @param {Dependency} dependency the dependency
|
|
@@ -152,14 +160,22 @@ module.exports.getDependencyUsedByExportsCondition = (
|
|
|
152
160
|
return false;
|
|
153
161
|
case true:
|
|
154
162
|
return null;
|
|
155
|
-
default:
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
163
|
+
default: {
|
|
164
|
+
const existing = usedByExportsConditions.get(moduleGraph);
|
|
165
|
+
if (existing !== undefined) return existing;
|
|
166
|
+
/** @type {GetConditionFn} */
|
|
167
|
+
const condition = (connection, runtime) => {
|
|
168
|
+
const dep = /** @type {Dependency} */ (connection.dependency);
|
|
169
|
+
return isDependencyUsedByExports(
|
|
170
|
+
dep,
|
|
171
|
+
/** @type {DependencyWithUsedByExports} */ (dep).usedByExports,
|
|
160
172
|
moduleGraph,
|
|
161
173
|
runtime
|
|
162
174
|
);
|
|
175
|
+
};
|
|
176
|
+
usedByExportsConditions.set(moduleGraph, condition);
|
|
177
|
+
return condition;
|
|
178
|
+
}
|
|
163
179
|
}
|
|
164
180
|
};
|
|
165
181
|
|
|
@@ -17,24 +17,29 @@ const HarmonyImportSideEffectDependency = require("../dependencies/HarmonyImport
|
|
|
17
17
|
const PureExpressionDependency = require("../dependencies/PureExpressionDependency");
|
|
18
18
|
const { getInnerGraphUtils, topLevelSymbolTag } = require("./InnerGraph");
|
|
19
19
|
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
/** @
|
|
20
|
+
/**
|
|
21
|
+
* @import {
|
|
22
|
+
* CallExpression,
|
|
23
|
+
* ClassDeclaration,
|
|
24
|
+
* ClassExpression,
|
|
25
|
+
* Expression,
|
|
26
|
+
* MaybeNamedClassDeclaration,
|
|
27
|
+
* MaybeNamedFunctionDeclaration,
|
|
28
|
+
* Node,
|
|
29
|
+
* VariableDeclarator
|
|
30
|
+
* } from "estree"
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* @import {
|
|
34
|
+
* JavascriptParserOptions
|
|
35
|
+
* } from "../../declarations/WebpackOptions"
|
|
36
|
+
*/
|
|
37
|
+
/** @import Compilation from "../Compilation" */
|
|
38
|
+
/** @import Compiler from "../Compiler" */
|
|
39
|
+
/** @import Dependency from "../Dependency" */
|
|
40
|
+
/** @import Module from "../Module" */
|
|
41
|
+
/** @import JavascriptParser, { Range } from "../javascript/JavascriptParser" */
|
|
42
|
+
/** @import { TopLevelSymbol } from "./InnerGraph" */
|
|
38
43
|
|
|
39
44
|
const PLUGIN_NAME = "InnerGraphPlugin";
|
|
40
45
|
const impureVariableDeclarationKinds = new Set(["using", "await using"]);
|
|
@@ -9,9 +9,13 @@ const { STAGE_ADVANCED } = require("../OptimizationStages");
|
|
|
9
9
|
const LazyBucketSortedSet = require("../util/LazyBucketSortedSet");
|
|
10
10
|
const { compareChunks } = require("../util/comparators");
|
|
11
11
|
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @import {
|
|
14
|
+
* LimitChunkCountPluginOptions
|
|
15
|
+
* } from "../../declarations/plugins/optimize/LimitChunkCountPlugin"
|
|
16
|
+
*/
|
|
17
|
+
/** @import Chunk from "../Chunk" */
|
|
18
|
+
/** @import Compiler from "../Compiler" */
|
|
15
19
|
|
|
16
20
|
/**
|
|
17
21
|
* Defines the chunk combination type used by this module.
|
|
@@ -14,10 +14,9 @@ const {
|
|
|
14
14
|
const { assignDeterministicIds } = require("../ids/IdHelpers");
|
|
15
15
|
const { compareSelect, compareStringsNumeric } = require("../util/comparators");
|
|
16
16
|
|
|
17
|
-
/** @
|
|
18
|
-
/** @
|
|
19
|
-
/** @
|
|
20
|
-
/** @typedef {import("../util/concatenate").UsedNames} UsedNames */
|
|
17
|
+
/** @import Compiler from "../Compiler" */
|
|
18
|
+
/** @import ExportsInfo, { ExportInfo } from "../ExportsInfo" */
|
|
19
|
+
/** @import { UsedNames } from "../util/concatenate" */
|
|
21
20
|
|
|
22
21
|
/**
|
|
23
22
|
* Defines the comparator type used by this module.
|
|
@@ -44,7 +43,7 @@ const canMangle = (exportsInfo) => {
|
|
|
44
43
|
};
|
|
45
44
|
|
|
46
45
|
// Sort by name
|
|
47
|
-
/** @type {Comparator<ExportInfo
|
|
46
|
+
/** @type {Comparator<InstanceType<ExportInfo>>} */
|
|
48
47
|
const comparator = compareSelect((e) => e.name, compareStringsNumeric);
|
|
49
48
|
/**
|
|
50
49
|
* Mangle exports info.
|
|
@@ -57,7 +56,7 @@ const mangleExportsInfo = (deterministic, exportsInfo, isNamespace) => {
|
|
|
57
56
|
if (!canMangle(exportsInfo)) return;
|
|
58
57
|
/** @type {UsedNames} */
|
|
59
58
|
const usedNames = new Set();
|
|
60
|
-
/** @type {ExportInfo[]} */
|
|
59
|
+
/** @type {InstanceType<ExportInfo>[]} */
|
|
61
60
|
const mangleableExports = [];
|
|
62
61
|
|
|
63
62
|
// Avoid to renamed exports that are not provided when
|
|
@@ -130,9 +129,9 @@ const mangleExportsInfo = (deterministic, exportsInfo, isNamespace) => {
|
|
|
130
129
|
usedNames.size
|
|
131
130
|
);
|
|
132
131
|
} else {
|
|
133
|
-
/** @type {ExportInfo[]} */
|
|
132
|
+
/** @type {InstanceType<ExportInfo>[]} */
|
|
134
133
|
const usedExports = [];
|
|
135
|
-
/** @type {ExportInfo[]} */
|
|
134
|
+
/** @type {InstanceType<ExportInfo>[]} */
|
|
136
135
|
const unusedExports = [];
|
|
137
136
|
for (const exportInfo of mangleableExports) {
|
|
138
137
|
if (exportInfo.getUsed(undefined) === UsageState.Unused) {
|
|
@@ -8,9 +8,13 @@
|
|
|
8
8
|
const { STAGE_BASIC } = require("../OptimizationStages");
|
|
9
9
|
const { runtimeEqual } = require("../util/runtime");
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @import {
|
|
13
|
+
* MergeDuplicateChunksPluginOptions
|
|
14
|
+
* } from "../../declarations/plugins/optimize/MergeDuplicateChunksPlugin"
|
|
15
|
+
*/
|
|
16
|
+
/** @import Compiler from "../Compiler" */
|
|
17
|
+
/** @import Chunk from "../Chunk" */
|
|
14
18
|
|
|
15
19
|
const PLUGIN_NAME = "MergeDuplicateChunksPlugin";
|
|
16
20
|
|
|
@@ -7,9 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
const { STAGE_ADVANCED } = require("../OptimizationStages");
|
|
9
9
|
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
/**
|
|
11
|
+
* @import {
|
|
12
|
+
* MinChunkSizePluginOptions
|
|
13
|
+
* } from "../../declarations/plugins/optimize/MinChunkSizePlugin"
|
|
14
|
+
*/
|
|
15
|
+
/** @import Chunk from "../Chunk" */
|
|
16
|
+
/** @import Compiler from "../Compiler" */
|
|
13
17
|
|
|
14
18
|
const PLUGIN_NAME = "MinChunkSizePlugin";
|
|
15
19
|
|
|
@@ -12,10 +12,10 @@ const Module = require("../Module");
|
|
|
12
12
|
const ModuleGraph = require("../ModuleGraph");
|
|
13
13
|
const { JAVASCRIPT_TYPE } = require("../ModuleSourceTypeConstants");
|
|
14
14
|
const { STAGE_DEFAULT } = require("../OptimizationStages");
|
|
15
|
-
const CommonJsSelfReferenceDependency = require("../dependencies/CommonJsSelfReferenceDependency");
|
|
16
15
|
const HarmonyImportDependency = require("../dependencies/HarmonyImportDependency");
|
|
17
16
|
const { ImportPhaseUtils } = require("../dependencies/ImportPhase");
|
|
18
17
|
const { compareModulesByIdentifier } = require("../util/comparators");
|
|
18
|
+
const { isCommonJsConcatenationEnabled } = require("../util/concatenate");
|
|
19
19
|
const {
|
|
20
20
|
filterRuntime,
|
|
21
21
|
intersectRuntime,
|
|
@@ -25,13 +25,12 @@ const {
|
|
|
25
25
|
} = require("../util/runtime");
|
|
26
26
|
const ConcatenatedModule = require("./ConcatenatedModule");
|
|
27
27
|
|
|
28
|
-
/** @
|
|
29
|
-
/** @
|
|
30
|
-
/** @
|
|
31
|
-
/** @
|
|
32
|
-
/** @
|
|
33
|
-
/** @
|
|
34
|
-
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
|
|
28
|
+
/** @import Chunk from "../Chunk" */
|
|
29
|
+
/** @import Compilation from "../Compilation" */
|
|
30
|
+
/** @import Compiler from "../Compiler" */
|
|
31
|
+
/** @import { BuildInfo, BuildMeta } from "../Module" */
|
|
32
|
+
/** @import RequestShortener from "../RequestShortener" */
|
|
33
|
+
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
35
34
|
|
|
36
35
|
/** @typedef {Module | ((requestShortener: RequestShortener) => string)} Problem */
|
|
37
36
|
|
|
@@ -70,12 +69,36 @@ const getMergedModuleRuntime = (chunkGraph, cache, module) => {
|
|
|
70
69
|
* @property {number} added
|
|
71
70
|
*/
|
|
72
71
|
|
|
72
|
+
/**
|
|
73
|
+
* Record why `module` can't be added (so retried lookups hit the cache), bump
|
|
74
|
+
* the matching statistic, and return the problem to bubble up the recursion.
|
|
75
|
+
* Only reached on failure, so it stays off the hot success path.
|
|
76
|
+
* @param {Map<Module, Problem>} failureCache per-module failure cache
|
|
77
|
+
* @param {Statistics} statistics running statistics
|
|
78
|
+
* @param {keyof Statistics} statKey statistic to increment
|
|
79
|
+
* @param {Module} module the module that couldn't be added
|
|
80
|
+
* @param {Problem} problem the failure to cache and return
|
|
81
|
+
* @returns {Problem} the same problem
|
|
82
|
+
*/
|
|
83
|
+
const cacheFailure = (failureCache, statistics, statKey, module, problem) => {
|
|
84
|
+
statistics[statKey]++;
|
|
85
|
+
failureCache.set(module, problem);
|
|
86
|
+
return problem;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// Read back by `performance.scopeHoistingBailouts` to tell these reasons apart
|
|
90
|
+
// from the other kinds `getOptimizationBailout` collects.
|
|
91
|
+
const BAILOUT_PREFIX = "ModuleConcatenation bailout: ";
|
|
92
|
+
|
|
93
|
+
// A root's reason for rejecting another module, rather than the module's own.
|
|
94
|
+
const REJECTED_PREFIX = "Cannot concat with ";
|
|
95
|
+
|
|
73
96
|
/**
|
|
74
97
|
* Format bailout reason.
|
|
75
98
|
* @param {string} msg message
|
|
76
99
|
* @returns {string} formatted message
|
|
77
100
|
*/
|
|
78
|
-
const formatBailoutReason = (msg) =>
|
|
101
|
+
const formatBailoutReason = (msg) => `${BAILOUT_PREFIX}${msg}`;
|
|
79
102
|
|
|
80
103
|
const PLUGIN_NAME = "ModuleConcatenationPlugin";
|
|
81
104
|
|
|
@@ -143,7 +166,7 @@ class ModuleConcatenationPlugin {
|
|
|
143
166
|
const formatBailoutWarning = (module, problem) => (requestShortener) => {
|
|
144
167
|
if (typeof problem === "function") {
|
|
145
168
|
return formatBailoutReason(
|
|
146
|
-
|
|
169
|
+
`${REJECTED_PREFIX}${module.readableIdentifier(
|
|
147
170
|
requestShortener
|
|
148
171
|
)}: ${problem(requestShortener)}`
|
|
149
172
|
);
|
|
@@ -152,13 +175,13 @@ class ModuleConcatenationPlugin {
|
|
|
152
175
|
const reasonWithPrefix = reason ? `: ${reason}` : "";
|
|
153
176
|
if (module === problem) {
|
|
154
177
|
return formatBailoutReason(
|
|
155
|
-
|
|
178
|
+
`${REJECTED_PREFIX}${module.readableIdentifier(
|
|
156
179
|
requestShortener
|
|
157
180
|
)}${reasonWithPrefix}`
|
|
158
181
|
);
|
|
159
182
|
}
|
|
160
183
|
return formatBailoutReason(
|
|
161
|
-
|
|
184
|
+
`${REJECTED_PREFIX}${module.readableIdentifier(
|
|
162
185
|
requestShortener
|
|
163
186
|
)} because of ${problem.readableIdentifier(
|
|
164
187
|
requestShortener
|
|
@@ -180,16 +203,14 @@ class ModuleConcatenationPlugin {
|
|
|
180
203
|
const relevantModules = [];
|
|
181
204
|
/** @type {Set<Module>} */
|
|
182
205
|
const possibleInners = new Set();
|
|
183
|
-
|
|
184
|
-
|
|
206
|
+
// commonjs concatenation defaults to on; { commonjs: false } opts out
|
|
207
|
+
const concatenateCommonJsModules = isCommonJsConcatenationEnabled(
|
|
208
|
+
compilation.options.optimization.concatenateModules
|
|
209
|
+
);
|
|
185
210
|
const context = {
|
|
186
211
|
chunkGraph,
|
|
187
212
|
moduleGraph,
|
|
188
|
-
|
|
189
|
-
concatenateCommonJsModules:
|
|
190
|
-
typeof concatenateModules === "object"
|
|
191
|
-
? concatenateModules.commonjs !== false
|
|
192
|
-
: concatenateModules === true
|
|
213
|
+
concatenateCommonJsModules
|
|
193
214
|
};
|
|
194
215
|
const deferEnabled = compilation.options.experiments.deferImport;
|
|
195
216
|
logger.time("select relevant modules");
|
|
@@ -514,7 +535,10 @@ class ModuleConcatenationPlugin {
|
|
|
514
535
|
c.originModule === m &&
|
|
515
536
|
!(
|
|
516
537
|
c.dependency &&
|
|
517
|
-
Dependency.canConcatenate(
|
|
538
|
+
Dependency.canConcatenate(
|
|
539
|
+
c.dependency,
|
|
540
|
+
concatenateCommonJsModules
|
|
541
|
+
) &&
|
|
518
542
|
modules.has(c.module)
|
|
519
543
|
)
|
|
520
544
|
);
|
|
@@ -558,7 +582,10 @@ class ModuleConcatenationPlugin {
|
|
|
558
582
|
c.module === rootModule ? c.originModule : c.module;
|
|
559
583
|
const innerConnection =
|
|
560
584
|
c.dependency &&
|
|
561
|
-
Dependency.canConcatenate(
|
|
585
|
+
Dependency.canConcatenate(
|
|
586
|
+
c.dependency,
|
|
587
|
+
concatenateCommonJsModules
|
|
588
|
+
) &&
|
|
562
589
|
modules.has(/** @type {Module} */ (otherModule));
|
|
563
590
|
return !innerConnection;
|
|
564
591
|
}
|
|
@@ -610,11 +637,14 @@ class ModuleConcatenationPlugin {
|
|
|
610
637
|
*/
|
|
611
638
|
_getImports(compilation, module, runtime) {
|
|
612
639
|
const moduleGraph = compilation.moduleGraph;
|
|
640
|
+
const concatenateCommonJsModules = isCommonJsConcatenationEnabled(
|
|
641
|
+
compilation.options.optimization.concatenateModules
|
|
642
|
+
);
|
|
613
643
|
/** @type {Set<Module>} */
|
|
614
644
|
const set = new Set();
|
|
615
645
|
for (const dep of module.dependencies) {
|
|
616
646
|
// Get reference info only for dependencies that support concatenation
|
|
617
|
-
if (!Dependency.canConcatenate(dep)) continue;
|
|
647
|
+
if (!Dependency.canConcatenate(dep, concatenateCommonJsModules)) continue;
|
|
618
648
|
|
|
619
649
|
const connection = moduleGraph.getConnection(dep);
|
|
620
650
|
// Reference is valid and has a module
|
|
@@ -687,9 +717,13 @@ class ModuleConcatenationPlugin {
|
|
|
687
717
|
|
|
688
718
|
// Not possible to add?
|
|
689
719
|
if (!possibleModules.has(module)) {
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
720
|
+
return cacheFailure(
|
|
721
|
+
failureCache,
|
|
722
|
+
statistics,
|
|
723
|
+
"invalidModule",
|
|
724
|
+
module,
|
|
725
|
+
module
|
|
726
|
+
);
|
|
693
727
|
}
|
|
694
728
|
|
|
695
729
|
// A deferred import must stay a concatenation boundary: concatenating a
|
|
@@ -707,9 +741,13 @@ class ModuleConcatenationPlugin {
|
|
|
707
741
|
`Module ${module.readableIdentifier(
|
|
708
742
|
requestShortener
|
|
709
743
|
)} imports a module in this configuration via import defer`;
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
744
|
+
return cacheFailure(
|
|
745
|
+
failureCache,
|
|
746
|
+
statistics,
|
|
747
|
+
"incorrectDependency",
|
|
748
|
+
module,
|
|
749
|
+
problem
|
|
750
|
+
);
|
|
713
751
|
}
|
|
714
752
|
|
|
715
753
|
// Module must be in the correct chunks
|
|
@@ -741,9 +779,13 @@ class ModuleConcatenationPlugin {
|
|
|
741
779
|
", "
|
|
742
780
|
)}, module is in chunk(s) ${chunks.join(", ")})`;
|
|
743
781
|
};
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
782
|
+
return cacheFailure(
|
|
783
|
+
failureCache,
|
|
784
|
+
statistics,
|
|
785
|
+
"incorrectChunks",
|
|
786
|
+
module,
|
|
787
|
+
problem
|
|
788
|
+
);
|
|
747
789
|
}
|
|
748
790
|
|
|
749
791
|
const moduleGraph = compilation.moduleGraph;
|
|
@@ -782,13 +824,17 @@ class ModuleConcatenationPlugin {
|
|
|
782
824
|
: "in an unsupported way"
|
|
783
825
|
}`;
|
|
784
826
|
};
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
827
|
+
return cacheFailure(
|
|
828
|
+
failureCache,
|
|
829
|
+
statistics,
|
|
830
|
+
"incorrectDependency",
|
|
831
|
+
module,
|
|
832
|
+
problem
|
|
833
|
+
);
|
|
788
834
|
}
|
|
789
835
|
}
|
|
790
836
|
|
|
791
|
-
/** @type {Map<Module, ReadonlyArray<ModuleGraph.ModuleGraphConnection
|
|
837
|
+
/** @type {Map<Module, ReadonlyArray<InstanceType<ModuleGraph.ModuleGraphConnection>>>} */
|
|
792
838
|
const incomingConnectionsFromModules = new Map();
|
|
793
839
|
for (const [originModule, connections] of incomingConnections) {
|
|
794
840
|
if (originModule) {
|
|
@@ -841,37 +887,41 @@ class ModuleConcatenationPlugin {
|
|
|
841
887
|
", "
|
|
842
888
|
)}`;
|
|
843
889
|
};
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
890
|
+
return cacheFailure(
|
|
891
|
+
failureCache,
|
|
892
|
+
statistics,
|
|
893
|
+
"incorrectChunksOfImporter",
|
|
894
|
+
module,
|
|
895
|
+
problem
|
|
896
|
+
);
|
|
847
897
|
}
|
|
848
898
|
|
|
849
|
-
|
|
850
|
-
|
|
899
|
+
const concatenateCommonJsModules = isCommonJsConcatenationEnabled(
|
|
900
|
+
compilation.options.optimization.concatenateModules
|
|
901
|
+
);
|
|
902
|
+
/** @type {Map<Module, ReadonlyArray<InstanceType<ModuleGraph.ModuleGraphConnection>>>} */
|
|
903
|
+
const nonTargetConnections = new Map();
|
|
851
904
|
for (const [originModule, connections] of incomingConnectionsFromModules) {
|
|
852
905
|
const selected = connections.filter(
|
|
853
906
|
(connection) =>
|
|
854
907
|
!connection.dependency ||
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
originModule === module &&
|
|
860
|
-
connection.dependency instanceof CommonJsSelfReferenceDependency
|
|
861
|
-
))
|
|
908
|
+
!Dependency.canConcatenate(
|
|
909
|
+
connection.dependency,
|
|
910
|
+
concatenateCommonJsModules
|
|
911
|
+
)
|
|
862
912
|
);
|
|
863
913
|
if (selected.length > 0) {
|
|
864
|
-
|
|
914
|
+
nonTargetConnections.set(originModule, selected);
|
|
865
915
|
}
|
|
866
916
|
}
|
|
867
|
-
if (
|
|
917
|
+
if (nonTargetConnections.size > 0) {
|
|
868
918
|
/**
|
|
869
919
|
* Returns problem description.
|
|
870
920
|
* @param {RequestShortener} requestShortener request shortener
|
|
871
921
|
* @returns {string} problem description
|
|
872
922
|
*/
|
|
873
923
|
const problem = (requestShortener) => {
|
|
874
|
-
const names = [...
|
|
924
|
+
const names = [...nonTargetConnections]
|
|
875
925
|
.map(
|
|
876
926
|
([originModule, connections]) =>
|
|
877
927
|
`${originModule.readableIdentifier(
|
|
@@ -893,9 +943,13 @@ class ModuleConcatenationPlugin {
|
|
|
893
943
|
", "
|
|
894
944
|
)}`;
|
|
895
945
|
};
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
946
|
+
return cacheFailure(
|
|
947
|
+
failureCache,
|
|
948
|
+
statistics,
|
|
949
|
+
"incorrectModuleDependency",
|
|
950
|
+
module,
|
|
951
|
+
problem
|
|
952
|
+
);
|
|
899
953
|
}
|
|
900
954
|
|
|
901
955
|
if (runtime !== undefined && typeof runtime !== "string") {
|
|
@@ -946,9 +1000,13 @@ class ModuleConcatenationPlugin {
|
|
|
946
1000
|
/** @type {RuntimeSpec} */ (runtimeCondition)
|
|
947
1001
|
)})`
|
|
948
1002
|
).join(", ")}`;
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
1003
|
+
return cacheFailure(
|
|
1004
|
+
failureCache,
|
|
1005
|
+
statistics,
|
|
1006
|
+
"incorrectRuntimeCondition",
|
|
1007
|
+
module,
|
|
1008
|
+
problem
|
|
1009
|
+
);
|
|
952
1010
|
}
|
|
953
1011
|
}
|
|
954
1012
|
|
|
@@ -981,9 +1039,13 @@ class ModuleConcatenationPlugin {
|
|
|
981
1039
|
);
|
|
982
1040
|
if (problem) {
|
|
983
1041
|
if (backup !== undefined) config.rollback(backup);
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
1042
|
+
return cacheFailure(
|
|
1043
|
+
failureCache,
|
|
1044
|
+
statistics,
|
|
1045
|
+
"importerFailed",
|
|
1046
|
+
module,
|
|
1047
|
+
problem
|
|
1048
|
+
);
|
|
987
1049
|
}
|
|
988
1050
|
}
|
|
989
1051
|
|
|
@@ -1093,4 +1155,7 @@ class ConcatConfiguration {
|
|
|
1093
1155
|
}
|
|
1094
1156
|
}
|
|
1095
1157
|
|
|
1158
|
+
ModuleConcatenationPlugin.BAILOUT_PREFIX = BAILOUT_PREFIX;
|
|
1159
|
+
ModuleConcatenationPlugin.REJECTED_PREFIX = REJECTED_PREFIX;
|
|
1160
|
+
|
|
1096
1161
|
module.exports = ModuleConcatenationPlugin;
|