@depup/webpack 5.106.1-depup.0 → 5.109.2-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 +9 -11
- package/bin/webpack.js +12 -0
- package/changes.json +16 -24
- package/hot/dev-server.js +2 -0
- package/lib/APIPlugin.js +60 -35
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +13 -5
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +41 -0
- package/lib/Chunk.js +71 -25
- package/lib/ChunkGraph.js +153 -19
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +27 -28
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +85 -37
- package/lib/Compilation.js +656 -112
- package/lib/Compiler.js +109 -35
- package/lib/ConcatenationScope.js +34 -4
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +15 -12
- package/lib/ContextExclusionPlugin.js +3 -1
- package/lib/ContextModule.js +345 -55
- package/lib/ContextModuleFactory.js +193 -51
- package/lib/ContextReplacementPlugin.js +8 -1
- package/lib/DefinePlugin.js +537 -139
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +159 -11
- package/lib/DependencyTemplate.js +7 -1
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DotenvPlugin.js +3 -0
- package/lib/DynamicEntryPlugin.js +3 -1
- package/lib/EntryOptionPlugin.js +42 -2
- package/lib/EntryPlugin.js +4 -1
- package/lib/Entrypoint.js +5 -1
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -11
- package/lib/ExportsInfo.js +421 -113
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +381 -80
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +701 -175
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +115 -8
- package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
- package/lib/Generator.js +24 -3
- package/lib/HotModuleReplacementPlugin.js +110 -44
- package/lib/IgnorePlugin.js +5 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +33 -30
- package/lib/JavascriptMetaInfoPlugin.js +9 -6
- package/lib/LazyBarrel.js +389 -0
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +3 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +121 -57
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +18 -4
- package/lib/ModuleGraph.js +69 -2
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleNotFoundError.js +3 -83
- package/lib/ModuleProfile.js +27 -1
- package/lib/ModuleSourceTypeConstants.js +52 -19
- package/lib/ModuleTemplate.js +10 -0
- package/lib/ModuleTypeConstants.js +20 -4
- package/lib/MultiCompiler.js +59 -4
- package/lib/MultiStats.js +9 -0
- package/lib/MultiWatching.js +6 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +78 -46
- package/lib/NormalModule.js +519 -206
- package/lib/NormalModuleFactory.js +156 -31
- package/lib/NormalModuleReplacementPlugin.js +3 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +3 -1
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +4 -1
- package/lib/ProgressPlugin.js +351 -161
- package/lib/ProvidePlugin.js +6 -3
- package/lib/RawModule.js +32 -16
- package/lib/RecordIdsPlugin.js +9 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +58 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +123 -118
- package/lib/RuntimeTemplate.js +616 -37
- package/lib/SelfModuleFactory.js +3 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +341 -63
- package/lib/Stats.js +6 -0
- package/lib/Template.js +52 -6
- package/lib/TemplatedPathPlugin.js +505 -138
- package/lib/UseStrictPlugin.js +3 -2
- package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
- package/lib/WarnDeprecatedOptionPlugin.js +6 -2
- package/lib/WarnNoModeSetPlugin.js +18 -2
- package/lib/WatchIgnorePlugin.js +5 -1
- package/lib/Watching.js +25 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +4 -2
- package/lib/WebpackOptionsApply.js +88 -25
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +28 -10
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +199 -60
- package/lib/asset/AssetModule.js +47 -0
- package/lib/asset/AssetModulesPlugin.js +115 -24
- package/lib/asset/AssetParser.js +4 -2
- package/lib/asset/AssetSourceGenerator.js +26 -8
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +23 -13
- package/lib/asset/WebManifestGenerator.js +164 -0
- package/lib/asset/WebManifestParser.js +130 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/async-modules/isGeneratorLowered.js +26 -0
- package/lib/buildChunkGraph.js +107 -15
- package/lib/bun/BunTargetPlugin.js +42 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
- package/lib/cache/AddManagedPathsPlugin.js +5 -1
- package/lib/cache/IdleFileCachePlugin.js +6 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
- package/lib/cache/PackFileCacheStrategy.js +302 -12
- package/lib/cache/ResolverCachePlugin.js +12 -1
- package/lib/cache/getLazyHashedEtag.js +13 -2
- package/lib/cache/mergeEtags.js +4 -0
- package/lib/cli.js +142 -20
- package/lib/config/browserslistTargetHandler.js +141 -0
- package/lib/config/defaults.js +612 -43
- package/lib/config/defineConfig.js +31 -0
- package/lib/config/normalization.js +46 -1
- package/lib/config/target.js +200 -2
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +27 -14
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +6 -2
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +3 -2
- package/lib/container/FallbackDependency.js +9 -7
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +22 -9
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/HoistContainerReferencesPlugin.js +47 -55
- package/lib/container/ModuleFederationPlugin.js +21 -29
- package/lib/container/RemoteModule.js +33 -10
- package/lib/container/RemoteRuntimeModule.js +15 -12
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +540 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +173 -81
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +371 -208
- package/lib/css/CssParser.js +3538 -1963
- package/lib/css/syntax.js +4155 -0
- package/lib/debug/ProfilingPlugin.js +33 -2
- package/lib/deno/DenoTargetPlugin.js +41 -0
- package/lib/dependencies/AMDDefineDependency.js +29 -17
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
- package/lib/dependencies/AMDPlugin.js +6 -3
- package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
- package/lib/dependencies/AMDRequireContextDependency.js +10 -11
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
- package/lib/dependencies/AMDRequireDependency.js +28 -20
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +9 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +157 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +91 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +189 -24
- package/lib/dependencies/CommonJsPlugin.js +7 -4
- package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
- package/lib/dependencies/CommonJsRequireDependency.js +135 -13
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
- package/lib/dependencies/ConstDependency.js +22 -12
- package/lib/dependencies/ContextDependency.js +13 -2
- package/lib/dependencies/ContextDependencyHelpers.js +7 -4
- package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +27 -14
- package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
- package/lib/dependencies/CriticalDependencyWarning.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +681 -367
- package/lib/dependencies/CssIcssImportDependency.js +62 -17
- package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
- package/lib/dependencies/CssImportDependency.js +37 -1
- package/lib/dependencies/CssUrlDependency.js +87 -14
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +12 -13
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportBindingInitFragment.js +164 -0
- package/lib/dependencies/ExportsInfoDependency.js +18 -12
- package/lib/dependencies/ExternalModuleDependency.js +13 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
- package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
- package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +34 -3
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +133 -43
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +268 -44
- package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
- package/lib/dependencies/HarmonyExports.js +6 -1
- package/lib/dependencies/HarmonyImportDependency.js +60 -4
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +427 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +146 -24
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
- package/lib/dependencies/HtmlEntryDependency.js +1295 -0
- package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
- package/lib/dependencies/HtmlSourceDependency.js +172 -0
- package/lib/dependencies/ImportContextDependency.js +9 -9
- package/lib/dependencies/ImportDependency.js +92 -3
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
- package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
- package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
- package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
- package/lib/dependencies/ImportMetaPlugin.js +595 -209
- package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
- package/lib/dependencies/ImportParserPlugin.js +114 -27
- package/lib/dependencies/ImportPhase.js +17 -11
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +3 -0
- package/lib/dependencies/JsonExportsDependency.js +15 -10
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +3 -0
- package/lib/dependencies/LoaderPlugin.js +9 -2
- package/lib/dependencies/LocalModule.js +15 -12
- package/lib/dependencies/LocalModuleDependency.js +15 -13
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
- package/lib/dependencies/ModuleDependency.js +14 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +36 -27
- package/lib/dependencies/PureExpressionDependency.js +14 -10
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
- package/lib/dependencies/RequireEnsureDependency.js +16 -13
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +7 -4
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +10 -11
- package/lib/dependencies/RequireResolveDependency.js +2 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
- package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
- package/lib/dependencies/StaticExportsDependency.js +13 -10
- package/lib/dependencies/SystemPlugin.js +9 -6
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
- package/lib/dependencies/URLContextDependency.js +8 -7
- package/lib/dependencies/URLDependency.js +157 -33
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +12 -13
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
- package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
- package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
- package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
- package/lib/dependencies/WorkerDependency.js +111 -27
- package/lib/dependencies/WorkletDependency.js +278 -0
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +14 -11
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
- package/lib/{DllModule.js → dll/DllModule.js} +36 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
- package/lib/electron/ElectronTargetPlugin.js +24 -5
- package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
- package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
- package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
- package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
- package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
- package/lib/errors/JSONParseError.js +115 -0
- package/lib/errors/LoaderLoadingError.js +20 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
- package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
- package/lib/errors/ModuleNotFoundError.js +94 -0
- package/lib/errors/ModuleParseError.js +141 -0
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
- package/lib/errors/NonErrorEmittedError.js +30 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
- package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
- package/lib/errors/WebpackError.js +84 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
- package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +80 -52
- package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +154 -7
- package/lib/hmr/lazyCompilationBackend.js +53 -12
- package/lib/html/HtmlGenerator.js +1490 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1129 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9106 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
- package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
- package/lib/ids/HashedModuleIdsPlugin.js +2 -1
- package/lib/ids/IdHelpers.js +49 -12
- package/lib/ids/NamedChunkIdsPlugin.js +3 -1
- package/lib/ids/NamedModuleIdsPlugin.js +3 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
- package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
- package/lib/ids/SyncModuleIdsPlugin.js +3 -1
- package/lib/index.js +66 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
- package/lib/javascript/BasicEvaluatedExpression.js +370 -49
- package/lib/javascript/ChunkFormatHelpers.js +2 -1
- package/lib/javascript/ChunkHelpers.js +1 -0
- package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
- package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
- package/lib/javascript/JavascriptGenerator.js +213 -51
- package/lib/javascript/JavascriptModule.js +54 -0
- package/lib/javascript/JavascriptModulesPlugin.js +628 -198
- package/lib/javascript/JavascriptParser.js +1334 -471
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +5037 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModule.js +40 -0
- package/lib/json/JsonModulesPlugin.js +8 -1
- package/lib/json/JsonParser.js +18 -27
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +21 -3
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +154 -7
- package/lib/library/SystemLibraryPlugin.js +11 -3
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/loaders/LoaderRunner.js +714 -0
- package/lib/loaders/loadLoader.js +100 -0
- package/lib/logging/Logger.js +17 -0
- package/lib/logging/createConsoleLogger.js +7 -0
- package/lib/logging/runtime.js +2 -0
- package/lib/logging/truncateArgs.js +2 -0
- package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
- package/lib/node/NodeEnvironmentPlugin.js +7 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -63
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +40 -22
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +33 -3
- package/lib/node/ReadFileCompileWasmPlugin.js +28 -3
- package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
- package/lib/node/nodeBuiltins.js +80 -0
- package/lib/node/nodeConsole.js +116 -64
- package/lib/optimize/AggressiveMergingPlugin.js +22 -16
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +603 -130
- package/lib/optimize/ConstExportsPlugin.js +211 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
- package/lib/optimize/InlineExports.js +178 -0
- package/lib/optimize/InnerGraph.js +374 -262
- package/lib/optimize/InnerGraphPlugin.js +246 -117
- package/lib/optimize/LimitChunkCountPlugin.js +9 -0
- package/lib/optimize/MangleExportsPlugin.js +5 -1
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
- package/lib/optimize/MinChunkSizePlugin.js +2 -1
- package/lib/optimize/MinMaxSizeWarning.js +5 -4
- package/lib/optimize/ModuleConcatenationPlugin.js +229 -55
- package/lib/optimize/RealContentHashPlugin.js +130 -52
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
- package/lib/optimize/RuntimeChunkPlugin.js +2 -1
- package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
- package/lib/optimize/SplitChunksPlugin.js +200 -50
- package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
- package/lib/performance/NoAsyncChunksWarning.js +5 -3
- package/lib/performance/SizeLimitsPlugin.js +8 -2
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
- package/lib/prefetch/ResourceHintPlugin.js +687 -0
- package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
- package/lib/prefetch/parseResourceHintOptions.js +103 -0
- package/lib/rules/BasicEffectRulePlugin.js +3 -0
- package/lib/rules/BasicMatcherRulePlugin.js +3 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
- package/lib/rules/RuleSetCompiler.js +132 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
- package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
- package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
- package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/runtime/WorkerRuntimeModule.js +33 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +86 -4
- package/lib/schemes/VirtualUrlPlugin.js +8 -4
- package/lib/serialization/AggregateErrorSerializer.js +9 -6
- package/lib/serialization/ArraySerializer.js +6 -8
- package/lib/serialization/BinaryMiddleware.js +427 -1006
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +345 -59
- package/lib/serialization/MapObjectSerializer.js +7 -9
- package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
- package/lib/serialization/ObjectMiddleware.js +73 -13
- package/lib/serialization/PlainObjectSerializer.js +16 -8
- package/lib/serialization/RegExpObjectSerializer.js +4 -2
- package/lib/serialization/Serializer.js +6 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +6 -8
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +21 -7
- package/lib/sharing/ConsumeSharedPlugin.js +11 -11
- package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +34 -15
- package/lib/sharing/ProvideSharedModule.js +42 -12
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +13 -8
- package/lib/sharing/SharePlugin.js +5 -1
- package/lib/sharing/ShareRuntimeModule.js +19 -16
- package/lib/sharing/resolveMatchedConfigs.js +6 -2
- package/lib/sharing/utils.js +9 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +289 -201
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +74 -170
- package/lib/stats/StatsFactory.js +70 -27
- package/lib/stats/StatsPrinter.js +16 -2
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +111 -23
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +154 -74
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +26 -0
- package/lib/util/LazySet.js +45 -4
- package/lib/util/LocConverter.js +64 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +15 -1
- package/lib/util/SetHelpers.js +4 -1
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/SourceProcessor.js +119 -0
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +162 -43
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +14 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +60 -1
- package/lib/util/binarySearchBounds.js +3 -2
- package/lib/util/chainedImports.js +3 -3
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +35 -4
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +80 -24
- package/lib/util/conventions.js +46 -1
- package/lib/util/createHash.js +0 -1
- package/lib/util/createHooksRegistry.js +43 -0
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +3 -2
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +46 -17
- package/lib/util/extractSourceMap.js +2 -1
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +7 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
- package/lib/util/fs.js +87 -14
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/globUtils.js +710 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/DebugHash.js +1 -0
- package/lib/util/hash/hash-digest.js +32 -15
- package/lib/util/hash/md4.js +1 -1
- package/lib/util/hash/wasm-hash.js +5 -0
- package/lib/util/hash/xxhash64.js +1 -1
- package/lib/util/identifier.js +118 -7
- package/lib/util/implicitTypeLoaderFallback.js +62 -0
- package/lib/util/internalSerializables.js +102 -60
- package/lib/util/magicComment.js +149 -7
- package/lib/util/makeSerializable.js +7 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +31 -1
- package/lib/util/numberHash.js +2 -2
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +9 -2
- package/lib/util/publicPathPlaceholder.js +64 -0
- package/lib/util/registerExternalSerializer.js +24 -4
- package/lib/util/removeBOM.js +1 -0
- package/lib/util/runtime.js +32 -0
- package/lib/util/semver.js +15 -0
- package/lib/util/serialization.js +2 -0
- package/lib/util/smartGrouping.js +8 -0
- package/lib/util/source.js +23 -0
- package/lib/util/topologicalSort.js +69 -0
- package/lib/validateSchema.js +1 -0
- package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
- package/lib/wasm-async/AsyncWasmModule.js +77 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
- package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
- package/lib/wasm-sync/SyncWasmModule.js +39 -0
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
- package/lib/wasm-sync/WebAssemblyParser.js +9 -3
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
- package/lib/web/FetchCompileWasmPlugin.js +27 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +78 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +21 -0
- package/package.json +79 -77
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1173 -80
- package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
- package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlParserOptions.check.js +6 -0
- package/schemas/plugins/HtmlParserOptions.json +3 -0
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +38 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +11053 -3019
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/ModuleParseError.js +0 -125
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- package/lib/css/walkCssTokens.js +0 -1843
- package/lib/util/AppendOnlyStackedSet.js +0 -78
- /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
- /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
|
@@ -11,7 +11,12 @@ const Template = require("../Template");
|
|
|
11
11
|
const { equals } = require("../util/ArrayHelpers");
|
|
12
12
|
const makeSerializable = require("../util/makeSerializable");
|
|
13
13
|
const { propertyAccess } = require("../util/property");
|
|
14
|
-
const {
|
|
14
|
+
const {
|
|
15
|
+
ESM_MODULE_EXPORTS_NAME,
|
|
16
|
+
getRequireEsmModuleExportsAccess,
|
|
17
|
+
handleDependencyBase,
|
|
18
|
+
isRequireEsmModuleExportsModule
|
|
19
|
+
} = require("./CommonJsDependencyHelpers");
|
|
15
20
|
const ModuleDependency = require("./ModuleDependency");
|
|
16
21
|
const processExportInfo = require("./processExportInfo");
|
|
17
22
|
|
|
@@ -27,10 +32,10 @@ const processExportInfo = require("./processExportInfo");
|
|
|
27
32
|
/** @typedef {import("../Module")} Module */
|
|
28
33
|
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
|
29
34
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
30
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
31
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
32
35
|
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
|
|
33
36
|
/** @typedef {import("./CommonJsDependencyHelpers").CommonJSDependencyBaseKeywords} CommonJSDependencyBaseKeywords */
|
|
37
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[undefined | boolean, Range, Range | null, CommonJSDependencyBaseKeywords, ExportInfoName[], ExportInfoName[], boolean, boolean]>} ObjectDeserializerContext */
|
|
38
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[undefined | boolean, Range, Range | null, CommonJSDependencyBaseKeywords, ExportInfoName[], ExportInfoName[], boolean, boolean]>} ObjectSerializerContext */
|
|
34
39
|
|
|
35
40
|
const idsSymbol = /** @type {symbol} */ (
|
|
36
41
|
Symbol("CommonJsExportRequireDependency.ids")
|
|
@@ -43,6 +48,7 @@ const EMPTY_OBJECT = {};
|
|
|
43
48
|
|
|
44
49
|
class CommonJsExportRequireDependency extends ModuleDependency {
|
|
45
50
|
/**
|
|
51
|
+
* Creates an instance of CommonJsExportRequireDependency.
|
|
46
52
|
* @param {Range} range range
|
|
47
53
|
* @param {Range | null} valueRange value range
|
|
48
54
|
* @param {CommonJSDependencyBaseKeywords} base base
|
|
@@ -55,12 +61,20 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
55
61
|
super(request);
|
|
56
62
|
this.range = range;
|
|
57
63
|
this.valueRange = valueRange;
|
|
64
|
+
/** @type {CommonJSDependencyBaseKeywords} */
|
|
58
65
|
this.base = base;
|
|
66
|
+
/** @type {string[]} */
|
|
59
67
|
this.names = names;
|
|
68
|
+
/** @type {string[]} */
|
|
60
69
|
this.ids = ids;
|
|
70
|
+
/** @type {boolean} */
|
|
61
71
|
this.resultUsed = resultUsed;
|
|
62
72
|
/** @type {undefined | boolean} */
|
|
63
73
|
this.asiSafe = undefined;
|
|
74
|
+
// true when the reexport is a lazy `{ get: () => require(...) }` accessor
|
|
75
|
+
// (as produced by `Object.defineProperty`) rather than an eager value.
|
|
76
|
+
/** @type {boolean} */
|
|
77
|
+
this.getter = false;
|
|
64
78
|
}
|
|
65
79
|
|
|
66
80
|
get type() {
|
|
@@ -72,6 +86,7 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
72
86
|
}
|
|
73
87
|
|
|
74
88
|
/**
|
|
89
|
+
* Could affect referencing module.
|
|
75
90
|
* @returns {boolean | TRANSITIVE} true, when changes to the referenced module could affect the referencing module; TRANSITIVE, when changes to the referenced module could affect referencing modules of the referencing module
|
|
76
91
|
*/
|
|
77
92
|
couldAffectReferencingModule() {
|
|
@@ -79,6 +94,7 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
79
94
|
}
|
|
80
95
|
|
|
81
96
|
/**
|
|
97
|
+
* Returns the imported id.
|
|
82
98
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
83
99
|
* @returns {ExportInfoName[]} the imported id
|
|
84
100
|
*/
|
|
@@ -87,6 +103,7 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
87
103
|
}
|
|
88
104
|
|
|
89
105
|
/**
|
|
106
|
+
* Updates ids using the provided module graph.
|
|
90
107
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
91
108
|
* @param {ExportInfoName[]} ids the imported ids
|
|
92
109
|
* @returns {void}
|
|
@@ -103,6 +120,16 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
103
120
|
*/
|
|
104
121
|
getReferencedExports(moduleGraph, runtime) {
|
|
105
122
|
const ids = this.getIds(moduleGraph);
|
|
123
|
+
const importedModule = moduleGraph.getModule(this);
|
|
124
|
+
if (
|
|
125
|
+
importedModule &&
|
|
126
|
+
isRequireEsmModuleExportsModule(importedModule, moduleGraph)
|
|
127
|
+
) {
|
|
128
|
+
// `require(esm)` unwraps the "module.exports" named export; any
|
|
129
|
+
// further property access lands on that value (which webpack does
|
|
130
|
+
// not model), so only the "module.exports" export is observable.
|
|
131
|
+
return [{ name: [ESM_MODULE_EXPORTS_NAME], canInline: false }];
|
|
132
|
+
}
|
|
106
133
|
const getFullResult = () => {
|
|
107
134
|
if (ids.length === 0) {
|
|
108
135
|
return Dependency.EXPORTS_OBJECT_REFERENCED;
|
|
@@ -110,7 +137,8 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
110
137
|
return [
|
|
111
138
|
{
|
|
112
139
|
name: ids,
|
|
113
|
-
canMangle: false
|
|
140
|
+
canMangle: false,
|
|
141
|
+
canInline: false
|
|
114
142
|
}
|
|
115
143
|
];
|
|
116
144
|
};
|
|
@@ -145,7 +173,8 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
145
173
|
}
|
|
146
174
|
return referencedExports.map((name) => ({
|
|
147
175
|
name,
|
|
148
|
-
canMangle: false
|
|
176
|
+
canMangle: false,
|
|
177
|
+
canInline: false
|
|
149
178
|
}));
|
|
150
179
|
}
|
|
151
180
|
|
|
@@ -155,17 +184,26 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
155
184
|
* @returns {ExportsSpec | undefined} export names
|
|
156
185
|
*/
|
|
157
186
|
getExports(moduleGraph) {
|
|
187
|
+
const importedModule = moduleGraph.getModule(this);
|
|
188
|
+
const esmUnwrap =
|
|
189
|
+
importedModule &&
|
|
190
|
+
isRequireEsmModuleExportsModule(importedModule, moduleGraph);
|
|
158
191
|
if (this.names.length === 1) {
|
|
159
192
|
const ids = this.getIds(moduleGraph);
|
|
160
193
|
const name = this.names[0];
|
|
161
194
|
const from = moduleGraph.getConnection(this);
|
|
162
195
|
if (!from) return;
|
|
196
|
+
const exportChain = esmUnwrap
|
|
197
|
+
? [ESM_MODULE_EXPORTS_NAME, ...ids]
|
|
198
|
+
: ids.length === 0
|
|
199
|
+
? null
|
|
200
|
+
: ids;
|
|
163
201
|
return {
|
|
164
202
|
exports: [
|
|
165
203
|
{
|
|
166
204
|
name,
|
|
167
205
|
from,
|
|
168
|
-
export:
|
|
206
|
+
export: exportChain,
|
|
169
207
|
// we can't mangle names that are in an empty object
|
|
170
208
|
// because one could access the prototype property
|
|
171
209
|
// when export isn't set yet
|
|
@@ -191,6 +229,36 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
191
229
|
}
|
|
192
230
|
const from = moduleGraph.getConnection(this);
|
|
193
231
|
if (!from) return;
|
|
232
|
+
if (esmUnwrap) {
|
|
233
|
+
// Full re-export `module.exports = require("./esm")` of a module
|
|
234
|
+
// with a `"module.exports"` named export: the wrapping module's
|
|
235
|
+
// `module.exports` becomes the unwrapped value, whose own
|
|
236
|
+
// properties webpack cannot enumerate statically.
|
|
237
|
+
return {
|
|
238
|
+
exports: true,
|
|
239
|
+
canMangle: false,
|
|
240
|
+
dependencies: [from.module]
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
// The imported namespace ESM hasn't been flagged by
|
|
244
|
+
// FlagDependencyExportsPlugin yet (no exports determined), so its
|
|
245
|
+
// `"module.exports"` unwrap eligibility is still unknown. Star-reexporting
|
|
246
|
+
// now would add `__esModule` (and names) the monotonic merge can't retract
|
|
247
|
+
// once the module turns out to unwrap, making the result order-dependent
|
|
248
|
+
// across runtimes; defer — the `from.module` dependency re-queues us once
|
|
249
|
+
// its exports (owned names, or dynamic `other`) become known.
|
|
250
|
+
if (
|
|
251
|
+
importedModule &&
|
|
252
|
+
importedModule.getExportsType(moduleGraph, false) === "namespace"
|
|
253
|
+
) {
|
|
254
|
+
const importedExportsInfo = moduleGraph.getExportsInfo(importedModule);
|
|
255
|
+
if (
|
|
256
|
+
importedExportsInfo.otherExportsInfo.provided === false &&
|
|
257
|
+
importedExportsInfo.ownedExports[Symbol.iterator]().next().done
|
|
258
|
+
) {
|
|
259
|
+
return { exports: [], dependencies: [from.module] };
|
|
260
|
+
}
|
|
261
|
+
}
|
|
194
262
|
const reexportInfo = this.getStarReexports(
|
|
195
263
|
moduleGraph,
|
|
196
264
|
undefined,
|
|
@@ -209,7 +277,6 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
209
277
|
canMangle: !(name in EMPTY_OBJECT) && false
|
|
210
278
|
})
|
|
211
279
|
),
|
|
212
|
-
// TODO handle deep reexports
|
|
213
280
|
dependencies: [from.module]
|
|
214
281
|
};
|
|
215
282
|
}
|
|
@@ -222,6 +289,7 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
222
289
|
}
|
|
223
290
|
|
|
224
291
|
/**
|
|
292
|
+
* Gets star reexports.
|
|
225
293
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
226
294
|
* @param {RuntimeSpec} runtime the runtime
|
|
227
295
|
* @param {Module} importedModule the imported module (optional)
|
|
@@ -308,33 +376,43 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
|
308
376
|
}
|
|
309
377
|
|
|
310
378
|
/**
|
|
379
|
+
* Serializes this instance into the provided serializer context.
|
|
311
380
|
* @param {ObjectSerializerContext} context context
|
|
312
381
|
*/
|
|
313
382
|
serialize(context) {
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
383
|
+
context
|
|
384
|
+
.write(this.asiSafe)
|
|
385
|
+
.write(this.range)
|
|
386
|
+
.write(this.valueRange)
|
|
387
|
+
.write(this.base)
|
|
388
|
+
.write(this.names)
|
|
389
|
+
.write(this.ids)
|
|
390
|
+
.write(this.resultUsed)
|
|
391
|
+
.write(this.getter);
|
|
322
392
|
super.serialize(context);
|
|
323
393
|
}
|
|
324
394
|
|
|
325
395
|
/**
|
|
396
|
+
* Restores this instance from the provided deserializer context.
|
|
326
397
|
* @param {ObjectDeserializerContext} context context
|
|
327
398
|
*/
|
|
328
399
|
deserialize(context) {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
this.range = read();
|
|
332
|
-
|
|
333
|
-
this.
|
|
334
|
-
|
|
335
|
-
this.
|
|
336
|
-
|
|
337
|
-
|
|
400
|
+
this.asiSafe = context.read();
|
|
401
|
+
const c1 = context.rest;
|
|
402
|
+
this.range = c1.read();
|
|
403
|
+
const c2 = c1.rest;
|
|
404
|
+
this.valueRange = c2.read();
|
|
405
|
+
const c3 = c2.rest;
|
|
406
|
+
this.base = c3.read();
|
|
407
|
+
const c4 = c3.rest;
|
|
408
|
+
this.names = c4.read();
|
|
409
|
+
const c5 = c4.rest;
|
|
410
|
+
this.ids = c5.read();
|
|
411
|
+
const c6 = c5.rest;
|
|
412
|
+
this.resultUsed = c6.read();
|
|
413
|
+
const c7 = c6.rest;
|
|
414
|
+
this.getter = c7.read();
|
|
415
|
+
super.deserialize(c7.rest);
|
|
338
416
|
}
|
|
339
417
|
}
|
|
340
418
|
|
|
@@ -347,6 +425,7 @@ CommonJsExportRequireDependency.Template = class CommonJsExportRequireDependency
|
|
|
347
425
|
ModuleDependency.Template
|
|
348
426
|
) {
|
|
349
427
|
/**
|
|
428
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
350
429
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
351
430
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
352
431
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -365,9 +444,10 @@ CommonJsExportRequireDependency.Template = class CommonJsExportRequireDependency
|
|
|
365
444
|
}
|
|
366
445
|
) {
|
|
367
446
|
const dep = /** @type {CommonJsExportRequireDependency} */ (dependency);
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
.getUsedName(dep.names, runtime)
|
|
447
|
+
// CJS exports are never inlined
|
|
448
|
+
const used = /** @type {string | string[] | false} */ (
|
|
449
|
+
moduleGraph.getExportsInfo(module).getUsedName(dep.names, runtime)
|
|
450
|
+
);
|
|
371
451
|
|
|
372
452
|
const [type, base] = handleDependencyBase(
|
|
373
453
|
dep.base,
|
|
@@ -385,14 +465,24 @@ CommonJsExportRequireDependency.Template = class CommonJsExportRequireDependency
|
|
|
385
465
|
});
|
|
386
466
|
if (importedModule) {
|
|
387
467
|
const ids = dep.getIds(moduleGraph);
|
|
388
|
-
const
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
468
|
+
const esmRequireAccess = getRequireEsmModuleExportsAccess(
|
|
469
|
+
importedModule,
|
|
470
|
+
moduleGraph,
|
|
471
|
+
runtime
|
|
472
|
+
);
|
|
473
|
+
if (esmRequireAccess !== null) {
|
|
474
|
+
requireExpr += `${esmRequireAccess}${propertyAccess(ids)}`;
|
|
475
|
+
} else {
|
|
476
|
+
// CJS exports are never inlined
|
|
477
|
+
const usedImported = /** @type {string | string[] | false} */ (
|
|
478
|
+
moduleGraph.getExportsInfo(importedModule).getUsedName(ids, runtime)
|
|
479
|
+
);
|
|
480
|
+
if (usedImported) {
|
|
481
|
+
const comment = equals(usedImported, ids)
|
|
482
|
+
? ""
|
|
483
|
+
: `${Template.toNormalComment(propertyAccess(ids))} `;
|
|
484
|
+
requireExpr += `${comment}${propertyAccess(/** @type {string[]} */ (usedImported))}`;
|
|
485
|
+
}
|
|
396
486
|
}
|
|
397
487
|
}
|
|
398
488
|
|
|
@@ -402,12 +492,41 @@ CommonJsExportRequireDependency.Template = class CommonJsExportRequireDependency
|
|
|
402
492
|
dep.range[0],
|
|
403
493
|
dep.range[1] - 1,
|
|
404
494
|
used
|
|
405
|
-
? `${base}${propertyAccess(used)} = ${requireExpr}`
|
|
495
|
+
? `${base}${propertyAccess(/** @type {string[]} */ (used))} = ${requireExpr}`
|
|
406
496
|
: `/* unused reexport */ ${requireExpr}`
|
|
407
497
|
);
|
|
408
498
|
return;
|
|
409
|
-
case "Object.defineProperty":
|
|
410
|
-
|
|
499
|
+
case "Object.defineProperty": {
|
|
500
|
+
// `Object.defineProperty(exports, "name", { value: require("...") })`
|
|
501
|
+
// or the lazy getter form `{ get: () => require("...") }` used by
|
|
502
|
+
// barrel files (e.g. webpack's own `lib/index.js`).
|
|
503
|
+
const valueRange = /** @type {Range} */ (dep.valueRange);
|
|
504
|
+
if (!used) {
|
|
505
|
+
// A lazy getter never runs `require` until accessed, so an unused
|
|
506
|
+
// one can be dropped entirely; an eager value must keep side effects.
|
|
507
|
+
source.replace(
|
|
508
|
+
dep.range[0],
|
|
509
|
+
dep.range[1] - 1,
|
|
510
|
+
dep.getter
|
|
511
|
+
? "/* unused reexport */ 0"
|
|
512
|
+
: `/* unused reexport */ ${requireExpr}`
|
|
513
|
+
);
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
const descriptor = dep.getter
|
|
517
|
+
? "enumerable: true, get: () => ("
|
|
518
|
+
: "value: (";
|
|
519
|
+
source.replace(
|
|
520
|
+
dep.range[0],
|
|
521
|
+
valueRange[0] - 1,
|
|
522
|
+
`Object.defineProperty(${base}${propertyAccess(
|
|
523
|
+
/** @type {string[]} */ (used).slice(0, -1)
|
|
524
|
+
)}, ${JSON.stringify(used[used.length - 1])}, { ${descriptor}`
|
|
525
|
+
);
|
|
526
|
+
source.replace(valueRange[0], valueRange[1] - 1, requireExpr);
|
|
527
|
+
source.replace(valueRange[1], dep.range[1] - 1, ") })");
|
|
528
|
+
return;
|
|
529
|
+
}
|
|
411
530
|
default:
|
|
412
531
|
throw new Error("Unexpected type");
|
|
413
532
|
}
|
|
@@ -8,7 +8,10 @@
|
|
|
8
8
|
const InitFragment = require("../InitFragment");
|
|
9
9
|
const makeSerializable = require("../util/makeSerializable");
|
|
10
10
|
const { propertyAccess } = require("../util/property");
|
|
11
|
-
const {
|
|
11
|
+
const {
|
|
12
|
+
getConcatenatedExportAccess,
|
|
13
|
+
handleDependencyBase
|
|
14
|
+
} = require("./CommonJsDependencyHelpers");
|
|
12
15
|
const NullDependency = require("./NullDependency");
|
|
13
16
|
|
|
14
17
|
/** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
|
|
@@ -18,14 +21,15 @@ const NullDependency = require("./NullDependency");
|
|
|
18
21
|
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
|
19
22
|
/** @typedef {import("../ExportsInfo").ExportInfoName} ExportInfoName */
|
|
20
23
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
21
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
22
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
23
24
|
/** @typedef {import("./CommonJsDependencyHelpers").CommonJSDependencyBaseKeywords} CommonJSDependencyBaseKeywords */
|
|
25
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range | null, CommonJSDependencyBaseKeywords, ExportInfoName[]]>} ObjectDeserializerContext */
|
|
26
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range | null, CommonJSDependencyBaseKeywords, ExportInfoName[]]>} ObjectSerializerContext */
|
|
24
27
|
|
|
25
28
|
const EMPTY_OBJECT = {};
|
|
26
29
|
|
|
27
30
|
class CommonJsExportsDependency extends NullDependency {
|
|
28
31
|
/**
|
|
32
|
+
* Creates an instance of CommonJsExportsDependency.
|
|
29
33
|
* @param {Range} range range
|
|
30
34
|
* @param {Range | null} valueRange value range
|
|
31
35
|
* @param {CommonJSDependencyBaseKeywords} base base
|
|
@@ -35,7 +39,9 @@ class CommonJsExportsDependency extends NullDependency {
|
|
|
35
39
|
super();
|
|
36
40
|
this.range = range;
|
|
37
41
|
this.valueRange = valueRange;
|
|
42
|
+
/** @type {CommonJSDependencyBaseKeywords} */
|
|
38
43
|
this.base = base;
|
|
44
|
+
/** @type {string[]} */
|
|
39
45
|
this.names = names;
|
|
40
46
|
}
|
|
41
47
|
|
|
@@ -65,27 +71,31 @@ class CommonJsExportsDependency extends NullDependency {
|
|
|
65
71
|
}
|
|
66
72
|
|
|
67
73
|
/**
|
|
74
|
+
* Serializes this instance into the provided serializer context.
|
|
68
75
|
* @param {ObjectSerializerContext} context context
|
|
69
76
|
*/
|
|
70
77
|
serialize(context) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
78
|
+
context
|
|
79
|
+
.write(this.range)
|
|
80
|
+
.write(this.valueRange)
|
|
81
|
+
.write(this.base)
|
|
82
|
+
.write(this.names);
|
|
76
83
|
super.serialize(context);
|
|
77
84
|
}
|
|
78
85
|
|
|
79
86
|
/**
|
|
87
|
+
* Restores this instance from the provided deserializer context.
|
|
80
88
|
* @param {ObjectDeserializerContext} context context
|
|
81
89
|
*/
|
|
82
90
|
deserialize(context) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
this.valueRange = read();
|
|
86
|
-
|
|
87
|
-
this.
|
|
88
|
-
|
|
91
|
+
this.range = context.read();
|
|
92
|
+
const c1 = context.rest;
|
|
93
|
+
this.valueRange = c1.read();
|
|
94
|
+
const c2 = c1.rest;
|
|
95
|
+
this.base = c2.read();
|
|
96
|
+
const c3 = c2.rest;
|
|
97
|
+
this.names = c3.read();
|
|
98
|
+
super.deserialize(c3.rest);
|
|
89
99
|
}
|
|
90
100
|
}
|
|
91
101
|
|
|
@@ -98,6 +108,7 @@ CommonJsExportsDependency.Template = class CommonJsExportsDependencyTemplate ext
|
|
|
98
108
|
NullDependency.Template
|
|
99
109
|
) {
|
|
100
110
|
/**
|
|
111
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
101
112
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
102
113
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
103
114
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -106,12 +117,55 @@ CommonJsExportsDependency.Template = class CommonJsExportsDependencyTemplate ext
|
|
|
106
117
|
apply(
|
|
107
118
|
dependency,
|
|
108
119
|
source,
|
|
109
|
-
{
|
|
120
|
+
{
|
|
121
|
+
module,
|
|
122
|
+
moduleGraph,
|
|
123
|
+
initFragments,
|
|
124
|
+
runtimeRequirements,
|
|
125
|
+
runtime,
|
|
126
|
+
concatenationScope
|
|
127
|
+
}
|
|
110
128
|
) {
|
|
111
129
|
const dep = /** @type {CommonJsExportsDependency} */ (dependency);
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
.getUsedName(dep.names, runtime)
|
|
130
|
+
// CJS exports are never inlined
|
|
131
|
+
const used = /** @type {string | string[] | false} */ (
|
|
132
|
+
moduleGraph.getExportsInfo(module).getUsedName(dep.names, runtime)
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
if (concatenationScope) {
|
|
136
|
+
// eligibility is enforced by JavascriptGenerator.getConcatenationBailoutReason
|
|
137
|
+
if (dep.base !== "exports" && dep.base !== "module.exports") {
|
|
138
|
+
throw new Error(
|
|
139
|
+
`Unsupported base ${dep.base} in concatenated CommonJS module`
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
if (!used) {
|
|
143
|
+
initFragments.push(
|
|
144
|
+
new InitFragment(
|
|
145
|
+
"var __webpack_unused_export__;\n",
|
|
146
|
+
InitFragment.STAGE_CONSTANTS,
|
|
147
|
+
0,
|
|
148
|
+
"__webpack_unused_export__"
|
|
149
|
+
)
|
|
150
|
+
);
|
|
151
|
+
source.replace(
|
|
152
|
+
dep.range[0],
|
|
153
|
+
dep.range[1] - 1,
|
|
154
|
+
"__webpack_unused_export__"
|
|
155
|
+
);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
source.replace(
|
|
159
|
+
dep.range[0],
|
|
160
|
+
dep.range[1] - 1,
|
|
161
|
+
getConcatenatedExportAccess(
|
|
162
|
+
concatenationScope,
|
|
163
|
+
initFragments,
|
|
164
|
+
dep.names
|
|
165
|
+
)
|
|
166
|
+
);
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
115
169
|
|
|
116
170
|
const [type, base] = handleDependencyBase(
|
|
117
171
|
dep.base,
|
|
@@ -140,7 +194,7 @@ CommonJsExportsDependency.Template = class CommonJsExportsDependencyTemplate ext
|
|
|
140
194
|
source.replace(
|
|
141
195
|
dep.range[0],
|
|
142
196
|
dep.range[1] - 1,
|
|
143
|
-
`${base}${propertyAccess(used)}`
|
|
197
|
+
`${base}${propertyAccess(/** @type {string[]} */ (used))}`
|
|
144
198
|
);
|
|
145
199
|
return;
|
|
146
200
|
case "Object.defineProperty":
|
|
@@ -169,7 +223,7 @@ CommonJsExportsDependency.Template = class CommonJsExportsDependencyTemplate ext
|
|
|
169
223
|
dep.range[0],
|
|
170
224
|
/** @type {Range} */ (dep.valueRange)[0] - 1,
|
|
171
225
|
`Object.defineProperty(${base}${propertyAccess(
|
|
172
|
-
used.slice(0, -1)
|
|
226
|
+
/** @type {string[]} */ (used).slice(0, -1)
|
|
173
227
|
)}, ${JSON.stringify(used[used.length - 1])}, (`
|
|
174
228
|
);
|
|
175
229
|
source.replace(
|