@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
|
@@ -15,6 +15,7 @@ const { propertyName } = require("../util/property");
|
|
|
15
15
|
/** @typedef {import("../ExportsInfo").UsedName} UsedName */
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
+
* Join iterable with comma.
|
|
18
19
|
* @param {Iterable<string>} iterable iterable strings
|
|
19
20
|
* @returns {string} result
|
|
20
21
|
*/
|
|
@@ -43,10 +44,12 @@ const EMPTY_MAP = new Map();
|
|
|
43
44
|
const EMPTY_SET = new Set();
|
|
44
45
|
|
|
45
46
|
/**
|
|
47
|
+
* Represents HarmonyExportInitFragment.
|
|
46
48
|
* @extends {InitFragment<GenerateContext>} Context
|
|
47
49
|
*/
|
|
48
50
|
class HarmonyExportInitFragment extends InitFragment {
|
|
49
51
|
/**
|
|
52
|
+
* Creates an instance of HarmonyExportInitFragment.
|
|
50
53
|
* @param {string} exportsArgument the exports identifier
|
|
51
54
|
* @param {ExportMap} exportMap mapping from used name to exposed variable name
|
|
52
55
|
* @param {UnusedExports} unusedExports list of unused export names
|
|
@@ -66,6 +69,7 @@ class HarmonyExportInitFragment extends InitFragment {
|
|
|
66
69
|
}
|
|
67
70
|
|
|
68
71
|
/**
|
|
72
|
+
* Merges the provided values into a single result.
|
|
69
73
|
* @param {HarmonyExportInitFragment[]} fragments all fragments to merge
|
|
70
74
|
* @returns {HarmonyExportInitFragment} merged fragment
|
|
71
75
|
*/
|
|
@@ -115,6 +119,7 @@ class HarmonyExportInitFragment extends InitFragment {
|
|
|
115
119
|
}
|
|
116
120
|
|
|
117
121
|
/**
|
|
122
|
+
* Returns merged result.
|
|
118
123
|
* @param {HarmonyExportInitFragment} other other
|
|
119
124
|
* @returns {HarmonyExportInitFragment} merged result
|
|
120
125
|
*/
|
|
@@ -151,13 +156,11 @@ class HarmonyExportInitFragment extends InitFragment {
|
|
|
151
156
|
}
|
|
152
157
|
|
|
153
158
|
/**
|
|
159
|
+
* Returns the source code that will be included as initialization code.
|
|
154
160
|
* @param {GenerateContext} context context
|
|
155
161
|
* @returns {string | Source | undefined} the source code that will be included as initialization code
|
|
156
162
|
*/
|
|
157
163
|
getContent({ runtimeTemplate, runtimeRequirements }) {
|
|
158
|
-
runtimeRequirements.add(RuntimeGlobals.exports);
|
|
159
|
-
runtimeRequirements.add(RuntimeGlobals.definePropertyGetters);
|
|
160
|
-
|
|
161
164
|
const unusedPart =
|
|
162
165
|
this.unusedExports.size > 1
|
|
163
166
|
? `/* unused harmony exports ${joinIterableWithComma(
|
|
@@ -166,24 +169,29 @@ class HarmonyExportInitFragment extends InitFragment {
|
|
|
166
169
|
: this.unusedExports.size > 0
|
|
167
170
|
? `/* unused harmony export ${first(this.unusedExports)} */\n`
|
|
168
171
|
: "";
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
172
|
+
let definePart = "";
|
|
173
|
+
if (this.exportMap.size > 0) {
|
|
174
|
+
/** @type {string[]} */
|
|
175
|
+
const definitions = [];
|
|
176
|
+
const orderedExportMap =
|
|
177
|
+
this.exportMap.size > 1
|
|
178
|
+
? [...this.exportMap].sort(([a], [b]) => (a < b ? -1 : 1))
|
|
179
|
+
: this.exportMap;
|
|
180
|
+
for (const [key, value] of orderedExportMap) {
|
|
181
|
+
definitions.push(
|
|
182
|
+
`\n/* harmony export */ ${propertyName(
|
|
183
|
+
/** @type {string} */ (key)
|
|
184
|
+
)}: ${runtimeTemplate.returningFunction(value)}`
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
runtimeRequirements.add(RuntimeGlobals.exports);
|
|
188
|
+
runtimeRequirements.add(RuntimeGlobals.definePropertyGetters);
|
|
189
|
+
definePart = `/* harmony export */ ${
|
|
190
|
+
RuntimeGlobals.definePropertyGetters
|
|
191
|
+
}(${this.exportsArgument}, {${definitions.join(
|
|
192
|
+
","
|
|
193
|
+
)}\n/* harmony export */ });\n`;
|
|
180
194
|
}
|
|
181
|
-
const definePart =
|
|
182
|
-
this.exportMap.size > 0
|
|
183
|
-
? `/* harmony export */ ${RuntimeGlobals.definePropertyGetters}(${
|
|
184
|
-
this.exportsArgument
|
|
185
|
-
}, {${definitions.join(",")}\n/* harmony export */ });\n`
|
|
186
|
-
: "";
|
|
187
195
|
return `${definePart}${unusedPart}`;
|
|
188
196
|
}
|
|
189
197
|
}
|
|
@@ -5,44 +5,84 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
+
const Dependency = require("../Dependency");
|
|
9
|
+
const { InlinedUsedName } = require("../optimize/InlineExports");
|
|
8
10
|
const makeSerializable = require("../util/makeSerializable");
|
|
11
|
+
const ExportBindingInitFragment = require("./ExportBindingInitFragment");
|
|
9
12
|
const HarmonyExportInitFragment = require("./HarmonyExportInitFragment");
|
|
10
13
|
const NullDependency = require("./NullDependency");
|
|
11
14
|
|
|
12
15
|
/** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
|
|
13
|
-
/** @typedef {import("../Dependency")} Dependency */
|
|
14
16
|
/** @typedef {import("../Dependency").ExportsSpec} ExportsSpec */
|
|
17
|
+
/** @typedef {import("../Dependency").LazyUntil} LazyUntil */
|
|
15
18
|
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
|
|
16
19
|
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
|
17
20
|
/** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
|
|
18
|
-
/** @typedef {import("../
|
|
19
|
-
/** @typedef {import("../serialization/ObjectMiddleware").
|
|
21
|
+
/** @typedef {import("../optimize/InlineExports").InlinedValue} InlinedValue */
|
|
22
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[string, string, InlinedValue | null | undefined]>} ObjectDeserializerContext */
|
|
23
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[string, string, InlinedValue | null | undefined]>} ObjectSerializerContext */
|
|
20
24
|
/** @typedef {import("./HarmonyExportInitFragment").UnusedExports} UnusedExports */
|
|
21
25
|
/** @typedef {import("./HarmonyExportInitFragment").ExportMap} ExportMap */
|
|
26
|
+
/** @typedef {import("../javascript/JavascriptModule").JavascriptModuleBuildInfo} JavascriptModuleBuildInfo */
|
|
22
27
|
|
|
23
28
|
class HarmonyExportSpecifierDependency extends NullDependency {
|
|
24
29
|
/**
|
|
30
|
+
* Creates an instance of HarmonyExportSpecifierDependency.
|
|
25
31
|
* @param {string} id the id
|
|
26
32
|
* @param {string} name the name
|
|
33
|
+
* @param {InlinedValue | null=} constValue undefined = not const, null = const but not inline-eligible, InlinedValue = const and inline-eligible
|
|
27
34
|
*/
|
|
28
|
-
constructor(id, name) {
|
|
35
|
+
constructor(id, name, constValue) {
|
|
29
36
|
super();
|
|
37
|
+
/** @type {string} */
|
|
30
38
|
this.id = id;
|
|
39
|
+
/** @type {string} */
|
|
31
40
|
this.name = name;
|
|
41
|
+
/** @type {InlinedValue | null | undefined} */
|
|
42
|
+
this.constValue = constValue;
|
|
32
43
|
}
|
|
33
44
|
|
|
34
45
|
get type() {
|
|
35
46
|
return "harmony export specifier";
|
|
36
47
|
}
|
|
37
48
|
|
|
49
|
+
/**
|
|
50
|
+
* Returns how this dependency may be deferred when its parent module is side-effect-free (lazy barrel optimization).
|
|
51
|
+
* @returns {LazyUntil | null} lazy classification, null when it must be processed eagerly
|
|
52
|
+
*/
|
|
53
|
+
getLazyUntil() {
|
|
54
|
+
return Dependency.LAZY_UNTIL_LOCAL;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Returns the export name for a `LAZY_UNTIL_LOCAL`/`LAZY_UNTIL_ID` classification (lazy barrel optimization).
|
|
59
|
+
* @returns {string | null} export name, null when not applicable
|
|
60
|
+
*/
|
|
61
|
+
getLazyName() {
|
|
62
|
+
return this.name;
|
|
63
|
+
}
|
|
64
|
+
|
|
38
65
|
/**
|
|
39
66
|
* Returns the exported names
|
|
40
67
|
* @param {ModuleGraph} moduleGraph module graph
|
|
41
68
|
* @returns {ExportsSpec | undefined} export names
|
|
42
69
|
*/
|
|
43
70
|
getExports(moduleGraph) {
|
|
71
|
+
const module = moduleGraph.getParentModule(this);
|
|
72
|
+
const pureFunctions =
|
|
73
|
+
module &&
|
|
74
|
+
module.buildInfo &&
|
|
75
|
+
/** @type {JavascriptModuleBuildInfo} */ (module.buildInfo).pureFunctions;
|
|
76
|
+
const isPure = Boolean(pureFunctions && pureFunctions.has(this.id));
|
|
77
|
+
|
|
44
78
|
return {
|
|
45
|
-
exports: [
|
|
79
|
+
exports: [
|
|
80
|
+
{
|
|
81
|
+
name: this.name,
|
|
82
|
+
isPure: isPure || undefined,
|
|
83
|
+
inlined: this.constValue || undefined
|
|
84
|
+
}
|
|
85
|
+
],
|
|
46
86
|
priority: 1,
|
|
47
87
|
terminalBinding: true,
|
|
48
88
|
dependencies: undefined
|
|
@@ -50,6 +90,7 @@ class HarmonyExportSpecifierDependency extends NullDependency {
|
|
|
50
90
|
}
|
|
51
91
|
|
|
52
92
|
/**
|
|
93
|
+
* Gets module evaluation side effects state.
|
|
53
94
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
54
95
|
* @returns {ConnectionState} how this dependency connects the module to referencing modules
|
|
55
96
|
*/
|
|
@@ -58,23 +99,25 @@ class HarmonyExportSpecifierDependency extends NullDependency {
|
|
|
58
99
|
}
|
|
59
100
|
|
|
60
101
|
/**
|
|
102
|
+
* Serializes this instance into the provided serializer context.
|
|
61
103
|
* @param {ObjectSerializerContext} context context
|
|
62
104
|
*/
|
|
63
105
|
serialize(context) {
|
|
64
|
-
|
|
65
|
-
write(this.id);
|
|
66
|
-
write(this.name);
|
|
106
|
+
context.write(this.id).write(this.name).write(this.constValue);
|
|
67
107
|
super.serialize(context);
|
|
68
108
|
}
|
|
69
109
|
|
|
70
110
|
/**
|
|
111
|
+
* Restores this instance from the provided deserializer context.
|
|
71
112
|
* @param {ObjectDeserializerContext} context context
|
|
72
113
|
*/
|
|
73
114
|
deserialize(context) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
this.name = read();
|
|
77
|
-
|
|
115
|
+
this.id = context.read();
|
|
116
|
+
const c1 = context.rest;
|
|
117
|
+
this.name = c1.read();
|
|
118
|
+
const c2 = c1.rest;
|
|
119
|
+
this.constValue = c2.read();
|
|
120
|
+
super.deserialize(c2.rest);
|
|
78
121
|
}
|
|
79
122
|
}
|
|
80
123
|
|
|
@@ -87,6 +130,7 @@ HarmonyExportSpecifierDependency.Template = class HarmonyExportSpecifierDependen
|
|
|
87
130
|
NullDependency.Template
|
|
88
131
|
) {
|
|
89
132
|
/**
|
|
133
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
90
134
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
91
135
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
92
136
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -115,12 +159,38 @@ HarmonyExportSpecifierDependency.Template = class HarmonyExportSpecifierDependen
|
|
|
115
159
|
return;
|
|
116
160
|
}
|
|
117
161
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
162
|
+
if (used instanceof InlinedUsedName) {
|
|
163
|
+
// Inlined: importing side substitutes the literal directly, skip export init
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
const canUseValueBinding =
|
|
168
|
+
dep.constValue !== undefined &&
|
|
169
|
+
/** @type {import("../Module").BuildInfo} */ (module.buildInfo)
|
|
170
|
+
.isCircular === false;
|
|
171
|
+
|
|
172
|
+
if (canUseValueBinding) {
|
|
173
|
+
initFragments.push(
|
|
174
|
+
new ExportBindingInitFragment(
|
|
175
|
+
module.exportsArgument,
|
|
176
|
+
[
|
|
177
|
+
{
|
|
178
|
+
name: used,
|
|
179
|
+
value: `/* binding */ ${dep.id}`,
|
|
180
|
+
bindingType: "value"
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
true
|
|
184
|
+
)
|
|
185
|
+
);
|
|
186
|
+
} else {
|
|
187
|
+
/** @type {ExportMap} */
|
|
188
|
+
const map = new Map();
|
|
189
|
+
map.set(used, `/* binding */ ${dep.id}`);
|
|
190
|
+
initFragments.push(
|
|
191
|
+
new HarmonyExportInitFragment(module.exportsArgument, map, undefined)
|
|
192
|
+
);
|
|
193
|
+
}
|
|
124
194
|
}
|
|
125
195
|
};
|
|
126
196
|
|
|
@@ -9,12 +9,14 @@ const RuntimeGlobals = require("../RuntimeGlobals");
|
|
|
9
9
|
|
|
10
10
|
/** @typedef {import("../Module").BuildInfo} BuildInfo */
|
|
11
11
|
/** @typedef {import("../Module").BuildMeta} BuildMeta */
|
|
12
|
+
/** @typedef {import("../javascript/JavascriptModule").JavascriptModuleBuildMeta} JavascriptModuleBuildMeta */
|
|
12
13
|
/** @typedef {import("../javascript/JavascriptParser").JavascriptParserState} JavascriptParserState */
|
|
13
14
|
|
|
14
15
|
/** @type {WeakMap<JavascriptParserState, boolean>} */
|
|
15
16
|
const parserStateExportsState = new WeakMap();
|
|
16
17
|
|
|
17
18
|
/**
|
|
19
|
+
* Processes the provided parser state.
|
|
18
20
|
* @param {JavascriptParserState} parserState parser state
|
|
19
21
|
* @param {boolean} isStrictHarmony strict harmony mode should be enabled
|
|
20
22
|
* @returns {void}
|
|
@@ -24,7 +26,9 @@ module.exports.enable = (parserState, isStrictHarmony) => {
|
|
|
24
26
|
if (value === false) return;
|
|
25
27
|
parserStateExportsState.set(parserState, true);
|
|
26
28
|
if (value !== true) {
|
|
27
|
-
const buildMeta =
|
|
29
|
+
const buildMeta =
|
|
30
|
+
/** @type {JavascriptModuleBuildMeta} */
|
|
31
|
+
(parserState.module.buildMeta);
|
|
28
32
|
buildMeta.exportsType = "namespace";
|
|
29
33
|
const buildInfo = /** @type {BuildInfo} */ (parserState.module.buildInfo);
|
|
30
34
|
buildInfo.strict = true;
|
|
@@ -37,6 +41,7 @@ module.exports.enable = (parserState, isStrictHarmony) => {
|
|
|
37
41
|
};
|
|
38
42
|
|
|
39
43
|
/**
|
|
44
|
+
* Returns true, when enabled.
|
|
40
45
|
* @param {JavascriptParserState} parserState parser state
|
|
41
46
|
* @returns {boolean} true, when enabled
|
|
42
47
|
*/
|
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
const ConditionalInitFragment = require("../ConditionalInitFragment");
|
|
9
9
|
const Dependency = require("../Dependency");
|
|
10
|
-
const HarmonyLinkingError = require("../HarmonyLinkingError");
|
|
11
10
|
const InitFragment = require("../InitFragment");
|
|
12
11
|
const Template = require("../Template");
|
|
13
12
|
const AwaitDependenciesInitFragment = require("../async-modules/AwaitDependenciesInitFragment");
|
|
13
|
+
const isGeneratorLowered = require("../async-modules/isGeneratorLowered");
|
|
14
14
|
const { filterRuntime, mergeRuntime } = require("../util/runtime");
|
|
15
|
+
const HarmonyLinkingError = require("./HarmonyLinkingError");
|
|
15
16
|
const { ImportPhase, ImportPhaseUtils } = require("./ImportPhase");
|
|
16
17
|
const ModuleDependency = require("./ModuleDependency");
|
|
17
18
|
|
|
@@ -23,7 +24,7 @@ const ModuleDependency = require("./ModuleDependency");
|
|
|
23
24
|
/** @typedef {import("../Module")} Module */
|
|
24
25
|
/** @typedef {import("../Module").BuildMeta} BuildMeta */
|
|
25
26
|
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
|
26
|
-
/** @typedef {import("../WebpackError")} WebpackError */
|
|
27
|
+
/** @typedef {import("../errors/WebpackError")} WebpackError */
|
|
27
28
|
/** @typedef {import("../javascript/JavascriptParser").ImportAttributes} ImportAttributes */
|
|
28
29
|
/** @typedef {import("./ImportPhase").ImportPhaseType} ImportPhaseType */
|
|
29
30
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
@@ -38,6 +39,7 @@ const ExportPresenceModes = {
|
|
|
38
39
|
AUTO: /** @type {ExportPresenceMode} */ (2),
|
|
39
40
|
ERROR: /** @type {ExportPresenceMode} */ (3),
|
|
40
41
|
/**
|
|
42
|
+
* Returns result.
|
|
41
43
|
* @param {string | false} str param
|
|
42
44
|
* @returns {ExportPresenceMode} result
|
|
43
45
|
*/
|
|
@@ -90,6 +92,7 @@ const getNonOptionalPart = (members, membersOptionals) => {
|
|
|
90
92
|
|
|
91
93
|
class HarmonyImportDependency extends ModuleDependency {
|
|
92
94
|
/**
|
|
95
|
+
* Creates an instance of HarmonyImportDependency.
|
|
93
96
|
* @param {string} request request string
|
|
94
97
|
* @param {number} sourceOrder source order
|
|
95
98
|
* @param {ImportPhaseType=} phase import phase
|
|
@@ -102,8 +105,12 @@ class HarmonyImportDependency extends ModuleDependency {
|
|
|
102
105
|
attributes = undefined
|
|
103
106
|
) {
|
|
104
107
|
super(request, sourceOrder);
|
|
108
|
+
/** @type {ImportPhaseType} */
|
|
105
109
|
this.phase = phase;
|
|
110
|
+
/** @type {ImportAttributes | undefined} */
|
|
106
111
|
this.attributes = attributes;
|
|
112
|
+
/** @type {boolean} */
|
|
113
|
+
this._lazyMake = false;
|
|
107
114
|
}
|
|
108
115
|
|
|
109
116
|
get category() {
|
|
@@ -111,6 +118,31 @@ class HarmonyImportDependency extends ModuleDependency {
|
|
|
111
118
|
}
|
|
112
119
|
|
|
113
120
|
/**
|
|
121
|
+
* Whether the lazy barrel currently defers creating this dependency's target module (lazy barrel optimization).
|
|
122
|
+
* @returns {boolean} true while deferred, so it must not be processed or rendered
|
|
123
|
+
*/
|
|
124
|
+
isLazy() {
|
|
125
|
+
return this._lazyMake;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Sets whether the lazy barrel defers creating this dependency's target module (lazy barrel optimization).
|
|
130
|
+
* @param {boolean} value true to defer, false to create it now
|
|
131
|
+
*/
|
|
132
|
+
setLazy(value) {
|
|
133
|
+
this._lazyMake = value;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Returns true if this dependency can be concatenated
|
|
138
|
+
* @returns {boolean} true if this dependency can be concatenated
|
|
139
|
+
*/
|
|
140
|
+
canConcatenate() {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Returns an identifier to merge equal requests.
|
|
114
146
|
* @returns {string | null} an identifier to merge equal requests
|
|
115
147
|
*/
|
|
116
148
|
getResourceIdentifier() {
|
|
@@ -136,6 +168,7 @@ class HarmonyImportDependency extends ModuleDependency {
|
|
|
136
168
|
}
|
|
137
169
|
|
|
138
170
|
/**
|
|
171
|
+
* Returns name of the variable for the import.
|
|
139
172
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
140
173
|
* @returns {string} name of the variable for the import
|
|
141
174
|
*/
|
|
@@ -158,7 +191,7 @@ class HarmonyImportDependency extends ModuleDependency {
|
|
|
158
191
|
|
|
159
192
|
let importVar = importVarMap.get(importedModule);
|
|
160
193
|
if (importVar) return importVar;
|
|
161
|
-
importVar = `${Template.toIdentifier(
|
|
194
|
+
importVar = `${Template.toIdentifier(this.userRequest)}__WEBPACK_${
|
|
162
195
|
isDeferred ? "DEFERRED_" : ""
|
|
163
196
|
}IMPORTED_MODULE_${importVarMap.size}__`;
|
|
164
197
|
importVarMap.set(importedModule, importVar);
|
|
@@ -166,6 +199,7 @@ class HarmonyImportDependency extends ModuleDependency {
|
|
|
166
199
|
}
|
|
167
200
|
|
|
168
201
|
/**
|
|
202
|
+
* Gets module exports.
|
|
169
203
|
* @param {DependencyTemplateContext} context the template context
|
|
170
204
|
* @returns {string} the expression
|
|
171
205
|
*/
|
|
@@ -184,6 +218,7 @@ class HarmonyImportDependency extends ModuleDependency {
|
|
|
184
218
|
}
|
|
185
219
|
|
|
186
220
|
/**
|
|
221
|
+
* Gets import statement.
|
|
187
222
|
* @param {boolean} update create new variables or update existing one
|
|
188
223
|
* @param {DependencyTemplateContext} templateContext the template context
|
|
189
224
|
* @returns {[string, string]} the import statement and the compat statement
|
|
@@ -206,6 +241,7 @@ class HarmonyImportDependency extends ModuleDependency {
|
|
|
206
241
|
}
|
|
207
242
|
|
|
208
243
|
/**
|
|
244
|
+
* Gets linking errors.
|
|
209
245
|
* @param {ModuleGraph} moduleGraph module graph
|
|
210
246
|
* @param {Ids} ids imported ids
|
|
211
247
|
* @param {string} additionalMessage extra info included in the error message
|
|
@@ -324,22 +360,26 @@ class HarmonyImportDependency extends ModuleDependency {
|
|
|
324
360
|
}
|
|
325
361
|
|
|
326
362
|
/**
|
|
363
|
+
* Serializes this instance into the provided serializer context.
|
|
327
364
|
* @param {ObjectSerializerContext} context context
|
|
328
365
|
*/
|
|
329
366
|
serialize(context) {
|
|
330
367
|
const { write } = context;
|
|
331
368
|
write(this.attributes);
|
|
332
369
|
write(this.phase);
|
|
370
|
+
write(this._lazyMake);
|
|
333
371
|
super.serialize(context);
|
|
334
372
|
}
|
|
335
373
|
|
|
336
374
|
/**
|
|
375
|
+
* Restores this instance from the provided deserializer context.
|
|
337
376
|
* @param {ObjectDeserializerContext} context context
|
|
338
377
|
*/
|
|
339
378
|
deserialize(context) {
|
|
340
379
|
const { read } = context;
|
|
341
380
|
this.attributes = read();
|
|
342
381
|
this.phase = read();
|
|
382
|
+
this._lazyMake = read();
|
|
343
383
|
super.deserialize(context);
|
|
344
384
|
}
|
|
345
385
|
}
|
|
@@ -353,6 +393,7 @@ HarmonyImportDependency.Template = class HarmonyImportDependencyTemplate extends
|
|
|
353
393
|
ModuleDependency.Template
|
|
354
394
|
) {
|
|
355
395
|
/**
|
|
396
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
356
397
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
357
398
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
358
399
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -363,6 +404,10 @@ HarmonyImportDependency.Template = class HarmonyImportDependencyTemplate extends
|
|
|
363
404
|
const { module, chunkGraph, moduleGraph, runtime } = templateContext;
|
|
364
405
|
|
|
365
406
|
const connection = moduleGraph.getConnection(dep);
|
|
407
|
+
// deferred by lazy barrel: never resolved, must not render a missing module
|
|
408
|
+
if (connection === undefined && dep.isLazy()) {
|
|
409
|
+
return;
|
|
410
|
+
}
|
|
366
411
|
if (connection && !connection.isTargetActive(runtime)) return;
|
|
367
412
|
|
|
368
413
|
const referencedModule = connection && connection.module;
|
|
@@ -431,8 +476,18 @@ HarmonyImportDependency.Template = class HarmonyImportDependencyTemplate extends
|
|
|
431
476
|
)
|
|
432
477
|
);
|
|
433
478
|
const importVar = dep.getImportVar(templateContext.moduleGraph);
|
|
479
|
+
// When the consuming module is emitted as a generator (target without
|
|
480
|
+
// `async`/`await`), the dependency `await` must become `yield`.
|
|
481
|
+
const generatorLowered = isGeneratorLowered(
|
|
482
|
+
/** @type {Module} */ (module),
|
|
483
|
+
moduleGraph,
|
|
484
|
+
templateContext.runtimeTemplate
|
|
485
|
+
);
|
|
434
486
|
templateContext.initFragments.push(
|
|
435
|
-
new AwaitDependenciesInitFragment(
|
|
487
|
+
new AwaitDependenciesInitFragment(
|
|
488
|
+
new Map([[importVar, importVar]]),
|
|
489
|
+
generatorLowered
|
|
490
|
+
)
|
|
436
491
|
);
|
|
437
492
|
templateContext.initFragments.push(
|
|
438
493
|
new ConditionalInitFragment(
|
|
@@ -457,6 +512,7 @@ HarmonyImportDependency.Template = class HarmonyImportDependencyTemplate extends
|
|
|
457
512
|
}
|
|
458
513
|
|
|
459
514
|
/**
|
|
515
|
+
* Gets import emitted runtime.
|
|
460
516
|
* @param {Module} module the module
|
|
461
517
|
* @param {Module} referencedModule the referenced module
|
|
462
518
|
* @returns {RuntimeSpec | boolean} runtimeCondition in which this import has been emitted
|