@depup/webpack 5.109.2-depup.0 → 5.110.3-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 +5 -5
- package/changes.json +7 -7
- 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 +46 -35
- package/lib/ChunkGroup.js +7 -7
- package/lib/ChunkTemplate.js +35 -44
- package/lib/CircularModulesPlugin.js +205 -28
- package/lib/CleanPlugin.js +4 -7
- package/lib/CodeGenerationResults.js +11 -8
- package/lib/CompatibilityPlugin.js +7 -7
- package/lib/Compilation.js +688 -409
- package/lib/Compiler.js +53 -38
- package/lib/ConcatenationScope.js +107 -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 +121 -37
- 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 +91 -26
- 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 +111 -14
- package/lib/ExportsInfoApiPlugin.js +2 -4
- package/lib/ExternalModule.js +232 -77
- package/lib/ExternalModuleFactoryPlugin.js +97 -38
- package/lib/ExternalsPlugin.js +10 -6
- package/lib/FileSystemInfo.js +44 -70
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -3
- package/lib/FlagDependencyExportsPlugin.js +76 -19
- package/lib/FlagDependencyUsagePlugin.js +40 -49
- 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 +8 -4
- 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 +9 -4
- 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 +152 -103
- package/lib/NormalModuleFactory.js +555 -110
- 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 +335 -169
- package/lib/RuntimeTemplate.js +2761 -316
- 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 +32 -22
- 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 +12 -6
- 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 +30 -23
- 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 +270 -78
- package/lib/config/defineConfig.js +10 -2
- package/lib/config/getClaimedAssetTypes.js +65 -0
- package/lib/config/normalization.js +46 -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 +6 -11
- package/lib/container/ModuleFederationPlugin.js +7 -24
- 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 +171 -43
- package/lib/css/CssInjectStyleRuntimeModule.js +7 -5
- package/lib/css/CssLoadingRuntimeModule.js +84 -32
- package/lib/css/CssModule.js +10 -7
- package/lib/css/CssModulesPlugin.js +172 -100
- package/lib/css/CssParser.js +1113 -568
- package/lib/css/CssServerStylesRuntimeModule.js +54 -0
- package/lib/css/cssMinify.js +168 -0
- package/lib/css/data.js +5334 -0
- package/lib/css/syntax.js +9647 -232
- 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 +121 -45
- package/lib/dependencies/CommonJsExportsDependency.js +53 -49
- package/lib/dependencies/CommonJsExportsParserPlugin.js +207 -25
- package/lib/dependencies/CommonJsFullRequireDependency.js +119 -34
- package/lib/dependencies/CommonJsImportsParserPlugin.js +100 -50
- 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 +170 -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 +24 -11
- 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 +23 -14
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +80 -12
- package/lib/dependencies/HarmonyExportExpressionDependency.js +23 -18
- package/lib/dependencies/HarmonyExportHeaderDependency.js +7 -7
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +286 -80
- 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 +121 -60
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +124 -38
- package/lib/dependencies/HarmonyImportGuard.js +20 -30
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +152 -9
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +97 -49
- package/lib/dependencies/HarmonyModulesPlugin.js +7 -3
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -3
- package/lib/dependencies/HtmlEntryDependency.js +49 -31
- 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 +45 -5
- package/lib/dependencies/ImportDependency.js +33 -50
- 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 +73 -49
- 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 +50 -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 +47 -28
- package/lib/dependencies/WorkerDependency.js +22 -22
- package/lib/dependencies/WorkletDependency.js +18 -21
- package/lib/dependencies/getFunctionExpression.js +8 -4
- package/lib/dependencies/importOptionsCheck.js +47 -0
- 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/DotenvFileError.js +29 -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/ImportedBindingAssignmentError.js +30 -0
- 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 +86 -51
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +161 -62
- 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 +9 -6
- package/lib/hmr/parserHooks.js +56 -0
- package/lib/html/HtmlGenerator.js +277 -77
- package/lib/html/HtmlModule.js +7 -3
- package/lib/html/HtmlModulesPlugin.js +366 -200
- 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 +6034 -1384
- 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 +7 -8
- 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 +103 -123
- package/lib/javascript/JavascriptParser.js +242 -99
- 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 +2678 -232
- 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 +47 -6
- 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 +65 -19
- package/lib/node/ReadFileCompileWasmPlugin.js +28 -16
- package/lib/node/RequireChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/nodeConsole.js +7 -3
- package/lib/optimize/AggressiveMergingPlugin.js +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +9 -6
- package/lib/optimize/ConcatenatedModule.js +1030 -476
- package/lib/optimize/ConstExportsPlugin.js +16 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -4
- package/lib/optimize/InlineExports.js +130 -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 +51 -35
- package/lib/optimize/RealContentHashPlugin.js +121 -41
- 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 +86 -24
- 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 +295 -79
- 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 +6 -2
- 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 +34 -7
- 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 +46 -20
- package/lib/schemes/VirtualUrlPlugin.js +13 -7
- package/lib/serialization/AggregateErrorSerializer.js +1 -1
- package/lib/serialization/BinaryMiddleware.js +4 -4
- package/lib/serialization/ErrorObjectSerializer.js +1 -1
- package/lib/serialization/FileMiddleware.js +22 -9
- 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 +50 -29
- package/lib/stats/DefaultStatsPresetPlugin.js +17 -8
- package/lib/stats/DefaultStatsPrinterPlugin.js +36 -26
- package/lib/stats/StatsFactory.js +25 -26
- package/lib/stats/StatsPrinter.js +16 -12
- package/lib/typescript/TypeScriptPlugin.js +20 -24
- package/lib/url/URLParserPlugin.js +26 -13
- package/lib/util/ArrayQueue.js +3 -3
- 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 +1066 -24
- package/lib/util/StringXor.js +1 -1
- package/lib/util/URLAbsoluteSpecifier.js +3 -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 +10 -2
- package/lib/util/createHash.js +2 -2
- package/lib/util/createHooksRegistry.js +8 -10
- package/lib/util/createMappings.js +25 -3
- 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 +4 -0
- package/lib/util/implicitTypeLoaderFallback.js +1 -1
- package/lib/util/internalSerializables.js +8 -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/removeBOM.js +82 -1
- 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 +43 -21
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +45 -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 +29 -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 +105 -19
- package/lib/web/FetchCompileWasmPlugin.js +48 -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 +32 -25
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +667 -34
- 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 +3223 -465
- package/lib/runtime/CommonJsWrapRuntimeModule.js +0 -37
|
@@ -11,9 +11,9 @@ const {
|
|
|
11
11
|
compareModulesByPreOrderIndexOrIdentifier
|
|
12
12
|
} = require("../util/comparators");
|
|
13
13
|
|
|
14
|
-
/** @
|
|
15
|
-
/** @
|
|
16
|
-
/** @
|
|
14
|
+
/** @import Compiler from "../Compiler" */
|
|
15
|
+
/** @import Module from "../Module" */
|
|
16
|
+
/** @import { ModuleComparator } from "../ChunkGraph" */
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Defines the chunk module id range plugin options type used by this module.
|
|
@@ -14,8 +14,8 @@ const {
|
|
|
14
14
|
getUsedModuleIdsAndModules
|
|
15
15
|
} = require("./IdHelpers");
|
|
16
16
|
|
|
17
|
-
/** @
|
|
18
|
-
/** @
|
|
17
|
+
/** @import Compiler from "../Compiler" */
|
|
18
|
+
/** @import Module from "../Module" */
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Defines the deterministic module ids plugin options type used by this module.
|
|
@@ -15,8 +15,12 @@ const {
|
|
|
15
15
|
getUsedModuleIdsAndModules
|
|
16
16
|
} = require("./IdHelpers");
|
|
17
17
|
|
|
18
|
-
/**
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* @import {
|
|
20
|
+
* HashedModuleIdsPluginOptions
|
|
21
|
+
* } from "../../declarations/plugins/ids/HashedModuleIdsPlugin"
|
|
22
|
+
*/
|
|
23
|
+
/** @import Compiler from "../Compiler" */
|
|
20
24
|
|
|
21
25
|
const PLUGIN_NAME = "HashedModuleIdsPlugin";
|
|
22
26
|
|
package/lib/ids/IdHelpers.js
CHANGED
|
@@ -9,14 +9,13 @@ const createHash = require("../util/createHash");
|
|
|
9
9
|
const { makePathsRelative } = require("../util/identifier");
|
|
10
10
|
const numberHash = require("../util/numberHash");
|
|
11
11
|
|
|
12
|
-
/** @
|
|
13
|
-
/** @
|
|
14
|
-
/** @
|
|
15
|
-
/** @
|
|
16
|
-
/** @
|
|
17
|
-
/** @
|
|
18
|
-
/** @
|
|
19
|
-
/** @typedef {import("../css/CssModule").CssModuleBuildMeta} CssModuleBuildMeta */
|
|
12
|
+
/** @import Chunk from "../Chunk" */
|
|
13
|
+
/** @import ChunkGraph from "../ChunkGraph" */
|
|
14
|
+
/** @import Compilation from "../Compilation" */
|
|
15
|
+
/** @import Module from "../Module" */
|
|
16
|
+
/** @import { HashFunction } from "../util/Hash" */
|
|
17
|
+
/** @import { AssociatedObjectForCache } from "../util/identifier" */
|
|
18
|
+
/** @import { CssModuleBuildMeta } from "../css/CssModule" */
|
|
20
19
|
|
|
21
20
|
// Numbers longer than this are written in exponential form ("...e+xx"), so a
|
|
22
21
|
// longer string can't be a plain integer id.
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
const { compareChunksNatural } = require("../util/comparators");
|
|
9
9
|
const { assignAscendingChunkIds } = require("./IdHelpers");
|
|
10
10
|
|
|
11
|
-
/** @
|
|
12
|
-
/** @
|
|
11
|
+
/** @import Chunk from "../Chunk" */
|
|
12
|
+
/** @import Compiler from "../Compiler" */
|
|
13
13
|
|
|
14
14
|
const PLUGIN_NAME = "NaturalChunkIdsPlugin";
|
|
15
15
|
|
|
@@ -8,9 +8,13 @@
|
|
|
8
8
|
const { compareChunksNatural } = require("../util/comparators");
|
|
9
9
|
const { assignAscendingChunkIds } = require("./IdHelpers");
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @import {
|
|
13
|
+
* OccurrenceChunkIdsPluginOptions
|
|
14
|
+
* } from "../../declarations/plugins/ids/OccurrenceChunkIdsPlugin"
|
|
15
|
+
*/
|
|
16
|
+
/** @import Chunk from "../Chunk" */
|
|
17
|
+
/** @import Compiler from "../Compiler" */
|
|
14
18
|
|
|
15
19
|
const PLUGIN_NAME = "OccurrenceChunkIdsPlugin";
|
|
16
20
|
|
|
@@ -13,9 +13,13 @@ const {
|
|
|
13
13
|
getUsedModuleIdsAndModules
|
|
14
14
|
} = require("./IdHelpers");
|
|
15
15
|
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
/**
|
|
17
|
+
* @import {
|
|
18
|
+
* OccurrenceModuleIdsPluginOptions
|
|
19
|
+
* } from "../../declarations/plugins/ids/OccurrenceModuleIdsPlugin"
|
|
20
|
+
*/
|
|
21
|
+
/** @import Compiler from "../Compiler" */
|
|
22
|
+
/** @import Module from "../Module" */
|
|
19
23
|
|
|
20
24
|
const PLUGIN_NAME = "OccurrenceModuleIdsPlugin";
|
|
21
25
|
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
const { WebpackError } = require("..");
|
|
9
9
|
const { getUsedModuleIdsAndModules } = require("./IdHelpers");
|
|
10
10
|
|
|
11
|
-
/** @
|
|
12
|
-
/** @
|
|
13
|
-
/** @
|
|
14
|
-
/** @
|
|
11
|
+
/** @import { ModuleId } from "../ChunkGraph" */
|
|
12
|
+
/** @import Compiler from "../Compiler" */
|
|
13
|
+
/** @import Module from "../Module" */
|
|
14
|
+
/** @import { IntermediateFileSystem } from "../util/fs" */
|
|
15
15
|
|
|
16
16
|
/** @typedef {{ [key: string]: ModuleId }} JSONContent */
|
|
17
17
|
|
package/lib/index.js
CHANGED
|
@@ -603,12 +603,22 @@ module.exports = mergeExports(fn, {
|
|
|
603
603
|
css: {
|
|
604
604
|
get CssModulesPlugin() {
|
|
605
605
|
return require("./css/CssModulesPlugin");
|
|
606
|
+
},
|
|
607
|
+
// Experimental native CSS parser + safe minifying serializer (its
|
|
608
|
+
// `SourceProcessor` / `printer` exports carry the `@experimental` tag).
|
|
609
|
+
get syntax() {
|
|
610
|
+
return require("./css/syntax");
|
|
606
611
|
}
|
|
607
612
|
},
|
|
608
613
|
|
|
609
614
|
html: {
|
|
610
615
|
get HtmlModulesPlugin() {
|
|
611
616
|
return require("./html/HtmlModulesPlugin");
|
|
617
|
+
},
|
|
618
|
+
// Experimental native HTML parser + safe minifying serializer (its
|
|
619
|
+
// `SourceProcessor` / `printer` exports carry the `@experimental` tag).
|
|
620
|
+
get syntax() {
|
|
621
|
+
return require("./html/syntax");
|
|
612
622
|
}
|
|
613
623
|
},
|
|
614
624
|
|
|
@@ -15,9 +15,9 @@ const {
|
|
|
15
15
|
updateHashForEntryStartup
|
|
16
16
|
} = require("./StartupHelpers");
|
|
17
17
|
|
|
18
|
-
/** @
|
|
19
|
-
/** @
|
|
20
|
-
/** @
|
|
18
|
+
/** @import Compiler from "../Compiler" */
|
|
19
|
+
/** @import { EntryModuleWithChunkGroup } from "../ChunkGraph" */
|
|
20
|
+
/** @import CodeGenerationResults from "../CodeGenerationResults" */
|
|
21
21
|
|
|
22
22
|
const PLUGIN_NAME = "ArrayPushCallbackChunkFormatPlugin";
|
|
23
23
|
|
|
@@ -5,12 +5,16 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
/** @
|
|
9
|
-
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
/** @import { Node } from "estree" */
|
|
9
|
+
/**
|
|
10
|
+
* @import {
|
|
11
|
+
* Range,
|
|
12
|
+
* VariableInfo,
|
|
13
|
+
* Members,
|
|
14
|
+
* MembersOptionals,
|
|
15
|
+
* MemberRanges
|
|
16
|
+
* } from "./JavascriptParser"
|
|
17
|
+
*/
|
|
14
18
|
|
|
15
19
|
const TypeUnknown = 0;
|
|
16
20
|
const TypeUndefined = 1;
|
|
@@ -302,32 +306,32 @@ class BasicEvaluatedExpression {
|
|
|
302
306
|
}
|
|
303
307
|
|
|
304
308
|
/**
|
|
305
|
-
* @returns {string | VariableInfo | undefined} identifier
|
|
309
|
+
* @returns {string | InstanceType<VariableInfo> | undefined} identifier
|
|
306
310
|
*/
|
|
307
311
|
get identifier() {
|
|
308
312
|
return this.type === TypeIdentifier
|
|
309
|
-
? /** @type {string | VariableInfo} */ (this._v1)
|
|
313
|
+
? /** @type {string | InstanceType<VariableInfo>} */ (this._v1)
|
|
310
314
|
: undefined;
|
|
311
315
|
}
|
|
312
316
|
|
|
313
317
|
/**
|
|
314
|
-
* @param {string | VariableInfo | undefined} value identifier
|
|
318
|
+
* @param {string | InstanceType<VariableInfo> | undefined} value identifier
|
|
315
319
|
*/
|
|
316
320
|
set identifier(value) {
|
|
317
321
|
this._v1 = value;
|
|
318
322
|
}
|
|
319
323
|
|
|
320
324
|
/**
|
|
321
|
-
* @returns {string | VariableInfo | undefined} root info
|
|
325
|
+
* @returns {string | InstanceType<VariableInfo> | undefined} root info
|
|
322
326
|
*/
|
|
323
327
|
get rootInfo() {
|
|
324
328
|
return this.type === TypeIdentifier
|
|
325
|
-
? /** @type {string | VariableInfo} */ (this._v2)
|
|
329
|
+
? /** @type {string | InstanceType<VariableInfo>} */ (this._v2)
|
|
326
330
|
: undefined;
|
|
327
331
|
}
|
|
328
332
|
|
|
329
333
|
/**
|
|
330
|
-
* @param {string | VariableInfo | undefined} value root info
|
|
334
|
+
* @param {string | InstanceType<VariableInfo> | undefined} value root info
|
|
331
335
|
*/
|
|
332
336
|
set rootInfo(value) {
|
|
333
337
|
this._v2 = value;
|
|
@@ -692,8 +696,8 @@ class BasicEvaluatedExpression {
|
|
|
692
696
|
|
|
693
697
|
/**
|
|
694
698
|
* Set's the value of this expression to a particular identifier and its members.
|
|
695
|
-
* @param {string | VariableInfo} identifier identifier to set
|
|
696
|
-
* @param {string | VariableInfo} rootInfo root info
|
|
699
|
+
* @param {string | InstanceType<VariableInfo>} identifier identifier to set
|
|
700
|
+
* @param {string | InstanceType<VariableInfo>} rootInfo root info
|
|
697
701
|
* @param {GetMembers} getMembers members
|
|
698
702
|
* @param {GetMembersOptionals=} getMembersOptionals optional members
|
|
699
703
|
* @param {GetMemberRanges=} getMemberRanges ranges of progressively increasing sub-expressions
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
const { updateHashForEntryStartup } = require("./StartupHelpers");
|
|
9
9
|
|
|
10
|
-
/** @
|
|
11
|
-
/** @
|
|
12
|
-
/** @
|
|
13
|
-
/** @
|
|
14
|
-
/** @
|
|
15
|
-
/** @
|
|
10
|
+
/** @import ChunkGraph from "../ChunkGraph" */
|
|
11
|
+
/** @import Module from "../Module" */
|
|
12
|
+
/** @import Chunk from "../Chunk" */
|
|
13
|
+
/** @import Entrypoint from "../Entrypoint" */
|
|
14
|
+
/** @import Hash from "../util/Hash" */
|
|
15
|
+
/** @import { ChunkHashContext } from "../Compilation" */
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Returns } Object containing chunk entries and runtime chunk.
|
|
@@ -17,10 +17,13 @@ const {
|
|
|
17
17
|
getChunkFilenameTemplate,
|
|
18
18
|
getCompilationHooks
|
|
19
19
|
} = require("./JavascriptModulesPlugin");
|
|
20
|
-
const {
|
|
20
|
+
const {
|
|
21
|
+
entryStartupAwaitsChunks,
|
|
22
|
+
generateEntryStartup
|
|
23
|
+
} = require("./StartupHelpers");
|
|
21
24
|
|
|
22
|
-
/** @
|
|
23
|
-
/** @
|
|
25
|
+
/** @import Chunk from "../Chunk" */
|
|
26
|
+
/** @import Compiler from "../Compiler" */
|
|
24
27
|
|
|
25
28
|
const PLUGIN_NAME = "CommonJsChunkFormatPlugin";
|
|
26
29
|
|
|
@@ -38,7 +41,11 @@ class CommonJsChunkFormatPlugin {
|
|
|
38
41
|
if (chunk.hasRuntime()) return;
|
|
39
42
|
if (chunkGraph.getNumberOfEntryModules(chunk) > 0) {
|
|
40
43
|
set.add(RuntimeGlobals.require);
|
|
41
|
-
|
|
44
|
+
// An entry with nothing to wait for is called straight, so the
|
|
45
|
+
// helper that waits would have no call site.
|
|
46
|
+
if (entryStartupAwaitsChunks(chunkGraph, chunk)) {
|
|
47
|
+
set.add(RuntimeGlobals.startupEntrypoint);
|
|
48
|
+
}
|
|
42
49
|
set.add(RuntimeGlobals.externalInstallChunk);
|
|
43
50
|
}
|
|
44
51
|
}
|
|
@@ -47,7 +54,6 @@ class CommonJsChunkFormatPlugin {
|
|
|
47
54
|
hooks.renderChunk.tap(PLUGIN_NAME, (modules, renderContext) => {
|
|
48
55
|
const { chunk, chunkGraph, runtimeTemplate } = renderContext;
|
|
49
56
|
const source = new ConcatSource();
|
|
50
|
-
source.add(`exports.id = ${JSON.stringify(chunk.id)};\n`);
|
|
51
57
|
source.add(`exports.ids = ${JSON.stringify(chunk.ids)};\n`);
|
|
52
58
|
source.add("exports.modules = ");
|
|
53
59
|
source.add(modules);
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
/** @
|
|
9
|
-
/** @
|
|
8
|
+
/** @import { ChunkLoadingType } from "../../declarations/WebpackOptions" */
|
|
9
|
+
/** @import Compiler from "../Compiler" */
|
|
10
10
|
|
|
11
11
|
/** @typedef {Set<ChunkLoadingType>} ChunkLoadingTypes */
|
|
12
12
|
|
|
@@ -10,29 +10,29 @@ const { RawSource, ReplaceSource } = require("webpack-sources");
|
|
|
10
10
|
const Generator = require("../Generator");
|
|
11
11
|
const InitFragment = require("../InitFragment");
|
|
12
12
|
const { JAVASCRIPT_TYPES } = require("../ModuleSourceTypeConstants");
|
|
13
|
+
|
|
13
14
|
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
14
|
-
const CommonJsExportsDependency = require("../dependencies/CommonJsExportsDependency");
|
|
15
|
-
const CommonJsFullRequireDependency = require("../dependencies/CommonJsFullRequireDependency");
|
|
16
|
-
const CommonJsRequireDependency = require("../dependencies/CommonJsRequireDependency");
|
|
17
|
-
const CommonJsSelfReferenceDependency = require("../dependencies/CommonJsSelfReferenceDependency");
|
|
18
|
-
const ContextDependency = require("../dependencies/ContextDependency");
|
|
19
15
|
const HarmonyCompatibilityDependency = require("../dependencies/HarmonyCompatibilityDependency");
|
|
20
|
-
const ImportDependency = require("../dependencies/ImportDependency");
|
|
21
|
-
const RequireResolveDependency = require("../dependencies/RequireResolveDependency");
|
|
22
16
|
|
|
23
|
-
/** @
|
|
24
|
-
/** @
|
|
25
|
-
/** @
|
|
26
|
-
/** @
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
/** @
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
|
|
17
|
+
/** @import { Source } from "webpack-sources" */
|
|
18
|
+
/** @import { DependencyConstructor } from "../Compilation" */
|
|
19
|
+
/** @import DependenciesBlock from "../DependenciesBlock" */
|
|
20
|
+
/** @import Dependency from "../Dependency" */
|
|
21
|
+
/**
|
|
22
|
+
* @import DependencyTemplate, {
|
|
23
|
+
* DependencyTemplateContext
|
|
24
|
+
* } from "../DependencyTemplate"
|
|
25
|
+
*/
|
|
26
|
+
/** @import { GenerateContext } from "../Generator" */
|
|
27
|
+
/**
|
|
28
|
+
* @import Module, {
|
|
29
|
+
* ConcatenationBailoutReasonContext,
|
|
30
|
+
* SourceType,
|
|
31
|
+
* SourceTypes
|
|
32
|
+
* } from "../Module"
|
|
33
|
+
*/
|
|
34
|
+
/** @import { JavascriptModuleBuildInfo } from "./JavascriptModule" */
|
|
35
|
+
/** @import NormalModule from "../NormalModule" */
|
|
36
36
|
|
|
37
37
|
const DEFAULT_SOURCE = {
|
|
38
38
|
source() {
|
|
@@ -50,21 +50,6 @@ const DEFAULT_SOURCE = {
|
|
|
50
50
|
// TODO: clean up this file
|
|
51
51
|
// replace with newer constructs
|
|
52
52
|
|
|
53
|
-
// Runtime requirements whose presence on a presentational dependency means the
|
|
54
|
-
// code references the module/exports objects, which do not exist for an inner
|
|
55
|
-
// concatenated module (e.g. `module.id`, `module.hot`, top-level `this`).
|
|
56
|
-
/** @type {ReadonlySet<string>} */
|
|
57
|
-
const CONCATENATION_INCOMPATIBLE_RUNTIME_REQUIREMENTS = new Set([
|
|
58
|
-
RuntimeGlobals.module,
|
|
59
|
-
RuntimeGlobals.moduleId,
|
|
60
|
-
RuntimeGlobals.moduleLoaded,
|
|
61
|
-
RuntimeGlobals.moduleCache,
|
|
62
|
-
RuntimeGlobals.exports,
|
|
63
|
-
RuntimeGlobals.thisAsExports,
|
|
64
|
-
RuntimeGlobals.harmonyModuleDecorator,
|
|
65
|
-
RuntimeGlobals.nodeModuleDecorator
|
|
66
|
-
]);
|
|
67
|
-
|
|
68
53
|
// A wrapped CommonJS module keeps real `module`/`exports` objects and top-level
|
|
69
54
|
// `this`, so only requirements that need a module object webpack does not
|
|
70
55
|
// synthesize here (id, loaded state, cache, decorators) block wrapping.
|
|
@@ -77,116 +62,6 @@ const WRAPPING_INCOMPATIBLE_RUNTIME_REQUIREMENTS = new Set([
|
|
|
77
62
|
RuntimeGlobals.nodeModuleDecorator
|
|
78
63
|
]);
|
|
79
64
|
|
|
80
|
-
/**
|
|
81
|
-
* Returns the reason a CommonJS module cannot take part in concatenation at
|
|
82
|
-
* all — neither hoisted (as a "nice" module) nor wrapped. A module passing
|
|
83
|
-
* this check can be hoisted or wrapped; {@link isCommonJsHoistable} decides
|
|
84
|
-
* which.
|
|
85
|
-
* @param {NormalModule} module the module
|
|
86
|
-
* @returns {string | undefined} reason it can't be concatenated
|
|
87
|
-
*/
|
|
88
|
-
const getCommonJsConcatenationBailoutReason = (module) => {
|
|
89
|
-
const buildMeta = module.buildMeta;
|
|
90
|
-
// "flagged"/"default" are hoistable; a dynamic (undefined) exports type is a
|
|
91
|
-
// reassigned/computed `module.exports`, only reachable by wrapping. Proper ESM
|
|
92
|
-
// modules ("namespace") never reach this path.
|
|
93
|
-
if (
|
|
94
|
-
!buildMeta ||
|
|
95
|
-
(buildMeta.exportsType !== "flagged" &&
|
|
96
|
-
buildMeta.exportsType !== "default" &&
|
|
97
|
-
buildMeta.exportsType !== undefined)
|
|
98
|
-
) {
|
|
99
|
-
return "Module is not an ECMAScript module";
|
|
100
|
-
}
|
|
101
|
-
// Sloppy-mode modules bail out in ModuleConcatenationPlugin anyway,
|
|
102
|
-
// so skip the dependency scan for them (most of node_modules)
|
|
103
|
-
if (!(/** @type {JavascriptModuleBuildInfo} */ (module.buildInfo).strict)) {
|
|
104
|
-
return "Module is not in strict mode";
|
|
105
|
-
}
|
|
106
|
-
const wrapped = !isCommonJsHoistable(module);
|
|
107
|
-
// A dynamic exports type only makes sense when wrapping; a hoistable module
|
|
108
|
-
// with no static exports keeps its previous (bailed) behavior.
|
|
109
|
-
if (buildMeta.exportsType === undefined && !wrapped) {
|
|
110
|
-
return "Module is not an ECMAScript module";
|
|
111
|
-
}
|
|
112
|
-
for (const dep of module.dependencies) {
|
|
113
|
-
if (
|
|
114
|
-
dep instanceof CommonJsExportsDependency ||
|
|
115
|
-
dep instanceof CommonJsSelfReferenceDependency
|
|
116
|
-
) {
|
|
117
|
-
// Any export shape is fine: hoisted modules restrict these below,
|
|
118
|
-
// wrapped modules keep them verbatim inside the wrapper.
|
|
119
|
-
continue;
|
|
120
|
-
} else if (
|
|
121
|
-
dep instanceof CommonJsRequireDependency ||
|
|
122
|
-
dep instanceof CommonJsFullRequireDependency ||
|
|
123
|
-
dep instanceof RequireResolveDependency ||
|
|
124
|
-
dep instanceof ContextDependency
|
|
125
|
-
) {
|
|
126
|
-
// A wrapped module renders with its own module ids intact, so a
|
|
127
|
-
// require() target that is itself inlined (no id) would break. Only
|
|
128
|
-
// hoisted ("nice") modules — whose require targets always stay
|
|
129
|
-
// external — may keep these.
|
|
130
|
-
if (wrapped) {
|
|
131
|
-
return `Module uses ${dep.type} which is not supported when wrapping`;
|
|
132
|
-
}
|
|
133
|
-
} else if (!(dep instanceof ImportDependency)) {
|
|
134
|
-
return `Module uses an unsupported dependency (${dep.type})`;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
if (module.presentationalDependencies !== undefined) {
|
|
138
|
-
const incompatible = wrapped
|
|
139
|
-
? WRAPPING_INCOMPATIBLE_RUNTIME_REQUIREMENTS
|
|
140
|
-
: CONCATENATION_INCOMPATIBLE_RUNTIME_REQUIREMENTS;
|
|
141
|
-
for (const dep of module.presentationalDependencies) {
|
|
142
|
-
const runtimeRequirements =
|
|
143
|
-
/** @type {{ runtimeRequirements?: ReadonlySet<string> | null }} */
|
|
144
|
-
(dep).runtimeRequirements;
|
|
145
|
-
if (!runtimeRequirements) continue;
|
|
146
|
-
for (const requirement of runtimeRequirements) {
|
|
147
|
-
if (incompatible.has(requirement)) {
|
|
148
|
-
return `Module uses ${requirement}`;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
return undefined;
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* A "nice" CommonJS module has a static list of exports, assigned only via
|
|
158
|
-
* plain `exports.x = …` / `module.exports.x = …`, and never uses the
|
|
159
|
-
* `module`/`exports` objects in any other way, so every reference can be
|
|
160
|
-
* rewritten to a hoisted module-scope variable. Modules eligible for
|
|
161
|
-
* concatenation but not hoistable are wrapped instead.
|
|
162
|
-
* @param {NormalModule} module the module
|
|
163
|
-
* @returns {boolean} true when the module can be hoisted rather than wrapped
|
|
164
|
-
*/
|
|
165
|
-
const isCommonJsHoistable = (module) => {
|
|
166
|
-
for (const dep of module.dependencies) {
|
|
167
|
-
if (dep instanceof CommonJsExportsDependency) {
|
|
168
|
-
if (dep.base !== "exports" && dep.base !== "module.exports") return false;
|
|
169
|
-
if (dep.names.length === 0) return false;
|
|
170
|
-
} else if (dep instanceof CommonJsSelfReferenceDependency) {
|
|
171
|
-
if (dep.base !== "exports" && dep.base !== "module.exports") return false;
|
|
172
|
-
if (dep.names.length === 0) return false;
|
|
173
|
-
// `exports.f()` passes the exports object as `this`
|
|
174
|
-
if (dep.call && dep.names.length === 1) return false;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
return true;
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Whether a concatenation-eligible CommonJS module must be wrapped (rendered
|
|
182
|
-
* inside an IIFE with real `module`/`exports` objects) rather than hoisted.
|
|
183
|
-
* @param {NormalModule} module the module
|
|
184
|
-
* @returns {boolean} true when the module needs wrapping
|
|
185
|
-
*/
|
|
186
|
-
const isCommonJsWrapped = (module) =>
|
|
187
|
-
getCommonJsConcatenationBailoutReason(module) === undefined &&
|
|
188
|
-
!isCommonJsHoistable(module);
|
|
189
|
-
|
|
190
65
|
const deprecatedGetInitFragments = util.deprecate(
|
|
191
66
|
/**
|
|
192
67
|
* Handles the callback logic for this hook.
|
|
@@ -233,30 +108,56 @@ class JavascriptGenerator extends Generator {
|
|
|
233
108
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
234
109
|
*/
|
|
235
110
|
getConcatenationBailoutReason(module, context) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
111
|
+
const buildMeta = module.buildMeta;
|
|
112
|
+
const buildInfo = /** @type {JavascriptModuleBuildInfo | undefined} */ (
|
|
113
|
+
module.buildInfo
|
|
114
|
+
);
|
|
115
|
+
const presentationalDependencies = module.presentationalDependencies;
|
|
116
|
+
// An ESM is a "namespace" module carrying the interop flag the harmony
|
|
117
|
+
// parser emits; anything else is treated as CommonJS below
|
|
118
|
+
const isESM =
|
|
119
|
+
buildMeta !== undefined &&
|
|
120
|
+
buildMeta.exportsType === "namespace" &&
|
|
121
|
+
presentationalDependencies !== undefined &&
|
|
122
|
+
presentationalDependencies.some(
|
|
243
123
|
(d) => d instanceof HarmonyCompatibilityDependency
|
|
244
|
-
)
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
if (!isESM) {
|
|
127
|
+
// CommonJS concatenation is opt-in via optimization.concatenateModules.commonjs
|
|
128
|
+
if (!context.concatenateCommonJsModules) {
|
|
129
|
+
return "Module is not an ECMAScript module";
|
|
130
|
+
}
|
|
131
|
+
// Concatenated CommonJS always runs wrapped, with real `module`/`exports`,
|
|
132
|
+
// so only a foreign exports shape rules the module out (an undefined
|
|
133
|
+
// exports type is a dynamic `module.exports`, which wrapping supports)
|
|
134
|
+
if (buildMeta === undefined) {
|
|
135
|
+
return "Module is neither an ECMAScript module nor a CommonJS";
|
|
136
|
+
}
|
|
137
|
+
// Sloppy-mode modules bail out in ModuleConcatenationPlugin anyway,
|
|
138
|
+
// so skip the dependency scan for them (most of node_modules)
|
|
139
|
+
if (buildInfo === undefined || !buildInfo.strict) {
|
|
140
|
+
return "Module is not in strict mode";
|
|
141
|
+
}
|
|
142
|
+
if (presentationalDependencies !== undefined) {
|
|
143
|
+
for (const dep of presentationalDependencies) {
|
|
144
|
+
const runtimeRequirements =
|
|
145
|
+
/** @type {{ runtimeRequirements?: ReadonlySet<string> | null }} */
|
|
146
|
+
(dep).runtimeRequirements;
|
|
147
|
+
if (!runtimeRequirements) continue;
|
|
148
|
+
for (const requirement of runtimeRequirements) {
|
|
149
|
+
if (WRAPPING_INCOMPATIBLE_RUNTIME_REQUIREMENTS.has(requirement)) {
|
|
150
|
+
return `Module uses ${requirement}`;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
251
155
|
}
|
|
252
156
|
|
|
253
157
|
// Some expressions are not compatible with module concatenation
|
|
254
158
|
// because they may produce unexpected results. The plugin bails out
|
|
255
159
|
// if some were detected upfront.
|
|
256
|
-
|
|
257
|
-
module.buildInfo
|
|
258
|
-
);
|
|
259
|
-
if (buildInfo && buildInfo.moduleConcatenationBailout) {
|
|
160
|
+
if (buildInfo !== undefined && buildInfo.moduleConcatenationBailout) {
|
|
260
161
|
return `Module uses ${buildInfo.moduleConcatenationBailout}`;
|
|
261
162
|
}
|
|
262
163
|
}
|
|
@@ -431,9 +332,8 @@ class JavascriptGenerator extends Generator {
|
|
|
431
332
|
* @returns {Source | null} generated code
|
|
432
333
|
*/
|
|
433
334
|
generateError(error, module, generateContext) {
|
|
434
|
-
return new RawSource(
|
|
335
|
+
return new RawSource(Generator.throwBuildErrorCode(error));
|
|
435
336
|
}
|
|
436
337
|
}
|
|
437
338
|
|
|
438
339
|
module.exports = JavascriptGenerator;
|
|
439
|
-
module.exports.isCommonJsWrapped = isCommonJsWrapped;
|