@depup/webpack 5.106.1-depup.0 → 5.109.2-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -11
- package/bin/webpack.js +12 -0
- package/changes.json +16 -24
- package/hot/dev-server.js +2 -0
- package/lib/APIPlugin.js +60 -35
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +13 -5
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +41 -0
- package/lib/Chunk.js +71 -25
- package/lib/ChunkGraph.js +153 -19
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +27 -28
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +85 -37
- package/lib/Compilation.js +656 -112
- package/lib/Compiler.js +109 -35
- package/lib/ConcatenationScope.js +34 -4
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +15 -12
- package/lib/ContextExclusionPlugin.js +3 -1
- package/lib/ContextModule.js +345 -55
- package/lib/ContextModuleFactory.js +193 -51
- package/lib/ContextReplacementPlugin.js +8 -1
- package/lib/DefinePlugin.js +537 -139
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +159 -11
- package/lib/DependencyTemplate.js +7 -1
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DotenvPlugin.js +3 -0
- package/lib/DynamicEntryPlugin.js +3 -1
- package/lib/EntryOptionPlugin.js +42 -2
- package/lib/EntryPlugin.js +4 -1
- package/lib/Entrypoint.js +5 -1
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -11
- package/lib/ExportsInfo.js +421 -113
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +381 -80
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +701 -175
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +115 -8
- package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
- package/lib/Generator.js +24 -3
- package/lib/HotModuleReplacementPlugin.js +110 -44
- package/lib/IgnorePlugin.js +5 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +33 -30
- package/lib/JavascriptMetaInfoPlugin.js +9 -6
- package/lib/LazyBarrel.js +389 -0
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +3 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +121 -57
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +18 -4
- package/lib/ModuleGraph.js +69 -2
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleNotFoundError.js +3 -83
- package/lib/ModuleProfile.js +27 -1
- package/lib/ModuleSourceTypeConstants.js +52 -19
- package/lib/ModuleTemplate.js +10 -0
- package/lib/ModuleTypeConstants.js +20 -4
- package/lib/MultiCompiler.js +59 -4
- package/lib/MultiStats.js +9 -0
- package/lib/MultiWatching.js +6 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +78 -46
- package/lib/NormalModule.js +519 -206
- package/lib/NormalModuleFactory.js +156 -31
- package/lib/NormalModuleReplacementPlugin.js +3 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +3 -1
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +4 -1
- package/lib/ProgressPlugin.js +351 -161
- package/lib/ProvidePlugin.js +6 -3
- package/lib/RawModule.js +32 -16
- package/lib/RecordIdsPlugin.js +9 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +58 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +123 -118
- package/lib/RuntimeTemplate.js +616 -37
- package/lib/SelfModuleFactory.js +3 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +341 -63
- package/lib/Stats.js +6 -0
- package/lib/Template.js +52 -6
- package/lib/TemplatedPathPlugin.js +505 -138
- package/lib/UseStrictPlugin.js +3 -2
- package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
- package/lib/WarnDeprecatedOptionPlugin.js +6 -2
- package/lib/WarnNoModeSetPlugin.js +18 -2
- package/lib/WatchIgnorePlugin.js +5 -1
- package/lib/Watching.js +25 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +4 -2
- package/lib/WebpackOptionsApply.js +88 -25
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +28 -10
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +199 -60
- package/lib/asset/AssetModule.js +47 -0
- package/lib/asset/AssetModulesPlugin.js +115 -24
- package/lib/asset/AssetParser.js +4 -2
- package/lib/asset/AssetSourceGenerator.js +26 -8
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +23 -13
- package/lib/asset/WebManifestGenerator.js +164 -0
- package/lib/asset/WebManifestParser.js +130 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/async-modules/isGeneratorLowered.js +26 -0
- package/lib/buildChunkGraph.js +107 -15
- package/lib/bun/BunTargetPlugin.js +42 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
- package/lib/cache/AddManagedPathsPlugin.js +5 -1
- package/lib/cache/IdleFileCachePlugin.js +6 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
- package/lib/cache/PackFileCacheStrategy.js +302 -12
- package/lib/cache/ResolverCachePlugin.js +12 -1
- package/lib/cache/getLazyHashedEtag.js +13 -2
- package/lib/cache/mergeEtags.js +4 -0
- package/lib/cli.js +142 -20
- package/lib/config/browserslistTargetHandler.js +141 -0
- package/lib/config/defaults.js +612 -43
- package/lib/config/defineConfig.js +31 -0
- package/lib/config/normalization.js +46 -1
- package/lib/config/target.js +200 -2
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +27 -14
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +6 -2
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +3 -2
- package/lib/container/FallbackDependency.js +9 -7
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +22 -9
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/HoistContainerReferencesPlugin.js +47 -55
- package/lib/container/ModuleFederationPlugin.js +21 -29
- package/lib/container/RemoteModule.js +33 -10
- package/lib/container/RemoteRuntimeModule.js +15 -12
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +540 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +173 -81
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +371 -208
- package/lib/css/CssParser.js +3538 -1963
- package/lib/css/syntax.js +4155 -0
- package/lib/debug/ProfilingPlugin.js +33 -2
- package/lib/deno/DenoTargetPlugin.js +41 -0
- package/lib/dependencies/AMDDefineDependency.js +29 -17
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
- package/lib/dependencies/AMDPlugin.js +6 -3
- package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
- package/lib/dependencies/AMDRequireContextDependency.js +10 -11
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
- package/lib/dependencies/AMDRequireDependency.js +28 -20
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +9 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +157 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +91 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +189 -24
- package/lib/dependencies/CommonJsPlugin.js +7 -4
- package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
- package/lib/dependencies/CommonJsRequireDependency.js +135 -13
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
- package/lib/dependencies/ConstDependency.js +22 -12
- package/lib/dependencies/ContextDependency.js +13 -2
- package/lib/dependencies/ContextDependencyHelpers.js +7 -4
- package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +27 -14
- package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
- package/lib/dependencies/CriticalDependencyWarning.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +681 -367
- package/lib/dependencies/CssIcssImportDependency.js +62 -17
- package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
- package/lib/dependencies/CssImportDependency.js +37 -1
- package/lib/dependencies/CssUrlDependency.js +87 -14
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +12 -13
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportBindingInitFragment.js +164 -0
- package/lib/dependencies/ExportsInfoDependency.js +18 -12
- package/lib/dependencies/ExternalModuleDependency.js +13 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
- package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
- package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +34 -3
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +133 -43
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +268 -44
- package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
- package/lib/dependencies/HarmonyExports.js +6 -1
- package/lib/dependencies/HarmonyImportDependency.js +60 -4
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +427 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +146 -24
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
- package/lib/dependencies/HtmlEntryDependency.js +1295 -0
- package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
- package/lib/dependencies/HtmlSourceDependency.js +172 -0
- package/lib/dependencies/ImportContextDependency.js +9 -9
- package/lib/dependencies/ImportDependency.js +92 -3
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
- package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
- package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
- package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
- package/lib/dependencies/ImportMetaPlugin.js +595 -209
- package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
- package/lib/dependencies/ImportParserPlugin.js +114 -27
- package/lib/dependencies/ImportPhase.js +17 -11
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +3 -0
- package/lib/dependencies/JsonExportsDependency.js +15 -10
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +3 -0
- package/lib/dependencies/LoaderPlugin.js +9 -2
- package/lib/dependencies/LocalModule.js +15 -12
- package/lib/dependencies/LocalModuleDependency.js +15 -13
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
- package/lib/dependencies/ModuleDependency.js +14 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +36 -27
- package/lib/dependencies/PureExpressionDependency.js +14 -10
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
- package/lib/dependencies/RequireEnsureDependency.js +16 -13
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +7 -4
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +10 -11
- package/lib/dependencies/RequireResolveDependency.js +2 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
- package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
- package/lib/dependencies/StaticExportsDependency.js +13 -10
- package/lib/dependencies/SystemPlugin.js +9 -6
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
- package/lib/dependencies/URLContextDependency.js +8 -7
- package/lib/dependencies/URLDependency.js +157 -33
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +12 -13
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
- package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
- package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
- package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
- package/lib/dependencies/WorkerDependency.js +111 -27
- package/lib/dependencies/WorkletDependency.js +278 -0
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +14 -11
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
- package/lib/{DllModule.js → dll/DllModule.js} +36 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
- package/lib/electron/ElectronTargetPlugin.js +24 -5
- package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
- package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
- package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
- package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
- package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
- package/lib/errors/JSONParseError.js +115 -0
- package/lib/errors/LoaderLoadingError.js +20 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
- package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
- package/lib/errors/ModuleNotFoundError.js +94 -0
- package/lib/errors/ModuleParseError.js +141 -0
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
- package/lib/errors/NonErrorEmittedError.js +30 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
- package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
- package/lib/errors/WebpackError.js +84 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
- package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +80 -52
- package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +154 -7
- package/lib/hmr/lazyCompilationBackend.js +53 -12
- package/lib/html/HtmlGenerator.js +1490 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1129 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9106 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
- package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
- package/lib/ids/HashedModuleIdsPlugin.js +2 -1
- package/lib/ids/IdHelpers.js +49 -12
- package/lib/ids/NamedChunkIdsPlugin.js +3 -1
- package/lib/ids/NamedModuleIdsPlugin.js +3 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
- package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
- package/lib/ids/SyncModuleIdsPlugin.js +3 -1
- package/lib/index.js +66 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
- package/lib/javascript/BasicEvaluatedExpression.js +370 -49
- package/lib/javascript/ChunkFormatHelpers.js +2 -1
- package/lib/javascript/ChunkHelpers.js +1 -0
- package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
- package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
- package/lib/javascript/JavascriptGenerator.js +213 -51
- package/lib/javascript/JavascriptModule.js +54 -0
- package/lib/javascript/JavascriptModulesPlugin.js +628 -198
- package/lib/javascript/JavascriptParser.js +1334 -471
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +5037 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModule.js +40 -0
- package/lib/json/JsonModulesPlugin.js +8 -1
- package/lib/json/JsonParser.js +18 -27
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +21 -3
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +154 -7
- package/lib/library/SystemLibraryPlugin.js +11 -3
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/loaders/LoaderRunner.js +714 -0
- package/lib/loaders/loadLoader.js +100 -0
- package/lib/logging/Logger.js +17 -0
- package/lib/logging/createConsoleLogger.js +7 -0
- package/lib/logging/runtime.js +2 -0
- package/lib/logging/truncateArgs.js +2 -0
- package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
- package/lib/node/NodeEnvironmentPlugin.js +7 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -63
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +40 -22
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +33 -3
- package/lib/node/ReadFileCompileWasmPlugin.js +28 -3
- package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
- package/lib/node/nodeBuiltins.js +80 -0
- package/lib/node/nodeConsole.js +116 -64
- package/lib/optimize/AggressiveMergingPlugin.js +22 -16
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +603 -130
- package/lib/optimize/ConstExportsPlugin.js +211 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
- package/lib/optimize/InlineExports.js +178 -0
- package/lib/optimize/InnerGraph.js +374 -262
- package/lib/optimize/InnerGraphPlugin.js +246 -117
- package/lib/optimize/LimitChunkCountPlugin.js +9 -0
- package/lib/optimize/MangleExportsPlugin.js +5 -1
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
- package/lib/optimize/MinChunkSizePlugin.js +2 -1
- package/lib/optimize/MinMaxSizeWarning.js +5 -4
- package/lib/optimize/ModuleConcatenationPlugin.js +229 -55
- package/lib/optimize/RealContentHashPlugin.js +130 -52
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
- package/lib/optimize/RuntimeChunkPlugin.js +2 -1
- package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
- package/lib/optimize/SplitChunksPlugin.js +200 -50
- package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
- package/lib/performance/NoAsyncChunksWarning.js +5 -3
- package/lib/performance/SizeLimitsPlugin.js +8 -2
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
- package/lib/prefetch/ResourceHintPlugin.js +687 -0
- package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
- package/lib/prefetch/parseResourceHintOptions.js +103 -0
- package/lib/rules/BasicEffectRulePlugin.js +3 -0
- package/lib/rules/BasicMatcherRulePlugin.js +3 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
- package/lib/rules/RuleSetCompiler.js +132 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
- package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
- package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
- package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/runtime/WorkerRuntimeModule.js +33 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +86 -4
- package/lib/schemes/VirtualUrlPlugin.js +8 -4
- package/lib/serialization/AggregateErrorSerializer.js +9 -6
- package/lib/serialization/ArraySerializer.js +6 -8
- package/lib/serialization/BinaryMiddleware.js +427 -1006
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +345 -59
- package/lib/serialization/MapObjectSerializer.js +7 -9
- package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
- package/lib/serialization/ObjectMiddleware.js +73 -13
- package/lib/serialization/PlainObjectSerializer.js +16 -8
- package/lib/serialization/RegExpObjectSerializer.js +4 -2
- package/lib/serialization/Serializer.js +6 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +6 -8
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +21 -7
- package/lib/sharing/ConsumeSharedPlugin.js +11 -11
- package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +34 -15
- package/lib/sharing/ProvideSharedModule.js +42 -12
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +13 -8
- package/lib/sharing/SharePlugin.js +5 -1
- package/lib/sharing/ShareRuntimeModule.js +19 -16
- package/lib/sharing/resolveMatchedConfigs.js +6 -2
- package/lib/sharing/utils.js +9 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +289 -201
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +74 -170
- package/lib/stats/StatsFactory.js +70 -27
- package/lib/stats/StatsPrinter.js +16 -2
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +111 -23
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +154 -74
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +26 -0
- package/lib/util/LazySet.js +45 -4
- package/lib/util/LocConverter.js +64 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +15 -1
- package/lib/util/SetHelpers.js +4 -1
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/SourceProcessor.js +119 -0
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +162 -43
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +14 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +60 -1
- package/lib/util/binarySearchBounds.js +3 -2
- package/lib/util/chainedImports.js +3 -3
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +35 -4
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +80 -24
- package/lib/util/conventions.js +46 -1
- package/lib/util/createHash.js +0 -1
- package/lib/util/createHooksRegistry.js +43 -0
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +3 -2
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +46 -17
- package/lib/util/extractSourceMap.js +2 -1
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +7 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
- package/lib/util/fs.js +87 -14
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/globUtils.js +710 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/DebugHash.js +1 -0
- package/lib/util/hash/hash-digest.js +32 -15
- package/lib/util/hash/md4.js +1 -1
- package/lib/util/hash/wasm-hash.js +5 -0
- package/lib/util/hash/xxhash64.js +1 -1
- package/lib/util/identifier.js +118 -7
- package/lib/util/implicitTypeLoaderFallback.js +62 -0
- package/lib/util/internalSerializables.js +102 -60
- package/lib/util/magicComment.js +149 -7
- package/lib/util/makeSerializable.js +7 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +31 -1
- package/lib/util/numberHash.js +2 -2
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +9 -2
- package/lib/util/publicPathPlaceholder.js +64 -0
- package/lib/util/registerExternalSerializer.js +24 -4
- package/lib/util/removeBOM.js +1 -0
- package/lib/util/runtime.js +32 -0
- package/lib/util/semver.js +15 -0
- package/lib/util/serialization.js +2 -0
- package/lib/util/smartGrouping.js +8 -0
- package/lib/util/source.js +23 -0
- package/lib/util/topologicalSort.js +69 -0
- package/lib/validateSchema.js +1 -0
- package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
- package/lib/wasm-async/AsyncWasmModule.js +77 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
- package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
- package/lib/wasm-sync/SyncWasmModule.js +39 -0
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
- package/lib/wasm-sync/WebAssemblyParser.js +9 -3
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
- package/lib/web/FetchCompileWasmPlugin.js +27 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +78 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +21 -0
- package/package.json +79 -77
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1173 -80
- package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
- package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlParserOptions.check.js +6 -0
- package/schemas/plugins/HtmlParserOptions.json +3 -0
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +38 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +11053 -3019
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/ModuleParseError.js +0 -125
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- package/lib/css/walkCssTokens.js +0 -1843
- package/lib/util/AppendOnlyStackedSet.js +0 -78
- /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
- /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
|
@@ -23,21 +23,25 @@ const { dirname, mkdirpSync } = require("../util/fs");
|
|
|
23
23
|
/** @typedef {import("../util/fs").IntermediateFileSystem} IntermediateFileSystem */
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
+
* Defines the hook type used by this module.
|
|
26
27
|
* @template T, R
|
|
27
28
|
* @typedef {import("tapable").Hook<T, R>} Hook
|
|
28
29
|
*/
|
|
29
30
|
|
|
30
31
|
/**
|
|
32
|
+
* Defines the fake hook type used by this module.
|
|
31
33
|
* @template T
|
|
32
34
|
* @typedef {import("../util/deprecation").FakeHook<T>} FakeHook
|
|
33
35
|
*/
|
|
34
36
|
|
|
35
37
|
/**
|
|
38
|
+
* Defines the hook map type used by this module.
|
|
36
39
|
* @template T
|
|
37
40
|
* @typedef {import("tapable").HookMap<T>} HookMap
|
|
38
41
|
*/
|
|
39
42
|
|
|
40
43
|
/**
|
|
44
|
+
* Defines the hook interceptor type used by this module.
|
|
41
45
|
* @template T, R
|
|
42
46
|
* @typedef {import("tapable").HookInterceptor<T, R>} HookInterceptor
|
|
43
47
|
*/
|
|
@@ -57,12 +61,15 @@ try {
|
|
|
57
61
|
|
|
58
62
|
class Profiler {
|
|
59
63
|
/**
|
|
64
|
+
* Creates an instance of Profiler.
|
|
60
65
|
* @param {Inspector} inspector inspector
|
|
61
66
|
*/
|
|
62
67
|
constructor(inspector) {
|
|
63
68
|
/** @type {undefined | Session} */
|
|
64
69
|
this.session = undefined;
|
|
70
|
+
/** @type {Inspector} */
|
|
65
71
|
this.inspector = inspector;
|
|
72
|
+
/** @type {number} */
|
|
66
73
|
this._startTime = 0;
|
|
67
74
|
}
|
|
68
75
|
|
|
@@ -97,6 +104,7 @@ class Profiler {
|
|
|
97
104
|
}
|
|
98
105
|
|
|
99
106
|
/**
|
|
107
|
+
* Returns promise for the result.
|
|
100
108
|
* @param {string} method method name
|
|
101
109
|
* @param {EXPECTED_OBJECT=} params params
|
|
102
110
|
* @returns {Promise<EXPECTED_ANY | void>} Promise for the result
|
|
@@ -127,6 +135,7 @@ class Profiler {
|
|
|
127
135
|
}
|
|
128
136
|
|
|
129
137
|
/**
|
|
138
|
+
* Returns }>} profile result.
|
|
130
139
|
* @returns {Promise<{ profile: { startTime: number, endTime: number } }>} profile result
|
|
131
140
|
*/
|
|
132
141
|
stopProfiling() {
|
|
@@ -161,6 +170,7 @@ class Profiler {
|
|
|
161
170
|
*/
|
|
162
171
|
|
|
163
172
|
/**
|
|
173
|
+
* Creates a trace from the provided f.
|
|
164
174
|
* @param {IntermediateFileSystem} fs filesystem used for output
|
|
165
175
|
* @param {string} outputPath The location where to write the log.
|
|
166
176
|
* @returns {Trace} The trace object
|
|
@@ -198,13 +208,24 @@ const createTrace = (fs, outputPath) => {
|
|
|
198
208
|
}
|
|
199
209
|
});
|
|
200
210
|
|
|
211
|
+
// Chrome DevTools treats this as the primary trace-bootstrap event and
|
|
212
|
+
// iterates `args.data.frames`; it must be present or the trace fails to load.
|
|
201
213
|
trace.instantEvent({
|
|
202
214
|
name: "TracingStartedInBrowser",
|
|
203
215
|
id: ++counter,
|
|
204
216
|
cat: ["disabled-by-default-devtools.timeline"],
|
|
205
217
|
args: {
|
|
206
218
|
data: {
|
|
207
|
-
sessionId: "-1"
|
|
219
|
+
sessionId: "-1",
|
|
220
|
+
frameTreeNodeId: 1,
|
|
221
|
+
persistentIds: true,
|
|
222
|
+
frames: [
|
|
223
|
+
{
|
|
224
|
+
frame: "0xfff",
|
|
225
|
+
url: "webpack",
|
|
226
|
+
name: ""
|
|
227
|
+
}
|
|
228
|
+
]
|
|
208
229
|
}
|
|
209
230
|
}
|
|
210
231
|
});
|
|
@@ -229,6 +250,7 @@ const PLUGIN_NAME = "ProfilingPlugin";
|
|
|
229
250
|
|
|
230
251
|
class ProfilingPlugin {
|
|
231
252
|
/**
|
|
253
|
+
* Creates an instance of ProfilingPlugin.
|
|
232
254
|
* @param {ProfilingPluginOptions=} options options object
|
|
233
255
|
*/
|
|
234
256
|
constructor(options = {}) {
|
|
@@ -237,7 +259,7 @@ class ProfilingPlugin {
|
|
|
237
259
|
}
|
|
238
260
|
|
|
239
261
|
/**
|
|
240
|
-
*
|
|
262
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
241
263
|
* @param {Compiler} compiler the compiler instance
|
|
242
264
|
* @returns {void}
|
|
243
265
|
*/
|
|
@@ -376,6 +398,7 @@ class ProfilingPlugin {
|
|
|
376
398
|
/** @typedef {Record<string, Hook<EXPECTED_ANY, EXPECTED_ANY> | FakeHook<EXPECTED_ANY> | HookMap<EXPECTED_ANY>>} Hooks */
|
|
377
399
|
|
|
378
400
|
/**
|
|
401
|
+
* Intercept all hooks for.
|
|
379
402
|
* @param {EXPECTED_OBJECT & { hooks?: Hooks }} instance instance
|
|
380
403
|
* @param {Trace} tracer tracer
|
|
381
404
|
* @param {string} logLabel log label
|
|
@@ -393,6 +416,7 @@ const interceptAllHooksFor = (instance, tracer, logLabel) => {
|
|
|
393
416
|
};
|
|
394
417
|
|
|
395
418
|
/**
|
|
419
|
+
* Intercept all parser hooks.
|
|
396
420
|
* @param {NormalModuleFactory} moduleFactory normal module factory
|
|
397
421
|
* @param {Trace} tracer tracer
|
|
398
422
|
*/
|
|
@@ -414,6 +438,7 @@ const interceptAllParserHooks = (moduleFactory, tracer) => {
|
|
|
414
438
|
};
|
|
415
439
|
|
|
416
440
|
/**
|
|
441
|
+
* Intercept all generator hooks.
|
|
417
442
|
* @param {NormalModuleFactory} moduleFactory normal module factory
|
|
418
443
|
* @param {Trace} tracer tracer
|
|
419
444
|
*/
|
|
@@ -435,6 +460,7 @@ const interceptAllGeneratorHooks = (moduleFactory, tracer) => {
|
|
|
435
460
|
};
|
|
436
461
|
|
|
437
462
|
/**
|
|
463
|
+
* Intercept all javascript modules plugin hooks.
|
|
438
464
|
* @param {Compilation} compilation compilation
|
|
439
465
|
* @param {Trace} tracer tracer
|
|
440
466
|
*/
|
|
@@ -452,6 +478,7 @@ const interceptAllJavascriptModulesPluginHooks = (compilation, tracer) => {
|
|
|
452
478
|
};
|
|
453
479
|
|
|
454
480
|
/**
|
|
481
|
+
* Intercept all css modules plugin hooks.
|
|
455
482
|
* @param {Compilation} compilation compilation
|
|
456
483
|
* @param {Trace} tracer tracer
|
|
457
484
|
*/
|
|
@@ -468,6 +495,7 @@ const interceptAllCssModulesPluginHooks = (compilation, tracer) => {
|
|
|
468
495
|
/** @typedef {(...args: EXPECTED_ANY[]) => EXPECTED_ANY | Promise<(...args: EXPECTED_ANY[]) => EXPECTED_ANY>} PluginFunction */
|
|
469
496
|
|
|
470
497
|
/**
|
|
498
|
+
* Creates interceptor for.
|
|
471
499
|
* @template T
|
|
472
500
|
* @param {string} instance instance
|
|
473
501
|
* @param {Trace} tracer tracer
|
|
@@ -475,6 +503,7 @@ const interceptAllCssModulesPluginHooks = (compilation, tracer) => {
|
|
|
475
503
|
*/
|
|
476
504
|
const makeInterceptorFor = (instance, tracer) => (hookName) => ({
|
|
477
505
|
/**
|
|
506
|
+
* Returns modified full tap.
|
|
478
507
|
* @param {FullTap} tapInfo tap info
|
|
479
508
|
* @returns {FullTap} modified full tap
|
|
480
509
|
*/
|
|
@@ -494,6 +523,7 @@ const makeInterceptorFor = (instance, tracer) => (hookName) => ({
|
|
|
494
523
|
});
|
|
495
524
|
|
|
496
525
|
/**
|
|
526
|
+
* Creates new profiled tap fn.
|
|
497
527
|
* @param {string} hookName Name of the hook to profile.
|
|
498
528
|
* @param {Trace} tracer The trace object.
|
|
499
529
|
* @param {object} options Options for the profiled fn.
|
|
@@ -538,6 +568,7 @@ const makeNewProfiledTapFn = (hookName, tracer, { name, type, fn }) => {
|
|
|
538
568
|
fn(
|
|
539
569
|
...args,
|
|
540
570
|
/**
|
|
571
|
+
* Handles the cat callback for this hook.
|
|
541
572
|
* @param {...EXPECTED_ANY[]} r result
|
|
542
573
|
*/
|
|
543
574
|
(...r) => {
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
Author Alexander Akait @alexander-akait
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
const ExternalsPlugin = require("../ExternalsPlugin");
|
|
9
|
+
const { coreModules } = require("../node/nodeBuiltins");
|
|
10
|
+
|
|
11
|
+
/** @typedef {import("../Compiler")} Compiler */
|
|
12
|
+
|
|
13
|
+
// Deno only resolves node.js core modules through the `node:` specifier, so the
|
|
14
|
+
// prefix is baked into the external request for both `import` and `require`.
|
|
15
|
+
|
|
16
|
+
// Deno's own import protocols are resolved by the runtime, never bundled.
|
|
17
|
+
const DENO_PROTOCOLS = /^(?:npm|jsr|https?):/;
|
|
18
|
+
|
|
19
|
+
class DenoTargetPlugin {
|
|
20
|
+
/**
|
|
21
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
22
|
+
* @param {Compiler} compiler the compiler instance
|
|
23
|
+
* @returns {void}
|
|
24
|
+
*/
|
|
25
|
+
apply(compiler) {
|
|
26
|
+
new ExternalsPlugin(
|
|
27
|
+
(dependency) =>
|
|
28
|
+
dependency.category === "commonjs" ? "node-commonjs" : "module-import",
|
|
29
|
+
({ request }, callback) => {
|
|
30
|
+
if (!request) return callback();
|
|
31
|
+
if (request.startsWith("node:") || DENO_PROTOCOLS.test(request)) {
|
|
32
|
+
return callback(null, request);
|
|
33
|
+
}
|
|
34
|
+
if (coreModules.has(request)) return callback(null, `node:${request}`);
|
|
35
|
+
callback();
|
|
36
|
+
}
|
|
37
|
+
).apply(compiler);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
module.exports = DenoTargetPlugin;
|
|
@@ -14,8 +14,8 @@ const NullDependency = require("./NullDependency");
|
|
|
14
14
|
/** @typedef {import("../Dependency")} Dependency */
|
|
15
15
|
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
|
|
16
16
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
17
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
18
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
17
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range | null, Range | null, Range | null, string | null, LocalModule | null]>} ObjectDeserializerContext */
|
|
18
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range | null, Range | null, Range | null, string | null, LocalModule | null]>} ObjectSerializerContext */
|
|
19
19
|
|
|
20
20
|
/** @type {Record<string, { definition: string, content: string, requests: string[] }>} */
|
|
21
21
|
const DEFINITIONS = {
|
|
@@ -108,6 +108,7 @@ const DEFINITIONS = {
|
|
|
108
108
|
|
|
109
109
|
class AMDDefineDependency extends NullDependency {
|
|
110
110
|
/**
|
|
111
|
+
* Creates an instance of AMDDefineDependency.
|
|
111
112
|
* @param {Range} range range
|
|
112
113
|
* @param {Range | null} arrayRange array range
|
|
113
114
|
* @param {Range | null} functionRange function range
|
|
@@ -120,6 +121,7 @@ class AMDDefineDependency extends NullDependency {
|
|
|
120
121
|
this.arrayRange = arrayRange;
|
|
121
122
|
this.functionRange = functionRange;
|
|
122
123
|
this.objectRange = objectRange;
|
|
124
|
+
/** @type {string | null} */
|
|
123
125
|
this.namedModule = namedModule;
|
|
124
126
|
/** @type {LocalModule | null} */
|
|
125
127
|
this.localModule = null;
|
|
@@ -130,31 +132,37 @@ class AMDDefineDependency extends NullDependency {
|
|
|
130
132
|
}
|
|
131
133
|
|
|
132
134
|
/**
|
|
135
|
+
* Serializes this instance into the provided serializer context.
|
|
133
136
|
* @param {ObjectSerializerContext} context context
|
|
134
137
|
*/
|
|
135
138
|
serialize(context) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
139
|
+
context
|
|
140
|
+
.write(this.range)
|
|
141
|
+
.write(this.arrayRange)
|
|
142
|
+
.write(this.functionRange)
|
|
143
|
+
.write(this.objectRange)
|
|
144
|
+
.write(this.namedModule)
|
|
145
|
+
.write(this.localModule);
|
|
143
146
|
super.serialize(context);
|
|
144
147
|
}
|
|
145
148
|
|
|
146
149
|
/**
|
|
150
|
+
* Restores this instance from the provided deserializer context.
|
|
147
151
|
* @param {ObjectDeserializerContext} context context
|
|
148
152
|
*/
|
|
149
153
|
deserialize(context) {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
this.arrayRange = read();
|
|
153
|
-
|
|
154
|
-
this.
|
|
155
|
-
|
|
156
|
-
this.
|
|
157
|
-
|
|
154
|
+
this.range = context.read();
|
|
155
|
+
const c1 = context.rest;
|
|
156
|
+
this.arrayRange = c1.read();
|
|
157
|
+
const c2 = c1.rest;
|
|
158
|
+
this.functionRange = c2.read();
|
|
159
|
+
const c3 = c2.rest;
|
|
160
|
+
this.objectRange = c3.read();
|
|
161
|
+
const c4 = c3.rest;
|
|
162
|
+
this.namedModule = c4.read();
|
|
163
|
+
const c5 = c4.rest;
|
|
164
|
+
this.localModule = c5.read();
|
|
165
|
+
super.deserialize(c5.rest);
|
|
158
166
|
}
|
|
159
167
|
}
|
|
160
168
|
|
|
@@ -167,6 +175,7 @@ AMDDefineDependency.Template = class AMDDefineDependencyTemplate extends (
|
|
|
167
175
|
NullDependency.Template
|
|
168
176
|
) {
|
|
169
177
|
/**
|
|
178
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
170
179
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
171
180
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
172
181
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -183,6 +192,7 @@ AMDDefineDependency.Template = class AMDDefineDependencyTemplate extends (
|
|
|
183
192
|
}
|
|
184
193
|
|
|
185
194
|
/**
|
|
195
|
+
* Returns variable name.
|
|
186
196
|
* @param {AMDDefineDependency} dependency dependency
|
|
187
197
|
* @returns {string | false | null} variable name
|
|
188
198
|
*/
|
|
@@ -195,6 +205,7 @@ AMDDefineDependency.Template = class AMDDefineDependencyTemplate extends (
|
|
|
195
205
|
}
|
|
196
206
|
|
|
197
207
|
/**
|
|
208
|
+
* Returns branch.
|
|
198
209
|
* @param {AMDDefineDependency} dependency dependency
|
|
199
210
|
* @returns {string} branch
|
|
200
211
|
*/
|
|
@@ -207,6 +218,7 @@ AMDDefineDependency.Template = class AMDDefineDependencyTemplate extends (
|
|
|
207
218
|
}
|
|
208
219
|
|
|
209
220
|
/**
|
|
221
|
+
* Processes the provided dependency.
|
|
210
222
|
* @param {AMDDefineDependency} dependency dependency
|
|
211
223
|
* @param {ReplaceSource} source source
|
|
212
224
|
* @param {string} definition definition
|
|
@@ -35,6 +35,7 @@ const { addLocalModule, getLocalModule } = require("./LocalModulesHelpers");
|
|
|
35
35
|
/** @typedef {import("./LocalModule")} LocalModule */
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
+
* Checks whether this object is bound function expression.
|
|
38
39
|
* @param {Expression | SpreadElement} expr expression
|
|
39
40
|
* @returns {expr is CallExpression} true if it's a bound function expression
|
|
40
41
|
*/
|
|
@@ -51,6 +52,7 @@ const isBoundFunctionExpression = (expr) => {
|
|
|
51
52
|
/** @typedef {FunctionExpression | ArrowFunctionExpression} UnboundFunctionExpression */
|
|
52
53
|
|
|
53
54
|
/**
|
|
55
|
+
* Checks whether this object is unbound function expression.
|
|
54
56
|
* @param {Expression | SpreadElement} expr expression
|
|
55
57
|
* @returns {expr is FunctionExpression | ArrowFunctionExpression} true when unbound function expression
|
|
56
58
|
*/
|
|
@@ -61,6 +63,7 @@ const isUnboundFunctionExpression = (expr) => {
|
|
|
61
63
|
};
|
|
62
64
|
|
|
63
65
|
/**
|
|
66
|
+
* Checks whether this object is callable.
|
|
64
67
|
* @param {Expression | SpreadElement} expr expression
|
|
65
68
|
* @returns {expr is FunctionExpression | ArrowFunctionExpression | CallExpression} true when callable
|
|
66
69
|
*/
|
|
@@ -76,13 +79,16 @@ const PLUGIN_NAME = "AMDDefineDependencyParserPlugin";
|
|
|
76
79
|
|
|
77
80
|
class AMDDefineDependencyParserPlugin {
|
|
78
81
|
/**
|
|
82
|
+
* Creates an instance of AMDDefineDependencyParserPlugin.
|
|
79
83
|
* @param {JavascriptParserOptions} options parserOptions
|
|
80
84
|
*/
|
|
81
85
|
constructor(options) {
|
|
86
|
+
/** @type {JavascriptParserOptions} */
|
|
82
87
|
this.options = options;
|
|
83
88
|
}
|
|
84
89
|
|
|
85
90
|
/**
|
|
91
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
86
92
|
* @param {JavascriptParser} parser the parser
|
|
87
93
|
* @returns {void}
|
|
88
94
|
*/
|
|
@@ -93,6 +99,7 @@ class AMDDefineDependencyParserPlugin {
|
|
|
93
99
|
}
|
|
94
100
|
|
|
95
101
|
/**
|
|
102
|
+
* Processes the provided parser.
|
|
96
103
|
* @param {JavascriptParser} parser the parser
|
|
97
104
|
* @param {CallExpression} expr call expression
|
|
98
105
|
* @param {BasicEvaluatedExpression} param param
|
|
@@ -138,11 +145,11 @@ class AMDDefineDependencyParserPlugin {
|
|
|
138
145
|
} else if ((localModule = getLocalModule(parser.state, request))) {
|
|
139
146
|
localModule.flagUsed();
|
|
140
147
|
dep = new LocalModuleDependency(localModule, undefined, false);
|
|
141
|
-
dep.loc =
|
|
148
|
+
dep.loc = parser.getLocation(expr);
|
|
142
149
|
parser.state.module.addPresentationalDependency(dep);
|
|
143
150
|
} else {
|
|
144
151
|
dep = this.newRequireItemDependency(request);
|
|
145
|
-
dep.loc =
|
|
152
|
+
dep.loc = parser.getLocation(expr);
|
|
146
153
|
dep.optional = Boolean(parser.scope.inTry);
|
|
147
154
|
parser.state.current.addDependency(dep);
|
|
148
155
|
}
|
|
@@ -152,7 +159,7 @@ class AMDDefineDependencyParserPlugin {
|
|
|
152
159
|
deps,
|
|
153
160
|
/** @type {Range} */ (param.range)
|
|
154
161
|
);
|
|
155
|
-
dep.loc =
|
|
162
|
+
dep.loc = parser.getLocation(expr);
|
|
156
163
|
dep.optional = Boolean(parser.scope.inTry);
|
|
157
164
|
parser.state.module.addPresentationalDependency(dep);
|
|
158
165
|
return true;
|
|
@@ -160,6 +167,7 @@ class AMDDefineDependencyParserPlugin {
|
|
|
160
167
|
}
|
|
161
168
|
|
|
162
169
|
/**
|
|
170
|
+
* Processes the provided parser.
|
|
163
171
|
* @param {JavascriptParser} parser the parser
|
|
164
172
|
* @param {CallExpression} expr call expression
|
|
165
173
|
* @param {BasicEvaluatedExpression} param param
|
|
@@ -219,13 +227,14 @@ class AMDDefineDependencyParserPlugin {
|
|
|
219
227
|
parser.state.current.addDependency(dep);
|
|
220
228
|
return true;
|
|
221
229
|
}
|
|
222
|
-
dep.loc =
|
|
230
|
+
dep.loc = parser.getLocation(expr);
|
|
223
231
|
parser.state.module.addPresentationalDependency(dep);
|
|
224
232
|
return true;
|
|
225
233
|
}
|
|
226
234
|
}
|
|
227
235
|
|
|
228
236
|
/**
|
|
237
|
+
* Processes the provided parser.
|
|
229
238
|
* @param {JavascriptParser} parser the parser
|
|
230
239
|
* @param {CallExpression} expr call expression
|
|
231
240
|
* @param {BasicEvaluatedExpression} param param
|
|
@@ -244,13 +253,14 @@ class AMDDefineDependencyParserPlugin {
|
|
|
244
253
|
parser
|
|
245
254
|
);
|
|
246
255
|
if (!dep) return;
|
|
247
|
-
dep.loc =
|
|
256
|
+
dep.loc = parser.getLocation(expr);
|
|
248
257
|
dep.optional = Boolean(parser.scope.inTry);
|
|
249
258
|
parser.state.current.addDependency(dep);
|
|
250
259
|
return true;
|
|
251
260
|
}
|
|
252
261
|
|
|
253
262
|
/**
|
|
263
|
+
* Process call define.
|
|
254
264
|
* @param {JavascriptParser} parser the parser
|
|
255
265
|
* @param {CallExpression} expr call expression
|
|
256
266
|
* @returns {boolean | undefined} result
|
|
@@ -455,7 +465,7 @@ class AMDDefineDependencyParserPlugin {
|
|
|
455
465
|
obj ? /** @type {Range} */ (obj.range) : null,
|
|
456
466
|
namedModule || null
|
|
457
467
|
);
|
|
458
|
-
dep.loc =
|
|
468
|
+
dep.loc = parser.getLocation(expr);
|
|
459
469
|
if (namedModule) {
|
|
460
470
|
dep.localModule = addLocalModule(parser.state, namedModule);
|
|
461
471
|
}
|
|
@@ -464,6 +474,7 @@ class AMDDefineDependencyParserPlugin {
|
|
|
464
474
|
}
|
|
465
475
|
|
|
466
476
|
/**
|
|
477
|
+
* New define dependency.
|
|
467
478
|
* @param {Range} range range
|
|
468
479
|
* @param {Range | null} arrayRange array range
|
|
469
480
|
* @param {Range | null} functionRange function range
|
|
@@ -488,6 +499,7 @@ class AMDDefineDependencyParserPlugin {
|
|
|
488
499
|
}
|
|
489
500
|
|
|
490
501
|
/**
|
|
502
|
+
* New require array dependency.
|
|
491
503
|
* @param {(string | LocalModuleDependency | AMDRequireItemDependency)[]} depsArray deps array
|
|
492
504
|
* @param {Range} range range
|
|
493
505
|
* @returns {AMDRequireArrayDependency} AMDRequireArrayDependency
|
|
@@ -497,6 +509,7 @@ class AMDDefineDependencyParserPlugin {
|
|
|
497
509
|
}
|
|
498
510
|
|
|
499
511
|
/**
|
|
512
|
+
* New require item dependency.
|
|
500
513
|
* @param {string} request request
|
|
501
514
|
* @param {Range=} range range
|
|
502
515
|
* @returns {AMDRequireItemDependency} AMDRequireItemDependency
|
|
@@ -46,6 +46,7 @@ const PLUGIN_NAME = "AMDPlugin";
|
|
|
46
46
|
|
|
47
47
|
class AMDPlugin {
|
|
48
48
|
/**
|
|
49
|
+
* Creates an instance of AMDPlugin.
|
|
49
50
|
* @param {AmdOptions} amdOptions the AMD options
|
|
50
51
|
*/
|
|
51
52
|
constructor(amdOptions) {
|
|
@@ -53,7 +54,7 @@ class AMDPlugin {
|
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
/**
|
|
56
|
-
*
|
|
57
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
57
58
|
* @param {Compiler} compiler the compiler instance
|
|
58
59
|
* @returns {void}
|
|
59
60
|
*/
|
|
@@ -133,6 +134,7 @@ class AMDPlugin {
|
|
|
133
134
|
});
|
|
134
135
|
|
|
135
136
|
/**
|
|
137
|
+
* Handles the hook callback for this code path.
|
|
136
138
|
* @param {Parser} parser parser parser
|
|
137
139
|
* @param {JavascriptParserOptions} parserOptions parserOptions
|
|
138
140
|
* @returns {void}
|
|
@@ -141,6 +143,7 @@ class AMDPlugin {
|
|
|
141
143
|
if (parserOptions.amd !== undefined && !parserOptions.amd) return;
|
|
142
144
|
|
|
143
145
|
/**
|
|
146
|
+
* Processes the provided option expr.
|
|
144
147
|
* @param {string} optionExpr option expression
|
|
145
148
|
* @param {string} rootName root name
|
|
146
149
|
* @param {GetMembers} getMembers callback
|
|
@@ -194,7 +197,7 @@ class AMDPlugin {
|
|
|
194
197
|
/** @type {Range} */ (expr.range),
|
|
195
198
|
[RuntimeGlobals.amdDefine]
|
|
196
199
|
);
|
|
197
|
-
dep.loc =
|
|
200
|
+
dep.loc = parser.getLocation(expr);
|
|
198
201
|
parser.state.module.addPresentationalDependency(dep);
|
|
199
202
|
return true;
|
|
200
203
|
});
|
|
@@ -214,7 +217,7 @@ class AMDPlugin {
|
|
|
214
217
|
/** @type {Range} */ (expr.range),
|
|
215
218
|
[RuntimeGlobals.amdDefine]
|
|
216
219
|
);
|
|
217
|
-
dep.loc =
|
|
220
|
+
dep.loc = parser.getLocation(expr);
|
|
218
221
|
parser.state.module.addPresentationalDependency(dep);
|
|
219
222
|
return false;
|
|
220
223
|
});
|
|
@@ -14,12 +14,13 @@ const NullDependency = require("./NullDependency");
|
|
|
14
14
|
/** @typedef {import("../Dependency")} Dependency */
|
|
15
15
|
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
|
|
16
16
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
17
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
18
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
19
17
|
/** @typedef {import("./AMDRequireItemDependency")} AMDRequireItemDependency */
|
|
18
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[(string | LocalModuleDependency | AMDRequireItemDependency)[], Range]>} ObjectDeserializerContext */
|
|
19
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[(string | LocalModuleDependency | AMDRequireItemDependency)[], Range]>} ObjectSerializerContext */
|
|
20
20
|
|
|
21
21
|
class AMDRequireArrayDependency extends NullDependency {
|
|
22
22
|
/**
|
|
23
|
+
* Creates an instance of AMDRequireArrayDependency.
|
|
23
24
|
* @param {(string | LocalModuleDependency | AMDRequireItemDependency)[]} depsArray deps array
|
|
24
25
|
* @param {Range} range range
|
|
25
26
|
*/
|
|
@@ -39,27 +40,25 @@ class AMDRequireArrayDependency extends NullDependency {
|
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
/**
|
|
43
|
+
* Serializes this instance into the provided serializer context.
|
|
42
44
|
* @param {ObjectSerializerContext} context context
|
|
43
45
|
*/
|
|
44
46
|
serialize(context) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
write(this.depsArray);
|
|
48
|
-
write(this.range);
|
|
47
|
+
context.write(this.depsArray).write(this.range);
|
|
49
48
|
|
|
50
49
|
super.serialize(context);
|
|
51
50
|
}
|
|
52
51
|
|
|
53
52
|
/**
|
|
53
|
+
* Restores this instance from the provided deserializer context.
|
|
54
54
|
* @param {ObjectDeserializerContext} context context
|
|
55
55
|
*/
|
|
56
56
|
deserialize(context) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
this.
|
|
60
|
-
this.range = read();
|
|
57
|
+
this.depsArray = context.read();
|
|
58
|
+
const c1 = context.rest;
|
|
59
|
+
this.range = c1.read();
|
|
61
60
|
|
|
62
|
-
super.deserialize(
|
|
61
|
+
super.deserialize(c1.rest);
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
|
|
@@ -72,6 +71,7 @@ AMDRequireArrayDependency.Template = class AMDRequireArrayDependencyTemplate ext
|
|
|
72
71
|
DependencyTemplate
|
|
73
72
|
) {
|
|
74
73
|
/**
|
|
74
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
75
75
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
76
76
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
77
77
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -84,6 +84,7 @@ AMDRequireArrayDependency.Template = class AMDRequireArrayDependencyTemplate ext
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
|
+
* Returns content.
|
|
87
88
|
* @param {AMDRequireArrayDependency} dep the dependency for which the template should be applied
|
|
88
89
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
89
90
|
* @returns {string} content
|
|
@@ -96,6 +97,7 @@ AMDRequireArrayDependency.Template = class AMDRequireArrayDependencyTemplate ext
|
|
|
96
97
|
}
|
|
97
98
|
|
|
98
99
|
/**
|
|
100
|
+
* Content for dependency.
|
|
99
101
|
* @param {string | LocalModuleDependency | AMDRequireItemDependency} dep the dependency for which the template should be applied
|
|
100
102
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
101
103
|
* @returns {string} content
|
|
@@ -9,12 +9,13 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
9
9
|
const ContextDependency = require("./ContextDependency");
|
|
10
10
|
|
|
11
11
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
12
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
13
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
12
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range]>} ObjectDeserializerContext */
|
|
13
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range]>} ObjectSerializerContext */
|
|
14
14
|
/** @typedef {import("./ContextDependency").ContextDependencyOptions} ContextDependencyOptions */
|
|
15
15
|
|
|
16
16
|
class AMDRequireContextDependency extends ContextDependency {
|
|
17
17
|
/**
|
|
18
|
+
* Creates an instance of AMDRequireContextDependency.
|
|
18
19
|
* @param {ContextDependencyOptions} options options
|
|
19
20
|
* @param {Range} range range
|
|
20
21
|
* @param {Range} valueRange value range
|
|
@@ -35,27 +36,25 @@ class AMDRequireContextDependency extends ContextDependency {
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
/**
|
|
39
|
+
* Serializes this instance into the provided serializer context.
|
|
38
40
|
* @param {ObjectSerializerContext} context context
|
|
39
41
|
*/
|
|
40
42
|
serialize(context) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
write(this.range);
|
|
44
|
-
write(this.valueRange);
|
|
43
|
+
context.write(this.range).write(this.valueRange);
|
|
45
44
|
|
|
46
45
|
super.serialize(context);
|
|
47
46
|
}
|
|
48
47
|
|
|
49
48
|
/**
|
|
49
|
+
* Restores this instance from the provided deserializer context.
|
|
50
50
|
* @param {ObjectDeserializerContext} context context
|
|
51
51
|
*/
|
|
52
52
|
deserialize(context) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
this.
|
|
56
|
-
this.valueRange = read();
|
|
53
|
+
this.range = context.read();
|
|
54
|
+
const c1 = context.rest;
|
|
55
|
+
this.valueRange = c1.read();
|
|
57
56
|
|
|
58
|
-
super.deserialize(
|
|
57
|
+
super.deserialize(c1.rest);
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
60
|
|
|
@@ -12,6 +12,7 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
12
12
|
|
|
13
13
|
class AMDRequireDependenciesBlock extends AsyncDependenciesBlock {
|
|
14
14
|
/**
|
|
15
|
+
* Creates an instance of AMDRequireDependenciesBlock.
|
|
15
16
|
* @param {DependencyLocation} loc location info
|
|
16
17
|
* @param {string=} request request
|
|
17
18
|
*/
|