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
|
@@ -7,10 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
const { basename, extname } = require("path");
|
|
9
9
|
const util = require("util");
|
|
10
|
-
const mime = require("mime-types");
|
|
11
10
|
const Chunk = require("./Chunk");
|
|
12
11
|
const Module = require("./Module");
|
|
13
12
|
const { parseResource } = require("./util/identifier");
|
|
13
|
+
const memoize = require("./util/memoize");
|
|
14
|
+
|
|
15
|
+
const getMimeTypes = memoize(() => require("./util/mimeTypes"));
|
|
14
16
|
|
|
15
17
|
/** @typedef {import("./ChunkGraph")} ChunkGraph */
|
|
16
18
|
/** @typedef {import("./ChunkGraph").ModuleId} ModuleId */
|
|
@@ -36,6 +38,7 @@ const prepareId = (id) => {
|
|
|
36
38
|
};
|
|
37
39
|
|
|
38
40
|
/**
|
|
41
|
+
* Defines the replacer function callback.
|
|
39
42
|
* @callback ReplacerFunction
|
|
40
43
|
* @param {string} match
|
|
41
44
|
* @param {string | undefined} arg
|
|
@@ -43,6 +46,7 @@ const prepareId = (id) => {
|
|
|
43
46
|
*/
|
|
44
47
|
|
|
45
48
|
/**
|
|
49
|
+
* Returns hash replacer function.
|
|
46
50
|
* @param {ReplacerFunction} replacer replacer
|
|
47
51
|
* @param {((arg0: number) => string) | undefined} handler handler
|
|
48
52
|
* @param {AssetInfo | undefined} assetInfo asset info
|
|
@@ -82,6 +86,7 @@ const hashLength = (replacer, handler, assetInfo, hashName) => {
|
|
|
82
86
|
/** @typedef {(match: string, arg: string | undefined, input: string) => string} Replacer */
|
|
83
87
|
|
|
84
88
|
/**
|
|
89
|
+
* Returns replacer.
|
|
85
90
|
* @param {string | number | null | undefined | (() => string | number | null | undefined)} value value
|
|
86
91
|
* @param {boolean=} allowEmpty allow empty
|
|
87
92
|
* @returns {Replacer} replacer
|
|
@@ -112,6 +117,7 @@ const replacer = (value, allowEmpty) => {
|
|
|
112
117
|
const deprecationCache = new Map();
|
|
113
118
|
const deprecatedFunction = (() => () => {})();
|
|
114
119
|
/**
|
|
120
|
+
* Returns function with deprecation output.
|
|
115
121
|
* @template {(...args: EXPECTED_ANY[]) => EXPECTED_ANY} T
|
|
116
122
|
* @param {T} fn function
|
|
117
123
|
* @param {string} message message
|
|
@@ -136,6 +142,7 @@ const deprecated = (fn, message, code) => {
|
|
|
136
142
|
/** @typedef {string | TemplatePathFn} TemplatePath */
|
|
137
143
|
|
|
138
144
|
/**
|
|
145
|
+
* Returns the interpolated path.
|
|
139
146
|
* @param {TemplatePath} path the raw path
|
|
140
147
|
* @param {PathData} data context data
|
|
141
148
|
* @param {AssetInfo=} assetInfo extra info about the asset (will be written to)
|
|
@@ -163,7 +170,7 @@ const interpolate = (path, data, assetInfo) => {
|
|
|
163
170
|
// check that filename is data uri
|
|
164
171
|
const match = data.filename.match(/^data:([^;,]+)/);
|
|
165
172
|
if (match) {
|
|
166
|
-
const ext =
|
|
173
|
+
const ext = getMimeTypes().extension(match[1]);
|
|
167
174
|
const emptyReplacer = replacer("", true);
|
|
168
175
|
// "XXXX" used for `updateHash`, so we don't need it here
|
|
169
176
|
const contentHash =
|
|
@@ -386,7 +393,7 @@ const plugin = "TemplatedPathPlugin";
|
|
|
386
393
|
|
|
387
394
|
class TemplatedPathPlugin {
|
|
388
395
|
/**
|
|
389
|
-
*
|
|
396
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
390
397
|
* @param {Compiler} compiler the compiler instance
|
|
391
398
|
* @returns {void}
|
|
392
399
|
*/
|
package/lib/UseStrictPlugin.js
CHANGED
|
@@ -23,7 +23,7 @@ const PLUGIN_NAME = "UseStrictPlugin";
|
|
|
23
23
|
|
|
24
24
|
class UseStrictPlugin {
|
|
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
|
*/
|
|
@@ -32,6 +32,7 @@ class UseStrictPlugin {
|
|
|
32
32
|
PLUGIN_NAME,
|
|
33
33
|
(compilation, { normalModuleFactory }) => {
|
|
34
34
|
/**
|
|
35
|
+
* Handles the hook callback for this code path.
|
|
35
36
|
* @param {JavascriptParser} parser the parser
|
|
36
37
|
* @param {JavascriptParserOptions} parserOptions the javascript parser options
|
|
37
38
|
*/
|
|
@@ -5,17 +5,85 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const CaseSensitiveModulesWarning = require("./CaseSensitiveModulesWarning");
|
|
9
|
-
|
|
10
8
|
/** @typedef {import("./Compiler")} Compiler */
|
|
11
9
|
/** @typedef {import("./Module")} Module */
|
|
10
|
+
/** @typedef {import("./ModuleGraph")} ModuleGraph */
|
|
12
11
|
/** @typedef {import("./NormalModule")} NormalModule */
|
|
13
12
|
|
|
13
|
+
const WebpackError = require("./errors/WebpackError");
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Sorts the conflicting modules by identifier to keep warning output stable.
|
|
17
|
+
* @param {Module[]} modules the modules to be sorted
|
|
18
|
+
* @returns {Module[]} sorted version of original modules
|
|
19
|
+
*/
|
|
20
|
+
const sortModules = (modules) =>
|
|
21
|
+
modules.sort((a, b) => {
|
|
22
|
+
const aIdent = a.identifier();
|
|
23
|
+
const bIdent = b.identifier();
|
|
24
|
+
/* istanbul ignore next */
|
|
25
|
+
if (aIdent < bIdent) return -1;
|
|
26
|
+
/* istanbul ignore next */
|
|
27
|
+
if (aIdent > bIdent) return 1;
|
|
28
|
+
/* istanbul ignore next */
|
|
29
|
+
return 0;
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Formats the conflicting modules and one representative incoming reason for
|
|
34
|
+
* each module into the warning body.
|
|
35
|
+
* @param {Module[]} modules each module from throw
|
|
36
|
+
* @param {ModuleGraph} moduleGraph the module graph
|
|
37
|
+
* @returns {string} each message from provided modules
|
|
38
|
+
*/
|
|
39
|
+
const createModulesListMessage = (modules, moduleGraph) =>
|
|
40
|
+
modules
|
|
41
|
+
.map((m) => {
|
|
42
|
+
let message = `* ${m.identifier()}`;
|
|
43
|
+
const validReasons = [
|
|
44
|
+
...moduleGraph.getIncomingConnectionsByOriginModule(m).keys()
|
|
45
|
+
].filter(Boolean);
|
|
46
|
+
|
|
47
|
+
if (validReasons.length > 0) {
|
|
48
|
+
message += `\n Used by ${validReasons.length} module(s), i. e.`;
|
|
49
|
+
message += `\n ${
|
|
50
|
+
/** @type {Module[]} */ (validReasons)[0].identifier()
|
|
51
|
+
}`;
|
|
52
|
+
}
|
|
53
|
+
return message;
|
|
54
|
+
})
|
|
55
|
+
.join("\n");
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Warning emitted when webpack finds modules whose identifiers differ only by
|
|
59
|
+
* letter casing, which can behave inconsistently across filesystems.
|
|
60
|
+
*/
|
|
61
|
+
class CaseSensitiveModulesWarning extends WebpackError {
|
|
62
|
+
/**
|
|
63
|
+
* Builds a warning message that lists the case-conflicting modules and
|
|
64
|
+
* representative importers that caused them to be included.
|
|
65
|
+
* @param {Iterable<Module>} modules modules that were detected
|
|
66
|
+
* @param {ModuleGraph} moduleGraph the module graph
|
|
67
|
+
*/
|
|
68
|
+
constructor(modules, moduleGraph) {
|
|
69
|
+
const sortedModules = sortModules([...modules]);
|
|
70
|
+
const modulesList = createModulesListMessage(sortedModules, moduleGraph);
|
|
71
|
+
super(`There are multiple modules with names that only differ in casing.
|
|
72
|
+
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
|
|
73
|
+
Use equal casing. Compare these module identifiers:
|
|
74
|
+
${modulesList}`);
|
|
75
|
+
|
|
76
|
+
/** @type {string} */
|
|
77
|
+
this.name = "CaseSensitiveModulesWarning";
|
|
78
|
+
this.module = sortedModules[0];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
14
82
|
const PLUGIN_NAME = "WarnCaseSensitiveModulesPlugin";
|
|
15
83
|
|
|
16
84
|
class WarnCaseSensitiveModulesPlugin {
|
|
17
85
|
/**
|
|
18
|
-
*
|
|
86
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
19
87
|
* @param {Compiler} compiler the compiler instance
|
|
20
88
|
* @returns {void}
|
|
21
89
|
*/
|
|
@@ -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
|
|
|
10
10
|
/** @typedef {import("./Compiler")} Compiler */
|
|
11
11
|
|
|
@@ -25,7 +25,7 @@ class WarnDeprecatedOptionPlugin {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
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
|
*/
|
|
@@ -5,7 +5,22 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const
|
|
8
|
+
const WebpackError = require("./errors/WebpackError");
|
|
9
|
+
|
|
10
|
+
class NoModeWarning extends WebpackError {
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
|
|
14
|
+
/** @type {string} */
|
|
15
|
+
this.name = "NoModeWarning";
|
|
16
|
+
this.message =
|
|
17
|
+
"configuration\n" +
|
|
18
|
+
"The 'mode' option has not been set, webpack will fallback to 'production' for this value.\n" +
|
|
19
|
+
"Set 'mode' option to 'development' or 'production' to enable defaults for each environment.\n" +
|
|
20
|
+
"You can also set it to 'none' to disable any default behavior. " +
|
|
21
|
+
"Learn more: https://webpack.js.org/configuration/mode/";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
9
24
|
|
|
10
25
|
/** @typedef {import("./Compiler")} Compiler */
|
|
11
26
|
|
|
@@ -13,7 +28,7 @@ const PLUGIN_NAME = "WarnNoModeSetPlugin";
|
|
|
13
28
|
|
|
14
29
|
class WarnNoModeSetPlugin {
|
|
15
30
|
/**
|
|
16
|
-
*
|
|
31
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
17
32
|
* @param {Compiler} compiler the compiler instance
|
|
18
33
|
* @returns {void}
|
|
19
34
|
*/
|
package/lib/WatchIgnorePlugin.js
CHANGED
|
@@ -18,6 +18,7 @@ const IGNORE_TIME_ENTRY = "ignore";
|
|
|
18
18
|
|
|
19
19
|
class IgnoringWatchFileSystem {
|
|
20
20
|
/**
|
|
21
|
+
* Creates an instance of IgnoringWatchFileSystem.
|
|
21
22
|
* @param {WatchFileSystem} wfs original file system
|
|
22
23
|
* @param {WatchIgnorePluginOptions["paths"]} paths ignored paths
|
|
23
24
|
*/
|
|
@@ -31,6 +32,7 @@ class IgnoringWatchFileSystem {
|
|
|
31
32
|
files = [...files];
|
|
32
33
|
dirs = [...dirs];
|
|
33
34
|
/**
|
|
35
|
+
* Returns true, if path is ignored.
|
|
34
36
|
* @param {string} path path to check
|
|
35
37
|
* @returns {boolean} true, if path is ignored
|
|
36
38
|
*/
|
|
@@ -119,6 +121,7 @@ const PLUGIN_NAME = "WatchIgnorePlugin";
|
|
|
119
121
|
|
|
120
122
|
class WatchIgnorePlugin {
|
|
121
123
|
/**
|
|
124
|
+
* Creates an instance of WatchIgnorePlugin.
|
|
122
125
|
* @param {WatchIgnorePluginOptions} options options
|
|
123
126
|
*/
|
|
124
127
|
constructor(options) {
|
|
@@ -127,7 +130,7 @@ class WatchIgnorePlugin {
|
|
|
127
130
|
}
|
|
128
131
|
|
|
129
132
|
/**
|
|
130
|
-
*
|
|
133
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
131
134
|
* @param {Compiler} compiler the compiler instance
|
|
132
135
|
* @returns {void}
|
|
133
136
|
*/
|
package/lib/Watching.js
CHANGED
|
@@ -11,13 +11,13 @@ const Stats = require("./Stats");
|
|
|
11
11
|
/** @typedef {import("./Compilation")} Compilation */
|
|
12
12
|
/** @typedef {import("./Compiler")} Compiler */
|
|
13
13
|
/** @typedef {import("./Compiler").ErrorCallback} ErrorCallback */
|
|
14
|
-
/** @typedef {import("./WebpackError")} WebpackError */
|
|
15
14
|
/** @typedef {import("./logging/Logger").Logger} Logger */
|
|
16
15
|
/** @typedef {import("./util/fs").TimeInfoEntries} TimeInfoEntries */
|
|
17
16
|
/** @typedef {import("./util/fs").WatchFileSystem} WatchFileSystem */
|
|
18
17
|
/** @typedef {import("./util/fs").Watcher} Watcher */
|
|
19
18
|
|
|
20
19
|
/**
|
|
20
|
+
* Defines the callback type used by this module.
|
|
21
21
|
* @template T
|
|
22
22
|
* @template [R=void]
|
|
23
23
|
* @typedef {import("./webpack").Callback<T, R>} Callback
|
|
@@ -27,6 +27,7 @@ const Stats = require("./Stats");
|
|
|
27
27
|
|
|
28
28
|
class Watching {
|
|
29
29
|
/**
|
|
30
|
+
* Creates an instance of Watching.
|
|
30
31
|
* @param {Compiler} compiler the compiler
|
|
31
32
|
* @param {WatchOptions} watchOptions options
|
|
32
33
|
* @param {Callback<Stats>} handler completion handler
|
|
@@ -82,6 +83,7 @@ class Watching {
|
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
/**
|
|
86
|
+
* Merge with collected.
|
|
85
87
|
* @param {ReadonlySet<string> | undefined | null} changedFiles changed files
|
|
86
88
|
* @param {ReadonlySet<string> | undefined | null} removedFiles removed files
|
|
87
89
|
*/
|
|
@@ -105,6 +107,7 @@ class Watching {
|
|
|
105
107
|
}
|
|
106
108
|
|
|
107
109
|
/**
|
|
110
|
+
* Processes the provided file time info entries.
|
|
108
111
|
* @param {TimeInfoEntries=} fileTimeInfoEntries info for files
|
|
109
112
|
* @param {TimeInfoEntries=} contextTimeInfoEntries info for directories
|
|
110
113
|
* @param {ReadonlySet<string>=} changedFiles changed files
|
|
@@ -183,6 +186,7 @@ class Watching {
|
|
|
183
186
|
this.compiler.hooks.watchRun.callAsync(this.compiler, (err) => {
|
|
184
187
|
if (err) return this._done(err);
|
|
185
188
|
/**
|
|
189
|
+
* Processes the provided err.
|
|
186
190
|
* @param {Error | null} err error
|
|
187
191
|
* @param {Compilation=} _compilation compilation
|
|
188
192
|
* @returns {void}
|
|
@@ -242,6 +246,7 @@ class Watching {
|
|
|
242
246
|
}
|
|
243
247
|
|
|
244
248
|
/**
|
|
249
|
+
* Returns the compilation stats.
|
|
245
250
|
* @param {Compilation} compilation the compilation
|
|
246
251
|
* @returns {Stats} the compilation stats
|
|
247
252
|
*/
|
|
@@ -251,6 +256,7 @@ class Watching {
|
|
|
251
256
|
}
|
|
252
257
|
|
|
253
258
|
/**
|
|
259
|
+
* Processes the provided err.
|
|
254
260
|
* @param {(Error | null)=} err an optional error
|
|
255
261
|
* @param {Compilation=} compilation the compilation
|
|
256
262
|
* @returns {void}
|
|
@@ -266,6 +272,7 @@ class Watching {
|
|
|
266
272
|
let stats;
|
|
267
273
|
|
|
268
274
|
/**
|
|
275
|
+
* Processes the provided err.
|
|
269
276
|
* @param {Error} err error
|
|
270
277
|
* @param {ErrorCallback[]=} cbs callbacks
|
|
271
278
|
*/
|
|
@@ -349,6 +356,7 @@ class Watching {
|
|
|
349
356
|
}
|
|
350
357
|
|
|
351
358
|
/**
|
|
359
|
+
* Processes the provided file.
|
|
352
360
|
* @param {Iterable<string>} files watched files
|
|
353
361
|
* @param {Iterable<string>} dirs watched directories
|
|
354
362
|
* @param {Iterable<string>} missing watched existence entries
|
|
@@ -398,6 +406,7 @@ class Watching {
|
|
|
398
406
|
}
|
|
399
407
|
|
|
400
408
|
/**
|
|
409
|
+
* Processes the provided error callback.
|
|
401
410
|
* @param {ErrorCallback=} callback signals when the build has completed again
|
|
402
411
|
* @returns {void}
|
|
403
412
|
*/
|
|
@@ -414,6 +423,7 @@ class Watching {
|
|
|
414
423
|
}
|
|
415
424
|
|
|
416
425
|
/**
|
|
426
|
+
* Processes the provided file time info entries.
|
|
417
427
|
* @param {TimeInfoEntries=} fileTimeInfoEntries info for files
|
|
418
428
|
* @param {TimeInfoEntries=} contextTimeInfoEntries info for directories
|
|
419
429
|
* @param {ReadonlySet<string>=} changedFiles changed files
|
|
@@ -456,6 +466,7 @@ class Watching {
|
|
|
456
466
|
}
|
|
457
467
|
|
|
458
468
|
/**
|
|
469
|
+
* Processes the provided error callback.
|
|
459
470
|
* @param {ErrorCallback} callback signals when the watcher is closed
|
|
460
471
|
* @returns {void}
|
|
461
472
|
*/
|
|
@@ -467,7 +478,8 @@ class Watching {
|
|
|
467
478
|
return;
|
|
468
479
|
}
|
|
469
480
|
/**
|
|
470
|
-
*
|
|
481
|
+
* Processes the provided err.
|
|
482
|
+
* @param {Error | null} err error if any
|
|
471
483
|
* @param {Compilation=} compilation compilation if any
|
|
472
484
|
*/
|
|
473
485
|
const finalCallback = (err, compilation) => {
|
|
@@ -481,7 +493,8 @@ class Watching {
|
|
|
481
493
|
this.compiler.contextTimestamps = undefined;
|
|
482
494
|
this.compiler.fsStartTime = undefined;
|
|
483
495
|
/**
|
|
484
|
-
*
|
|
496
|
+
* Processes the provided err.
|
|
497
|
+
* @param {Error | null} err error if any
|
|
485
498
|
*/
|
|
486
499
|
const shutdown = (err) => {
|
|
487
500
|
this.compiler.hooks.watchClose.call();
|
package/lib/WebpackError.js
CHANGED
|
@@ -5,77 +5,6 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/** @typedef {import("./Chunk")} Chunk */
|
|
12
|
-
/** @typedef {import("./Dependency").DependencyLocation} DependencyLocation */
|
|
13
|
-
/** @typedef {import("./Module")} Module */
|
|
14
|
-
/** @typedef {import("./serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
|
|
15
|
-
/** @typedef {import("./serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
|
|
16
|
-
|
|
17
|
-
class WebpackError extends Error {
|
|
18
|
-
/**
|
|
19
|
-
* Creates an instance of WebpackError.
|
|
20
|
-
* @param {string=} message error message
|
|
21
|
-
* @param {{ cause?: unknown }} options error options
|
|
22
|
-
*/
|
|
23
|
-
constructor(message, options = {}) {
|
|
24
|
-
super(message, options);
|
|
25
|
-
|
|
26
|
-
/** @type {string=} */
|
|
27
|
-
this.details = undefined;
|
|
28
|
-
/** @type {(Module | null)=} */
|
|
29
|
-
this.module = undefined;
|
|
30
|
-
/** @type {DependencyLocation=} */
|
|
31
|
-
this.loc = undefined;
|
|
32
|
-
/** @type {boolean=} */
|
|
33
|
-
this.hideStack = undefined;
|
|
34
|
-
/** @type {Chunk=} */
|
|
35
|
-
this.chunk = undefined;
|
|
36
|
-
/** @type {string=} */
|
|
37
|
-
this.file = undefined;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @returns {string} inspect message
|
|
42
|
-
*/
|
|
43
|
-
[inspect]() {
|
|
44
|
-
return (
|
|
45
|
-
this.stack +
|
|
46
|
-
(this.details ? `\n${this.details}` : "") +
|
|
47
|
-
(this.cause ? `\n${this.cause}` : "")
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* @param {ObjectSerializerContext} context context
|
|
53
|
-
*/
|
|
54
|
-
serialize({ write }) {
|
|
55
|
-
write(this.name);
|
|
56
|
-
write(this.message);
|
|
57
|
-
write(this.stack);
|
|
58
|
-
write(this.cause);
|
|
59
|
-
write(this.details);
|
|
60
|
-
write(this.loc);
|
|
61
|
-
write(this.hideStack);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* @param {ObjectDeserializerContext} context context
|
|
66
|
-
*/
|
|
67
|
-
deserialize({ read }) {
|
|
68
|
-
this.name = read();
|
|
69
|
-
this.message = read();
|
|
70
|
-
this.stack = read();
|
|
71
|
-
this.cause = read();
|
|
72
|
-
this.details = read();
|
|
73
|
-
this.loc = read();
|
|
74
|
-
this.hideStack = read();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
makeSerializable(WebpackError, "webpack/lib/WebpackError");
|
|
79
|
-
|
|
80
|
-
/** @type {typeof WebpackError} */
|
|
81
|
-
module.exports = WebpackError;
|
|
8
|
+
// TODO remove in webpack 6
|
|
9
|
+
// Some old plugins use `require("webpack/lib/WebpackError")`, in webpack@6 developer should migrate to `compiler.webpack.WebpackError`
|
|
10
|
+
module.exports = require("./errors/WebpackError");
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const IgnoreErrorModuleFactory = require("./IgnoreErrorModuleFactory");
|
|
9
8
|
const {
|
|
10
9
|
JAVASCRIPT_MODULE_TYPE_AUTO,
|
|
11
10
|
JAVASCRIPT_MODULE_TYPE_DYNAMIC,
|
|
12
11
|
JAVASCRIPT_MODULE_TYPE_ESM
|
|
13
12
|
} = require("./ModuleTypeConstants");
|
|
14
13
|
const WebpackIsIncludedDependency = require("./dependencies/WebpackIsIncludedDependency");
|
|
14
|
+
const IgnoreErrorModuleFactory = require("./errors/IgnoreErrorModuleFactory");
|
|
15
15
|
const {
|
|
16
16
|
toConstantDependency
|
|
17
17
|
} = require("./javascript/JavascriptParserHelpers");
|
|
@@ -25,6 +25,7 @@ const PLUGIN_NAME = "WebpackIsIncludedPlugin";
|
|
|
25
25
|
|
|
26
26
|
class WebpackIsIncludedPlugin {
|
|
27
27
|
/**
|
|
28
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
28
29
|
* @param {Compiler} compiler the compiler instance
|
|
29
30
|
* @returns {void}
|
|
30
31
|
*/
|
|
@@ -42,6 +43,7 @@ class WebpackIsIncludedPlugin {
|
|
|
42
43
|
);
|
|
43
44
|
|
|
44
45
|
/**
|
|
46
|
+
* Handles the hook callback for this code path.
|
|
45
47
|
* @param {JavascriptParser} parser the parser
|
|
46
48
|
* @returns {void}
|
|
47
49
|
*/
|
|
@@ -90,6 +90,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
|
+
* Returns options object.
|
|
93
94
|
* @param {WebpackOptions} options options object
|
|
94
95
|
* @param {Compiler} compiler compiler object
|
|
95
96
|
* @param {WebpackOptionsInterception=} interception intercepted options
|
|
@@ -424,6 +425,18 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
424
425
|
new CssModulesPlugin().apply(compiler);
|
|
425
426
|
}
|
|
426
427
|
|
|
428
|
+
if (options.experiments.html) {
|
|
429
|
+
const HtmlModulesPlugin = require("./html/HtmlModulesPlugin");
|
|
430
|
+
|
|
431
|
+
new HtmlModulesPlugin().apply(compiler);
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
if (options.experiments.typescript) {
|
|
435
|
+
const TypeScriptPlugin = require("./typescript/TypeScriptPlugin");
|
|
436
|
+
|
|
437
|
+
new TypeScriptPlugin().apply(compiler);
|
|
438
|
+
}
|
|
439
|
+
|
|
427
440
|
if (options.experiments.lazyCompilation) {
|
|
428
441
|
const LazyCompilationPlugin = require("./hmr/LazyCompilationPlugin");
|
|
429
442
|
|
|
@@ -516,7 +529,7 @@ class WebpackOptionsApply extends OptionsApply {
|
|
|
516
529
|
}).apply(compiler);
|
|
517
530
|
if (options.amd !== false) {
|
|
518
531
|
const AMDPlugin = require("./dependencies/AMDPlugin");
|
|
519
|
-
const RequireJsStuffPlugin = require("./RequireJsStuffPlugin");
|
|
532
|
+
const RequireJsStuffPlugin = require("./dependencies/RequireJsStuffPlugin");
|
|
520
533
|
|
|
521
534
|
new AMDPlugin(options.amd || {}).apply(compiler);
|
|
522
535
|
new RequireJsStuffPlugin().apply(compiler);
|
|
@@ -13,6 +13,7 @@ const { getNormalizedWebpackOptions } = require("./config/normalization");
|
|
|
13
13
|
|
|
14
14
|
class WebpackOptionsDefaulter {
|
|
15
15
|
/**
|
|
16
|
+
* Returns normalized webpack options.
|
|
16
17
|
* @param {WebpackOptions} options webpack options
|
|
17
18
|
* @returns {WebpackOptionsNormalized} normalized webpack options
|
|
18
19
|
*/
|
|
@@ -12,6 +12,7 @@ const {
|
|
|
12
12
|
CSS_TYPE,
|
|
13
13
|
CSS_URL_TYPE,
|
|
14
14
|
CSS_URL_TYPES,
|
|
15
|
+
HTML_TYPE,
|
|
15
16
|
JAVASCRIPT_AND_CSS_URL_TYPES,
|
|
16
17
|
JAVASCRIPT_TYPE,
|
|
17
18
|
JAVASCRIPT_TYPES,
|
|
@@ -29,6 +30,7 @@ const RuntimeGlobals = require("../RuntimeGlobals");
|
|
|
29
30
|
|
|
30
31
|
class AssetSourceGenerator extends Generator {
|
|
31
32
|
/**
|
|
33
|
+
* Creates an instance of AssetSourceGenerator.
|
|
32
34
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
33
35
|
*/
|
|
34
36
|
constructor(moduleGraph) {
|
|
@@ -38,6 +40,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
/**
|
|
43
|
+
* Generates generated code for this runtime module.
|
|
41
44
|
* @param {NormalModule} module module for which the code should be generated
|
|
42
45
|
* @param {GenerateContext} generateContext context for generate
|
|
43
46
|
* @returns {Source | null} generated code
|
|
@@ -97,6 +100,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
97
100
|
}
|
|
98
101
|
|
|
99
102
|
/**
|
|
103
|
+
* Generates fallback output for the provided error condition.
|
|
100
104
|
* @param {Error} error the error
|
|
101
105
|
* @param {NormalModule} module module for which the code should be generated
|
|
102
106
|
* @param {GenerateContext} generateContext context for generate
|
|
@@ -115,6 +119,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
115
119
|
}
|
|
116
120
|
|
|
117
121
|
/**
|
|
122
|
+
* Returns the reason this module cannot be concatenated, when one exists.
|
|
118
123
|
* @param {NormalModule} module module for which the bailout reason should be determined
|
|
119
124
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
120
125
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
@@ -124,6 +129,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
124
129
|
}
|
|
125
130
|
|
|
126
131
|
/**
|
|
132
|
+
* Returns the source types available for this module.
|
|
127
133
|
* @param {NormalModule} module fresh module
|
|
128
134
|
* @returns {SourceTypes} available types (do not mutate)
|
|
129
135
|
*/
|
|
@@ -141,9 +147,12 @@ class AssetSourceGenerator extends Generator {
|
|
|
141
147
|
}
|
|
142
148
|
|
|
143
149
|
if (sourceTypes.size > 0) {
|
|
144
|
-
if (
|
|
150
|
+
if (
|
|
151
|
+
sourceTypes.has(JAVASCRIPT_TYPE) &&
|
|
152
|
+
(sourceTypes.has(CSS_TYPE) || sourceTypes.has(HTML_TYPE))
|
|
153
|
+
) {
|
|
145
154
|
return JAVASCRIPT_AND_CSS_URL_TYPES;
|
|
146
|
-
} else if (sourceTypes.has(CSS_TYPE)) {
|
|
155
|
+
} else if (sourceTypes.has(CSS_TYPE) || sourceTypes.has(HTML_TYPE)) {
|
|
147
156
|
return CSS_URL_TYPES;
|
|
148
157
|
}
|
|
149
158
|
return JAVASCRIPT_TYPES;
|
|
@@ -153,6 +162,7 @@ class AssetSourceGenerator extends Generator {
|
|
|
153
162
|
}
|
|
154
163
|
|
|
155
164
|
/**
|
|
165
|
+
* Returns the estimated size for the requested source type.
|
|
156
166
|
* @param {NormalModule} module the module
|
|
157
167
|
* @param {SourceType=} type source type
|
|
158
168
|
* @returns {number} estimate size of the module
|
|
@@ -14,6 +14,7 @@ const Parser = require("../Parser");
|
|
|
14
14
|
|
|
15
15
|
class AssetBytesParser extends Parser {
|
|
16
16
|
/**
|
|
17
|
+
* Parses the provided source and updates the parser state.
|
|
17
18
|
* @param {string | Buffer | PreparsedAst} source the source to parse
|
|
18
19
|
* @param {ParserState} state the parser state
|
|
19
20
|
* @returns {ParserState} the parser state
|