webpack 5.106.1 → 5.107.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 +2 -2
- package/lib/APIPlugin.js +4 -2
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +10 -1
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +26 -0
- package/lib/Chunk.js +46 -0
- package/lib/ChunkGraph.js +111 -0
- package/lib/ChunkGroup.js +57 -13
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CleanPlugin.js +14 -1
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +23 -8
- package/lib/Compilation.js +161 -27
- package/lib/Compiler.js +41 -17
- package/lib/ConcatenationScope.js +24 -1
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +4 -1
- package/lib/ContextExclusionPlugin.js +2 -1
- package/lib/ContextModule.js +14 -2
- package/lib/ContextModuleFactory.js +10 -0
- package/lib/ContextReplacementPlugin.js +4 -1
- package/lib/DefinePlugin.js +22 -9
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +48 -4
- 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 +3 -0
- package/lib/EntryPlugin.js +2 -1
- package/lib/Entrypoint.js +4 -0
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -10
- package/lib/ExportsInfo.js +56 -2
- package/lib/ExportsInfoApiPlugin.js +2 -1
- package/lib/ExternalModule.js +114 -15
- package/lib/ExternalModuleFactoryPlugin.js +15 -0
- package/lib/ExternalsPlugin.js +2 -1
- package/lib/FileSystemInfo.js +291 -71
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -1
- package/lib/FlagDependencyExportsPlugin.js +4 -1
- package/lib/FlagDependencyUsagePlugin.js +5 -1
- package/lib/FlagEntryExportAsUsedPlugin.js +2 -1
- package/lib/Generator.js +16 -3
- package/lib/HotModuleReplacementPlugin.js +35 -9
- package/lib/IgnorePlugin.js +4 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +10 -0
- package/lib/JavascriptMetaInfoPlugin.js +2 -1
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +2 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +101 -19
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +3 -0
- package/lib/ModuleGraph.js +66 -0
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleSourceTypeConstants.js +32 -1
- package/lib/ModuleTemplate.js +8 -0
- package/lib/ModuleTypeConstants.js +12 -3
- package/lib/MultiCompiler.js +30 -2
- package/lib/MultiStats.js +8 -0
- package/lib/MultiWatching.js +3 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +11 -2
- package/lib/NormalModule.js +43 -33
- package/lib/NormalModuleFactory.js +35 -2
- package/lib/NormalModuleReplacementPlugin.js +1 -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 +2 -1
- package/lib/ProgressPlugin.js +158 -68
- package/lib/ProvidePlugin.js +3 -1
- package/lib/RawModule.js +12 -0
- package/lib/RecordIdsPlugin.js +8 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +6 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +13 -0
- package/lib/RuntimeTemplate.js +35 -1
- package/lib/SelfModuleFactory.js +2 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +3 -1
- package/lib/Stats.js +5 -0
- package/lib/Template.js +20 -0
- package/lib/TemplatedPathPlugin.js +10 -3
- package/lib/UseStrictPlugin.js +2 -1
- package/lib/WarnCaseSensitiveModulesPlugin.js +71 -3
- package/lib/WarnDeprecatedOptionPlugin.js +2 -2
- package/lib/WarnNoModeSetPlugin.js +17 -2
- package/lib/WatchIgnorePlugin.js +4 -1
- package/lib/Watching.js +16 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +3 -1
- package/lib/WebpackOptionsApply.js +14 -1
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +12 -2
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +42 -10
- package/lib/asset/AssetModulesPlugin.js +7 -2
- package/lib/asset/AssetParser.js +2 -0
- package/lib/asset/AssetSourceGenerator.js +12 -2
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +11 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -0
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/buildChunkGraph.js +19 -6
- package/lib/cache/AddBuildDependenciesPlugin.js +2 -1
- package/lib/cache/AddManagedPathsPlugin.js +2 -1
- package/lib/cache/IdleFileCachePlugin.js +2 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +3 -1
- package/lib/cache/PackFileCacheStrategy.js +33 -4
- package/lib/cache/ResolverCachePlugin.js +10 -1
- package/lib/cache/getLazyHashedEtag.js +4 -0
- package/lib/cache/mergeEtags.js +2 -0
- package/lib/cli.js +33 -1
- package/lib/config/browserslistTargetHandler.js +2 -0
- package/lib/config/defaults.js +232 -12
- package/lib/config/normalization.js +15 -1
- package/lib/config/target.js +11 -0
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +12 -0
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +4 -0
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +2 -1
- package/lib/container/FallbackDependency.js +4 -0
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +12 -0
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/ModuleFederationPlugin.js +3 -1
- package/lib/container/RemoteModule.js +13 -0
- package/lib/container/RemoteRuntimeModule.js +1 -0
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +336 -100
- package/lib/css/CssInjectStyleRuntimeModule.js +45 -42
- package/lib/css/CssLoadingRuntimeModule.js +23 -4
- package/lib/{CssModule.js → css/CssModule.js} +21 -15
- package/lib/css/CssModulesPlugin.js +235 -89
- package/lib/css/CssParser.js +616 -261
- package/lib/css/walkCssTokens.js +179 -2
- package/lib/debug/ProfilingPlugin.js +19 -1
- package/lib/dependencies/AMDDefineDependency.js +7 -0
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +12 -0
- package/lib/dependencies/AMDPlugin.js +4 -1
- package/lib/dependencies/AMDRequireArrayDependency.js +6 -0
- package/lib/dependencies/AMDRequireContextDependency.js +3 -0
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +14 -1
- package/lib/dependencies/AMDRequireDependency.js +4 -0
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +6 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +64 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +62 -10
- package/lib/dependencies/CommonJsExportsDependency.js +4 -0
- package/lib/dependencies/CommonJsExportsParserPlugin.js +9 -1
- package/lib/dependencies/CommonJsFullRequireDependency.js +36 -9
- package/lib/dependencies/CommonJsImportsParserPlugin.js +24 -3
- package/lib/dependencies/CommonJsPlugin.js +4 -1
- package/lib/dependencies/CommonJsRequireContextDependency.js +3 -0
- package/lib/dependencies/CommonJsRequireDependency.js +70 -4
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +5 -0
- package/lib/dependencies/ConstDependency.js +6 -1
- package/lib/dependencies/ContextDependency.js +9 -2
- package/lib/dependencies/ContextDependencyHelpers.js +4 -1
- package/lib/dependencies/ContextDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +4 -0
- package/lib/dependencies/CreateRequireParserPlugin.js +7 -1
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -0
- package/lib/dependencies/CriticalDependencyWarning.js +2 -1
- package/lib/dependencies/CssIcssExportDependency.js +339 -66
- package/lib/dependencies/CssIcssImportDependency.js +53 -8
- package/lib/dependencies/CssIcssSymbolDependency.js +16 -4
- package/lib/dependencies/CssImportDependency.js +12 -0
- package/lib/dependencies/CssUrlDependency.js +32 -0
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +3 -0
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportsInfoDependency.js +6 -0
- package/lib/dependencies/ExternalModuleDependency.js +5 -0
- package/lib/dependencies/ExternalModuleInitFragment.js +3 -0
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +4 -0
- package/lib/dependencies/HarmonyAcceptDependency.js +6 -0
- package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +1 -0
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +4 -1
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -0
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +10 -7
- package/lib/dependencies/HarmonyExportExpressionDependency.js +27 -14
- package/lib/dependencies/HarmonyExportHeaderDependency.js +4 -0
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +143 -5
- package/lib/dependencies/HarmonyExportInitFragment.js +6 -0
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +5 -0
- package/lib/dependencies/HarmonyExports.js +2 -0
- package/lib/dependencies/HarmonyImportDependency.js +21 -2
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +31 -1
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -0
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +18 -3
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +5 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +4 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +133 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +101 -0
- package/lib/dependencies/HtmlScriptSrcDependency.js +318 -0
- package/lib/dependencies/HtmlSourceDependency.js +127 -0
- package/lib/dependencies/ImportContextDependency.js +4 -0
- package/lib/dependencies/ImportDependency.js +5 -0
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +4 -1
- package/lib/dependencies/ImportMetaContextPlugin.js +2 -1
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -0
- package/lib/dependencies/ImportMetaPlugin.js +6 -0
- package/lib/dependencies/ImportParserPlugin.js +9 -2
- package/lib/dependencies/ImportPhase.js +7 -3
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +2 -0
- package/lib/dependencies/JsonExportsDependency.js +6 -1
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +2 -0
- package/lib/dependencies/LoaderPlugin.js +4 -1
- package/lib/dependencies/LocalModule.js +4 -0
- package/lib/dependencies/LocalModuleDependency.js +4 -0
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +7 -1
- package/lib/dependencies/ModuleDependency.js +7 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +1 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +4 -0
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +6 -1
- package/lib/dependencies/PureExpressionDependency.js +7 -1
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -0
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -0
- package/lib/dependencies/RequireEnsureDependency.js +4 -0
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +4 -0
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +4 -1
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +3 -0
- package/lib/dependencies/RequireResolveDependency.js +1 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +5 -0
- package/lib/dependencies/RuntimeRequirementsDependency.js +5 -1
- package/lib/dependencies/StaticExportsDependency.js +3 -0
- package/lib/dependencies/SystemPlugin.js +5 -2
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/URLContextDependency.js +3 -0
- package/lib/dependencies/URLDependency.js +6 -0
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +4 -0
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +4 -0
- package/lib/dependencies/WebAssemblyImportDependency.js +5 -2
- package/lib/dependencies/WebpackIsIncludedDependency.js +2 -0
- package/lib/dependencies/WorkerDependency.js +6 -1
- package/lib/dependencies/WorkerPlugin.js +11 -3
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +1 -0
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +44 -31
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +7 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +4 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +6 -5
- package/lib/{DllModule.js → dll/DllModule.js} +35 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +8 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +23 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +13 -10
- package/lib/electron/ElectronTargetPlugin.js +2 -1
- 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} +4 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +4 -4
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +11 -5
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +6 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +4 -3
- package/lib/errors/JSONParseError.js +114 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +8 -5
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +2 -2
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +5 -4
- package/lib/{ModuleError.js → errors/ModuleError.js} +7 -5
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +1 -1
- package/lib/{ModuleNotFoundError.js → errors/ModuleNotFoundError.js} +3 -2
- package/lib/{ModuleParseError.js → errors/ModuleParseError.js} +11 -6
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +2 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +2 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +8 -5
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +5 -4
- package/lib/errors/NonErrorEmittedError.js +28 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +8 -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 +5 -1
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -1
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +5 -0
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +20 -1
- package/lib/hmr/lazyCompilationBackend.js +2 -0
- package/lib/html/HtmlGenerator.js +379 -0
- package/lib/html/HtmlModulesPlugin.js +433 -0
- package/lib/html/HtmlParser.js +1489 -0
- package/lib/html/walkHtmlTokens.js +2733 -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 +22 -1
- 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 +39 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
- package/lib/javascript/BasicEvaluatedExpression.js +4 -2
- 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 +5 -1
- package/lib/javascript/JavascriptGenerator.js +10 -0
- package/lib/javascript/JavascriptModulesPlugin.js +112 -9
- package/lib/javascript/JavascriptParser.js +360 -16
- package/lib/javascript/JavascriptParserHelpers.js +7 -1
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +14 -25
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +16 -0
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +9 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +1 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +86 -1
- package/lib/library/SystemLibraryPlugin.js +8 -0
- package/lib/library/UmdLibraryPlugin.js +16 -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 +2 -1
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +2 -0
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +3 -0
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +4 -1
- package/lib/node/ReadFileCompileWasmPlugin.js +4 -1
- package/lib/node/RequireChunkLoadingRuntimeModule.js +3 -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 +62 -6
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +2 -1
- package/lib/optimize/InnerGraph.js +16 -1
- package/lib/optimize/InnerGraphPlugin.js +14 -2
- 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 +36 -8
- package/lib/optimize/RealContentHashPlugin.js +104 -26
- 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 +118 -4
- package/lib/optimize/SplitChunksPlugin.js +50 -2
- 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 +6 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -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 +18 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -0
- package/lib/runtime/AutoPublicPathRuntimeModule.js +1 -0
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +1 -0
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -0
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +1 -0
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +1 -0
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +121 -13
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +1 -0
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +1 -0
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +1 -0
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +35 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -0
- package/lib/runtime/StartupEntrypointRuntimeModule.js +1 -0
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +43 -1
- package/lib/schemes/VirtualUrlPlugin.js +7 -2
- package/lib/serialization/AggregateErrorSerializer.js +2 -0
- package/lib/serialization/ArraySerializer.js +2 -0
- package/lib/serialization/BinaryMiddleware.js +20 -1
- package/lib/serialization/DateObjectSerializer.js +2 -0
- package/lib/serialization/ErrorObjectSerializer.js +3 -0
- package/lib/serialization/FileMiddleware.js +21 -0
- package/lib/serialization/MapObjectSerializer.js +2 -0
- package/lib/serialization/NullPrototypeObjectSerializer.js +2 -0
- package/lib/serialization/ObjectMiddleware.js +23 -0
- package/lib/serialization/PlainObjectSerializer.js +7 -0
- package/lib/serialization/RegExpObjectSerializer.js +2 -0
- package/lib/serialization/Serializer.js +5 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +2 -0
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +15 -0
- package/lib/sharing/ConsumeSharedPlugin.js +8 -3
- package/lib/sharing/ConsumeSharedRuntimeModule.js +9 -4
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +4 -0
- package/lib/sharing/ProvideSharedModule.js +12 -1
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +5 -2
- package/lib/sharing/SharePlugin.js +2 -1
- package/lib/sharing/ShareRuntimeModule.js +1 -0
- package/lib/sharing/resolveMatchedConfigs.js +4 -1
- package/lib/sharing/utils.js +8 -0
- package/lib/stats/DefaultStatsFactoryPlugin.js +58 -3
- package/lib/stats/DefaultStatsPresetPlugin.js +12 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +38 -2
- package/lib/stats/StatsFactory.js +13 -1
- package/lib/stats/StatsPrinter.js +7 -0
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +8 -2
- package/lib/util/AppendOnlyStackedSet.js +15 -0
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +22 -2
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +21 -0
- package/lib/util/LazySet.js +39 -0
- package/lib/util/LocConverter.js +53 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +14 -1
- package/lib/util/SetHelpers.js +3 -0
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +45 -0
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +13 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +33 -0
- package/lib/util/binarySearchBounds.js +1 -0
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +34 -3
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +9 -3
- package/lib/util/conventions.js +46 -1
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +1 -0
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +20 -0
- package/lib/util/extractSourceMap.js +1 -0
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +5 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +4 -1
- package/lib/util/fs.js +71 -8
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/hash-digest.js +8 -0
- 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 +67 -0
- package/lib/util/internalSerializables.js +35 -19
- package/lib/util/magicComment.js +10 -6
- package/lib/util/makeSerializable.js +6 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +1 -0
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +1 -0
- package/lib/util/registerExternalSerializer.js +20 -0
- 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 +1 -0
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -0
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +12 -3
- package/lib/wasm-async/AsyncWebAssemblyParser.js +2 -1
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +12 -1
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +6 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +1 -0
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +2 -2
- package/lib/wasm-sync/WebAssemblyGenerator.js +26 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +7 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +10 -1
- package/lib/wasm-sync/WebAssemblyParser.js +2 -0
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +10 -1
- package/lib/web/FetchCompileWasmPlugin.js +13 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -0
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +13 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -0
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/package.json +31 -31
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +161 -57
- 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/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +22 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → css/CssAutoOrModuleParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +5325 -353
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- /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
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const WebpackError = require("../WebpackError");
|
|
8
|
+
const WebpackError = require("../errors/WebpackError");
|
|
9
|
+
const { cssExportConvention } = require("../util/conventions");
|
|
9
10
|
const makeSerializable = require("../util/makeSerializable");
|
|
10
11
|
const CssImportDependency = require("./CssImportDependency");
|
|
11
12
|
|
|
@@ -13,7 +14,8 @@ const CssImportDependency = require("./CssImportDependency");
|
|
|
13
14
|
/** @typedef {import("../Dependency")} Dependency */
|
|
14
15
|
/** @typedef {import("../DependencyTemplate").CssDependencyTemplateContext} DependencyTemplateContext */
|
|
15
16
|
/** @typedef {import("../Module")} Module */
|
|
16
|
-
/** @typedef {import("../
|
|
17
|
+
/** @typedef {import("../css/CssGenerator")} CssGenerator */
|
|
18
|
+
/** @typedef {import("../css/CssModule")} CssModule */
|
|
17
19
|
/** @typedef {import("../ModuleGraph")} ModuleGraph */
|
|
18
20
|
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
|
|
19
21
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
@@ -39,6 +41,26 @@ class CssIcssImportDependency extends CssImportDependency {
|
|
|
39
41
|
super(request, range, mode);
|
|
40
42
|
this.importName = importName;
|
|
41
43
|
this.localName = localName;
|
|
44
|
+
/** @type {undefined | string[]} */
|
|
45
|
+
this._importNameConventionNames = undefined;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Memoized `cssExportConvention(this.importName, convention)`. The target
|
|
50
|
+
* module is fixed for a given dep, so its `exportsConvention` is fixed,
|
|
51
|
+
* so the convention-derived aliases of `importName` can be cached on the dep.
|
|
52
|
+
* @param {CssGeneratorExportsConvention} convention convention from the target module's generator
|
|
53
|
+
* @returns {string[]} convention results
|
|
54
|
+
*/
|
|
55
|
+
getImportNameConventionNames(convention) {
|
|
56
|
+
if (this._importNameConventionNames) {
|
|
57
|
+
return this._importNameConventionNames;
|
|
58
|
+
}
|
|
59
|
+
this._importNameConventionNames = cssExportConvention(
|
|
60
|
+
this.importName,
|
|
61
|
+
convention
|
|
62
|
+
);
|
|
63
|
+
return this._importNameConventionNames;
|
|
42
64
|
}
|
|
43
65
|
|
|
44
66
|
get type() {
|
|
@@ -61,17 +83,37 @@ class CssIcssImportDependency extends CssImportDependency {
|
|
|
61
83
|
}
|
|
62
84
|
|
|
63
85
|
/**
|
|
64
|
-
* Returns warnings
|
|
86
|
+
* Returns warnings.
|
|
65
87
|
* @param {ModuleGraph} moduleGraph module graph
|
|
66
88
|
* @returns {WebpackError[] | null | undefined} warnings
|
|
67
89
|
*/
|
|
68
90
|
getWarnings(moduleGraph) {
|
|
69
|
-
const module =
|
|
91
|
+
const module = /** @type {CssModule | undefined} */ (
|
|
92
|
+
moduleGraph.getModule(this)
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
if (!module) return null;
|
|
96
|
+
|
|
97
|
+
// The target module stores exports under the names produced by its
|
|
98
|
+
// `exportsConvention`, so a raw `isExportProvided(this.importName)`
|
|
99
|
+
// would false-positive against `camel-case-only` / `dashes-only` (and
|
|
100
|
+
// any custom function that drops the original spelling). Expand
|
|
101
|
+
// `importName` through the *target* module's convention and accept
|
|
102
|
+
// if any alias is provided.
|
|
103
|
+
const generator =
|
|
104
|
+
/** @type {CssGenerator | undefined} */
|
|
105
|
+
(module.generator);
|
|
106
|
+
const convention =
|
|
107
|
+
generator &&
|
|
108
|
+
/** @type {CssGeneratorExportsConvention | undefined} */
|
|
109
|
+
(generator.options && generator.options.exportsConvention);
|
|
110
|
+
const exportsInfo = moduleGraph.getExportsInfo(module);
|
|
111
|
+
const names = convention
|
|
112
|
+
? this.getImportNameConventionNames(convention)
|
|
113
|
+
: [this.importName];
|
|
114
|
+
const isProvided = names.some((name) => exportsInfo.isExportProvided(name));
|
|
70
115
|
|
|
71
|
-
if (
|
|
72
|
-
module &&
|
|
73
|
-
!moduleGraph.getExportsInfo(module).isExportProvided(this.importName)
|
|
74
|
-
) {
|
|
116
|
+
if (!isProvided) {
|
|
75
117
|
const error = new WebpackError(
|
|
76
118
|
`Referenced name "${this.importName}" in "${this.userRequest}" not found`
|
|
77
119
|
);
|
|
@@ -84,6 +126,7 @@ class CssIcssImportDependency extends CssImportDependency {
|
|
|
84
126
|
}
|
|
85
127
|
|
|
86
128
|
/**
|
|
129
|
+
* Serializes this instance into the provided serializer context.
|
|
87
130
|
* @param {ObjectSerializerContext} context context
|
|
88
131
|
*/
|
|
89
132
|
serialize(context) {
|
|
@@ -94,6 +137,7 @@ class CssIcssImportDependency extends CssImportDependency {
|
|
|
94
137
|
}
|
|
95
138
|
|
|
96
139
|
/**
|
|
140
|
+
* Restores this instance from the provided deserializer context.
|
|
97
141
|
* @param {ObjectDeserializerContext} context context
|
|
98
142
|
*/
|
|
99
143
|
deserialize(context) {
|
|
@@ -108,6 +152,7 @@ CssIcssImportDependency.Template = class CssIcssImportDependencyTemplate extends
|
|
|
108
152
|
CssImportDependency.Template
|
|
109
153
|
) {
|
|
110
154
|
/**
|
|
155
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
111
156
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
112
157
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
113
158
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -25,17 +25,20 @@ const NullDependency = require("./NullDependency");
|
|
|
25
25
|
|
|
26
26
|
class CssIcssSymbolDependency extends NullDependency {
|
|
27
27
|
/**
|
|
28
|
+
* Creates an instance of CssIcssSymbolDependency.
|
|
28
29
|
* @param {string} localName local name
|
|
29
30
|
* @param {Range} range range
|
|
30
31
|
* @param {string=} value value when it was defined in this module
|
|
31
32
|
* @param {string=} importName import name when it was imported from other module
|
|
33
|
+
* @param {string=} request request of the `@value` import that was active when this reference was parsed — used to disambiguate when the same local name is imported from multiple modules
|
|
32
34
|
*/
|
|
33
|
-
constructor(localName, range, value, importName) {
|
|
35
|
+
constructor(localName, range, value, importName, request) {
|
|
34
36
|
super();
|
|
35
37
|
this.localName = localName;
|
|
36
38
|
this.range = range;
|
|
37
39
|
this.value = value;
|
|
38
40
|
this.importName = importName;
|
|
41
|
+
this.request = request;
|
|
39
42
|
/** @type {undefined | string} */
|
|
40
43
|
this._hashUpdate = undefined;
|
|
41
44
|
}
|
|
@@ -45,19 +48,23 @@ class CssIcssSymbolDependency extends NullDependency {
|
|
|
45
48
|
}
|
|
46
49
|
|
|
47
50
|
/**
|
|
48
|
-
*
|
|
51
|
+
* Updates the hash with the data contributed by this instance.
|
|
49
52
|
* @param {Hash} hash hash to be updated
|
|
50
53
|
* @param {UpdateHashContext} context context
|
|
51
54
|
* @returns {void}
|
|
52
55
|
*/
|
|
53
56
|
updateHash(hash, context) {
|
|
54
57
|
if (this._hashUpdate === undefined) {
|
|
55
|
-
|
|
58
|
+
// Concatenate with explicit field separators so adjacent fields
|
|
59
|
+
// can't alias each other (e.g. range `[1,11]` + localName `"foo"`
|
|
60
|
+
// vs range `[1,1]` + localName `"1foo"`).
|
|
61
|
+
this._hashUpdate = `range|${JSON.stringify(this.range)}|localName|${this.localName}|value|${this.value || ""}|importName|${this.importName || ""}|request|${this.request || ""}`;
|
|
56
62
|
}
|
|
57
63
|
hash.update(this._hashUpdate);
|
|
58
64
|
}
|
|
59
65
|
|
|
60
66
|
/**
|
|
67
|
+
* Serializes this instance into the provided serializer context.
|
|
61
68
|
* @param {ObjectSerializerContext} context context
|
|
62
69
|
*/
|
|
63
70
|
serialize(context) {
|
|
@@ -66,10 +73,12 @@ class CssIcssSymbolDependency extends NullDependency {
|
|
|
66
73
|
write(this.range);
|
|
67
74
|
write(this.value);
|
|
68
75
|
write(this.importName);
|
|
76
|
+
write(this.request);
|
|
69
77
|
super.serialize(context);
|
|
70
78
|
}
|
|
71
79
|
|
|
72
80
|
/**
|
|
81
|
+
* Restores this instance from the provided deserializer context.
|
|
73
82
|
* @param {ObjectDeserializerContext} context context
|
|
74
83
|
*/
|
|
75
84
|
deserialize(context) {
|
|
@@ -78,6 +87,7 @@ class CssIcssSymbolDependency extends NullDependency {
|
|
|
78
87
|
this.range = read();
|
|
79
88
|
this.value = read();
|
|
80
89
|
this.importName = read();
|
|
90
|
+
this.request = read();
|
|
81
91
|
super.deserialize(context);
|
|
82
92
|
}
|
|
83
93
|
}
|
|
@@ -86,6 +96,7 @@ CssIcssSymbolDependency.Template = class CssIcssSymbolDependencyTemplate extends
|
|
|
86
96
|
NullDependency.Template
|
|
87
97
|
) {
|
|
88
98
|
/**
|
|
99
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
89
100
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
90
101
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
91
102
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -99,7 +110,8 @@ CssIcssSymbolDependency.Template = class CssIcssSymbolDependencyTemplate extends
|
|
|
99
110
|
? CssIcssExportDependency.Template.resolve(
|
|
100
111
|
dep.localName,
|
|
101
112
|
dep.importName,
|
|
102
|
-
templateContext
|
|
113
|
+
templateContext,
|
|
114
|
+
dep.request
|
|
103
115
|
)
|
|
104
116
|
: dep.value;
|
|
105
117
|
|
|
@@ -44,6 +44,15 @@ class CssImportDependency extends ModuleDependency {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
|
+
* Returns true if this dependency can be concatenated
|
|
48
|
+
* @returns {boolean} true if this dependency can be concatenated
|
|
49
|
+
*/
|
|
50
|
+
canConcatenate() {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Returns an identifier to merge equal requests.
|
|
47
56
|
* @returns {string | null} an identifier to merge equal requests
|
|
48
57
|
*/
|
|
49
58
|
getResourceIdentifier() {
|
|
@@ -69,6 +78,7 @@ class CssImportDependency extends ModuleDependency {
|
|
|
69
78
|
}
|
|
70
79
|
|
|
71
80
|
/**
|
|
81
|
+
* Serializes this instance into the provided serializer context.
|
|
72
82
|
* @param {ObjectSerializerContext} context context
|
|
73
83
|
*/
|
|
74
84
|
serialize(context) {
|
|
@@ -82,6 +92,7 @@ class CssImportDependency extends ModuleDependency {
|
|
|
82
92
|
}
|
|
83
93
|
|
|
84
94
|
/**
|
|
95
|
+
* Restores this instance from the provided deserializer context.
|
|
85
96
|
* @param {ObjectDeserializerContext} context context
|
|
86
97
|
*/
|
|
87
98
|
deserialize(context) {
|
|
@@ -99,6 +110,7 @@ CssImportDependency.Template = class CssImportDependencyTemplate extends (
|
|
|
99
110
|
ModuleDependency.Template
|
|
100
111
|
) {
|
|
101
112
|
/**
|
|
113
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
102
114
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
103
115
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
104
116
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -12,14 +12,17 @@ const ModuleDependency = require("./ModuleDependency");
|
|
|
12
12
|
|
|
13
13
|
/** @typedef {import("webpack-sources").ReplaceSource} ReplaceSource */
|
|
14
14
|
/** @typedef {import("../CodeGenerationResults")} CodeGenerationResults */
|
|
15
|
+
/** @typedef {import("../Dependency").UpdateHashContext} UpdateHashContext */
|
|
15
16
|
/** @typedef {import("../Dependency")} Dependency */
|
|
16
17
|
/** @typedef {import("../DependencyTemplate").CssDependencyTemplateContext} DependencyTemplateContext */
|
|
17
18
|
/** @typedef {import("../Module")} Module */
|
|
19
|
+
/** @typedef {import("../Module").BuildInfo} BuildInfo */
|
|
18
20
|
/** @typedef {import("../Module").CodeGenerationResult} CodeGenerationResult */
|
|
19
21
|
/** @typedef {import("../Module").CodeGenerationResultData} CodeGenerationResultData */
|
|
20
22
|
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
|
|
21
23
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
22
24
|
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
25
|
+
/** @typedef {import("../util/Hash")} Hash */
|
|
23
26
|
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
|
|
24
27
|
|
|
25
28
|
const getIgnoredRawDataUrlModule = memoize(
|
|
@@ -28,6 +31,7 @@ const getIgnoredRawDataUrlModule = memoize(
|
|
|
28
31
|
|
|
29
32
|
class CssUrlDependency extends ModuleDependency {
|
|
30
33
|
/**
|
|
34
|
+
* Creates an instance of CssUrlDependency.
|
|
31
35
|
* @param {string} request request
|
|
32
36
|
* @param {Range} range range of the argument
|
|
33
37
|
* @param {"string" | "url" | "src"} urlType dependency type e.g. url() or string
|
|
@@ -47,6 +51,7 @@ class CssUrlDependency extends ModuleDependency {
|
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
/**
|
|
54
|
+
* Creates an ignored module.
|
|
50
55
|
* @param {string} context context directory
|
|
51
56
|
* @returns {Module} ignored module
|
|
52
57
|
*/
|
|
@@ -55,6 +60,28 @@ class CssUrlDependency extends ModuleDependency {
|
|
|
55
60
|
}
|
|
56
61
|
|
|
57
62
|
/**
|
|
63
|
+
* Updates the hash with the data contributed by this instance.
|
|
64
|
+
* @param {Hash} hash hash to be updated
|
|
65
|
+
* @param {UpdateHashContext} context context
|
|
66
|
+
* @returns {void}
|
|
67
|
+
*/
|
|
68
|
+
updateHash(hash, context) {
|
|
69
|
+
// The dependency template substitutes the referenced asset's hashed
|
|
70
|
+
// filename into the rendered CSS at code-generation time. Folding the
|
|
71
|
+
// asset module's content hash into the dependency hash ensures the
|
|
72
|
+
// CSS module's hash invalidates — and the CSS chunk's contenthash
|
|
73
|
+
// updates — whenever the referenced asset's content changes.
|
|
74
|
+
const { chunkGraph } = context;
|
|
75
|
+
const module = chunkGraph.moduleGraph.getModule(this);
|
|
76
|
+
if (!module) return;
|
|
77
|
+
const buildInfo = /** @type {BuildInfo | undefined} */ (module.buildInfo);
|
|
78
|
+
if (buildInfo && buildInfo.hash) {
|
|
79
|
+
hash.update(/** @type {string} */ (buildInfo.hash));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Serializes this instance into the provided serializer context.
|
|
58
85
|
* @param {ObjectSerializerContext} context context
|
|
59
86
|
*/
|
|
60
87
|
serialize(context) {
|
|
@@ -64,6 +91,7 @@ class CssUrlDependency extends ModuleDependency {
|
|
|
64
91
|
}
|
|
65
92
|
|
|
66
93
|
/**
|
|
94
|
+
* Restores this instance from the provided deserializer context.
|
|
67
95
|
* @param {ObjectDeserializerContext} context context
|
|
68
96
|
*/
|
|
69
97
|
deserialize(context) {
|
|
@@ -74,6 +102,7 @@ class CssUrlDependency extends ModuleDependency {
|
|
|
74
102
|
}
|
|
75
103
|
|
|
76
104
|
/**
|
|
105
|
+
* Returns string in quotes if needed.
|
|
77
106
|
* @param {string} str string
|
|
78
107
|
* @returns {string} string in quotes if needed
|
|
79
108
|
*/
|
|
@@ -111,6 +140,7 @@ CssUrlDependency.Template = class CssUrlDependencyTemplate extends (
|
|
|
111
140
|
ModuleDependency.Template
|
|
112
141
|
) {
|
|
113
142
|
/**
|
|
143
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
114
144
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
115
145
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
116
146
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -163,6 +193,7 @@ CssUrlDependency.Template = class CssUrlDependencyTemplate extends (
|
|
|
163
193
|
}
|
|
164
194
|
|
|
165
195
|
/**
|
|
196
|
+
* Returns the url of the asset.
|
|
166
197
|
* @param {object} options options object
|
|
167
198
|
* @param {Module} options.module the module
|
|
168
199
|
* @param {RuntimeSpec=} options.runtime runtime
|
|
@@ -185,5 +216,6 @@ CssUrlDependency.Template = class CssUrlDependencyTemplate extends (
|
|
|
185
216
|
makeSerializable(CssUrlDependency, "webpack/lib/dependencies/CssUrlDependency");
|
|
186
217
|
|
|
187
218
|
CssUrlDependency.PUBLIC_PATH_AUTO = "__WEBPACK_CSS_PUBLIC_PATH_AUTO__";
|
|
219
|
+
CssUrlDependency.PUBLIC_PATH_FULL_HASH = "__WEBPACK_CSS_PUBLIC_PATH_FULL_HASH_";
|
|
188
220
|
|
|
189
221
|
module.exports = CssUrlDependency;
|
|
@@ -10,6 +10,7 @@ const ModuleDependency = require("./ModuleDependency");
|
|
|
10
10
|
|
|
11
11
|
class DelegatedSourceDependency extends ModuleDependency {
|
|
12
12
|
/**
|
|
13
|
+
* Creates an instance of DelegatedSourceDependency.
|
|
13
14
|
* @param {string} request the request string
|
|
14
15
|
*/
|
|
15
16
|
constructor(request) {
|
|
@@ -14,6 +14,7 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
14
14
|
|
|
15
15
|
class DllEntryDependency extends Dependency {
|
|
16
16
|
/**
|
|
17
|
+
* Creates an instance of DllEntryDependency.
|
|
17
18
|
* @param {EntryDependency[]} dependencies dependencies
|
|
18
19
|
* @param {string} name name
|
|
19
20
|
*/
|
|
@@ -29,6 +30,7 @@ class DllEntryDependency extends Dependency {
|
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
/**
|
|
33
|
+
* Serializes this instance into the provided serializer context.
|
|
32
34
|
* @param {ObjectSerializerContext} context context
|
|
33
35
|
*/
|
|
34
36
|
serialize(context) {
|
|
@@ -41,6 +43,7 @@ class DllEntryDependency extends Dependency {
|
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
/**
|
|
46
|
+
* Restores this instance from the provided deserializer context.
|
|
44
47
|
* @param {ObjectDeserializerContext} context context
|
|
45
48
|
*/
|
|
46
49
|
deserialize(context) {
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
const parserStateExportsState = new WeakMap();
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
+
* Processes the provided parser state.
|
|
15
16
|
* @param {JavascriptParserState} parserState parser state
|
|
16
17
|
* @returns {void}
|
|
17
18
|
*/
|
|
@@ -26,6 +27,7 @@ module.exports.bailout = (parserState) => {
|
|
|
26
27
|
};
|
|
27
28
|
|
|
28
29
|
/**
|
|
30
|
+
* Processes the provided parser state.
|
|
29
31
|
* @param {JavascriptParserState} parserState parser state
|
|
30
32
|
* @returns {void}
|
|
31
33
|
*/
|
|
@@ -41,6 +43,7 @@ module.exports.enable = (parserState) => {
|
|
|
41
43
|
};
|
|
42
44
|
|
|
43
45
|
/**
|
|
46
|
+
* Returns true, when enabled.
|
|
44
47
|
* @param {JavascriptParserState} parserState parser state
|
|
45
48
|
* @returns {boolean} true, when enabled
|
|
46
49
|
*/
|
|
@@ -50,6 +53,7 @@ module.exports.isEnabled = (parserState) => {
|
|
|
50
53
|
};
|
|
51
54
|
|
|
52
55
|
/**
|
|
56
|
+
* Processes the provided parser state.
|
|
53
57
|
* @param {JavascriptParserState} parserState parser state
|
|
54
58
|
* @returns {void}
|
|
55
59
|
*/
|
|
@@ -61,6 +65,7 @@ module.exports.setDynamic = (parserState) => {
|
|
|
61
65
|
};
|
|
62
66
|
|
|
63
67
|
/**
|
|
68
|
+
* Processes the provided parser state.
|
|
64
69
|
* @param {JavascriptParserState} parserState parser state
|
|
65
70
|
* @returns {void}
|
|
66
71
|
*/
|
|
@@ -21,11 +21,13 @@ const NullDependency = require("./NullDependency");
|
|
|
21
21
|
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
+
* Defines the sortable set type used by this module.
|
|
24
25
|
* @template T
|
|
25
26
|
* @typedef {import("../util/SortableSet")<T>} SortableSet
|
|
26
27
|
*/
|
|
27
28
|
|
|
28
29
|
/**
|
|
30
|
+
* Returns value of the property.
|
|
29
31
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
30
32
|
* @param {Module} module the module
|
|
31
33
|
* @param {ExportInfoName[] | null} exportName_ name of the export if any
|
|
@@ -89,6 +91,7 @@ const getProperty = (moduleGraph, module, exportName_, property, runtime) => {
|
|
|
89
91
|
|
|
90
92
|
class ExportsInfoDependency extends NullDependency {
|
|
91
93
|
/**
|
|
94
|
+
* Creates an instance of ExportsInfoDependency.
|
|
92
95
|
* @param {Range} range range
|
|
93
96
|
* @param {ExportInfoName[] | null} exportName export name
|
|
94
97
|
* @param {string | null} property property
|
|
@@ -101,6 +104,7 @@ class ExportsInfoDependency extends NullDependency {
|
|
|
101
104
|
}
|
|
102
105
|
|
|
103
106
|
/**
|
|
107
|
+
* Serializes this instance into the provided serializer context.
|
|
104
108
|
* @param {ObjectSerializerContext} context context
|
|
105
109
|
*/
|
|
106
110
|
serialize(context) {
|
|
@@ -112,6 +116,7 @@ class ExportsInfoDependency extends NullDependency {
|
|
|
112
116
|
}
|
|
113
117
|
|
|
114
118
|
/**
|
|
119
|
+
* Restores this instance from the provided deserializer context.
|
|
115
120
|
* @param {ObjectDeserializerContext} context context
|
|
116
121
|
* @returns {ExportsInfoDependency} ExportsInfoDependency
|
|
117
122
|
*/
|
|
@@ -135,6 +140,7 @@ ExportsInfoDependency.Template = class ExportsInfoDependencyTemplate extends (
|
|
|
135
140
|
NullDependency.Template
|
|
136
141
|
) {
|
|
137
142
|
/**
|
|
143
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
138
144
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
139
145
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
140
146
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -19,6 +19,7 @@ const ExternalModuleInitFragment = require("./ExternalModuleInitFragment");
|
|
|
19
19
|
|
|
20
20
|
class ExternalModuleDependency extends CachedConstDependency {
|
|
21
21
|
/**
|
|
22
|
+
* Creates an instance of ExternalModuleDependency.
|
|
22
23
|
* @param {string} module module
|
|
23
24
|
* @param {ArrayImportSpecifiers} importSpecifiers import specifiers
|
|
24
25
|
* @param {string | undefined} defaultImport default import
|
|
@@ -44,6 +45,7 @@ class ExternalModuleDependency extends CachedConstDependency {
|
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
/**
|
|
48
|
+
* Create hash update.
|
|
47
49
|
* @returns {string} hash update
|
|
48
50
|
*/
|
|
49
51
|
_createHashUpdate() {
|
|
@@ -53,6 +55,7 @@ class ExternalModuleDependency extends CachedConstDependency {
|
|
|
53
55
|
}
|
|
54
56
|
|
|
55
57
|
/**
|
|
58
|
+
* Serializes this instance into the provided serializer context.
|
|
56
59
|
* @param {ObjectSerializerContext} context context
|
|
57
60
|
*/
|
|
58
61
|
serialize(context) {
|
|
@@ -64,6 +67,7 @@ class ExternalModuleDependency extends CachedConstDependency {
|
|
|
64
67
|
}
|
|
65
68
|
|
|
66
69
|
/**
|
|
70
|
+
* Restores this instance from the provided deserializer context.
|
|
67
71
|
* @param {ObjectDeserializerContext} context context
|
|
68
72
|
*/
|
|
69
73
|
deserialize(context) {
|
|
@@ -84,6 +88,7 @@ ExternalModuleDependency.Template = class ExternalModuleDependencyTemplate exten
|
|
|
84
88
|
CachedConstDependency.Template
|
|
85
89
|
) {
|
|
86
90
|
/**
|
|
91
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
87
92
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
88
93
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
89
94
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -75,6 +75,7 @@ class ExternalModuleInitFragment extends InitFragment {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
/**
|
|
78
|
+
* Returns the source code that will be included as initialization code.
|
|
78
79
|
* @param {GenerateContext} context context
|
|
79
80
|
* @returns {string | Source | undefined} the source code that will be included as initialization code
|
|
80
81
|
*/
|
|
@@ -107,6 +108,7 @@ class ExternalModuleInitFragment extends InitFragment {
|
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
/**
|
|
111
|
+
* Serializes this instance into the provided serializer context.
|
|
110
112
|
* @param {ObjectSerializerContext} context context
|
|
111
113
|
*/
|
|
112
114
|
serialize(context) {
|
|
@@ -118,6 +120,7 @@ class ExternalModuleInitFragment extends InitFragment {
|
|
|
118
120
|
}
|
|
119
121
|
|
|
120
122
|
/**
|
|
123
|
+
* Restores this instance from the provided deserializer context.
|
|
121
124
|
* @param {ObjectDeserializerContext} context context
|
|
122
125
|
*/
|
|
123
126
|
deserialize(context) {
|
|
@@ -20,6 +20,7 @@ const NullDependency = require("./NullDependency");
|
|
|
20
20
|
|
|
21
21
|
class ExternalModuleInitFragmentDependency extends NullDependency {
|
|
22
22
|
/**
|
|
23
|
+
* Creates an instance of ExternalModuleInitFragmentDependency.
|
|
23
24
|
* @param {string} module module
|
|
24
25
|
* @param {ArrayImportSpecifiers} importSpecifiers import specifiers
|
|
25
26
|
* @param {string | undefined} defaultImport default import
|
|
@@ -32,6 +33,7 @@ class ExternalModuleInitFragmentDependency extends NullDependency {
|
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
/**
|
|
36
|
+
* Serializes this instance into the provided serializer context.
|
|
35
37
|
* @param {ObjectSerializerContext} context context
|
|
36
38
|
*/
|
|
37
39
|
serialize(context) {
|
|
@@ -42,6 +44,7 @@ class ExternalModuleInitFragmentDependency extends NullDependency {
|
|
|
42
44
|
}
|
|
43
45
|
|
|
44
46
|
/**
|
|
47
|
+
* Restores this instance from the provided deserializer context.
|
|
45
48
|
* @param {ObjectDeserializerContext} context context
|
|
46
49
|
*/
|
|
47
50
|
deserialize(context) {
|
|
@@ -61,6 +64,7 @@ ExternalModuleInitFragmentDependency.Template = class ExternalModuleConstDepende
|
|
|
61
64
|
DependencyTemplate
|
|
62
65
|
) {
|
|
63
66
|
/**
|
|
67
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
64
68
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
65
69
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
66
70
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -24,6 +24,7 @@ const NullDependency = require("./NullDependency");
|
|
|
24
24
|
|
|
25
25
|
class HarmonyAcceptDependency extends NullDependency {
|
|
26
26
|
/**
|
|
27
|
+
* Creates an instance of HarmonyAcceptDependency.
|
|
27
28
|
* @param {Range} range expression range
|
|
28
29
|
* @param {HarmonyAcceptImportDependency[]} dependencies import dependencies
|
|
29
30
|
* @param {boolean} hasCallback true, if the range wraps an existing callback
|
|
@@ -40,6 +41,7 @@ class HarmonyAcceptDependency extends NullDependency {
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
/**
|
|
44
|
+
* Serializes this instance into the provided serializer context.
|
|
43
45
|
* @param {ObjectSerializerContext} context context
|
|
44
46
|
*/
|
|
45
47
|
serialize(context) {
|
|
@@ -51,6 +53,7 @@ class HarmonyAcceptDependency extends NullDependency {
|
|
|
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) {
|
|
@@ -71,6 +74,7 @@ HarmonyAcceptDependency.Template = class HarmonyAcceptDependencyTemplate extends
|
|
|
71
74
|
NullDependency.Template
|
|
72
75
|
) {
|
|
73
76
|
/**
|
|
77
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
74
78
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
75
79
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
76
80
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -88,6 +92,7 @@ HarmonyAcceptDependency.Template = class HarmonyAcceptDependencyTemplate extends
|
|
|
88
92
|
} = templateContext;
|
|
89
93
|
|
|
90
94
|
/**
|
|
95
|
+
* Gets dependency module id.
|
|
91
96
|
* @param {Dependency} dependency the dependency to get module id for
|
|
92
97
|
* @returns {ModuleId | null} the module id or null if not found
|
|
93
98
|
*/
|
|
@@ -97,6 +102,7 @@ HarmonyAcceptDependency.Template = class HarmonyAcceptDependencyTemplate extends
|
|
|
97
102
|
);
|
|
98
103
|
|
|
99
104
|
/**
|
|
105
|
+
* Checks whether this harmony accept dependency is related harmony import dependency.
|
|
100
106
|
* @param {Dependency} a the first dependency
|
|
101
107
|
* @param {Dependency} b the second dependency
|
|
102
108
|
* @returns {boolean} true if the dependencies are related
|
|
@@ -12,6 +12,7 @@ const NullDependency = require("./NullDependency");
|
|
|
12
12
|
|
|
13
13
|
class HarmonyAcceptImportDependency extends HarmonyImportDependency {
|
|
14
14
|
/**
|
|
15
|
+
* Creates an instance of HarmonyAcceptImportDependency.
|
|
15
16
|
* @param {string} request the request string
|
|
16
17
|
*/
|
|
17
18
|
constructor(request) {
|
|
@@ -31,6 +31,7 @@ HarmonyCompatibilityDependency.Template = class HarmonyExportDependencyTemplate
|
|
|
31
31
|
NullDependency.Template
|
|
32
32
|
) {
|
|
33
33
|
/**
|
|
34
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
34
35
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
35
36
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
36
37
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const EnvironmentNotSupportAsyncWarning = require("../EnvironmentNotSupportAsyncWarning");
|
|
9
8
|
const { JAVASCRIPT_MODULE_TYPE_ESM } = require("../ModuleTypeConstants");
|
|
9
|
+
const EnvironmentNotSupportAsyncWarning = require("../errors/EnvironmentNotSupportAsyncWarning");
|
|
10
10
|
const DynamicExports = require("./DynamicExports");
|
|
11
11
|
const HarmonyCompatibilityDependency = require("./HarmonyCompatibilityDependency");
|
|
12
12
|
const HarmonyExports = require("./HarmonyExports");
|
|
@@ -18,6 +18,7 @@ const PLUGIN_NAME = "HarmonyDetectionParserPlugin";
|
|
|
18
18
|
|
|
19
19
|
module.exports = class HarmonyDetectionParserPlugin {
|
|
20
20
|
/**
|
|
21
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
21
22
|
* @param {JavascriptParser} parser the parser
|
|
22
23
|
* @returns {void}
|
|
23
24
|
*/
|
|
@@ -72,6 +73,7 @@ module.exports = class HarmonyDetectionParserPlugin {
|
|
|
72
73
|
});
|
|
73
74
|
|
|
74
75
|
/**
|
|
76
|
+
* Returns true if in harmony.
|
|
75
77
|
* @returns {boolean | undefined} true if in harmony
|
|
76
78
|
*/
|
|
77
79
|
const skipInHarmony = () => {
|
|
@@ -81,6 +83,7 @@ module.exports = class HarmonyDetectionParserPlugin {
|
|
|
81
83
|
};
|
|
82
84
|
|
|
83
85
|
/**
|
|
86
|
+
* Returns null if in harmony.
|
|
84
87
|
* @returns {null | undefined} null if in harmony
|
|
85
88
|
*/
|
|
86
89
|
const nullInHarmony = () => {
|