@depup/webpack 5.109.0-depup.0 → 5.110.1-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/bin/webpack.js +12 -0
- package/changes.json +10 -10
- package/lib/APIPlugin.js +123 -17
- package/lib/AsyncDependenciesBlock.js +10 -7
- package/lib/AutomaticPrefetchPlugin.js +1 -1
- package/lib/BannerPlugin.js +10 -6
- package/lib/CacheFacade.js +6 -6
- package/lib/Chunk.js +14 -11
- package/lib/ChunkGraph.js +43 -32
- package/lib/ChunkGroup.js +7 -7
- package/lib/ChunkTemplate.js +35 -44
- package/lib/CircularModulesPlugin.js +205 -28
- package/lib/CleanPlugin.js +15 -16
- package/lib/CodeGenerationResults.js +11 -8
- package/lib/CompatibilityPlugin.js +38 -7
- package/lib/Compilation.js +709 -414
- package/lib/Compiler.js +69 -42
- package/lib/ConcatenationScope.js +117 -8
- package/lib/ConditionalInitFragment.js +3 -3
- package/lib/ConstPlugin.js +13 -11
- package/lib/ContextExclusionPlugin.js +1 -1
- package/lib/ContextModule.js +146 -54
- package/lib/ContextModuleFactory.js +46 -14
- package/lib/ContextReplacementPlugin.js +12 -14
- package/lib/DefinePlugin.js +168 -57
- package/lib/DependenciesBlock.js +9 -6
- package/lib/Dependency.js +36 -16
- package/lib/DependencyTemplate.js +11 -12
- package/lib/DependencyTemplates.js +3 -3
- package/lib/DotenvPlugin.js +50 -13
- package/lib/DynamicEntryPlugin.js +8 -4
- package/lib/EntryOptionPlugin.js +8 -4
- package/lib/EntryPlugin.js +2 -2
- package/lib/Entrypoint.js +6 -2
- package/lib/EnvironmentPlugin.js +2 -2
- package/lib/EvalDevToolModulePlugin.js +8 -4
- package/lib/EvalSourceMapDevToolPlugin.js +15 -8
- package/lib/ExportsInfo.js +123 -19
- package/lib/ExportsInfoApiPlugin.js +2 -4
- package/lib/ExternalModule.js +242 -84
- package/lib/ExternalModuleFactoryPlugin.js +97 -38
- package/lib/ExternalsPlugin.js +10 -6
- package/lib/FileSystemInfo.js +116 -42
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -3
- package/lib/FlagDependencyExportsPlugin.js +76 -19
- package/lib/FlagDependencyUsagePlugin.js +63 -57
- package/lib/FlagEntryExportAsUsedPlugin.js +1 -1
- package/lib/Generator.js +36 -15
- package/lib/HotModuleReplacementPlugin.js +16 -44
- package/lib/IgnorePlugin.js +8 -4
- package/lib/IgnoreWarningsPlugin.js +2 -2
- package/lib/InitFragment.js +28 -36
- package/lib/JavascriptMetaInfoPlugin.js +35 -4
- package/lib/LazyBarrel.js +3 -4
- package/lib/LibraryTemplatePlugin.js +10 -6
- package/lib/LoaderOptionsPlugin.js +7 -3
- package/lib/LoaderTargetPlugin.js +1 -1
- package/lib/MainTemplate.js +49 -42
- package/lib/ManifestPlugin.js +12 -11
- package/lib/Module.js +62 -33
- package/lib/ModuleFactory.js +3 -3
- package/lib/ModuleFilenameHelpers.js +22 -6
- package/lib/ModuleGraph.js +195 -21
- package/lib/ModuleGraphConnection.js +6 -13
- package/lib/ModuleInfoHeaderPlugin.js +8 -10
- package/lib/ModuleTemplate.js +62 -63
- package/lib/MultiCompiler.js +130 -64
- package/lib/MultiStats.js +40 -9
- package/lib/MultiWatching.js +3 -3
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +29 -19
- package/lib/NormalModule.js +221 -156
- package/lib/NormalModuleFactory.js +563 -112
- package/lib/NormalModuleReplacementPlugin.js +5 -8
- package/lib/NullFactory.js +6 -2
- package/lib/OptionsApply.js +7 -3
- package/lib/Parser.js +7 -3
- package/lib/PlatformPlugin.js +2 -2
- package/lib/PrefetchPlugin.js +1 -1
- package/lib/ProgressPlugin.js +16 -13
- package/lib/ProvidePlugin.js +3 -5
- package/lib/RawModule.js +25 -17
- package/lib/RecordIdsPlugin.js +3 -3
- package/lib/RequestShortener.js +1 -1
- package/lib/ResolverFactory.js +2 -2
- package/lib/RuntimeGlobals.js +22 -10
- package/lib/RuntimeModule.js +29 -19
- package/lib/RuntimePlugin.js +346 -256
- package/lib/RuntimeTemplate.js +2792 -352
- package/lib/SelfModuleFactory.js +7 -3
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +6 -2
- package/lib/SourceMapDevToolPlugin.js +30 -20
- package/lib/Stats.js +3 -4
- package/lib/Template.js +55 -25
- package/lib/TemplatedPathPlugin.js +96 -14
- package/lib/UseStrictPlugin.js +4 -6
- package/lib/WarnCaseSensitiveModulesPlugin.js +4 -4
- package/lib/WarnDeprecatedOptionPlugin.js +1 -1
- package/lib/WarnNoModeSetPlugin.js +1 -1
- package/lib/WatchIgnorePlugin.js +8 -6
- package/lib/Watching.js +8 -8
- package/lib/WebpackIsIncludedPlugin.js +2 -4
- package/lib/WebpackOptionsApply.js +308 -18
- package/lib/WebpackOptionsDefaulter.js +6 -2
- package/lib/asset/AssetBytesGenerator.js +12 -10
- package/lib/asset/AssetBytesParser.js +2 -4
- package/lib/asset/AssetGenerator.js +188 -95
- package/lib/asset/AssetModule.js +7 -3
- package/lib/asset/AssetModulesPlugin.js +110 -38
- package/lib/asset/AssetParser.js +9 -7
- package/lib/asset/AssetSourceGenerator.js +60 -13
- package/lib/asset/AssetSourceParser.js +2 -4
- package/lib/asset/RawDataUrlModule.js +24 -16
- package/lib/asset/WebManifestGenerator.js +8 -10
- package/lib/asset/WebManifestParser.js +24 -10
- package/lib/async-modules/AsyncModuleHelpers.js +2 -2
- package/lib/async-modules/AwaitDependenciesInitFragment.js +2 -2
- package/lib/async-modules/InferAsyncModulesPlugin.js +2 -2
- package/lib/async-modules/isGeneratorLowered.js +4 -4
- package/lib/buildChunkGraph.js +36 -27
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +1 -1
- package/lib/cache/AddManagedPathsPlugin.js +1 -1
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +18 -10
- package/lib/cache/MemoryWithGcCachePlugin.js +34 -22
- package/lib/cache/PackFileCacheStrategy.js +289 -28
- package/lib/cache/ResolverCachePlugin.js +38 -18
- package/lib/cache/getLazyHashedEtag.js +1 -2
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/cli.js +1 -3
- package/lib/config/browserslistTargetHandler.js +41 -5
- package/lib/config/defaults.js +282 -81
- package/lib/config/defineConfig.js +10 -2
- package/lib/config/getClaimedAssetTypes.js +65 -0
- package/lib/config/normalization.js +36 -16
- package/lib/config/target.js +46 -3
- package/lib/container/ContainerEntryDependency.js +1 -1
- package/lib/container/ContainerEntryModule.js +24 -15
- package/lib/container/ContainerEntryModuleFactory.js +7 -3
- package/lib/container/ContainerPlugin.js +9 -10
- package/lib/container/ContainerReferencePlugin.js +6 -2
- package/lib/container/FallbackDependency.js +1 -1
- package/lib/container/FallbackModule.js +24 -17
- package/lib/container/FallbackModuleFactory.js +7 -3
- package/lib/container/HoistContainerReferencesPlugin.js +53 -66
- package/lib/container/ModuleFederationPlugin.js +7 -18
- package/lib/container/RemoteModule.js +27 -19
- package/lib/container/RemoteRuntimeModule.js +10 -8
- package/lib/container/moduleFederationHooks.js +32 -0
- package/lib/css/CssGenerator.js +178 -44
- package/lib/css/CssInjectStyleRuntimeModule.js +7 -5
- package/lib/css/CssLoadingRuntimeModule.js +82 -36
- package/lib/css/CssModule.js +10 -7
- package/lib/css/CssModulesPlugin.js +197 -106
- package/lib/css/CssParser.js +1248 -618
- package/lib/css/CssServerStylesRuntimeModule.js +54 -0
- package/lib/css/cssMinify.js +168 -0
- package/lib/css/data.js +5324 -0
- package/lib/css/syntax.js +10396 -952
- package/lib/debug/ProfilingPlugin.js +14 -9
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/AMDDefineDependency.js +112 -87
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +30 -17
- package/lib/dependencies/AMDPlugin.js +9 -7
- package/lib/dependencies/AMDRequireArrayDependency.js +5 -5
- package/lib/dependencies/AMDRequireContextDependency.js +2 -2
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -1
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +25 -14
- package/lib/dependencies/AMDRequireDependency.js +8 -7
- package/lib/dependencies/AMDRequireItemDependency.js +1 -1
- package/lib/dependencies/AMDRuntimeModules.js +21 -1
- package/lib/dependencies/BuildTimeConstDependency.js +102 -0
- package/lib/dependencies/CachedConstDependency.js +11 -8
- package/lib/dependencies/CommonJsDependencyHelpers.js +67 -46
- package/lib/dependencies/CommonJsExportRequireDependency.js +140 -45
- package/lib/dependencies/CommonJsExportsDependency.js +53 -49
- package/lib/dependencies/CommonJsExportsParserPlugin.js +207 -25
- package/lib/dependencies/CommonJsFullRequireDependency.js +140 -26
- package/lib/dependencies/CommonJsImportsParserPlugin.js +100 -48
- package/lib/dependencies/CommonJsObjectExportDependency.js +188 -0
- package/lib/dependencies/CommonJsPlugin.js +35 -6
- package/lib/dependencies/CommonJsRequireContextDependency.js +5 -6
- package/lib/dependencies/CommonJsRequireDependency.js +156 -27
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +63 -38
- package/lib/dependencies/ConstDependency.js +8 -9
- package/lib/dependencies/ContextDependency.js +12 -8
- package/lib/dependencies/ContextDependencyHelpers.js +14 -9
- package/lib/dependencies/ContextDependencyTemplateAsId.js +4 -4
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +4 -4
- package/lib/dependencies/ContextElementDependency.js +31 -12
- package/lib/dependencies/CreateRequireParserPlugin.js +12 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -4
- package/lib/dependencies/CssIcssExportDependency.js +56 -28
- package/lib/dependencies/CssIcssImportDependency.js +17 -13
- package/lib/dependencies/CssIcssSymbolDependency.js +9 -10
- package/lib/dependencies/CssImportDependency.js +18 -9
- package/lib/dependencies/CssUrlDependency.js +17 -13
- package/lib/dependencies/DllEntryDependency.js +1 -1
- package/lib/dependencies/DynamicExports.js +2 -2
- package/lib/dependencies/ExportBindingInitFragment.js +36 -9
- package/lib/dependencies/ExportsInfoDependency.js +7 -8
- package/lib/dependencies/ExternalModuleDependency.js +9 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +2 -2
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +8 -5
- package/lib/dependencies/HarmonyAcceptDependency.js +5 -5
- package/lib/dependencies/HarmonyCompatibilityDependency.js +52 -17
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +11 -7
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +15 -11
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +78 -12
- package/lib/dependencies/HarmonyExportExpressionDependency.js +23 -18
- package/lib/dependencies/HarmonyExportHeaderDependency.js +7 -7
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +159 -71
- package/lib/dependencies/HarmonyExportInitFragment.js +18 -6
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +51 -14
- package/lib/dependencies/HarmonyExports.js +7 -4
- package/lib/dependencies/HarmonyImportDependency.js +28 -20
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +31 -24
- package/lib/dependencies/HarmonyImportGuard.js +21 -30
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +38 -9
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +106 -55
- package/lib/dependencies/HarmonyModulesPlugin.js +7 -3
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -3
- package/lib/dependencies/HtmlEntryDependency.js +37 -29
- package/lib/dependencies/HtmlInlineHtmlDependency.js +7 -8
- package/lib/dependencies/HtmlInlineScriptDependency.js +11 -8
- package/lib/dependencies/HtmlInlineStyleDependency.js +7 -10
- package/lib/dependencies/HtmlSourceDependency.js +22 -14
- package/lib/dependencies/ImportContextDependency.js +2 -2
- package/lib/dependencies/ImportDependency.js +24 -20
- package/lib/dependencies/ImportEagerDependency.js +6 -9
- package/lib/dependencies/ImportMetaContextDependency.js +2 -2
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +14 -13
- package/lib/dependencies/ImportMetaContextPlugin.js +7 -3
- package/lib/dependencies/ImportMetaGlobDependency.js +2 -2
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +2 -3
- package/lib/dependencies/ImportMetaGlobHelpers.js +19 -22
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -1
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -1
- package/lib/dependencies/ImportMetaPlugin.js +154 -71
- package/lib/dependencies/ImportMetaResolveDependency.js +3 -4
- package/lib/dependencies/ImportParserPlugin.js +49 -35
- package/lib/dependencies/ImportPhase.js +12 -5
- package/lib/dependencies/ImportPlugin.js +7 -3
- package/lib/dependencies/ImportWeakDependency.js +6 -9
- package/lib/dependencies/JsonExportsDependency.js +11 -7
- package/lib/dependencies/LoaderDependency.js +2 -2
- package/lib/dependencies/LoaderImportDependency.js +2 -2
- package/lib/dependencies/LoaderPlugin.js +11 -7
- package/lib/dependencies/LocalModuleDependency.js +5 -5
- package/lib/dependencies/LocalModulesHelpers.js +1 -1
- package/lib/dependencies/ModuleDecoratorDependency.js +6 -7
- package/lib/dependencies/ModuleDependency.js +9 -6
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +4 -4
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +3 -3
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -1
- package/lib/dependencies/ModuleHotDeclineDependency.js +1 -1
- package/lib/dependencies/ModuleInitFragmentDependency.js +24 -10
- package/lib/dependencies/NullDependency.js +3 -3
- package/lib/dependencies/ProvidedDependency.js +14 -10
- package/lib/dependencies/PureExpressionDependency.js +9 -10
- package/lib/dependencies/RequireContextDependency.js +2 -2
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -4
- package/lib/dependencies/RequireContextPlugin.js +8 -4
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +2 -2
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +5 -8
- package/lib/dependencies/RequireEnsureDependency.js +8 -7
- package/lib/dependencies/RequireEnsurePlugin.js +7 -3
- package/lib/dependencies/RequireHeaderDependency.js +51 -12
- package/lib/dependencies/RequireIncludeDependency.js +6 -6
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +2 -3
- package/lib/dependencies/RequireIncludePlugin.js +7 -3
- package/lib/dependencies/RequireJsStuffPlugin.js +7 -3
- package/lib/dependencies/RequireResolveContextDependency.js +2 -2
- package/lib/dependencies/RequireResolveDependency.js +4 -4
- package/lib/dependencies/RequireResolveHeaderDependency.js +4 -4
- package/lib/dependencies/RuntimeRequirementsDependency.js +5 -6
- package/lib/dependencies/StaticExportsDependency.js +2 -2
- package/lib/dependencies/SystemPlugin.js +10 -6
- package/lib/dependencies/SystemRuntimeModule.js +10 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +11 -7
- package/lib/dependencies/URLContextDependency.js +2 -2
- package/lib/dependencies/URLDependency.js +110 -64
- package/lib/dependencies/URLPlugin.js +7 -3
- package/lib/dependencies/UnsupportedDependency.js +4 -4
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +3 -4
- package/lib/dependencies/WebAssemblyImportDependency.js +5 -5
- package/lib/dependencies/WebpackIsIncludedDependency.js +6 -6
- package/lib/dependencies/WorkerAndWorkletPlugin.js +46 -28
- package/lib/dependencies/WorkerDependency.js +28 -22
- package/lib/dependencies/WorkletDependency.js +15 -14
- package/lib/dependencies/getFunctionExpression.js +8 -4
- package/lib/dependencies/processExportInfo.js +5 -5
- package/lib/dll/DelegatedModule.js +34 -22
- package/lib/dll/DelegatedModuleFactoryPlugin.js +15 -7
- package/lib/dll/DelegatedPlugin.js +2 -2
- package/lib/dll/DllEntryPlugin.js +2 -2
- package/lib/dll/DllModule.js +22 -15
- package/lib/dll/DllModuleFactory.js +7 -3
- package/lib/dll/DllPlugin.js +7 -5
- package/lib/dll/DllReferencePlugin.js +10 -7
- package/lib/dll/LibManifestPlugin.js +5 -5
- package/lib/electron/ElectronTargetPlugin.js +53 -49
- package/lib/errors/AsyncChunkWaterfallWarning.js +36 -0
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BroadContextsWarning.js +43 -0
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/errors/CacheEffectivenessWarning.js +55 -0
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CircularDependenciesWarning.js +38 -0
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingResourceHintsWarning.js +35 -0
- package/lib/errors/DuplicateModulesWarning.js +45 -0
- package/lib/errors/DynamicExportsWarning.js +30 -0
- package/lib/errors/EmbeddedSourceMapsWarning.js +25 -0
- package/lib/errors/EntrypointOverlapWarning.js +45 -0
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/errors/EvalUsageWarning.js +28 -0
- package/lib/errors/HookWebpackError.js +5 -5
- package/lib/errors/HotspotsWarning.js +57 -0
- package/lib/errors/IgnoreErrorModuleFactory.js +7 -3
- package/lib/errors/InlinedAssetsWarning.js +36 -0
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/errors/LargeModulesWarning.js +45 -0
- package/lib/errors/LegacyJavascriptWarning.js +48 -0
- package/lib/errors/MissingSideEffectsWarning.js +36 -0
- package/lib/errors/MixedExportsWarning.js +41 -0
- package/lib/errors/ModuleDependencyError.js +13 -16
- package/lib/errors/ModuleDependencyWarning.js +5 -15
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +2 -2
- package/lib/errors/ModuleParseError.js +1 -2
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/NodeStuffInWebError.js +1 -1
- package/lib/errors/OsDependentRuleWarning.js +31 -0
- package/lib/errors/PureAnnotationsWarning.js +36 -0
- package/lib/errors/RedundantDynamicImportWarning.js +31 -0
- package/lib/errors/ScopeHoistingBailoutsWarning.js +41 -0
- package/lib/errors/SplitChunksCappedWarning.js +41 -0
- package/lib/errors/TinyChunksWarning.js +40 -0
- package/lib/errors/TopLevelThisWarning.js +34 -0
- package/lib/errors/UnsplitVendorsWarning.js +42 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/errors/UnusedAliasesWarning.js +29 -0
- package/lib/errors/UnusedDefinesWarning.js +29 -0
- package/lib/errors/UnusedExternalsWarning.js +29 -0
- package/lib/errors/UnusedReexportsWarning.js +42 -0
- package/lib/errors/UnusedRuleWarning.js +29 -0
- package/lib/errors/WebpackError.js +9 -5
- package/lib/errors/deriveStackFromNestedError.js +90 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +37 -19
- package/lib/esm/ModuleChunkLoadingPlugin.js +89 -51
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +170 -71
- package/lib/hmr/HotModuleReplacement.runtime.js +24 -5
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -1
- package/lib/hmr/LazyCompilationPlugin.js +45 -24
- package/lib/hmr/lazyCompilationBackend.js +28 -10
- package/lib/hmr/parserHooks.js +56 -0
- package/lib/html/HtmlGenerator.js +299 -79
- package/lib/html/HtmlModule.js +7 -3
- package/lib/html/HtmlModulesPlugin.js +312 -174
- package/lib/html/HtmlParser.js +31 -86
- package/lib/html/data.js +1928 -0
- package/lib/html/htmlMinify.js +288 -0
- package/lib/html/syntax.js +7819 -3331
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -3
- package/lib/ids/DeterministicChunkIdsPlugin.js +1 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +2 -2
- package/lib/ids/HashedModuleIdsPlugin.js +6 -2
- package/lib/ids/IdHelpers.js +31 -18
- package/lib/ids/NamedChunkIdsPlugin.js +1 -1
- package/lib/ids/NamedModuleIdsPlugin.js +1 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +2 -2
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +7 -3
- package/lib/ids/OccurrenceModuleIdsPlugin.js +7 -3
- package/lib/ids/SyncModuleIdsPlugin.js +4 -4
- package/lib/index.js +10 -0
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +3 -3
- package/lib/javascript/BasicEvaluatedExpression.js +18 -14
- package/lib/javascript/ChunkFormatHelpers.js +6 -6
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/CommonJsChunkFormatPlugin.js +11 -5
- package/lib/javascript/EnableChunkLoadingPlugin.js +2 -2
- package/lib/javascript/JavascriptGenerator.js +65 -165
- package/lib/javascript/JavascriptModule.js +9 -3
- package/lib/javascript/JavascriptModulesPlugin.js +181 -162
- package/lib/javascript/JavascriptParser.js +291 -112
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/ScopeAnalyzer.js +1094 -0
- package/lib/javascript/StartupHelpers.js +55 -9
- package/lib/javascript/syntax.js +3403 -300
- package/lib/json/JsonData.js +8 -4
- package/lib/json/JsonGenerator.js +38 -16
- package/lib/json/JsonModule.js +7 -3
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +5 -6
- package/lib/library/AbstractLibraryPlugin.js +20 -14
- package/lib/library/AmdLibraryPlugin.js +11 -7
- package/lib/library/AssignLibraryPlugin.js +19 -13
- package/lib/library/EnableLibraryPlugin.js +2 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +15 -8
- package/lib/library/JsonpLibraryPlugin.js +11 -7
- package/lib/library/ModuleLibraryPlugin.js +256 -64
- package/lib/library/SystemLibraryPlugin.js +12 -8
- package/lib/library/UmdLibraryPlugin.js +62 -25
- package/lib/loaders/LoaderRunner.js +14 -1
- package/lib/loaders/loadLoader.js +8 -4
- package/lib/logging/createConsoleLogger.js +7 -4
- package/lib/node/CommonJsChunkLoadingPlugin.js +36 -22
- package/lib/node/NodeEnvironmentPlugin.js +17 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -3
- package/lib/node/NodeTemplatePlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +70 -9
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +81 -20
- package/lib/node/ReadFileCompileWasmPlugin.js +37 -17
- package/lib/node/RequireChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/nodeConsole.js +7 -3
- package/lib/optimize/AggressiveMergingPlugin.js +21 -17
- package/lib/optimize/AggressiveSplittingPlugin.js +9 -6
- package/lib/optimize/ConcatenatedModule.js +996 -477
- package/lib/optimize/ConstExportsPlugin.js +11 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -4
- package/lib/optimize/InlineExports.js +9 -5
- package/lib/optimize/InnerGraph.js +28 -12
- package/lib/optimize/InnerGraphPlugin.js +23 -18
- package/lib/optimize/LimitChunkCountPlugin.js +7 -3
- package/lib/optimize/MangleExportsPlugin.js +7 -8
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -3
- package/lib/optimize/MinChunkSizePlugin.js +7 -3
- package/lib/optimize/ModuleConcatenationPlugin.js +124 -59
- package/lib/optimize/RealContentHashPlugin.js +20 -13
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/RuntimeChunkPlugin.js +2 -2
- package/lib/optimize/SideEffectsFlagPlugin.js +262 -39
- package/lib/optimize/SplitChunksPlugin.js +232 -68
- package/lib/performance/AssetsOverSizeLimitWarning.js +10 -2
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +136 -0
- package/lib/performance/BroadContextsPlugin.js +142 -0
- package/lib/performance/CacheEffectivenessPlugin.js +125 -0
- package/lib/performance/ConflictingResourceHintsPlugin.js +99 -0
- package/lib/performance/DuplicateModulesPlugin.js +93 -0
- package/lib/performance/DuplicatePackagesPlugin.js +119 -0
- package/lib/performance/DuplicatePackagesWarning.js +84 -0
- package/lib/performance/DynamicExportsPlugin.js +120 -0
- package/lib/performance/EmbeddedSourceMapsPlugin.js +71 -0
- package/lib/performance/EntrypointOverlapPlugin.js +122 -0
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -1
- package/lib/performance/EvalUsagePlugin.js +115 -0
- package/lib/performance/HotspotsPlugin.js +296 -0
- package/lib/performance/InlinedAssetsPlugin.js +99 -0
- package/lib/performance/LargeModulesPlugin.js +126 -0
- package/lib/performance/LegacyJavascriptPlugin.js +139 -0
- package/lib/performance/MissingSideEffectsPlugin.js +138 -0
- package/lib/performance/MixedExportsPlugin.js +136 -0
- package/lib/performance/OsDependentRuleWarningPlugin.js +178 -0
- package/lib/performance/PureAnnotationsPlugin.js +219 -0
- package/lib/performance/RedundantDynamicImportsPlugin.js +225 -0
- package/lib/performance/RuntimeInLargeChunkWarning.js +27 -0
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +164 -0
- package/lib/performance/SizeLimitsPlugin.js +139 -7
- package/lib/performance/SplitChunksCappedPlugin.js +99 -0
- package/lib/performance/TinyChunksPlugin.js +128 -0
- package/lib/performance/TopLevelThisPlugin.js +208 -0
- package/lib/performance/UnsplitVendorsPlugin.js +112 -0
- package/lib/performance/UnusedAliasesPlugin.js +253 -0
- package/lib/performance/UnusedDefinesPlugin.js +87 -0
- package/lib/performance/UnusedExternalsPlugin.js +110 -0
- package/lib/performance/UnusedReexportsPlugin.js +159 -0
- package/lib/performance/UnusedRuleWarningPlugin.js +105 -0
- package/lib/performance/getModuleSize.js +22 -0
- package/lib/performance/getSourceModules.js +22 -0
- package/lib/performance/hasOnlyUnusedExports.js +40 -0
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +24 -10
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +63 -46
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +2 -3
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ResourceHintPlugin.js +377 -136
- package/lib/prefetch/ResourceHintRuntimeModule.js +1 -21
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +10 -133
- package/lib/prefetch/parseResourceHintOptions.js +31 -4
- package/lib/rules/BasicEffectRulePlugin.js +2 -2
- package/lib/rules/BasicMatcherRulePlugin.js +8 -4
- package/lib/rules/GlobMatcherRulePlugin.js +68 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +12 -5
- package/lib/rules/RuleSetCompiler.js +146 -12
- package/lib/rules/UseEffectRulePlugin.js +18 -11
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +11 -1
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
- package/lib/runtime/AutoPublicPathRuntimeModule.js +15 -20
- package/lib/runtime/BaseUriRuntimeModule.js +33 -7
- package/lib/runtime/ChunkNameRuntimeModule.js +10 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +11 -1
- package/lib/runtime/CompatRuntimeModule.js +5 -3
- package/lib/runtime/ConcatenationWrapRuntimeModule.js +90 -0
- package/lib/runtime/ConstructRequireRuntimeModule.js +52 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +8 -6
- package/lib/runtime/CreateScriptRuntimeModule.js +11 -1
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +11 -1
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +56 -38
- package/lib/runtime/EnsureChunkRuntimeModule.js +18 -2
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +62 -37
- package/lib/runtime/GetFullHashRuntimeModule.js +12 -2
- package/lib/runtime/GetMainFilenameRuntimeModule.js +12 -2
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -2
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +16 -3
- package/lib/runtime/GlobalRuntimeModule.js +18 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +12 -2
- package/lib/runtime/LoadScriptRuntimeModule.js +2 -2
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +23 -6
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +22 -6
- package/lib/runtime/NonceRuntimeModule.js +10 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -3
- package/lib/runtime/PublicPathRuntimeModule.js +12 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +11 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +12 -2
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +11 -1
- package/lib/runtime/StartupChunkDependenciesPlugin.js +18 -9
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +3 -3
- package/lib/runtime/StartupEntrypointRuntimeModule.js +21 -4
- package/lib/runtime/SystemContextRuntimeModule.js +10 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -1
- package/lib/runtime/WorkerRuntimeModule.js +11 -1
- package/lib/runtime/baseUri.js +63 -0
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +24 -15
- package/lib/schemes/VirtualUrlPlugin.js +13 -7
- package/lib/serialization/AggregateErrorSerializer.js +1 -1
- package/lib/serialization/BinaryMiddleware.js +274 -942
- package/lib/serialization/ErrorObjectSerializer.js +1 -1
- package/lib/serialization/FileMiddleware.js +305 -66
- package/lib/serialization/ObjectMiddleware.js +139 -114
- package/lib/serialization/PlainObjectSerializer.js +19 -16
- package/lib/sharing/ConsumeSharedModule.js +30 -21
- package/lib/sharing/ConsumeSharedPlugin.js +18 -10
- package/lib/sharing/ConsumeSharedRuntimeModule.js +6 -9
- package/lib/sharing/ProvideSharedModule.js +25 -16
- package/lib/sharing/ProvideSharedModuleFactory.js +7 -3
- package/lib/sharing/ProvideSharedPlugin.js +8 -4
- package/lib/sharing/SharePlugin.js +17 -5
- package/lib/sharing/ShareRuntimeModule.js +4 -4
- package/lib/sharing/resolveMatchedConfigs.js +9 -6
- package/lib/sharing/utils.js +1 -3
- package/lib/stats/DefaultStatsFactoryPlugin.js +253 -226
- package/lib/stats/DefaultStatsPresetPlugin.js +17 -8
- package/lib/stats/DefaultStatsPrinterPlugin.js +60 -192
- package/lib/stats/StatsFactory.js +56 -35
- package/lib/stats/StatsPrinter.js +16 -12
- package/lib/typescript/TypeScriptPlugin.js +12 -14
- package/lib/url/URLParserPlugin.js +26 -13
- package/lib/util/AsyncQueue.js +4 -3
- package/lib/util/Hash.js +5 -1
- package/lib/util/LazySet.js +35 -22
- package/lib/util/LocConverter.js +36 -13
- package/lib/util/SourceProcessor.js +1050 -24
- package/lib/util/StringXor.js +1 -1
- package/lib/util/chainedImports.js +9 -5
- package/lib/util/cleverMerge.js +1 -1
- package/lib/util/comparators.js +45 -14
- package/lib/util/concatenate.js +203 -77
- package/lib/util/conventions.js +5 -1
- package/lib/util/createHash.js +2 -2
- package/lib/util/createHooksRegistry.js +8 -10
- package/lib/util/dataURL.js +225 -1
- package/lib/util/extractSourceMap.js +4 -3
- package/lib/util/findCaseMismatch.js +139 -0
- package/lib/util/formatLocation.js +1 -2
- package/lib/util/fs.js +22 -5
- package/lib/util/globUtils.js +298 -24
- package/lib/util/hash/BatchedHash.js +5 -1
- package/lib/util/hash/BulkUpdateHash.js +5 -1
- package/lib/util/hash/DebugHash.js +5 -1
- package/lib/util/hash/hash-digest.js +6 -2
- package/lib/util/identifier.js +25 -1
- package/lib/util/implicitTypeLoaderFallback.js +1 -1
- package/lib/util/internalSerializables.js +6 -0
- package/lib/util/lazyModule.js +56 -0
- package/lib/util/makeSerializable.js +7 -3
- package/lib/util/matchAlias.js +25 -0
- package/lib/util/mimeTypes.js +11 -5
- package/lib/util/nonNumericOnlyHash.js +4 -3
- package/lib/util/parseJson.js +5 -3
- package/lib/util/preloadModuleType.js +32 -0
- package/lib/util/registerExternalSerializer.js +7 -5
- package/lib/util/runtime.js +2 -2
- package/lib/util/semver.js +1 -1
- package/lib/util/serialization.js +28 -28
- package/lib/util/source.js +2 -2
- package/lib/util/traverseDestructuringAssignmentProperties.js +6 -2
- package/lib/wasm/EnableWasmLoadingPlugin.js +10 -8
- package/lib/wasm/wasmModuleFilename.js +54 -0
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +41 -21
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +43 -21
- package/lib/wasm-async/AsyncWasmModule.js +3 -3
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +4 -5
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +57 -17
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +34 -18
- package/lib/wasm-async/AsyncWebAssemblyParser.js +9 -8
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +34 -8
- package/lib/wasm-sync/SyncWasmModule.js +2 -2
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +18 -13
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -5
- package/lib/wasm-sync/WebAssemblyGenerator.js +18 -17
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +4 -4
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +7 -7
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +24 -11
- package/lib/wasm-sync/WebAssemblyParser.js +4 -6
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
- package/lib/web/FetchCompileAsyncWasmPlugin.js +101 -19
- package/lib/web/FetchCompileWasmPlugin.js +46 -16
- package/lib/web/JsonpChunkLoadingPlugin.js +47 -23
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +50 -20
- package/lib/web/JsonpTemplatePlugin.js +2 -2
- package/lib/webpack.js +22 -11
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +60 -26
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +30 -32
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +1 -0
- package/package.json +37 -30
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +780 -91
- package/schemas/plugins/HtmlParserOptions.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.json +10 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +10 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/types.d.ts +4013 -738
- package/lib/runtime/CommonJsWrapRuntimeModule.js +0 -37
package/lib/ExternalModule.js
CHANGED
|
@@ -25,55 +25,75 @@ const WebpackError = require("./WebpackError");
|
|
|
25
25
|
const { DEFAULTS } = require("./config/defaults");
|
|
26
26
|
const { ImportPhaseUtils } = require("./dependencies/ImportPhase");
|
|
27
27
|
const StaticExportsDependency = require("./dependencies/StaticExportsDependency");
|
|
28
|
-
const EnvironmentNotSupportAsyncWarning = require("./errors/EnvironmentNotSupportAsyncWarning");
|
|
29
28
|
const { coreModules } = require("./node/nodeBuiltins");
|
|
30
29
|
const createHash = require("./util/createHash");
|
|
31
30
|
const createHooksRegistry = require("./util/createHooksRegistry");
|
|
32
31
|
const extractUrlAndGlobal = require("./util/extractUrlAndGlobal");
|
|
33
32
|
const makeSerializable = require("./util/makeSerializable");
|
|
33
|
+
const memoize = require("./util/memoize");
|
|
34
34
|
const { propertyAccess } = require("./util/property");
|
|
35
35
|
const { register } = require("./util/serialization");
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/** @
|
|
42
|
-
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
/** @
|
|
55
|
-
/** @
|
|
56
|
-
/** @
|
|
57
|
-
/** @
|
|
58
|
-
/** @
|
|
59
|
-
/** @
|
|
60
|
-
/**
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
37
|
+
const getEnvironmentNotSupportAsyncWarning = memoize(() =>
|
|
38
|
+
require("./errors/EnvironmentNotSupportAsyncWarning")
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
/** @import { Source } from "webpack-sources" */
|
|
42
|
+
/**
|
|
43
|
+
* @import {
|
|
44
|
+
* ExternalsType,
|
|
45
|
+
* HashFunction,
|
|
46
|
+
* ExternalItemInterop as ExternalInterop
|
|
47
|
+
* } from "../declarations/WebpackOptions"
|
|
48
|
+
*/
|
|
49
|
+
/**
|
|
50
|
+
* @import {
|
|
51
|
+
* WebpackOptionsNormalizedWithDefaults as WebpackOptions
|
|
52
|
+
* } from "./config/defaults"
|
|
53
|
+
*/
|
|
54
|
+
/** @import Chunk from "./Chunk" */
|
|
55
|
+
/** @import ChunkGraph, { ModuleId } from "./ChunkGraph" */
|
|
56
|
+
/** @import Compilation, { UnsafeCacheData } from "./Compilation" */
|
|
57
|
+
/** @import { UpdateHashContext } from "./Dependency" */
|
|
58
|
+
/** @import ExportsInfo from "./ExportsInfo" */
|
|
59
|
+
/** @import { GenerateContext } from "./Generator" */
|
|
60
|
+
/**
|
|
61
|
+
* @import {
|
|
62
|
+
* BuildMeta,
|
|
63
|
+
* BuildCallback,
|
|
64
|
+
* BuildInfo,
|
|
65
|
+
* CodeGenerationContext,
|
|
66
|
+
* CodeGenerationResult,
|
|
67
|
+
* CodeGenerationResultData,
|
|
68
|
+
* ConcatenationBailoutReasonContext,
|
|
69
|
+
* LibIdentOptions,
|
|
70
|
+
* LibIdent,
|
|
71
|
+
* NeedBuildCallback,
|
|
72
|
+
* NeedBuildContext,
|
|
73
|
+
* RuntimeRequirements,
|
|
74
|
+
* ReadOnlyRuntimeRequirements,
|
|
75
|
+
* Sources,
|
|
76
|
+
* SourceTypes
|
|
77
|
+
* } from "./Module"
|
|
78
|
+
*/
|
|
79
|
+
/** @import ModuleGraph from "./ModuleGraph" */
|
|
80
|
+
/** @import { ConnectionState } from "./ModuleGraphConnection" */
|
|
81
|
+
/** @import NormalModuleFactory from "./NormalModuleFactory" */
|
|
82
|
+
/** @import RequestShortener from "./RequestShortener" */
|
|
83
|
+
/** @import { ResolverWithOptions } from "./ResolverFactory" */
|
|
84
|
+
/** @import RuntimeTemplate from "./RuntimeTemplate" */
|
|
85
|
+
/**
|
|
86
|
+
* @import {
|
|
87
|
+
* ChunkRenderContext
|
|
88
|
+
* } from "./javascript/JavascriptModulesPlugin"
|
|
89
|
+
*/
|
|
90
|
+
/** @import { ImportAttributes } from "./javascript/JavascriptParser" */
|
|
91
|
+
/** @import { ImportPhaseType } from "./dependencies/ImportPhase" */
|
|
92
|
+
/** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext<[ExternalModuleRequest, ExternalsType, string, DependencyMeta | undefined, ExternalInterop | undefined, boolean | undefined]>} ObjectDeserializerContext */
|
|
93
|
+
/** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext<[ExternalModuleRequest, ExternalsType, string, DependencyMeta | undefined, ExternalInterop | undefined, boolean | undefined]>} ObjectSerializerContext */
|
|
94
|
+
/** @import Hash from "./util/Hash" */
|
|
95
|
+
/** @import { InputFileSystem } from "./util/fs" */
|
|
96
|
+
/** @import { RuntimeSpec } from "./util/runtime" */
|
|
77
97
|
|
|
78
98
|
/** @typedef {{ attributes?: ImportAttributes, phase?: ImportPhaseType, externalType: "import" | "module" | undefined }} ImportDependencyMeta */
|
|
79
99
|
/** @typedef {{ layer?: string, supports?: string, media?: string }} CssImportDependencyMeta */
|
|
@@ -277,6 +297,32 @@ const getSourceForCommonJsExternalInNodeModule = (
|
|
|
277
297
|
};
|
|
278
298
|
};
|
|
279
299
|
|
|
300
|
+
/**
|
|
301
|
+
* A phase is syntax the target has to read, with no form to fall back to. Reported
|
|
302
|
+
* like the `import()` check beside it, so the build fails rather than the bundle.
|
|
303
|
+
* @param {ImportPhaseType | undefined} phase the phase the reference asks for
|
|
304
|
+
* @param {RuntimeTemplate} runtimeTemplate the runtime template
|
|
305
|
+
* @returns {void}
|
|
306
|
+
*/
|
|
307
|
+
const checkPhaseIsSupported = (phase, runtimeTemplate) => {
|
|
308
|
+
if (
|
|
309
|
+
ImportPhaseUtils.isDefer(phase) &&
|
|
310
|
+
!runtimeTemplate.supportsDeferImport()
|
|
311
|
+
) {
|
|
312
|
+
throw new Error(
|
|
313
|
+
"The target environment doesn't support 'import defer', so an external cannot be imported in the defer phase. Set 'output.environment.deferImport' when the target reads it."
|
|
314
|
+
);
|
|
315
|
+
}
|
|
316
|
+
if (
|
|
317
|
+
ImportPhaseUtils.isSource(phase) &&
|
|
318
|
+
!runtimeTemplate.supportsSourceImport()
|
|
319
|
+
) {
|
|
320
|
+
throw new Error(
|
|
321
|
+
"The target environment doesn't support 'import source', so an external cannot be imported in the source phase. Set 'output.environment.sourceImport' when the target reads it."
|
|
322
|
+
);
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
|
|
280
326
|
/**
|
|
281
327
|
* Gets source for import external.
|
|
282
328
|
* @param {ModuleAndSpecifiers} moduleAndSpecifiers the module request
|
|
@@ -299,15 +345,24 @@ const getSourceForImportExternal = (
|
|
|
299
345
|
);
|
|
300
346
|
}
|
|
301
347
|
const phase = dependencyMeta && dependencyMeta.phase;
|
|
348
|
+
checkPhaseIsSupported(phase, runtimeTemplate);
|
|
302
349
|
// `import.defer(…)` and `import.source(…)` are only valid forms of the
|
|
303
350
|
// native `import(…)` function, so we only emit the phase suffix when the
|
|
304
|
-
// importFunctionName is the default `"import"`.
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
351
|
+
// importFunctionName is the default `"import"`. Anything else has no phase
|
|
352
|
+
// form at all, and dropping it would silently import eagerly instead.
|
|
353
|
+
if (
|
|
354
|
+
baseImportName !== "import" &&
|
|
355
|
+
(ImportPhaseUtils.isDefer(phase) || ImportPhaseUtils.isSource(phase))
|
|
356
|
+
) {
|
|
357
|
+
throw new Error(
|
|
358
|
+
`'import.defer' and 'import.source' are forms of the native 'import()', so an external cannot be imported in a phase while 'output.importFunctionName' is '${baseImportName}'`
|
|
359
|
+
);
|
|
360
|
+
}
|
|
361
|
+
const importName = ImportPhaseUtils.isDefer(phase)
|
|
362
|
+
? "import.defer"
|
|
363
|
+
: ImportPhaseUtils.isSource(phase)
|
|
364
|
+
? "import.source"
|
|
365
|
+
: baseImportName;
|
|
311
366
|
const attributes =
|
|
312
367
|
dependencyMeta && dependencyMeta.attributes
|
|
313
368
|
? dependencyMeta.attributes._isLegacyAssert
|
|
@@ -317,18 +372,24 @@ const getSourceForImportExternal = (
|
|
|
317
372
|
)} }`
|
|
318
373
|
: `, { with: ${JSON.stringify(dependencyMeta.attributes)} }`
|
|
319
374
|
: "";
|
|
375
|
+
// `import.source(…)` resolves to the source object itself, while every other
|
|
376
|
+
// external here resolves to a namespace. Consumers unwrap `default` to reach a
|
|
377
|
+
// source, so hand them that shape rather than a value they read `default` off.
|
|
378
|
+
const asNamespace = ImportPhaseUtils.isSource(phase)
|
|
379
|
+
? `.then(${runtimeTemplate.returningFunction('{ "default": m }', "m")})`
|
|
380
|
+
: "";
|
|
320
381
|
if (!Array.isArray(moduleAndSpecifiers)) {
|
|
321
382
|
return {
|
|
322
383
|
expression: `${importName}(${JSON.stringify(
|
|
323
384
|
moduleAndSpecifiers
|
|
324
|
-
)}${attributes});`
|
|
385
|
+
)}${attributes})${asNamespace};`
|
|
325
386
|
};
|
|
326
387
|
}
|
|
327
388
|
if (moduleAndSpecifiers.length === 1) {
|
|
328
389
|
return {
|
|
329
390
|
expression: `${importName}(${JSON.stringify(
|
|
330
391
|
moduleAndSpecifiers[0]
|
|
331
|
-
)}${attributes});`
|
|
392
|
+
)}${attributes})${asNamespace};`
|
|
332
393
|
};
|
|
333
394
|
}
|
|
334
395
|
const moduleName = moduleAndSpecifiers[0];
|
|
@@ -384,6 +445,14 @@ class ModuleExternalInitFragment extends InitFragment {
|
|
|
384
445
|
.digest("hex")
|
|
385
446
|
.slice(0, 8)}`;
|
|
386
447
|
}
|
|
448
|
+
// One request in two phases is two imports, so the phase must reach the dedupe
|
|
449
|
+
// key and the binding name — otherwise one silently replaces the other.
|
|
450
|
+
const phase = dependencyMeta && dependencyMeta.phase;
|
|
451
|
+
if (ImportPhaseUtils.isDefer(phase)) {
|
|
452
|
+
ident += "_defer";
|
|
453
|
+
} else if (ImportPhaseUtils.isSource(phase)) {
|
|
454
|
+
ident += "_source";
|
|
455
|
+
}
|
|
387
456
|
}
|
|
388
457
|
|
|
389
458
|
super(
|
|
@@ -444,8 +513,15 @@ class ModuleExternalInitFragment extends InitFragment {
|
|
|
444
513
|
: ` with ${JSON.stringify(dependencyMeta.attributes)}`
|
|
445
514
|
: "";
|
|
446
515
|
const phase = dependencyMeta && dependencyMeta.phase;
|
|
516
|
+
checkPhaseIsSupported(phase, context.runtimeTemplate);
|
|
447
517
|
let content = "";
|
|
448
|
-
if (imported === true) {
|
|
518
|
+
if (ImportPhaseUtils.isSource(phase) && imported === true) {
|
|
519
|
+
// There is no `import source * as ns` form: the source phase binds one
|
|
520
|
+
// identifier, so it stands in for the namespace the other branches build.
|
|
521
|
+
content = `import source ${identifier} from ${JSON.stringify(
|
|
522
|
+
request
|
|
523
|
+
)}${attributes};\n`;
|
|
524
|
+
} else if (imported === true) {
|
|
449
525
|
// namespace
|
|
450
526
|
const phaseKeyword = ImportPhaseUtils.isDefer(phase) ? "defer " : "";
|
|
451
527
|
content = `import ${phaseKeyword}* as ${identifier} from ${JSON.stringify(
|
|
@@ -621,6 +697,16 @@ const getSourceForModuleExternal = (
|
|
|
621
697
|
imported = true;
|
|
622
698
|
}
|
|
623
699
|
|
|
700
|
+
// A source phase binds `default` alone. With nothing used the list would be empty
|
|
701
|
+
// and emit `import "…"`, evaluating the module whose source was asked for instead.
|
|
702
|
+
if (
|
|
703
|
+
ImportPhaseUtils.isSource(phase) &&
|
|
704
|
+
Array.isArray(imported) &&
|
|
705
|
+
imported.length === 0
|
|
706
|
+
) {
|
|
707
|
+
imported = [["default", "default"]];
|
|
708
|
+
}
|
|
709
|
+
|
|
624
710
|
const initFragment = new ModuleExternalInitFragment(
|
|
625
711
|
moduleAndSpecifiers[0],
|
|
626
712
|
imported,
|
|
@@ -636,7 +722,9 @@ const getSourceForModuleExternal = (
|
|
|
636
722
|
)}`;
|
|
637
723
|
let expression = baseAccess;
|
|
638
724
|
|
|
639
|
-
|
|
725
|
+
// A source-phase binding is not a namespace object, so nothing about it can be
|
|
726
|
+
// remapped export by export — the binding itself is what the reference reads.
|
|
727
|
+
const useNamespace = imported === true && !ImportPhaseUtils.isSource(phase);
|
|
640
728
|
/** @type {undefined | string} */
|
|
641
729
|
let moduleRemapping;
|
|
642
730
|
if (useNamespace) {
|
|
@@ -653,7 +741,9 @@ const getSourceForModuleExternal = (
|
|
|
653
741
|
init: moduleRemapping
|
|
654
742
|
? `${runtimeTemplate.renderConst()} x = ${runtimeTemplate.basicFunction(
|
|
655
743
|
"y",
|
|
656
|
-
`${runtimeTemplate.renderConst()} x = {}; ${
|
|
744
|
+
`${runtimeTemplate.renderConst()} x = {}; ${
|
|
745
|
+
RuntimeGlobals.definePropertyGetters
|
|
746
|
+
}(x, y); return x`
|
|
657
747
|
)} \n${runtimeTemplate.renderConst()} y = ${runtimeTemplate.returningFunction(
|
|
658
748
|
runtimeTemplate.returningFunction("x"),
|
|
659
749
|
"x"
|
|
@@ -810,10 +900,16 @@ const getSourceForDefaultCase = (optional, request, runtimeTemplate) => {
|
|
|
810
900
|
/** @typedef {Record<string, string | string[]>} RequestRecord */
|
|
811
901
|
/** @typedef {string | string[] | RequestRecord} ExternalModuleRequest */
|
|
812
902
|
|
|
903
|
+
const createCompilationHooks = () => ({
|
|
904
|
+
/**
|
|
905
|
+
* @type {SyncBailHook<[Chunk, Compilation], boolean>}
|
|
906
|
+
* @since 5.106.0
|
|
907
|
+
*/
|
|
908
|
+
chunkCondition: new SyncBailHook(["chunk", "compilation"])
|
|
909
|
+
});
|
|
910
|
+
|
|
813
911
|
/**
|
|
814
|
-
*
|
|
815
|
-
* @typedef {object} ExternalModuleHooks
|
|
816
|
-
* @property {SyncBailHook<[Chunk, Compilation], boolean>} chunkCondition
|
|
912
|
+
* @typedef {ReturnType<typeof createCompilationHooks>} ExternalModuleHooks
|
|
817
913
|
*/
|
|
818
914
|
|
|
819
915
|
/**
|
|
@@ -832,8 +928,16 @@ class ExternalModule extends Module {
|
|
|
832
928
|
* @param {string} userRequest user request
|
|
833
929
|
* @param {DependencyMeta=} dependencyMeta dependency meta
|
|
834
930
|
* @param {ExternalInterop=} interop how the external's exports interoperate with ES module imports
|
|
931
|
+
* @param {boolean=} sideEffects whether importing the external has side effects (undefined = assume it has)
|
|
835
932
|
*/
|
|
836
|
-
constructor(
|
|
933
|
+
constructor(
|
|
934
|
+
request,
|
|
935
|
+
type,
|
|
936
|
+
userRequest,
|
|
937
|
+
dependencyMeta,
|
|
938
|
+
interop,
|
|
939
|
+
sideEffects
|
|
940
|
+
) {
|
|
837
941
|
super(JAVASCRIPT_MODULE_TYPE_DYNAMIC, null);
|
|
838
942
|
|
|
839
943
|
// Redeclared with the external module specific shape
|
|
@@ -851,6 +955,11 @@ class ExternalModule extends Module {
|
|
|
851
955
|
this.dependencyMeta = dependencyMeta;
|
|
852
956
|
/** @type {ExternalInterop | undefined} interop shape of the external's exports (undefined = importer-driven default) */
|
|
853
957
|
this.interop = interop;
|
|
958
|
+
/** @type {boolean | undefined} declared side-effects state (undefined = assume side effects, webpack can't analyze an external) */
|
|
959
|
+
this.sideEffects = sideEffects;
|
|
960
|
+
if (sideEffects !== undefined) {
|
|
961
|
+
this.factoryMeta = { sideEffectFree: !sideEffects };
|
|
962
|
+
}
|
|
854
963
|
}
|
|
855
964
|
|
|
856
965
|
/**
|
|
@@ -858,17 +967,14 @@ class ExternalModule extends Module {
|
|
|
858
967
|
* @returns {SourceTypes} types available (do not mutate)
|
|
859
968
|
*/
|
|
860
969
|
getSourceTypes() {
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
return ASSET_URL_TYPES;
|
|
868
|
-
}
|
|
869
|
-
} else if (this.externalType === "css-import") {
|
|
870
|
-
return CSS_IMPORT_TYPES;
|
|
970
|
+
// resolved, so a type rendering no javascript is never reported as a
|
|
971
|
+
// javascript module — that would emit a dead `false` factory in the chunk
|
|
972
|
+
const type = this._resolveExternalType(this.externalType);
|
|
973
|
+
// TODO webpack 6 drop "css-url" once the alias is removed
|
|
974
|
+
if (type === ASSET_URL_TYPE || type === "css-url") {
|
|
975
|
+
return ASSET_URL_TYPES;
|
|
871
976
|
}
|
|
977
|
+
if (type === "css-import") return CSS_IMPORT_TYPES;
|
|
872
978
|
|
|
873
979
|
return JAVASCRIPT_TYPES;
|
|
874
980
|
}
|
|
@@ -903,6 +1009,19 @@ class ExternalModule extends Module {
|
|
|
903
1009
|
return compilation.chunkGraph.getNumberOfEntryModules(chunk) > 0;
|
|
904
1010
|
}
|
|
905
1011
|
|
|
1012
|
+
/**
|
|
1013
|
+
* Gets side effects connection state.
|
|
1014
|
+
* @param {ModuleGraph} moduleGraph the module graph
|
|
1015
|
+
* @returns {ConnectionState} how this module should be connected to referencing modules when consumed for side-effects only
|
|
1016
|
+
*/
|
|
1017
|
+
getSideEffectsConnectionState(moduleGraph) {
|
|
1018
|
+
if (this.factoryMeta !== undefined) {
|
|
1019
|
+
if (this.factoryMeta.sideEffectFree) return false;
|
|
1020
|
+
if (this.factoryMeta.sideEffectFree === false) return true;
|
|
1021
|
+
}
|
|
1022
|
+
return true;
|
|
1023
|
+
}
|
|
1024
|
+
|
|
906
1025
|
/**
|
|
907
1026
|
* Returns the unique identifier used to reference this module.
|
|
908
1027
|
* @returns {string} a unique identifier of the module
|
|
@@ -923,6 +1042,11 @@ class ExternalModule extends Module {
|
|
|
923
1042
|
}
|
|
924
1043
|
}
|
|
925
1044
|
if (this.interop) id += `|interop=${this.interop}`;
|
|
1045
|
+
// two externals for the same target with a different side-effects state
|
|
1046
|
+
// must not be merged into one module
|
|
1047
|
+
if (this.sideEffects !== undefined) {
|
|
1048
|
+
id += `|sideEffects=${this.sideEffects}`;
|
|
1049
|
+
}
|
|
926
1050
|
return id;
|
|
927
1051
|
}
|
|
928
1052
|
|
|
@@ -1008,7 +1132,7 @@ class ExternalModule extends Module {
|
|
|
1008
1132
|
}
|
|
1009
1133
|
} else {
|
|
1010
1134
|
this.buildMeta.async = true;
|
|
1011
|
-
|
|
1135
|
+
getEnvironmentNotSupportAsyncWarning().check(
|
|
1012
1136
|
this,
|
|
1013
1137
|
compilation.runtimeTemplate,
|
|
1014
1138
|
"external module"
|
|
@@ -1021,7 +1145,7 @@ class ExternalModule extends Module {
|
|
|
1021
1145
|
break;
|
|
1022
1146
|
case "script":
|
|
1023
1147
|
this.buildMeta.async = true;
|
|
1024
|
-
|
|
1148
|
+
getEnvironmentNotSupportAsyncWarning().check(
|
|
1025
1149
|
this,
|
|
1026
1150
|
compilation.runtimeTemplate,
|
|
1027
1151
|
"external script"
|
|
@@ -1029,7 +1153,7 @@ class ExternalModule extends Module {
|
|
|
1029
1153
|
break;
|
|
1030
1154
|
case "promise":
|
|
1031
1155
|
this.buildMeta.async = true;
|
|
1032
|
-
|
|
1156
|
+
getEnvironmentNotSupportAsyncWarning().check(
|
|
1033
1157
|
this,
|
|
1034
1158
|
compilation.runtimeTemplate,
|
|
1035
1159
|
"external promise"
|
|
@@ -1037,7 +1161,7 @@ class ExternalModule extends Module {
|
|
|
1037
1161
|
break;
|
|
1038
1162
|
case "amd-async":
|
|
1039
1163
|
this.buildMeta.async = true;
|
|
1040
|
-
|
|
1164
|
+
getEnvironmentNotSupportAsyncWarning().check(
|
|
1041
1165
|
this,
|
|
1042
1166
|
compilation.runtimeTemplate,
|
|
1043
1167
|
"external amd-async"
|
|
@@ -1045,7 +1169,7 @@ class ExternalModule extends Module {
|
|
|
1045
1169
|
break;
|
|
1046
1170
|
case "import":
|
|
1047
1171
|
this.buildMeta.async = true;
|
|
1048
|
-
|
|
1172
|
+
getEnvironmentNotSupportAsyncWarning().check(
|
|
1049
1173
|
this,
|
|
1050
1174
|
compilation.runtimeTemplate,
|
|
1051
1175
|
"external import"
|
|
@@ -1101,6 +1225,19 @@ class ExternalModule extends Module {
|
|
|
1101
1225
|
return undefined;
|
|
1102
1226
|
}
|
|
1103
1227
|
|
|
1228
|
+
/**
|
|
1229
|
+
* @returns {boolean} true, when it may be wrapped
|
|
1230
|
+
*/
|
|
1231
|
+
canBeWrappedInConcatenation() {
|
|
1232
|
+
if (/** @type {BuildMeta} */ (this.buildMeta).async) {
|
|
1233
|
+
return false;
|
|
1234
|
+
}
|
|
1235
|
+
// every other synchronous type is a plain expression; only "module"
|
|
1236
|
+
// renders as a hoisted `import` declaration, and passing it the
|
|
1237
|
+
// concatenation scope is what narrows it to named specifiers
|
|
1238
|
+
return this._resolveExternalType(this.externalType) !== "module";
|
|
1239
|
+
}
|
|
1240
|
+
|
|
1104
1241
|
/**
|
|
1105
1242
|
* Get request and external type.
|
|
1106
1243
|
* @private
|
|
@@ -1132,7 +1269,14 @@ class ExternalModule extends Module {
|
|
|
1132
1269
|
.externalType;
|
|
1133
1270
|
}
|
|
1134
1271
|
return "module";
|
|
1135
|
-
} else if (
|
|
1272
|
+
} else if (
|
|
1273
|
+
// TODO webpack 6 drop "css-url" once the alias is removed
|
|
1274
|
+
externalType === "asset" ||
|
|
1275
|
+
externalType === ASSET_URL_TYPE ||
|
|
1276
|
+
externalType === "css-url"
|
|
1277
|
+
) {
|
|
1278
|
+
// the consumer decides: a css `url()` reads the url out of the module
|
|
1279
|
+
// (marked by the factory), a `new URL()` requires the `asset` wrapper
|
|
1136
1280
|
if (
|
|
1137
1281
|
this.dependencyMeta &&
|
|
1138
1282
|
/** @type {AssetDependencyMeta} */
|
|
@@ -1337,6 +1481,13 @@ class ExternalModule extends Module {
|
|
|
1337
1481
|
};
|
|
1338
1482
|
}
|
|
1339
1483
|
default: {
|
|
1484
|
+
// A wrapped external runs as a module body inside the wrapper, so it
|
|
1485
|
+
// renders the plain `module.exports =` form: its exports are read
|
|
1486
|
+
// through the wrapper accessor, not through a shared-scope binding.
|
|
1487
|
+
const wrapped = Boolean(
|
|
1488
|
+
concatenationScope &&
|
|
1489
|
+
/** @type {ConcatenationScope} */ (concatenationScope).isWrapped()
|
|
1490
|
+
);
|
|
1340
1491
|
const sourceData = this._getSourceData(
|
|
1341
1492
|
request,
|
|
1342
1493
|
externalType,
|
|
@@ -1345,7 +1496,7 @@ class ExternalModule extends Module {
|
|
|
1345
1496
|
chunkGraph,
|
|
1346
1497
|
runtime,
|
|
1347
1498
|
this.dependencyMeta,
|
|
1348
|
-
concatenationScope
|
|
1499
|
+
wrapped ? undefined : concatenationScope
|
|
1349
1500
|
);
|
|
1350
1501
|
|
|
1351
1502
|
// sourceString can be empty str only when there is concatenationScope
|
|
@@ -1359,9 +1510,12 @@ class ExternalModule extends Module {
|
|
|
1359
1510
|
sourceString = "";
|
|
1360
1511
|
const scope = /** @type {ConcatenationScope} */ (concatenationScope);
|
|
1361
1512
|
for (const [specifier, finalName] of specifiers) {
|
|
1513
|
+
// the hoisted `import { x as finalName }` binding is a top-level
|
|
1514
|
+
// name of the chunk, reserve it before members get renamed
|
|
1515
|
+
scope.usedNames.add(finalName);
|
|
1362
1516
|
scope.registerRawExport(specifier, finalName);
|
|
1363
1517
|
}
|
|
1364
|
-
} else if (concatenationScope) {
|
|
1518
|
+
} else if (concatenationScope && !wrapped) {
|
|
1365
1519
|
sourceString = `${runtimeTemplate.renderConst()} ${
|
|
1366
1520
|
ConcatenationScope.NAMESPACE_OBJECT_EXPORT
|
|
1367
1521
|
} = ${sourceString};`;
|
|
@@ -1448,6 +1602,9 @@ class ExternalModule extends Module {
|
|
|
1448
1602
|
}
|
|
1449
1603
|
}
|
|
1450
1604
|
if (this.interop) hash.update(`|interop=${this.interop}`);
|
|
1605
|
+
if (this.sideEffects !== undefined) {
|
|
1606
|
+
hash.update(`|sideEffects=${this.sideEffects}`);
|
|
1607
|
+
}
|
|
1451
1608
|
super.updateHash(hash, context);
|
|
1452
1609
|
}
|
|
1453
1610
|
|
|
@@ -1461,7 +1618,8 @@ class ExternalModule extends Module {
|
|
|
1461
1618
|
.write(this.externalType)
|
|
1462
1619
|
.write(this.userRequest)
|
|
1463
1620
|
.write(this.dependencyMeta)
|
|
1464
|
-
.write(this.interop)
|
|
1621
|
+
.write(this.interop)
|
|
1622
|
+
.write(this.sideEffects);
|
|
1465
1623
|
|
|
1466
1624
|
super.serialize(context);
|
|
1467
1625
|
}
|
|
@@ -1480,21 +1638,21 @@ class ExternalModule extends Module {
|
|
|
1480
1638
|
this.dependencyMeta = c3.read();
|
|
1481
1639
|
const c4 = c3.rest;
|
|
1482
1640
|
this.interop = c4.read();
|
|
1641
|
+
const c5 = c4.rest;
|
|
1642
|
+
this.sideEffects = c5.read();
|
|
1483
1643
|
|
|
1484
|
-
super.deserialize(
|
|
1644
|
+
super.deserialize(c5.rest);
|
|
1485
1645
|
}
|
|
1486
1646
|
}
|
|
1487
1647
|
|
|
1488
1648
|
ExternalModule.getCompilationHooks = createHooksRegistry(
|
|
1489
|
-
|
|
1490
|
-
/** @type {ExternalModuleHooks} */ ({
|
|
1491
|
-
chunkCondition: new SyncBailHook(["chunk", "compilation"])
|
|
1492
|
-
})
|
|
1649
|
+
createCompilationHooks
|
|
1493
1650
|
);
|
|
1494
1651
|
|
|
1495
1652
|
makeSerializable(ExternalModule, "webpack/lib/ExternalModule");
|
|
1496
1653
|
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
module.exports.getExternalModuleNodeCommonjsInitFragment =
|
|
1654
|
+
ExternalModule.ModuleExternalInitFragment = ModuleExternalInitFragment;
|
|
1655
|
+
ExternalModule.getExternalModuleNodeCommonjsInitFragment =
|
|
1500
1656
|
getExternalModuleNodeCommonjsInitFragment;
|
|
1657
|
+
|
|
1658
|
+
module.exports = ExternalModule;
|