@depup/webpack 5.106.0-depup.0 → 5.109.0-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/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 +141 -9
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +23 -26
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +54 -37
- package/lib/Compilation.js +635 -107
- package/lib/Compiler.js +93 -31
- 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 +498 -127
- 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 +399 -108
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +376 -78
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +575 -149
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +92 -6
- 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 +15 -0
- 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 -60
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +5 -2
- 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 +485 -181
- package/lib/NormalModuleFactory.js +148 -29
- 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 +104 -26
- 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 +29 -3
- 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 +43 -7
- 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 +591 -41
- 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/ModuleFederationPlugin.js +12 -26
- 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 +534 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +156 -77
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +356 -204
- package/lib/css/CssParser.js +3452 -1950
- package/lib/css/syntax.js +4058 -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 +138 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +62 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +187 -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 +682 -368
- 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 +32 -2
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +140 -46
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +253 -37
- 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 +59 -3
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +426 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +136 -17
- 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 +71 -49
- 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 +34 -8
- package/lib/html/HtmlGenerator.js +1470 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1111 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9020 -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 +25 -2
- 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 +579 -183
- package/lib/javascript/JavascriptParser.js +1289 -462
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +4380 -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 +23 -1
- package/lib/node/ReadFileCompileWasmPlugin.js +18 -1
- 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 +3 -1
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +585 -116
- 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 +159 -34
- package/lib/optimize/RealContentHashPlugin.js +125 -50
- 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 +54 -6
- 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 +663 -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 +552 -463
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +50 -3
- 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 +94 -12
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +64 -18
- package/lib/stats/StatsFactory.js +39 -18
- 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 +97 -6
- 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 +1117 -79
- 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 +8608 -1159
- 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
|
@@ -19,12 +19,13 @@ const NullDependency = require("./NullDependency");
|
|
|
19
19
|
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
|
20
20
|
/** @typedef {import("../ModuleGraphConnection").ConnectionState} ConnectionState */
|
|
21
21
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
22
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
23
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
22
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Set<string> | false]>} ObjectDeserializerContext */
|
|
23
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Set<string> | false]>} ObjectSerializerContext */
|
|
24
24
|
/** @typedef {import("../util/Hash")} Hash */
|
|
25
25
|
|
|
26
26
|
class PureExpressionDependency extends NullDependency {
|
|
27
27
|
/**
|
|
28
|
+
* Creates an instance of PureExpressionDependency.
|
|
28
29
|
* @param {Range} range the source range
|
|
29
30
|
*/
|
|
30
31
|
constructor(range) {
|
|
@@ -35,6 +36,7 @@ class PureExpressionDependency extends NullDependency {
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
/**
|
|
39
|
+
* Get runtime condition.
|
|
38
40
|
* @param {ModuleGraph} moduleGraph module graph
|
|
39
41
|
* @param {RuntimeSpec} runtime current runtimes
|
|
40
42
|
* @returns {boolean | RuntimeSpec} runtime condition
|
|
@@ -60,7 +62,7 @@ class PureExpressionDependency extends NullDependency {
|
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
/**
|
|
63
|
-
*
|
|
65
|
+
* Updates the hash with the data contributed by this instance.
|
|
64
66
|
* @param {Hash} hash hash to be updated
|
|
65
67
|
* @param {UpdateHashContext} context context
|
|
66
68
|
* @returns {void}
|
|
@@ -85,6 +87,7 @@ class PureExpressionDependency extends NullDependency {
|
|
|
85
87
|
}
|
|
86
88
|
|
|
87
89
|
/**
|
|
90
|
+
* Gets module evaluation side effects state.
|
|
88
91
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
89
92
|
* @returns {ConnectionState} how this dependency connects the module to referencing modules
|
|
90
93
|
*/
|
|
@@ -93,23 +96,23 @@ class PureExpressionDependency extends NullDependency {
|
|
|
93
96
|
}
|
|
94
97
|
|
|
95
98
|
/**
|
|
99
|
+
* Serializes this instance into the provided serializer context.
|
|
96
100
|
* @param {ObjectSerializerContext} context context
|
|
97
101
|
*/
|
|
98
102
|
serialize(context) {
|
|
99
|
-
|
|
100
|
-
write(this.range);
|
|
101
|
-
write(this.usedByExports);
|
|
103
|
+
context.write(this.range).write(this.usedByExports);
|
|
102
104
|
super.serialize(context);
|
|
103
105
|
}
|
|
104
106
|
|
|
105
107
|
/**
|
|
108
|
+
* Restores this instance from the provided deserializer context.
|
|
106
109
|
* @param {ObjectDeserializerContext} context context
|
|
107
110
|
*/
|
|
108
111
|
deserialize(context) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this.usedByExports = read();
|
|
112
|
-
super.deserialize(
|
|
112
|
+
this.range = context.read();
|
|
113
|
+
const c1 = context.rest;
|
|
114
|
+
this.usedByExports = c1.read();
|
|
115
|
+
super.deserialize(c1.rest);
|
|
113
116
|
}
|
|
114
117
|
}
|
|
115
118
|
|
|
@@ -122,6 +125,7 @@ PureExpressionDependency.Template = class PureExpressionDependencyTemplate exten
|
|
|
122
125
|
NullDependency.Template
|
|
123
126
|
) {
|
|
124
127
|
/**
|
|
128
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
125
129
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
126
130
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
127
131
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -14,6 +14,7 @@ const ModuleDependencyTemplateAsRequireId = require("./ModuleDependencyTemplateA
|
|
|
14
14
|
|
|
15
15
|
class RequireContextDependency extends ContextDependency {
|
|
16
16
|
/**
|
|
17
|
+
* Creates an instance of RequireContextDependency.
|
|
17
18
|
* @param {ContextDependencyOptions} options options
|
|
18
19
|
* @param {Range} range range
|
|
19
20
|
*/
|
|
@@ -16,6 +16,7 @@ const PLUGIN_NAME = "RequireContextDependencyParserPlugin";
|
|
|
16
16
|
|
|
17
17
|
module.exports = class RequireContextDependencyParserPlugin {
|
|
18
18
|
/**
|
|
19
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
19
20
|
* @param {JavascriptParser} parser the parser
|
|
20
21
|
* @returns {void}
|
|
21
22
|
*/
|
|
@@ -58,7 +59,7 @@ module.exports = class RequireContextDependencyParserPlugin {
|
|
|
58
59
|
/** @type {Range} */
|
|
59
60
|
(expr.range)
|
|
60
61
|
);
|
|
61
|
-
dep.loc =
|
|
62
|
+
dep.loc = parser.getLocation(expr);
|
|
62
63
|
dep.optional = Boolean(parser.scope.inTry);
|
|
63
64
|
parser.state.current.addDependency(dep);
|
|
64
65
|
return true;
|
|
@@ -26,7 +26,7 @@ const PLUGIN_NAME = "RequireContextPlugin";
|
|
|
26
26
|
|
|
27
27
|
class RequireContextPlugin {
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
30
30
|
* @param {Compiler} compiler the compiler instance
|
|
31
31
|
* @returns {void}
|
|
32
32
|
*/
|
|
@@ -49,6 +49,7 @@ class RequireContextPlugin {
|
|
|
49
49
|
);
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
|
+
* Handles the hook callback for this code path.
|
|
52
53
|
* @param {Parser} parser parser parser
|
|
53
54
|
* @param {JavascriptParserOptions} parserOptions parserOptions
|
|
54
55
|
* @returns {void}
|
|
@@ -13,6 +13,7 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
13
13
|
|
|
14
14
|
class RequireEnsureDependenciesBlock extends AsyncDependenciesBlock {
|
|
15
15
|
/**
|
|
16
|
+
* Creates an instance of RequireEnsureDependenciesBlock.
|
|
16
17
|
* @param {GroupOptions | string | null} chunkName chunk name
|
|
17
18
|
* @param {(DependencyLocation | null)=} loc location info
|
|
18
19
|
*/
|
|
@@ -23,6 +23,7 @@ const PLUGIN_NAME = "RequireEnsureDependenciesBlockParserPlugin";
|
|
|
23
23
|
|
|
24
24
|
module.exports = class RequireEnsureDependenciesBlockParserPlugin {
|
|
25
25
|
/**
|
|
26
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
26
27
|
* @param {JavascriptParser} parser the parser
|
|
27
28
|
* @returns {void}
|
|
28
29
|
*/
|
|
@@ -75,8 +76,7 @@ module.exports = class RequireEnsureDependenciesBlockParserPlugin {
|
|
|
75
76
|
|
|
76
77
|
const depBlock = new RequireEnsureDependenciesBlock(
|
|
77
78
|
chunkName,
|
|
78
|
-
|
|
79
|
-
(expr.loc)
|
|
79
|
+
parser.getLocation(expr)
|
|
80
80
|
);
|
|
81
81
|
const errorCallbackExists =
|
|
82
82
|
expr.arguments.length === 4 ||
|
|
@@ -87,7 +87,7 @@ module.exports = class RequireEnsureDependenciesBlockParserPlugin {
|
|
|
87
87
|
errorCallbackExists &&
|
|
88
88
|
/** @type {Range} */ (expr.arguments[2].range)
|
|
89
89
|
);
|
|
90
|
-
dep.loc =
|
|
90
|
+
dep.loc = parser.getLocation(expr);
|
|
91
91
|
depBlock.addDependency(dep);
|
|
92
92
|
const old = parser.state.current;
|
|
93
93
|
parser.state.current = /** @type {EXPECTED_ANY} */ (depBlock);
|
|
@@ -99,9 +99,7 @@ module.exports = class RequireEnsureDependenciesBlockParserPlugin {
|
|
|
99
99
|
const ensureDependency = new RequireEnsureItemDependency(
|
|
100
100
|
/** @type {string} */ (ee.string)
|
|
101
101
|
);
|
|
102
|
-
ensureDependency.loc =
|
|
103
|
-
/** @type {DependencyLocation} */
|
|
104
|
-
(expr.loc);
|
|
102
|
+
ensureDependency.loc = parser.getLocation(expr);
|
|
105
103
|
depBlock.addDependency(ensureDependency);
|
|
106
104
|
} else {
|
|
107
105
|
failed = true;
|
|
@@ -14,11 +14,12 @@ 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, Range | false]>} ObjectDeserializerContext */
|
|
18
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range, Range | false]>} ObjectSerializerContext */
|
|
19
19
|
|
|
20
20
|
class RequireEnsureDependency extends NullDependency {
|
|
21
21
|
/**
|
|
22
|
+
* Creates an instance of RequireEnsureDependency.
|
|
22
23
|
* @param {Range} range range
|
|
23
24
|
* @param {Range} contentRange content range
|
|
24
25
|
* @param {Range | false} errorHandlerRange error handler range
|
|
@@ -36,29 +37,30 @@ class RequireEnsureDependency extends NullDependency {
|
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
/**
|
|
40
|
+
* Serializes this instance into the provided serializer context.
|
|
39
41
|
* @param {ObjectSerializerContext} context context
|
|
40
42
|
*/
|
|
41
43
|
serialize(context) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
write(this.errorHandlerRange);
|
|
44
|
+
context
|
|
45
|
+
.write(this.range)
|
|
46
|
+
.write(this.contentRange)
|
|
47
|
+
.write(this.errorHandlerRange);
|
|
47
48
|
|
|
48
49
|
super.serialize(context);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
/**
|
|
53
|
+
* Restores this instance from the provided deserializer context.
|
|
52
54
|
* @param {ObjectDeserializerContext} context context
|
|
53
55
|
*/
|
|
54
56
|
deserialize(context) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this.
|
|
58
|
-
|
|
59
|
-
this.errorHandlerRange = read();
|
|
57
|
+
this.range = context.read();
|
|
58
|
+
const c1 = context.rest;
|
|
59
|
+
this.contentRange = c1.read();
|
|
60
|
+
const c2 = c1.rest;
|
|
61
|
+
this.errorHandlerRange = c2.read();
|
|
60
62
|
|
|
61
|
-
super.deserialize(
|
|
63
|
+
super.deserialize(c2.rest);
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
66
|
|
|
@@ -71,6 +73,7 @@ RequireEnsureDependency.Template = class RequireEnsureDependencyTemplate extends
|
|
|
71
73
|
NullDependency.Template
|
|
72
74
|
) {
|
|
73
75
|
/**
|
|
76
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
74
77
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
75
78
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
76
79
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -11,6 +11,7 @@ const NullDependency = require("./NullDependency");
|
|
|
11
11
|
|
|
12
12
|
class RequireEnsureItemDependency extends ModuleDependency {
|
|
13
13
|
/**
|
|
14
|
+
* Creates an instance of RequireEnsureItemDependency.
|
|
14
15
|
* @param {string} request the request string
|
|
15
16
|
*/
|
|
16
17
|
constructor(request) {
|
|
@@ -25,7 +25,7 @@ const PLUGIN_NAME = "RequireEnsurePlugin";
|
|
|
25
25
|
|
|
26
26
|
class RequireEnsurePlugin {
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
29
29
|
* @param {Compiler} compiler the compiler instance
|
|
30
30
|
* @returns {void}
|
|
31
31
|
*/
|
|
@@ -48,6 +48,7 @@ class RequireEnsurePlugin {
|
|
|
48
48
|
);
|
|
49
49
|
|
|
50
50
|
/**
|
|
51
|
+
* Handles the hook callback for this code path.
|
|
51
52
|
* @param {Parser} parser parser parser
|
|
52
53
|
* @param {JavascriptParserOptions} parserOptions parserOptions
|
|
53
54
|
* @returns {void}
|
|
@@ -13,11 +13,12 @@ const NullDependency = require("./NullDependency");
|
|
|
13
13
|
/** @typedef {import("../Dependency")} Dependency */
|
|
14
14
|
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
|
|
15
15
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
16
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
17
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
16
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range]>} ObjectDeserializerContext */
|
|
17
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range]>} ObjectSerializerContext */
|
|
18
18
|
|
|
19
19
|
class RequireHeaderDependency extends NullDependency {
|
|
20
20
|
/**
|
|
21
|
+
* Creates an instance of RequireHeaderDependency.
|
|
21
22
|
* @param {Range} range range
|
|
22
23
|
*/
|
|
23
24
|
constructor(range) {
|
|
@@ -27,15 +28,16 @@ class RequireHeaderDependency extends NullDependency {
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
/**
|
|
31
|
+
* Serializes this instance into the provided serializer context.
|
|
30
32
|
* @param {ObjectSerializerContext} context context
|
|
31
33
|
*/
|
|
32
34
|
serialize(context) {
|
|
33
|
-
|
|
34
|
-
write(this.range);
|
|
35
|
+
context.write(this.range);
|
|
35
36
|
super.serialize(context);
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
/**
|
|
40
|
+
* Restores this instance from the provided deserializer context.
|
|
39
41
|
* @param {ObjectDeserializerContext} context context
|
|
40
42
|
* @returns {RequireHeaderDependency} RequireHeaderDependency
|
|
41
43
|
*/
|
|
@@ -55,6 +57,7 @@ RequireHeaderDependency.Template = class RequireHeaderDependencyTemplate extends
|
|
|
55
57
|
NullDependency.Template
|
|
56
58
|
) {
|
|
57
59
|
/**
|
|
60
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
58
61
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
59
62
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
60
63
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -19,6 +19,7 @@ const ModuleDependency = require("./ModuleDependency");
|
|
|
19
19
|
|
|
20
20
|
class RequireIncludeDependency extends ModuleDependency {
|
|
21
21
|
/**
|
|
22
|
+
* Creates an instance of RequireIncludeDependency.
|
|
22
23
|
* @param {string} request the request string
|
|
23
24
|
* @param {Range} range location in source code
|
|
24
25
|
*/
|
|
@@ -57,6 +58,7 @@ RequireIncludeDependency.Template = class RequireIncludeDependencyTemplate exten
|
|
|
57
58
|
ModuleDependency.Template
|
|
58
59
|
) {
|
|
59
60
|
/**
|
|
61
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
60
62
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
61
63
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
62
64
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const WebpackError = require("../WebpackError");
|
|
8
|
+
const WebpackError = require("../errors/WebpackError");
|
|
9
9
|
const {
|
|
10
10
|
evaluateToString,
|
|
11
11
|
toConstantDependency
|
|
@@ -21,13 +21,16 @@ const PLUGIN_NAME = "RequireIncludeDependencyParserPlugin";
|
|
|
21
21
|
|
|
22
22
|
module.exports = class RequireIncludeDependencyParserPlugin {
|
|
23
23
|
/**
|
|
24
|
+
* Creates an instance of RequireIncludeDependencyParserPlugin.
|
|
24
25
|
* @param {boolean} warn true: warn about deprecation, false: don't warn
|
|
25
26
|
*/
|
|
26
27
|
constructor(warn) {
|
|
28
|
+
/** @type {boolean} */
|
|
27
29
|
this.warn = warn;
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
/**
|
|
33
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
31
34
|
* @param {JavascriptParser} parser the parser
|
|
32
35
|
* @returns {void}
|
|
33
36
|
*/
|
|
@@ -40,10 +43,7 @@ module.exports = class RequireIncludeDependencyParserPlugin {
|
|
|
40
43
|
|
|
41
44
|
if (warn) {
|
|
42
45
|
parser.state.module.addWarning(
|
|
43
|
-
new RequireIncludeDeprecationWarning(
|
|
44
|
-
/** @type {DependencyLocation} */
|
|
45
|
-
(expr.loc)
|
|
46
|
-
)
|
|
46
|
+
new RequireIncludeDeprecationWarning(parser.getLocation(expr))
|
|
47
47
|
);
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -51,7 +51,7 @@ module.exports = class RequireIncludeDependencyParserPlugin {
|
|
|
51
51
|
/** @type {string} */ (param.string),
|
|
52
52
|
/** @type {Range} */ (expr.range)
|
|
53
53
|
);
|
|
54
|
-
dep.loc =
|
|
54
|
+
dep.loc = parser.getLocation(expr);
|
|
55
55
|
parser.state.current.addDependency(dep);
|
|
56
56
|
return true;
|
|
57
57
|
});
|
|
@@ -60,9 +60,7 @@ module.exports = class RequireIncludeDependencyParserPlugin {
|
|
|
60
60
|
.tap(PLUGIN_NAME, (expr) => {
|
|
61
61
|
if (warn) {
|
|
62
62
|
parser.state.module.addWarning(
|
|
63
|
-
new RequireIncludeDeprecationWarning(
|
|
64
|
-
/** @type {DependencyLocation} */ (expr.loc)
|
|
65
|
-
)
|
|
63
|
+
new RequireIncludeDeprecationWarning(parser.getLocation(expr))
|
|
66
64
|
);
|
|
67
65
|
}
|
|
68
66
|
return evaluateToString("function")(expr);
|
|
@@ -70,9 +68,7 @@ module.exports = class RequireIncludeDependencyParserPlugin {
|
|
|
70
68
|
parser.hooks.typeof.for("require.include").tap(PLUGIN_NAME, (expr) => {
|
|
71
69
|
if (warn) {
|
|
72
70
|
parser.state.module.addWarning(
|
|
73
|
-
new RequireIncludeDeprecationWarning(
|
|
74
|
-
/** @type {DependencyLocation} */ (expr.loc)
|
|
75
|
-
)
|
|
71
|
+
new RequireIncludeDeprecationWarning(parser.getLocation(expr))
|
|
76
72
|
);
|
|
77
73
|
}
|
|
78
74
|
return toConstantDependency(parser, JSON.stringify("function"))(expr);
|
|
@@ -82,13 +78,16 @@ module.exports = class RequireIncludeDependencyParserPlugin {
|
|
|
82
78
|
|
|
83
79
|
class RequireIncludeDeprecationWarning extends WebpackError {
|
|
84
80
|
/**
|
|
81
|
+
* Creates an instance of RequireIncludeDeprecationWarning.
|
|
85
82
|
* @param {DependencyLocation} loc location
|
|
86
83
|
*/
|
|
87
84
|
constructor(loc) {
|
|
88
85
|
super("require.include() is deprecated and will be removed soon.");
|
|
89
86
|
|
|
87
|
+
/** @type {string} */
|
|
90
88
|
this.name = "RequireIncludeDeprecationWarning";
|
|
91
89
|
|
|
90
|
+
/** @type {DependencyLocation} */
|
|
92
91
|
this.loc = loc;
|
|
93
92
|
}
|
|
94
93
|
}
|
|
@@ -20,7 +20,7 @@ const PLUGIN_NAME = "RequireIncludePlugin";
|
|
|
20
20
|
|
|
21
21
|
class RequireIncludePlugin {
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
24
24
|
* @param {Compiler} compiler the compiler instance
|
|
25
25
|
* @returns {void}
|
|
26
26
|
*/
|
|
@@ -38,6 +38,7 @@ class RequireIncludePlugin {
|
|
|
38
38
|
);
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
+
* Handles the hook callback for this code path.
|
|
41
42
|
* @param {Parser} parser parser parser
|
|
42
43
|
* @param {JavascriptParserOptions} parserOptions parserOptions
|
|
43
44
|
* @returns {void}
|
|
@@ -8,22 +8,22 @@
|
|
|
8
8
|
const {
|
|
9
9
|
JAVASCRIPT_MODULE_TYPE_AUTO,
|
|
10
10
|
JAVASCRIPT_MODULE_TYPE_DYNAMIC
|
|
11
|
-
} = require("
|
|
12
|
-
const RuntimeGlobals = require("
|
|
13
|
-
const ConstDependency = require("./dependencies/ConstDependency");
|
|
11
|
+
} = require("../ModuleTypeConstants");
|
|
12
|
+
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
14
13
|
const {
|
|
15
14
|
toConstantDependency
|
|
16
|
-
} = require("
|
|
15
|
+
} = require("../javascript/JavascriptParserHelpers");
|
|
16
|
+
const ConstDependency = require("./ConstDependency");
|
|
17
17
|
|
|
18
|
-
/** @typedef {import("
|
|
19
|
-
/** @typedef {import("
|
|
20
|
-
/** @typedef {import("
|
|
18
|
+
/** @typedef {import("../../declarations/WebpackOptions").JavascriptParserOptions} JavascriptParserOptions */
|
|
19
|
+
/** @typedef {import("../Compiler")} Compiler */
|
|
20
|
+
/** @typedef {import("../javascript/JavascriptParser")} JavascriptParser */
|
|
21
21
|
|
|
22
22
|
const PLUGIN_NAME = "RequireJsStuffPlugin";
|
|
23
23
|
|
|
24
24
|
module.exports = class RequireJsStuffPlugin {
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
27
27
|
* @param {Compiler} compiler the compiler instance
|
|
28
28
|
* @returns {void}
|
|
29
29
|
*/
|
|
@@ -36,6 +36,7 @@ module.exports = class RequireJsStuffPlugin {
|
|
|
36
36
|
new ConstDependency.Template()
|
|
37
37
|
);
|
|
38
38
|
/**
|
|
39
|
+
* Handles the hook callback for this code path.
|
|
39
40
|
* @param {JavascriptParser} parser the parser
|
|
40
41
|
* @param {JavascriptParserOptions} parserOptions options
|
|
41
42
|
* @returns {void}
|
|
@@ -10,12 +10,13 @@ const ContextDependency = require("./ContextDependency");
|
|
|
10
10
|
const ContextDependencyTemplateAsId = require("./ContextDependencyTemplateAsId");
|
|
11
11
|
|
|
12
12
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
13
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
14
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
13
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range, Range]>} ObjectDeserializerContext */
|
|
14
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range, Range]>} ObjectSerializerContext */
|
|
15
15
|
/** @typedef {import("./ContextDependency").ContextDependencyOptions} ContextDependencyOptions */
|
|
16
16
|
|
|
17
17
|
class RequireResolveContextDependency extends ContextDependency {
|
|
18
18
|
/**
|
|
19
|
+
* Creates an instance of RequireResolveContextDependency.
|
|
19
20
|
* @param {ContextDependencyOptions} options options
|
|
20
21
|
* @param {Range} range range
|
|
21
22
|
* @param {Range} valueRange value range
|
|
@@ -33,27 +34,25 @@ class RequireResolveContextDependency extends ContextDependency {
|
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
/**
|
|
37
|
+
* Serializes this instance into the provided serializer context.
|
|
36
38
|
* @param {ObjectSerializerContext} context context
|
|
37
39
|
*/
|
|
38
40
|
serialize(context) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
write(this.range);
|
|
42
|
-
write(this.valueRange);
|
|
41
|
+
context.write(this.range).write(this.valueRange);
|
|
43
42
|
|
|
44
43
|
super.serialize(context);
|
|
45
44
|
}
|
|
46
45
|
|
|
47
46
|
/**
|
|
47
|
+
* Restores this instance from the provided deserializer context.
|
|
48
48
|
* @param {ObjectDeserializerContext} context context
|
|
49
49
|
*/
|
|
50
50
|
deserialize(context) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.
|
|
54
|
-
this.valueRange = read();
|
|
51
|
+
this.range = context.read();
|
|
52
|
+
const c1 = context.rest;
|
|
53
|
+
this.valueRange = c1.read();
|
|
55
54
|
|
|
56
|
-
super.deserialize(
|
|
55
|
+
super.deserialize(c1.rest);
|
|
57
56
|
}
|
|
58
57
|
}
|
|
59
58
|
|
|
@@ -17,6 +17,7 @@ const ModuleDependencyAsId = require("./ModuleDependencyTemplateAsId");
|
|
|
17
17
|
|
|
18
18
|
class RequireResolveDependency extends ModuleDependency {
|
|
19
19
|
/**
|
|
20
|
+
* Creates an instance of RequireResolveDependency.
|
|
20
21
|
* @param {string} request the request string
|
|
21
22
|
* @param {Range} range location in source code
|
|
22
23
|
* @param {string=} context context
|
|
@@ -25,6 +26,7 @@ class RequireResolveDependency extends ModuleDependency {
|
|
|
25
26
|
super(request);
|
|
26
27
|
|
|
27
28
|
this.range = range;
|
|
29
|
+
/** @type {string | undefined} */
|
|
28
30
|
this._context = context;
|
|
29
31
|
}
|
|
30
32
|
|
|
@@ -12,11 +12,12 @@ const NullDependency = require("./NullDependency");
|
|
|
12
12
|
/** @typedef {import("../Dependency")} Dependency */
|
|
13
13
|
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
|
|
14
14
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
15
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
16
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
15
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Range]>} ObjectDeserializerContext */
|
|
16
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Range]>} ObjectSerializerContext */
|
|
17
17
|
|
|
18
18
|
class RequireResolveHeaderDependency extends NullDependency {
|
|
19
19
|
/**
|
|
20
|
+
* Creates an instance of RequireResolveHeaderDependency.
|
|
20
21
|
* @param {Range} range range
|
|
21
22
|
*/
|
|
22
23
|
constructor(range) {
|
|
@@ -28,17 +29,17 @@ class RequireResolveHeaderDependency extends NullDependency {
|
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
/**
|
|
32
|
+
* Serializes this instance into the provided serializer context.
|
|
31
33
|
* @param {ObjectSerializerContext} context context
|
|
32
34
|
*/
|
|
33
35
|
serialize(context) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
write(this.range);
|
|
36
|
+
context.write(this.range);
|
|
37
37
|
|
|
38
38
|
super.serialize(context);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
|
+
* Restores this instance from the provided deserializer context.
|
|
42
43
|
* @param {ObjectDeserializerContext} context context
|
|
43
44
|
* @returns {RequireResolveHeaderDependency} RequireResolveHeaderDependency
|
|
44
45
|
*/
|
|
@@ -58,6 +59,7 @@ RequireResolveHeaderDependency.Template = class RequireResolveHeaderDependencyTe
|
|
|
58
59
|
NullDependency.Template
|
|
59
60
|
) {
|
|
60
61
|
/**
|
|
62
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
61
63
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
62
64
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
63
65
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -69,6 +71,7 @@ RequireResolveHeaderDependency.Template = class RequireResolveHeaderDependencyTe
|
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
/**
|
|
74
|
+
* Apply as template argument.
|
|
72
75
|
* @param {string} name name
|
|
73
76
|
* @param {RequireResolveHeaderDependency} dep dependency
|
|
74
77
|
* @param {ReplaceSource} source source
|
|
@@ -13,23 +13,25 @@ const NullDependency = require("./NullDependency");
|
|
|
13
13
|
/** @typedef {import("../Dependency")} Dependency */
|
|
14
14
|
/** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
|
|
15
15
|
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
|
|
16
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
17
|
-
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
16
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext<[Set<string>]>} ObjectDeserializerContext */
|
|
17
|
+
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext<[Set<string>]>} ObjectSerializerContext */
|
|
18
18
|
/** @typedef {import("../util/Hash")} Hash */
|
|
19
19
|
|
|
20
20
|
class RuntimeRequirementsDependency extends NullDependency {
|
|
21
21
|
/**
|
|
22
|
+
* Creates an instance of RuntimeRequirementsDependency.
|
|
22
23
|
* @param {RawRuntimeRequirements} runtimeRequirements runtime requirements
|
|
23
24
|
*/
|
|
24
25
|
constructor(runtimeRequirements) {
|
|
25
26
|
super();
|
|
27
|
+
/** @type {Set<string>} */
|
|
26
28
|
this.runtimeRequirements = new Set(runtimeRequirements);
|
|
27
29
|
/** @type {undefined | string} */
|
|
28
30
|
this._hashUpdate = undefined;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
/**
|
|
32
|
-
*
|
|
34
|
+
* Updates the hash with the data contributed by this instance.
|
|
33
35
|
* @param {Hash} hash hash to be updated
|
|
34
36
|
* @param {UpdateHashContext} context context
|
|
35
37
|
* @returns {void}
|
|
@@ -42,21 +44,21 @@ class RuntimeRequirementsDependency extends NullDependency {
|
|
|
42
44
|
}
|
|
43
45
|
|
|
44
46
|
/**
|
|
47
|
+
* Serializes this instance into the provided serializer context.
|
|
45
48
|
* @param {ObjectSerializerContext} context context
|
|
46
49
|
*/
|
|
47
50
|
serialize(context) {
|
|
48
|
-
|
|
49
|
-
write(this.runtimeRequirements);
|
|
51
|
+
context.write(this.runtimeRequirements);
|
|
50
52
|
super.serialize(context);
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
/**
|
|
56
|
+
* Restores this instance from the provided deserializer context.
|
|
54
57
|
* @param {ObjectDeserializerContext} context context
|
|
55
58
|
*/
|
|
56
59
|
deserialize(context) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
super.deserialize(context);
|
|
60
|
+
this.runtimeRequirements = context.read();
|
|
61
|
+
super.deserialize(context.rest);
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
|
|
@@ -69,6 +71,7 @@ RuntimeRequirementsDependency.Template = class RuntimeRequirementsDependencyTemp
|
|
|
69
71
|
NullDependency.Template
|
|
70
72
|
) {
|
|
71
73
|
/**
|
|
74
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
72
75
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
73
76
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
74
77
|
* @param {DependencyTemplateContext} templateContext the context object
|