@depup/webpack 5.109.2-depup.0 → 5.110.3-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/changes.json +7 -7
- package/lib/APIPlugin.js +123 -17
- package/lib/AsyncDependenciesBlock.js +10 -7
- package/lib/AutomaticPrefetchPlugin.js +1 -1
- package/lib/BannerPlugin.js +10 -6
- package/lib/CacheFacade.js +6 -6
- package/lib/Chunk.js +14 -11
- package/lib/ChunkGraph.js +46 -35
- package/lib/ChunkGroup.js +7 -7
- package/lib/ChunkTemplate.js +35 -44
- package/lib/CircularModulesPlugin.js +205 -28
- package/lib/CleanPlugin.js +4 -7
- package/lib/CodeGenerationResults.js +11 -8
- package/lib/CompatibilityPlugin.js +7 -7
- package/lib/Compilation.js +688 -409
- package/lib/Compiler.js +53 -38
- package/lib/ConcatenationScope.js +107 -8
- package/lib/ConditionalInitFragment.js +3 -3
- package/lib/ConstPlugin.js +13 -11
- package/lib/ContextExclusionPlugin.js +1 -1
- package/lib/ContextModule.js +146 -54
- package/lib/ContextModuleFactory.js +46 -14
- package/lib/ContextReplacementPlugin.js +12 -14
- package/lib/DefinePlugin.js +121 -37
- package/lib/DependenciesBlock.js +9 -6
- package/lib/Dependency.js +36 -16
- package/lib/DependencyTemplate.js +11 -12
- package/lib/DependencyTemplates.js +3 -3
- package/lib/DotenvPlugin.js +91 -26
- package/lib/DynamicEntryPlugin.js +8 -4
- package/lib/EntryOptionPlugin.js +8 -4
- package/lib/EntryPlugin.js +2 -2
- package/lib/Entrypoint.js +6 -2
- package/lib/EnvironmentPlugin.js +2 -2
- package/lib/EvalDevToolModulePlugin.js +8 -4
- package/lib/EvalSourceMapDevToolPlugin.js +15 -8
- package/lib/ExportsInfo.js +111 -14
- package/lib/ExportsInfoApiPlugin.js +2 -4
- package/lib/ExternalModule.js +232 -77
- package/lib/ExternalModuleFactoryPlugin.js +97 -38
- package/lib/ExternalsPlugin.js +10 -6
- package/lib/FileSystemInfo.js +44 -70
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -3
- package/lib/FlagDependencyExportsPlugin.js +76 -19
- package/lib/FlagDependencyUsagePlugin.js +40 -49
- package/lib/FlagEntryExportAsUsedPlugin.js +1 -1
- package/lib/Generator.js +36 -15
- package/lib/HotModuleReplacementPlugin.js +16 -44
- package/lib/IgnorePlugin.js +8 -4
- package/lib/IgnoreWarningsPlugin.js +2 -2
- package/lib/InitFragment.js +8 -4
- package/lib/JavascriptMetaInfoPlugin.js +35 -4
- package/lib/LazyBarrel.js +3 -4
- package/lib/LibraryTemplatePlugin.js +10 -6
- package/lib/LoaderOptionsPlugin.js +7 -3
- package/lib/LoaderTargetPlugin.js +1 -1
- package/lib/MainTemplate.js +49 -42
- package/lib/ManifestPlugin.js +12 -11
- package/lib/Module.js +62 -33
- package/lib/ModuleFactory.js +3 -3
- package/lib/ModuleFilenameHelpers.js +9 -4
- package/lib/ModuleGraph.js +195 -21
- package/lib/ModuleGraphConnection.js +6 -13
- package/lib/ModuleInfoHeaderPlugin.js +8 -10
- package/lib/ModuleTemplate.js +62 -63
- package/lib/MultiCompiler.js +130 -64
- package/lib/MultiStats.js +40 -9
- package/lib/MultiWatching.js +3 -3
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +29 -19
- package/lib/NormalModule.js +152 -103
- package/lib/NormalModuleFactory.js +555 -110
- package/lib/NormalModuleReplacementPlugin.js +5 -8
- package/lib/NullFactory.js +6 -2
- package/lib/OptionsApply.js +7 -3
- package/lib/Parser.js +7 -3
- package/lib/PlatformPlugin.js +2 -2
- package/lib/PrefetchPlugin.js +1 -1
- package/lib/ProgressPlugin.js +16 -13
- package/lib/ProvidePlugin.js +3 -5
- package/lib/RawModule.js +25 -17
- package/lib/RecordIdsPlugin.js +3 -3
- package/lib/RequestShortener.js +1 -1
- package/lib/ResolverFactory.js +2 -2
- package/lib/RuntimeGlobals.js +22 -10
- package/lib/RuntimeModule.js +29 -19
- package/lib/RuntimePlugin.js +335 -169
- package/lib/RuntimeTemplate.js +2761 -316
- package/lib/SelfModuleFactory.js +7 -3
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +6 -2
- package/lib/SourceMapDevToolPlugin.js +30 -20
- package/lib/Stats.js +3 -4
- package/lib/Template.js +32 -22
- package/lib/TemplatedPathPlugin.js +96 -14
- package/lib/UseStrictPlugin.js +4 -6
- package/lib/WarnCaseSensitiveModulesPlugin.js +4 -4
- package/lib/WarnDeprecatedOptionPlugin.js +1 -1
- package/lib/WarnNoModeSetPlugin.js +1 -1
- package/lib/WatchIgnorePlugin.js +8 -6
- package/lib/Watching.js +8 -8
- package/lib/WebpackIsIncludedPlugin.js +2 -4
- package/lib/WebpackOptionsApply.js +308 -18
- package/lib/WebpackOptionsDefaulter.js +6 -2
- package/lib/asset/AssetBytesGenerator.js +12 -10
- package/lib/asset/AssetBytesParser.js +2 -4
- package/lib/asset/AssetGenerator.js +188 -95
- package/lib/asset/AssetModule.js +7 -3
- package/lib/asset/AssetModulesPlugin.js +110 -38
- package/lib/asset/AssetParser.js +9 -7
- package/lib/asset/AssetSourceGenerator.js +60 -13
- package/lib/asset/AssetSourceParser.js +2 -4
- package/lib/asset/RawDataUrlModule.js +24 -16
- package/lib/asset/WebManifestGenerator.js +8 -10
- package/lib/asset/WebManifestParser.js +24 -10
- package/lib/async-modules/AsyncModuleHelpers.js +12 -6
- package/lib/async-modules/AwaitDependenciesInitFragment.js +2 -2
- package/lib/async-modules/InferAsyncModulesPlugin.js +2 -2
- package/lib/async-modules/isGeneratorLowered.js +4 -4
- package/lib/buildChunkGraph.js +36 -27
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +1 -1
- package/lib/cache/AddManagedPathsPlugin.js +1 -1
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +18 -10
- package/lib/cache/MemoryWithGcCachePlugin.js +34 -22
- package/lib/cache/PackFileCacheStrategy.js +30 -23
- package/lib/cache/ResolverCachePlugin.js +38 -18
- package/lib/cache/getLazyHashedEtag.js +1 -2
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/cli.js +1 -3
- package/lib/config/browserslistTargetHandler.js +41 -5
- package/lib/config/defaults.js +270 -78
- package/lib/config/defineConfig.js +10 -2
- package/lib/config/getClaimedAssetTypes.js +65 -0
- package/lib/config/normalization.js +46 -16
- package/lib/config/target.js +46 -3
- package/lib/container/ContainerEntryDependency.js +1 -1
- package/lib/container/ContainerEntryModule.js +24 -15
- package/lib/container/ContainerEntryModuleFactory.js +7 -3
- package/lib/container/ContainerPlugin.js +9 -10
- package/lib/container/ContainerReferencePlugin.js +6 -2
- package/lib/container/FallbackDependency.js +1 -1
- package/lib/container/FallbackModule.js +24 -17
- package/lib/container/FallbackModuleFactory.js +7 -3
- package/lib/container/HoistContainerReferencesPlugin.js +6 -11
- package/lib/container/ModuleFederationPlugin.js +7 -24
- package/lib/container/RemoteModule.js +27 -19
- package/lib/container/RemoteRuntimeModule.js +10 -8
- package/lib/container/moduleFederationHooks.js +32 -0
- package/lib/css/CssGenerator.js +171 -43
- package/lib/css/CssInjectStyleRuntimeModule.js +7 -5
- package/lib/css/CssLoadingRuntimeModule.js +84 -32
- package/lib/css/CssModule.js +10 -7
- package/lib/css/CssModulesPlugin.js +172 -100
- package/lib/css/CssParser.js +1113 -568
- package/lib/css/CssServerStylesRuntimeModule.js +54 -0
- package/lib/css/cssMinify.js +168 -0
- package/lib/css/data.js +5334 -0
- package/lib/css/syntax.js +9647 -232
- package/lib/debug/ProfilingPlugin.js +14 -9
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/AMDDefineDependency.js +112 -87
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +30 -17
- package/lib/dependencies/AMDPlugin.js +9 -7
- package/lib/dependencies/AMDRequireArrayDependency.js +5 -5
- package/lib/dependencies/AMDRequireContextDependency.js +2 -2
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -1
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +25 -14
- package/lib/dependencies/AMDRequireDependency.js +8 -7
- package/lib/dependencies/AMDRequireItemDependency.js +1 -1
- package/lib/dependencies/AMDRuntimeModules.js +21 -1
- package/lib/dependencies/BuildTimeConstDependency.js +102 -0
- package/lib/dependencies/CachedConstDependency.js +11 -8
- package/lib/dependencies/CommonJsDependencyHelpers.js +67 -46
- package/lib/dependencies/CommonJsExportRequireDependency.js +121 -45
- package/lib/dependencies/CommonJsExportsDependency.js +53 -49
- package/lib/dependencies/CommonJsExportsParserPlugin.js +207 -25
- package/lib/dependencies/CommonJsFullRequireDependency.js +119 -34
- package/lib/dependencies/CommonJsImportsParserPlugin.js +100 -50
- package/lib/dependencies/CommonJsObjectExportDependency.js +188 -0
- package/lib/dependencies/CommonJsPlugin.js +35 -6
- package/lib/dependencies/CommonJsRequireContextDependency.js +5 -6
- package/lib/dependencies/CommonJsRequireDependency.js +170 -27
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +63 -38
- package/lib/dependencies/ConstDependency.js +8 -9
- package/lib/dependencies/ContextDependency.js +12 -8
- package/lib/dependencies/ContextDependencyHelpers.js +14 -9
- package/lib/dependencies/ContextDependencyTemplateAsId.js +4 -4
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +24 -11
- package/lib/dependencies/ContextElementDependency.js +31 -12
- package/lib/dependencies/CreateRequireParserPlugin.js +12 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -4
- package/lib/dependencies/CssIcssExportDependency.js +56 -28
- package/lib/dependencies/CssIcssImportDependency.js +17 -13
- package/lib/dependencies/CssIcssSymbolDependency.js +9 -10
- package/lib/dependencies/CssImportDependency.js +18 -9
- package/lib/dependencies/CssUrlDependency.js +17 -13
- package/lib/dependencies/DllEntryDependency.js +1 -1
- package/lib/dependencies/DynamicExports.js +2 -2
- package/lib/dependencies/ExportBindingInitFragment.js +36 -9
- package/lib/dependencies/ExportsInfoDependency.js +7 -8
- package/lib/dependencies/ExternalModuleDependency.js +9 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +2 -2
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +8 -5
- package/lib/dependencies/HarmonyAcceptDependency.js +5 -5
- package/lib/dependencies/HarmonyCompatibilityDependency.js +52 -17
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +11 -7
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +23 -14
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +80 -12
- package/lib/dependencies/HarmonyExportExpressionDependency.js +23 -18
- package/lib/dependencies/HarmonyExportHeaderDependency.js +7 -7
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +286 -80
- package/lib/dependencies/HarmonyExportInitFragment.js +18 -6
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +51 -14
- package/lib/dependencies/HarmonyExports.js +7 -4
- package/lib/dependencies/HarmonyImportDependency.js +121 -60
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +124 -38
- package/lib/dependencies/HarmonyImportGuard.js +20 -30
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +152 -9
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +97 -49
- package/lib/dependencies/HarmonyModulesPlugin.js +7 -3
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -3
- package/lib/dependencies/HtmlEntryDependency.js +49 -31
- package/lib/dependencies/HtmlInlineHtmlDependency.js +7 -8
- package/lib/dependencies/HtmlInlineScriptDependency.js +11 -8
- package/lib/dependencies/HtmlInlineStyleDependency.js +7 -10
- package/lib/dependencies/HtmlSourceDependency.js +22 -14
- package/lib/dependencies/ImportContextDependency.js +45 -5
- package/lib/dependencies/ImportDependency.js +33 -50
- package/lib/dependencies/ImportEagerDependency.js +6 -9
- package/lib/dependencies/ImportMetaContextDependency.js +2 -2
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +14 -13
- package/lib/dependencies/ImportMetaContextPlugin.js +7 -3
- package/lib/dependencies/ImportMetaGlobDependency.js +2 -2
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +2 -3
- package/lib/dependencies/ImportMetaGlobHelpers.js +19 -22
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -1
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -1
- package/lib/dependencies/ImportMetaPlugin.js +154 -71
- package/lib/dependencies/ImportMetaResolveDependency.js +3 -4
- package/lib/dependencies/ImportParserPlugin.js +73 -49
- package/lib/dependencies/ImportPhase.js +12 -5
- package/lib/dependencies/ImportPlugin.js +7 -3
- package/lib/dependencies/ImportWeakDependency.js +6 -9
- package/lib/dependencies/JsonExportsDependency.js +11 -7
- package/lib/dependencies/LoaderDependency.js +2 -2
- package/lib/dependencies/LoaderImportDependency.js +2 -2
- package/lib/dependencies/LoaderPlugin.js +11 -7
- package/lib/dependencies/LocalModuleDependency.js +5 -5
- package/lib/dependencies/LocalModulesHelpers.js +1 -1
- package/lib/dependencies/ModuleDecoratorDependency.js +6 -7
- package/lib/dependencies/ModuleDependency.js +9 -6
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +4 -4
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +3 -3
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -1
- package/lib/dependencies/ModuleHotDeclineDependency.js +1 -1
- package/lib/dependencies/ModuleInitFragmentDependency.js +24 -10
- package/lib/dependencies/NullDependency.js +3 -3
- package/lib/dependencies/ProvidedDependency.js +14 -10
- package/lib/dependencies/PureExpressionDependency.js +9 -10
- package/lib/dependencies/RequireContextDependency.js +2 -2
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -4
- package/lib/dependencies/RequireContextPlugin.js +8 -4
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +2 -2
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +5 -8
- package/lib/dependencies/RequireEnsureDependency.js +8 -7
- package/lib/dependencies/RequireEnsurePlugin.js +7 -3
- package/lib/dependencies/RequireHeaderDependency.js +50 -12
- package/lib/dependencies/RequireIncludeDependency.js +6 -6
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +2 -3
- package/lib/dependencies/RequireIncludePlugin.js +7 -3
- package/lib/dependencies/RequireJsStuffPlugin.js +7 -3
- package/lib/dependencies/RequireResolveContextDependency.js +2 -2
- package/lib/dependencies/RequireResolveDependency.js +4 -4
- package/lib/dependencies/RequireResolveHeaderDependency.js +4 -4
- package/lib/dependencies/RuntimeRequirementsDependency.js +5 -6
- package/lib/dependencies/StaticExportsDependency.js +2 -2
- package/lib/dependencies/SystemPlugin.js +10 -6
- package/lib/dependencies/SystemRuntimeModule.js +10 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +11 -7
- package/lib/dependencies/URLContextDependency.js +2 -2
- package/lib/dependencies/URLDependency.js +110 -64
- package/lib/dependencies/URLPlugin.js +7 -3
- package/lib/dependencies/UnsupportedDependency.js +4 -4
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +3 -4
- package/lib/dependencies/WebAssemblyImportDependency.js +5 -5
- package/lib/dependencies/WebpackIsIncludedDependency.js +6 -6
- package/lib/dependencies/WorkerAndWorkletPlugin.js +47 -28
- package/lib/dependencies/WorkerDependency.js +22 -22
- package/lib/dependencies/WorkletDependency.js +18 -21
- package/lib/dependencies/getFunctionExpression.js +8 -4
- package/lib/dependencies/importOptionsCheck.js +47 -0
- package/lib/dependencies/processExportInfo.js +5 -5
- package/lib/dll/DelegatedModule.js +34 -22
- package/lib/dll/DelegatedModuleFactoryPlugin.js +15 -7
- package/lib/dll/DelegatedPlugin.js +2 -2
- package/lib/dll/DllEntryPlugin.js +2 -2
- package/lib/dll/DllModule.js +22 -15
- package/lib/dll/DllModuleFactory.js +7 -3
- package/lib/dll/DllPlugin.js +7 -5
- package/lib/dll/DllReferencePlugin.js +10 -7
- package/lib/dll/LibManifestPlugin.js +5 -5
- package/lib/electron/ElectronTargetPlugin.js +53 -49
- package/lib/errors/AsyncChunkWaterfallWarning.js +36 -0
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BroadContextsWarning.js +43 -0
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/errors/CacheEffectivenessWarning.js +55 -0
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CircularDependenciesWarning.js +38 -0
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingResourceHintsWarning.js +35 -0
- package/lib/errors/DotenvFileError.js +29 -0
- package/lib/errors/DuplicateModulesWarning.js +45 -0
- package/lib/errors/DynamicExportsWarning.js +30 -0
- package/lib/errors/EmbeddedSourceMapsWarning.js +25 -0
- package/lib/errors/EntrypointOverlapWarning.js +45 -0
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/errors/EvalUsageWarning.js +28 -0
- package/lib/errors/HookWebpackError.js +5 -5
- package/lib/errors/HotspotsWarning.js +57 -0
- package/lib/errors/IgnoreErrorModuleFactory.js +7 -3
- package/lib/errors/ImportedBindingAssignmentError.js +30 -0
- package/lib/errors/InlinedAssetsWarning.js +36 -0
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/errors/LargeModulesWarning.js +45 -0
- package/lib/errors/LegacyJavascriptWarning.js +48 -0
- package/lib/errors/MissingSideEffectsWarning.js +36 -0
- package/lib/errors/MixedExportsWarning.js +41 -0
- package/lib/errors/ModuleDependencyError.js +13 -16
- package/lib/errors/ModuleDependencyWarning.js +5 -15
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +2 -2
- package/lib/errors/ModuleParseError.js +1 -2
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/NodeStuffInWebError.js +1 -1
- package/lib/errors/OsDependentRuleWarning.js +31 -0
- package/lib/errors/PureAnnotationsWarning.js +36 -0
- package/lib/errors/RedundantDynamicImportWarning.js +31 -0
- package/lib/errors/ScopeHoistingBailoutsWarning.js +41 -0
- package/lib/errors/SplitChunksCappedWarning.js +41 -0
- package/lib/errors/TinyChunksWarning.js +40 -0
- package/lib/errors/TopLevelThisWarning.js +34 -0
- package/lib/errors/UnsplitVendorsWarning.js +42 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/errors/UnusedAliasesWarning.js +29 -0
- package/lib/errors/UnusedDefinesWarning.js +29 -0
- package/lib/errors/UnusedExternalsWarning.js +29 -0
- package/lib/errors/UnusedReexportsWarning.js +42 -0
- package/lib/errors/UnusedRuleWarning.js +29 -0
- package/lib/errors/WebpackError.js +9 -5
- package/lib/errors/deriveStackFromNestedError.js +90 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +37 -19
- package/lib/esm/ModuleChunkLoadingPlugin.js +86 -51
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +161 -62
- package/lib/hmr/HotModuleReplacement.runtime.js +24 -5
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -1
- package/lib/hmr/LazyCompilationPlugin.js +45 -24
- package/lib/hmr/lazyCompilationBackend.js +9 -6
- package/lib/hmr/parserHooks.js +56 -0
- package/lib/html/HtmlGenerator.js +277 -77
- package/lib/html/HtmlModule.js +7 -3
- package/lib/html/HtmlModulesPlugin.js +366 -200
- package/lib/html/HtmlParser.js +31 -86
- package/lib/html/data.js +1928 -0
- package/lib/html/htmlMinify.js +288 -0
- package/lib/html/syntax.js +6034 -1384
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -3
- package/lib/ids/DeterministicChunkIdsPlugin.js +1 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +2 -2
- package/lib/ids/HashedModuleIdsPlugin.js +6 -2
- package/lib/ids/IdHelpers.js +7 -8
- package/lib/ids/NamedChunkIdsPlugin.js +1 -1
- package/lib/ids/NamedModuleIdsPlugin.js +1 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +2 -2
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +7 -3
- package/lib/ids/OccurrenceModuleIdsPlugin.js +7 -3
- package/lib/ids/SyncModuleIdsPlugin.js +4 -4
- package/lib/index.js +10 -0
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +3 -3
- package/lib/javascript/BasicEvaluatedExpression.js +18 -14
- package/lib/javascript/ChunkFormatHelpers.js +6 -6
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/CommonJsChunkFormatPlugin.js +11 -5
- package/lib/javascript/EnableChunkLoadingPlugin.js +2 -2
- package/lib/javascript/JavascriptGenerator.js +65 -165
- package/lib/javascript/JavascriptModule.js +9 -3
- package/lib/javascript/JavascriptModulesPlugin.js +103 -123
- package/lib/javascript/JavascriptParser.js +242 -99
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/ScopeAnalyzer.js +1094 -0
- package/lib/javascript/StartupHelpers.js +55 -9
- package/lib/javascript/syntax.js +2678 -232
- package/lib/json/JsonData.js +8 -4
- package/lib/json/JsonGenerator.js +38 -16
- package/lib/json/JsonModule.js +7 -3
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +5 -6
- package/lib/library/AbstractLibraryPlugin.js +20 -14
- package/lib/library/AmdLibraryPlugin.js +11 -7
- package/lib/library/AssignLibraryPlugin.js +19 -13
- package/lib/library/EnableLibraryPlugin.js +2 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +15 -8
- package/lib/library/JsonpLibraryPlugin.js +11 -7
- package/lib/library/ModuleLibraryPlugin.js +256 -64
- package/lib/library/SystemLibraryPlugin.js +12 -8
- package/lib/library/UmdLibraryPlugin.js +62 -25
- package/lib/loaders/LoaderRunner.js +47 -6
- package/lib/loaders/loadLoader.js +8 -4
- package/lib/logging/createConsoleLogger.js +7 -4
- package/lib/node/CommonJsChunkLoadingPlugin.js +36 -22
- package/lib/node/NodeEnvironmentPlugin.js +17 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -3
- package/lib/node/NodeTemplatePlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +70 -9
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +65 -19
- package/lib/node/ReadFileCompileWasmPlugin.js +28 -16
- package/lib/node/RequireChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/nodeConsole.js +7 -3
- package/lib/optimize/AggressiveMergingPlugin.js +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +9 -6
- package/lib/optimize/ConcatenatedModule.js +1030 -476
- package/lib/optimize/ConstExportsPlugin.js +16 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -4
- package/lib/optimize/InlineExports.js +130 -5
- package/lib/optimize/InnerGraph.js +28 -12
- package/lib/optimize/InnerGraphPlugin.js +23 -18
- package/lib/optimize/LimitChunkCountPlugin.js +7 -3
- package/lib/optimize/MangleExportsPlugin.js +7 -8
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -3
- package/lib/optimize/MinChunkSizePlugin.js +7 -3
- package/lib/optimize/ModuleConcatenationPlugin.js +51 -35
- package/lib/optimize/RealContentHashPlugin.js +121 -41
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/RuntimeChunkPlugin.js +2 -2
- package/lib/optimize/SideEffectsFlagPlugin.js +262 -39
- package/lib/optimize/SplitChunksPlugin.js +86 -24
- package/lib/performance/AssetsOverSizeLimitWarning.js +10 -2
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +136 -0
- package/lib/performance/BroadContextsPlugin.js +142 -0
- package/lib/performance/CacheEffectivenessPlugin.js +125 -0
- package/lib/performance/ConflictingResourceHintsPlugin.js +99 -0
- package/lib/performance/DuplicateModulesPlugin.js +93 -0
- package/lib/performance/DuplicatePackagesPlugin.js +119 -0
- package/lib/performance/DuplicatePackagesWarning.js +84 -0
- package/lib/performance/DynamicExportsPlugin.js +120 -0
- package/lib/performance/EmbeddedSourceMapsPlugin.js +71 -0
- package/lib/performance/EntrypointOverlapPlugin.js +122 -0
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -1
- package/lib/performance/EvalUsagePlugin.js +115 -0
- package/lib/performance/HotspotsPlugin.js +296 -0
- package/lib/performance/InlinedAssetsPlugin.js +99 -0
- package/lib/performance/LargeModulesPlugin.js +126 -0
- package/lib/performance/LegacyJavascriptPlugin.js +139 -0
- package/lib/performance/MissingSideEffectsPlugin.js +138 -0
- package/lib/performance/MixedExportsPlugin.js +136 -0
- package/lib/performance/OsDependentRuleWarningPlugin.js +178 -0
- package/lib/performance/PureAnnotationsPlugin.js +219 -0
- package/lib/performance/RedundantDynamicImportsPlugin.js +225 -0
- package/lib/performance/RuntimeInLargeChunkWarning.js +27 -0
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +164 -0
- package/lib/performance/SizeLimitsPlugin.js +139 -7
- package/lib/performance/SplitChunksCappedPlugin.js +99 -0
- package/lib/performance/TinyChunksPlugin.js +128 -0
- package/lib/performance/TopLevelThisPlugin.js +208 -0
- package/lib/performance/UnsplitVendorsPlugin.js +112 -0
- package/lib/performance/UnusedAliasesPlugin.js +253 -0
- package/lib/performance/UnusedDefinesPlugin.js +87 -0
- package/lib/performance/UnusedExternalsPlugin.js +110 -0
- package/lib/performance/UnusedReexportsPlugin.js +159 -0
- package/lib/performance/UnusedRuleWarningPlugin.js +105 -0
- package/lib/performance/getModuleSize.js +22 -0
- package/lib/performance/getSourceModules.js +22 -0
- package/lib/performance/hasOnlyUnusedExports.js +40 -0
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +24 -10
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +63 -46
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +2 -3
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ResourceHintPlugin.js +295 -79
- package/lib/prefetch/ResourceHintRuntimeModule.js +1 -21
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +10 -133
- package/lib/prefetch/parseResourceHintOptions.js +31 -4
- package/lib/rules/BasicEffectRulePlugin.js +2 -2
- package/lib/rules/BasicMatcherRulePlugin.js +8 -4
- package/lib/rules/GlobMatcherRulePlugin.js +68 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +12 -5
- package/lib/rules/RuleSetCompiler.js +146 -12
- package/lib/rules/UseEffectRulePlugin.js +18 -11
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +11 -1
- package/lib/runtime/AsyncModuleRuntimeModule.js +6 -2
- package/lib/runtime/AutoPublicPathRuntimeModule.js +15 -20
- package/lib/runtime/BaseUriRuntimeModule.js +33 -7
- package/lib/runtime/ChunkNameRuntimeModule.js +10 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +11 -1
- package/lib/runtime/CompatRuntimeModule.js +5 -3
- package/lib/runtime/ConcatenationWrapRuntimeModule.js +90 -0
- package/lib/runtime/ConstructRequireRuntimeModule.js +52 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +8 -6
- package/lib/runtime/CreateScriptRuntimeModule.js +11 -1
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +11 -1
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +56 -38
- package/lib/runtime/EnsureChunkRuntimeModule.js +18 -2
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +62 -37
- package/lib/runtime/GetFullHashRuntimeModule.js +12 -2
- package/lib/runtime/GetMainFilenameRuntimeModule.js +12 -2
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -2
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +16 -3
- package/lib/runtime/GlobalRuntimeModule.js +18 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +12 -2
- package/lib/runtime/LoadScriptRuntimeModule.js +2 -2
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +34 -7
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +22 -6
- package/lib/runtime/NonceRuntimeModule.js +10 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -3
- package/lib/runtime/PublicPathRuntimeModule.js +12 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +11 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +12 -2
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +11 -1
- package/lib/runtime/StartupChunkDependenciesPlugin.js +18 -9
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +3 -3
- package/lib/runtime/StartupEntrypointRuntimeModule.js +21 -4
- package/lib/runtime/SystemContextRuntimeModule.js +10 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -1
- package/lib/runtime/WorkerRuntimeModule.js +11 -1
- package/lib/runtime/baseUri.js +63 -0
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +46 -20
- package/lib/schemes/VirtualUrlPlugin.js +13 -7
- package/lib/serialization/AggregateErrorSerializer.js +1 -1
- package/lib/serialization/BinaryMiddleware.js +4 -4
- package/lib/serialization/ErrorObjectSerializer.js +1 -1
- package/lib/serialization/FileMiddleware.js +22 -9
- package/lib/serialization/ObjectMiddleware.js +139 -114
- package/lib/serialization/PlainObjectSerializer.js +19 -16
- package/lib/sharing/ConsumeSharedModule.js +30 -21
- package/lib/sharing/ConsumeSharedPlugin.js +18 -10
- package/lib/sharing/ConsumeSharedRuntimeModule.js +6 -9
- package/lib/sharing/ProvideSharedModule.js +25 -16
- package/lib/sharing/ProvideSharedModuleFactory.js +7 -3
- package/lib/sharing/ProvideSharedPlugin.js +8 -4
- package/lib/sharing/SharePlugin.js +17 -5
- package/lib/sharing/ShareRuntimeModule.js +4 -4
- package/lib/sharing/resolveMatchedConfigs.js +9 -6
- package/lib/sharing/utils.js +1 -3
- package/lib/stats/DefaultStatsFactoryPlugin.js +50 -29
- package/lib/stats/DefaultStatsPresetPlugin.js +17 -8
- package/lib/stats/DefaultStatsPrinterPlugin.js +36 -26
- package/lib/stats/StatsFactory.js +25 -26
- package/lib/stats/StatsPrinter.js +16 -12
- package/lib/typescript/TypeScriptPlugin.js +20 -24
- package/lib/url/URLParserPlugin.js +26 -13
- package/lib/util/ArrayQueue.js +3 -3
- package/lib/util/AsyncQueue.js +4 -3
- package/lib/util/Hash.js +5 -1
- package/lib/util/LazySet.js +35 -22
- package/lib/util/LocConverter.js +36 -13
- package/lib/util/SourceProcessor.js +1066 -24
- package/lib/util/StringXor.js +1 -1
- package/lib/util/URLAbsoluteSpecifier.js +3 -1
- package/lib/util/chainedImports.js +9 -5
- package/lib/util/cleverMerge.js +1 -1
- package/lib/util/comparators.js +45 -14
- package/lib/util/concatenate.js +203 -77
- package/lib/util/conventions.js +10 -2
- package/lib/util/createHash.js +2 -2
- package/lib/util/createHooksRegistry.js +8 -10
- package/lib/util/createMappings.js +25 -3
- package/lib/util/dataURL.js +225 -1
- package/lib/util/extractSourceMap.js +4 -3
- package/lib/util/findCaseMismatch.js +139 -0
- package/lib/util/formatLocation.js +1 -2
- package/lib/util/fs.js +22 -5
- package/lib/util/globUtils.js +298 -24
- package/lib/util/hash/BatchedHash.js +5 -1
- package/lib/util/hash/BulkUpdateHash.js +5 -1
- package/lib/util/hash/DebugHash.js +5 -1
- package/lib/util/hash/hash-digest.js +6 -2
- package/lib/util/identifier.js +4 -0
- package/lib/util/implicitTypeLoaderFallback.js +1 -1
- package/lib/util/internalSerializables.js +8 -0
- package/lib/util/lazyModule.js +56 -0
- package/lib/util/makeSerializable.js +7 -3
- package/lib/util/matchAlias.js +25 -0
- package/lib/util/mimeTypes.js +11 -5
- package/lib/util/nonNumericOnlyHash.js +4 -3
- package/lib/util/parseJson.js +5 -3
- package/lib/util/preloadModuleType.js +32 -0
- package/lib/util/registerExternalSerializer.js +7 -5
- package/lib/util/removeBOM.js +82 -1
- package/lib/util/runtime.js +2 -2
- package/lib/util/semver.js +1 -1
- package/lib/util/serialization.js +28 -28
- package/lib/util/source.js +2 -2
- package/lib/util/traverseDestructuringAssignmentProperties.js +6 -2
- package/lib/wasm/EnableWasmLoadingPlugin.js +10 -8
- package/lib/wasm/wasmModuleFilename.js +54 -0
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +43 -21
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +45 -21
- package/lib/wasm-async/AsyncWasmModule.js +3 -3
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +4 -5
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +57 -17
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +34 -18
- package/lib/wasm-async/AsyncWebAssemblyParser.js +9 -8
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +29 -8
- package/lib/wasm-sync/SyncWasmModule.js +2 -2
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +18 -13
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -5
- package/lib/wasm-sync/WebAssemblyGenerator.js +18 -17
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +4 -4
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +7 -7
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +24 -11
- package/lib/wasm-sync/WebAssemblyParser.js +4 -6
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
- package/lib/web/FetchCompileAsyncWasmPlugin.js +105 -19
- package/lib/web/FetchCompileWasmPlugin.js +48 -16
- package/lib/web/JsonpChunkLoadingPlugin.js +47 -23
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +50 -20
- package/lib/web/JsonpTemplatePlugin.js +2 -2
- package/lib/webpack.js +22 -11
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +60 -26
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +30 -32
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +1 -0
- package/package.json +32 -25
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +667 -34
- package/schemas/plugins/HtmlParserOptions.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.json +10 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +10 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/types.d.ts +3223 -465
- package/lib/runtime/CommonJsWrapRuntimeModule.js +0 -37
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
8
|
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
9
|
-
|
|
10
|
-
const UnsupportedFeatureWarning = require("../errors/UnsupportedFeatureWarning");
|
|
9
|
+
|
|
11
10
|
const {
|
|
12
11
|
evaluateToIdentifier,
|
|
13
12
|
evaluateToString,
|
|
@@ -21,6 +20,7 @@ const CommonJsRequireContextDependency = require("./CommonJsRequireContextDepend
|
|
|
21
20
|
const CommonJsRequireDependency = require("./CommonJsRequireDependency");
|
|
22
21
|
const ConstDependency = require("./ConstDependency");
|
|
23
22
|
const ContextDependencyHelpers = require("./ContextDependencyHelpers");
|
|
23
|
+
const HarmonyImportGuard = require("./HarmonyImportGuard");
|
|
24
24
|
const LocalModuleDependency = require("./LocalModuleDependency");
|
|
25
25
|
const { getLocalModule } = require("./LocalModulesHelpers");
|
|
26
26
|
const RequireHeaderDependency = require("./RequireHeaderDependency");
|
|
@@ -28,19 +28,30 @@ const RequireResolveContextDependency = require("./RequireResolveContextDependen
|
|
|
28
28
|
const RequireResolveDependency = require("./RequireResolveDependency");
|
|
29
29
|
const RequireResolveHeaderDependency = require("./RequireResolveHeaderDependency");
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
/** @
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
31
|
+
const getUnsupportedFeatureWarning = memoize(() =>
|
|
32
|
+
require("../errors/UnsupportedFeatureWarning")
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
const getCommentCompilationWarning = memoize(() =>
|
|
36
|
+
require("../errors/CommentCompilationWarning")
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
/** @import { CallExpression, Expression, NewExpression } from "estree" */
|
|
40
|
+
/**
|
|
41
|
+
* @import {
|
|
42
|
+
* JavascriptParserOptions
|
|
43
|
+
* } from "../../declarations/WebpackOptions"
|
|
44
|
+
*/
|
|
45
|
+
/** @import { RawReferencedExports } from "../Dependency" */
|
|
46
|
+
/**
|
|
47
|
+
* @import JavascriptParser, {
|
|
48
|
+
* Range,
|
|
49
|
+
* Members,
|
|
50
|
+
* CalleeMembers
|
|
51
|
+
* } from "../javascript/JavascriptParser"
|
|
52
|
+
*/
|
|
53
|
+
/** @import BasicEvaluatedExpression from "../javascript/BasicEvaluatedExpression" */
|
|
54
|
+
/** @import LocalModule from "./LocalModule" */
|
|
44
55
|
|
|
45
56
|
/**
|
|
46
57
|
* Defines the common js import settings type used by this module.
|
|
@@ -58,8 +69,6 @@ const RequireResolveHeaderDependency = require("./RequireResolveHeaderDependency
|
|
|
58
69
|
* @property {InstanceType<typeof import("./CommonJsRequireDependency")> | null} dep dependency for the `require()` call, null until the `require()` is walked; kept so a later whole-namespace use can null its list directly
|
|
59
70
|
*/
|
|
60
71
|
|
|
61
|
-
const getHarmonyImportGuard = memoize(() => require("./HarmonyImportGuard"));
|
|
62
|
-
|
|
63
72
|
const REQUIRE_BINDING_TAG = Symbol(
|
|
64
73
|
"CommonJsImportsParserPlugin require binding"
|
|
65
74
|
);
|
|
@@ -170,9 +179,10 @@ const createRequireCallHandler = (
|
|
|
170
179
|
* Process require item.
|
|
171
180
|
* @param {CallExpression | NewExpression} expr expression
|
|
172
181
|
* @param {BasicEvaluatedExpression} param param
|
|
173
|
-
* @
|
|
182
|
+
* @param {boolean=} allowEvaluationOnly when false (conditional require), keep full namespace use
|
|
183
|
+
* @returns {CommonJsRequireDependency | undefined} created dependency when handled
|
|
174
184
|
*/
|
|
175
|
-
const processRequireItem = (expr, param) => {
|
|
185
|
+
const processRequireItem = (expr, param, allowEvaluationOnly = true) => {
|
|
176
186
|
if (param.isString()) {
|
|
177
187
|
let referencedExports = getRequireReferencedExportsFromDestructuring(
|
|
178
188
|
parser,
|
|
@@ -185,6 +195,14 @@ const createRequireCallHandler = (
|
|
|
185
195
|
// `const NAME = require(LITERAL)` — let later member-access walks
|
|
186
196
|
// on `NAME` populate the dependency's referenced exports.
|
|
187
197
|
referencedExports = binding.referencedExports;
|
|
198
|
+
} else if (
|
|
199
|
+
allowEvaluationOnly &&
|
|
200
|
+
referencedExports === null &&
|
|
201
|
+
!binding &&
|
|
202
|
+
parser.isStatementLevelExpression(expr)
|
|
203
|
+
) {
|
|
204
|
+
// Bare `require(...)` as a statement: result discarded → evaluation only.
|
|
205
|
+
referencedExports = [];
|
|
188
206
|
}
|
|
189
207
|
const dep = new CommonJsRequireDependency(
|
|
190
208
|
/** @type {string} */ (param.string),
|
|
@@ -197,8 +215,8 @@ const createRequireCallHandler = (
|
|
|
197
215
|
dep.loc = parser.getLocation(expr);
|
|
198
216
|
dep.optional = Boolean(parser.scope.inTry);
|
|
199
217
|
parser.state.current.addDependency(dep);
|
|
200
|
-
|
|
201
|
-
return
|
|
218
|
+
HarmonyImportGuard.attachDependencyGuards(parser, dep);
|
|
219
|
+
return dep;
|
|
202
220
|
}
|
|
203
221
|
};
|
|
204
222
|
/**
|
|
@@ -242,7 +260,7 @@ const createRequireCallHandler = (
|
|
|
242
260
|
for (const e of commentErrors) {
|
|
243
261
|
const { comment } = e;
|
|
244
262
|
parser.state.module.addWarning(
|
|
245
|
-
new
|
|
263
|
+
new (getCommentCompilationWarning())(
|
|
246
264
|
`Compilation error while processing magic comment(-s): /*${comment.value}*/: ${e.message}`,
|
|
247
265
|
parser.getLocation(comment)
|
|
248
266
|
)
|
|
@@ -252,7 +270,7 @@ const createRequireCallHandler = (
|
|
|
252
270
|
if (requireOptions && requireOptions.webpackIgnore !== undefined) {
|
|
253
271
|
if (typeof requireOptions.webpackIgnore !== "boolean") {
|
|
254
272
|
parser.state.module.addWarning(
|
|
255
|
-
new
|
|
273
|
+
new (getUnsupportedFeatureWarning())(
|
|
256
274
|
`\`webpackIgnore\` expected a boolean, but received: ${requireOptions.webpackIgnore}.`,
|
|
257
275
|
parser.getLocation(expr)
|
|
258
276
|
)
|
|
@@ -273,8 +291,9 @@ const createRequireCallHandler = (
|
|
|
273
291
|
for (const p of /** @type {BasicEvaluatedExpression[]} */ (
|
|
274
292
|
param.options
|
|
275
293
|
)) {
|
|
276
|
-
|
|
277
|
-
|
|
294
|
+
// Shared valueRange across branches: never mark evaluation-only.
|
|
295
|
+
const requireDep = processRequireItem(expr, p, false);
|
|
296
|
+
if (requireDep === undefined) {
|
|
278
297
|
isExpression = true;
|
|
279
298
|
}
|
|
280
299
|
}
|
|
@@ -303,12 +322,17 @@ const createRequireCallHandler = (
|
|
|
303
322
|
dep.loc = parser.getLocation(expr);
|
|
304
323
|
parser.state.module.addPresentationalDependency(dep);
|
|
305
324
|
} else {
|
|
306
|
-
const
|
|
307
|
-
if (
|
|
325
|
+
const requireDep = processRequireItem(expr, param);
|
|
326
|
+
if (requireDep === undefined) {
|
|
308
327
|
processRequireContext(expr, param);
|
|
309
328
|
} else {
|
|
329
|
+
requireDep._canConcatenate = true;
|
|
330
|
+
// concatenation replaces the whole NewExpression; the template
|
|
331
|
+
// reapplies the `new` return-value rule
|
|
332
|
+
requireDep.callNew = callNew;
|
|
310
333
|
const dep = new RequireHeaderDependency(
|
|
311
|
-
/** @type {Range} */ (expr.callee.range)
|
|
334
|
+
/** @type {Range} */ (expr.callee.range),
|
|
335
|
+
requireDep
|
|
312
336
|
);
|
|
313
337
|
dep.loc = parser.getLocation(expr);
|
|
314
338
|
parser.state.module.addPresentationalDependency(dep);
|
|
@@ -384,7 +408,7 @@ const createProcessResolveHandler = (parser, options, getContext) => {
|
|
|
384
408
|
for (const e of commentErrors) {
|
|
385
409
|
const { comment } = e;
|
|
386
410
|
parser.state.module.addWarning(
|
|
387
|
-
new
|
|
411
|
+
new (getCommentCompilationWarning())(
|
|
388
412
|
`Compilation error while processing magic comment(-s): /*${comment.value}*/: ${e.message}`,
|
|
389
413
|
parser.getLocation(comment)
|
|
390
414
|
)
|
|
@@ -394,7 +418,7 @@ const createProcessResolveHandler = (parser, options, getContext) => {
|
|
|
394
418
|
if (requireOptions && requireOptions.webpackIgnore !== undefined) {
|
|
395
419
|
if (typeof requireOptions.webpackIgnore !== "boolean") {
|
|
396
420
|
parser.state.module.addWarning(
|
|
397
|
-
new
|
|
421
|
+
new (getUnsupportedFeatureWarning())(
|
|
398
422
|
`\`webpackIgnore\` expected a boolean, but received: ${requireOptions.webpackIgnore}.`,
|
|
399
423
|
parser.getLocation(expr)
|
|
400
424
|
)
|
|
@@ -458,6 +482,13 @@ class CommonJsImportsParserPlugin {
|
|
|
458
482
|
PLUGIN_NAME,
|
|
459
483
|
(expr) => {
|
|
460
484
|
if (isRequireCallExpression(expr)) return true;
|
|
485
|
+
// `const NAME = require(…); const { a } = NAME;`
|
|
486
|
+
if (
|
|
487
|
+
expr.type === "Identifier" &&
|
|
488
|
+
parser.getTagData(expr.name, REQUIRE_BINDING_TAG)
|
|
489
|
+
) {
|
|
490
|
+
return true;
|
|
491
|
+
}
|
|
461
492
|
}
|
|
462
493
|
);
|
|
463
494
|
|
|
@@ -640,9 +671,10 @@ class CommonJsImportsParserPlugin {
|
|
|
640
671
|
/** @type {Range} */ (expr.range)[0]
|
|
641
672
|
);
|
|
642
673
|
dep.optional = Boolean(parser.scope.inTry);
|
|
674
|
+
dep._canConcatenate = true;
|
|
643
675
|
dep.loc = parser.getLocation(expr);
|
|
644
676
|
parser.state.current.addDependency(dep);
|
|
645
|
-
|
|
677
|
+
HarmonyImportGuard.attachDependencyGuards(parser, dep);
|
|
646
678
|
return true;
|
|
647
679
|
}
|
|
648
680
|
};
|
|
@@ -675,13 +707,17 @@ class CommonJsImportsParserPlugin {
|
|
|
675
707
|
/** @type {Range[]} */ memberRanges
|
|
676
708
|
);
|
|
677
709
|
dep.call = true;
|
|
710
|
+
dep.namespaceObjectAsContext = Boolean(
|
|
711
|
+
options.strictThisContextOnImports
|
|
712
|
+
);
|
|
678
713
|
dep.asiSafe = !parser.isAsiPosition(
|
|
679
714
|
/** @type {Range} */ (expr.range)[0]
|
|
680
715
|
);
|
|
681
716
|
dep.optional = Boolean(parser.scope.inTry);
|
|
717
|
+
dep._canConcatenate = true;
|
|
682
718
|
dep.loc = parser.getLocation(expr.callee);
|
|
683
719
|
parser.state.current.addDependency(dep);
|
|
684
|
-
|
|
720
|
+
HarmonyImportGuard.attachDependencyGuards(parser, dep);
|
|
685
721
|
parser.walkExpressions(expr.arguments);
|
|
686
722
|
return true;
|
|
687
723
|
}
|
|
@@ -736,20 +772,31 @@ class CommonJsImportsParserPlugin {
|
|
|
736
772
|
return true;
|
|
737
773
|
});
|
|
738
774
|
|
|
739
|
-
parser.hooks.expression
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
775
|
+
parser.hooks.expression
|
|
776
|
+
.for(REQUIRE_BINDING_TAG)
|
|
777
|
+
.tap(PLUGIN_NAME, (expr) => {
|
|
778
|
+
const binding =
|
|
779
|
+
/** @type {RequireBindingData} */
|
|
780
|
+
(parser.currentTagData);
|
|
781
|
+
if (binding) {
|
|
782
|
+
const properties = parser.destructuringAssignmentPropertiesFor(expr);
|
|
783
|
+
if (properties && binding.referencedExports) {
|
|
784
|
+
// `const { a } = NAME` — only the destructured keys are read.
|
|
785
|
+
const referencedExports = binding.referencedExports;
|
|
786
|
+
traverseDestructuringAssignmentProperties(properties, (stack) =>
|
|
787
|
+
referencedExports.push(stack.map((p) => p.id))
|
|
788
|
+
);
|
|
789
|
+
} else {
|
|
790
|
+
// `NAME` is read as a value (not as the object of a static member
|
|
791
|
+
// chain), so we have to assume the whole exports object is used.
|
|
792
|
+
binding.referencedExports = null;
|
|
793
|
+
if (binding.dep) {
|
|
794
|
+
binding.dep.referencedExports = null;
|
|
795
|
+
}
|
|
796
|
+
}
|
|
749
797
|
}
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
});
|
|
798
|
+
return true;
|
|
799
|
+
});
|
|
753
800
|
|
|
754
801
|
parser.hooks.expressionMemberChain
|
|
755
802
|
.for(REQUIRE_BINDING_TAG)
|
|
@@ -829,9 +876,12 @@ class CommonJsImportsParserPlugin {
|
|
|
829
876
|
}
|
|
830
877
|
}
|
|
831
878
|
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
879
|
+
CommonJsImportsParserPlugin.createProcessResolveHandler =
|
|
880
|
+
createProcessResolveHandler;
|
|
881
|
+
CommonJsImportsParserPlugin.createRequireAsExpressionHandler =
|
|
835
882
|
createRequireAsExpressionHandler;
|
|
836
|
-
|
|
837
|
-
|
|
883
|
+
CommonJsImportsParserPlugin.createRequireCacheDependency =
|
|
884
|
+
createRequireCacheDependency;
|
|
885
|
+
CommonJsImportsParserPlugin.createRequireHandler = createRequireCallHandler;
|
|
886
|
+
|
|
887
|
+
module.exports = CommonJsImportsParserPlugin;
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
Author Natsu @xiaoxiaojx
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
const makeSerializable = require("../util/makeSerializable");
|
|
9
|
+
const { propertyName } = require("../util/property");
|
|
10
|
+
const NullDependency = require("./NullDependency");
|
|
11
|
+
|
|
12
|
+
/** @import { ReplaceSource } from "webpack-sources" */
|
|
13
|
+
/** @import Dependency, { ExportsSpec, ExportInfoName } from "../Dependency" */
|
|
14
|
+
/** @import { DependencyTemplateContext } from "../DependencyTemplate" */
|
|
15
|
+
/** @import ModuleGraph from "../ModuleGraph" */
|
|
16
|
+
/** @import { Range } from "../javascript/JavascriptParser" */
|
|
17
|
+
/** @typedef {"keyValue" | "shorthand" | "get" | "set" | "method" | "asyncMethod" | "generatorMethod" | "asyncGeneratorMethod"} CommonJsObjectExportKind */
|
|
18
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range, Range, ExportInfoName, CommonJsObjectExportKind, boolean]>} ObjectDeserializerContext */
|
|
19
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range, Range, ExportInfoName, CommonJsObjectExportKind, boolean]>} ObjectSerializerContext */
|
|
20
|
+
|
|
21
|
+
const EMPTY_OBJECT = {};
|
|
22
|
+
|
|
23
|
+
/** @type {ReadonlyMap<CommonJsObjectExportKind, string>} */
|
|
24
|
+
const FUNCTION_PROPERTY_DROP_HEAD = new Map([
|
|
25
|
+
["get", "...void (function "],
|
|
26
|
+
["set", "...void (function "],
|
|
27
|
+
["method", "...void (function "],
|
|
28
|
+
["asyncMethod", "...void (async function "],
|
|
29
|
+
["generatorMethod", "...void (function* "],
|
|
30
|
+
["asyncGeneratorMethod", "...void (async function* "]
|
|
31
|
+
]);
|
|
32
|
+
|
|
33
|
+
class CommonJsObjectExportDependency extends NullDependency {
|
|
34
|
+
/**
|
|
35
|
+
* @param {Range} range property range
|
|
36
|
+
* @param {Range} keyRange key range
|
|
37
|
+
* @param {Range} valueRange value / function range
|
|
38
|
+
* @param {ExportInfoName} name export name
|
|
39
|
+
* @param {CommonJsObjectExportKind} kind property kind
|
|
40
|
+
* @param {boolean} pure value is known to be side-effect free
|
|
41
|
+
*/
|
|
42
|
+
constructor(range, keyRange, valueRange, name, kind, pure) {
|
|
43
|
+
super();
|
|
44
|
+
this.range = range;
|
|
45
|
+
this.keyRange = keyRange;
|
|
46
|
+
this.valueRange = valueRange;
|
|
47
|
+
/** @type {ExportInfoName} */
|
|
48
|
+
this.name = name;
|
|
49
|
+
/** @type {CommonJsObjectExportKind} */
|
|
50
|
+
this.kind = kind;
|
|
51
|
+
/** @type {boolean} */
|
|
52
|
+
this.pure = pure;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
get type() {
|
|
56
|
+
return "cjs object exports";
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Returns the exported names
|
|
61
|
+
* @param {ModuleGraph} moduleGraph module graph
|
|
62
|
+
* @returns {ExportsSpec | undefined} export names
|
|
63
|
+
*/
|
|
64
|
+
getExports(moduleGraph) {
|
|
65
|
+
const name = this.name;
|
|
66
|
+
return {
|
|
67
|
+
exports: [
|
|
68
|
+
{
|
|
69
|
+
name,
|
|
70
|
+
// Keep __esModule stable: the template never renames it.
|
|
71
|
+
canMangle: name !== "__esModule" && !(name in EMPTY_OBJECT)
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
dependencies: undefined
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Serializes this instance into the provided serializer context.
|
|
80
|
+
* @param {ObjectSerializerContext} context context
|
|
81
|
+
*/
|
|
82
|
+
serialize(context) {
|
|
83
|
+
context
|
|
84
|
+
.write(this.range)
|
|
85
|
+
.write(this.keyRange)
|
|
86
|
+
.write(this.valueRange)
|
|
87
|
+
.write(this.name)
|
|
88
|
+
.write(this.kind)
|
|
89
|
+
.write(this.pure);
|
|
90
|
+
super.serialize(context);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Restores this instance from the provided deserializer context.
|
|
95
|
+
* @param {ObjectDeserializerContext} context context
|
|
96
|
+
*/
|
|
97
|
+
deserialize(context) {
|
|
98
|
+
this.range = context.read();
|
|
99
|
+
const c1 = context.rest;
|
|
100
|
+
this.keyRange = c1.read();
|
|
101
|
+
const c2 = c1.rest;
|
|
102
|
+
this.valueRange = c2.read();
|
|
103
|
+
const c3 = c2.rest;
|
|
104
|
+
this.name = c3.read();
|
|
105
|
+
const c4 = c3.rest;
|
|
106
|
+
this.kind = c4.read();
|
|
107
|
+
const c5 = c4.rest;
|
|
108
|
+
this.pure = c5.read();
|
|
109
|
+
super.deserialize(c5.rest);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
makeSerializable(
|
|
114
|
+
CommonJsObjectExportDependency,
|
|
115
|
+
"webpack/lib/dependencies/CommonJsObjectExportDependency"
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
CommonJsObjectExportDependency.Template = class CommonJsObjectExportDependencyTemplate extends (
|
|
119
|
+
NullDependency.Template
|
|
120
|
+
) {
|
|
121
|
+
/**
|
|
122
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
123
|
+
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
124
|
+
* @param {ReplaceSource} source the current replace source which can be modified
|
|
125
|
+
* @param {DependencyTemplateContext} templateContext the context object
|
|
126
|
+
* @returns {void}
|
|
127
|
+
*/
|
|
128
|
+
apply(dependency, source, { module, moduleGraph, runtime, runtimeTemplate }) {
|
|
129
|
+
const dep = /** @type {CommonJsObjectExportDependency} */ (dependency);
|
|
130
|
+
// Interop marker must stay even when unused.
|
|
131
|
+
if (dep.name === "__esModule") return;
|
|
132
|
+
const used = /** @type {string | false} */ (
|
|
133
|
+
moduleGraph.getExportsInfo(module).getUsedName(dep.name, runtime)
|
|
134
|
+
);
|
|
135
|
+
if (!used) {
|
|
136
|
+
// Object spread rewrite needs environment.spread.
|
|
137
|
+
if (!runtimeTemplate.supportsSpread()) return;
|
|
138
|
+
const range = /** @type {Range} */ (dep.range);
|
|
139
|
+
if (FUNCTION_PROPERTY_DROP_HEAD.has(dep.kind)) {
|
|
140
|
+
// Keep the function body so nested dependency replaces stay valid.
|
|
141
|
+
const valueRange = /** @type {Range} */ (dep.valueRange);
|
|
142
|
+
source.replace(
|
|
143
|
+
range[0],
|
|
144
|
+
valueRange[0] - 1,
|
|
145
|
+
/** @type {string} */ (FUNCTION_PROPERTY_DROP_HEAD.get(dep.kind))
|
|
146
|
+
);
|
|
147
|
+
source.insert(valueRange[1], ")");
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
if (dep.kind === "shorthand") {
|
|
151
|
+
source.replace(range[0], range[1] - 1, `...void (${dep.name})`);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
// keyValue: keep the value's side effects in place.
|
|
155
|
+
const valueRange = /** @type {Range} */ (dep.valueRange);
|
|
156
|
+
if (dep.pure) {
|
|
157
|
+
// spreading null adds nothing; the text stays so nested replaces hold
|
|
158
|
+
source.replace(
|
|
159
|
+
range[0],
|
|
160
|
+
valueRange[0] - 1,
|
|
161
|
+
"...(/* unused pure expression */ null && ("
|
|
162
|
+
);
|
|
163
|
+
source.replace(valueRange[1], range[1] - 1, "))");
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
source.replace(range[0], valueRange[0] - 1, "...void (");
|
|
167
|
+
source.replace(valueRange[1], range[1] - 1, ")");
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (used === dep.name) return;
|
|
171
|
+
// Rename the key to the mangled export name.
|
|
172
|
+
const keyRange = /** @type {Range} */ (dep.keyRange);
|
|
173
|
+
if (dep.kind === "shorthand") {
|
|
174
|
+
source.replace(
|
|
175
|
+
keyRange[0],
|
|
176
|
+
keyRange[1] - 1,
|
|
177
|
+
`${propertyName(used)}: ${dep.name}`
|
|
178
|
+
);
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
source.replace(keyRange[0], keyRange[1] - 1, propertyName(used));
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
CommonJsObjectExportDependency.FUNCTION_PROPERTY_DROP_HEAD =
|
|
186
|
+
FUNCTION_PROPERTY_DROP_HEAD;
|
|
187
|
+
|
|
188
|
+
module.exports = CommonJsObjectExportDependency;
|
|
@@ -23,6 +23,7 @@ const CommonJsExportsDependency = require("./CommonJsExportsDependency");
|
|
|
23
23
|
const CommonJsExportsParserPlugin = require("./CommonJsExportsParserPlugin");
|
|
24
24
|
const CommonJsFullRequireDependency = require("./CommonJsFullRequireDependency");
|
|
25
25
|
const CommonJsImportsParserPlugin = require("./CommonJsImportsParserPlugin");
|
|
26
|
+
const CommonJsObjectExportDependency = require("./CommonJsObjectExportDependency");
|
|
26
27
|
const CommonJsRequireContextDependency = require("./CommonJsRequireContextDependency");
|
|
27
28
|
const CommonJsRequireDependency = require("./CommonJsRequireDependency");
|
|
28
29
|
const CommonJsSelfReferenceDependency = require("./CommonJsSelfReferenceDependency");
|
|
@@ -33,12 +34,15 @@ const RequireResolveDependency = require("./RequireResolveDependency");
|
|
|
33
34
|
const RequireResolveHeaderDependency = require("./RequireResolveHeaderDependency");
|
|
34
35
|
const RuntimeRequirementsDependency = require("./RuntimeRequirementsDependency");
|
|
35
36
|
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/** @
|
|
37
|
+
/**
|
|
38
|
+
* @import {
|
|
39
|
+
* JavascriptParserOptions
|
|
40
|
+
* } from "../../declarations/WebpackOptions"
|
|
41
|
+
*/
|
|
42
|
+
/** @import Compilation from "../Compilation" */
|
|
43
|
+
/** @import Compiler from "../Compiler" */
|
|
44
|
+
/** @import { BuildInfo } from "../Module" */
|
|
45
|
+
/** @import Parser from "../javascript/JavascriptParser" */
|
|
42
46
|
|
|
43
47
|
const PLUGIN_NAME = "CommonJsPlugin";
|
|
44
48
|
|
|
@@ -112,6 +116,11 @@ class CommonJsPlugin {
|
|
|
112
116
|
new CommonJsExportsDependency.Template()
|
|
113
117
|
);
|
|
114
118
|
|
|
119
|
+
compilation.dependencyTemplates.set(
|
|
120
|
+
CommonJsObjectExportDependency,
|
|
121
|
+
new CommonJsObjectExportDependency.Template()
|
|
122
|
+
);
|
|
123
|
+
|
|
115
124
|
compilation.dependencyFactories.set(
|
|
116
125
|
CommonJsExportRequireDependency,
|
|
117
126
|
normalModuleFactory
|
|
@@ -266,6 +275,16 @@ class HarmonyModuleDecoratorRuntimeModule extends RuntimeModule {
|
|
|
266
275
|
super("harmony module decorator");
|
|
267
276
|
}
|
|
268
277
|
|
|
278
|
+
/**
|
|
279
|
+
* Returns true, if the runtime module should get it's own scope.
|
|
280
|
+
* When false, `generate()` must emit complete statements ending with `;`
|
|
281
|
+
* so a following runtime IIFE is not parsed as a call (ASI).
|
|
282
|
+
* @returns {boolean} true, if the runtime module should get it's own scope
|
|
283
|
+
*/
|
|
284
|
+
shouldIsolate() {
|
|
285
|
+
return false;
|
|
286
|
+
}
|
|
287
|
+
|
|
269
288
|
/**
|
|
270
289
|
* Generates runtime code for this runtime module.
|
|
271
290
|
* @returns {string | null} runtime code
|
|
@@ -297,6 +316,16 @@ class NodeModuleDecoratorRuntimeModule extends RuntimeModule {
|
|
|
297
316
|
super("node module decorator");
|
|
298
317
|
}
|
|
299
318
|
|
|
319
|
+
/**
|
|
320
|
+
* Returns true, if the runtime module should get it's own scope.
|
|
321
|
+
* When false, `generate()` must emit complete statements ending with `;`
|
|
322
|
+
* so a following runtime IIFE is not parsed as a call (ASI).
|
|
323
|
+
* @returns {boolean} true, if the runtime module should get it's own scope
|
|
324
|
+
*/
|
|
325
|
+
shouldIsolate() {
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
|
|
300
329
|
/**
|
|
301
330
|
* Generates runtime code for this runtime module.
|
|
302
331
|
* @returns {string | null} runtime code
|
|
@@ -10,14 +10,13 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
10
10
|
const ContextDependency = require("./ContextDependency");
|
|
11
11
|
const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
|
|
12
12
|
|
|
13
|
-
/** @
|
|
13
|
+
/** @import { Range } from "../javascript/JavascriptParser" */
|
|
14
14
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range | undefined, boolean | string | undefined]>} ObjectDeserializerContext */
|
|
15
15
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range | undefined, boolean | string | undefined]>} ObjectSerializerContext */
|
|
16
|
-
/** @
|
|
17
|
-
/** @
|
|
18
|
-
/** @
|
|
19
|
-
/** @
|
|
20
|
-
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
|
|
16
|
+
/** @import { ContextDependencyOptions } from "./ContextDependency" */
|
|
17
|
+
/** @import { ReferencedExports } from "../Dependency" */
|
|
18
|
+
/** @import ModuleGraph from "../ModuleGraph" */
|
|
19
|
+
/** @import { RuntimeSpec } from "../util/runtime" */
|
|
21
20
|
|
|
22
21
|
class CommonJsRequireContextDependency extends ContextDependency {
|
|
23
22
|
/**
|