@depup/webpack 5.106.1-depup.0 → 5.109.2-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -11
- package/bin/webpack.js +12 -0
- package/changes.json +16 -24
- package/hot/dev-server.js +2 -0
- package/lib/APIPlugin.js +60 -35
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +13 -5
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +41 -0
- package/lib/Chunk.js +71 -25
- package/lib/ChunkGraph.js +153 -19
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +27 -28
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +85 -37
- package/lib/Compilation.js +656 -112
- package/lib/Compiler.js +109 -35
- package/lib/ConcatenationScope.js +34 -4
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +15 -12
- package/lib/ContextExclusionPlugin.js +3 -1
- package/lib/ContextModule.js +345 -55
- package/lib/ContextModuleFactory.js +193 -51
- package/lib/ContextReplacementPlugin.js +8 -1
- package/lib/DefinePlugin.js +537 -139
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +159 -11
- package/lib/DependencyTemplate.js +7 -1
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DotenvPlugin.js +3 -0
- package/lib/DynamicEntryPlugin.js +3 -1
- package/lib/EntryOptionPlugin.js +42 -2
- package/lib/EntryPlugin.js +4 -1
- package/lib/Entrypoint.js +5 -1
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -11
- package/lib/ExportsInfo.js +421 -113
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +381 -80
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +701 -175
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +115 -8
- package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
- package/lib/Generator.js +24 -3
- package/lib/HotModuleReplacementPlugin.js +110 -44
- package/lib/IgnorePlugin.js +5 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +33 -30
- package/lib/JavascriptMetaInfoPlugin.js +9 -6
- package/lib/LazyBarrel.js +389 -0
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +3 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +121 -57
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +18 -4
- package/lib/ModuleGraph.js +69 -2
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleNotFoundError.js +3 -83
- package/lib/ModuleProfile.js +27 -1
- package/lib/ModuleSourceTypeConstants.js +52 -19
- package/lib/ModuleTemplate.js +10 -0
- package/lib/ModuleTypeConstants.js +20 -4
- package/lib/MultiCompiler.js +59 -4
- package/lib/MultiStats.js +9 -0
- package/lib/MultiWatching.js +6 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +78 -46
- package/lib/NormalModule.js +519 -206
- package/lib/NormalModuleFactory.js +156 -31
- package/lib/NormalModuleReplacementPlugin.js +3 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +3 -1
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +4 -1
- package/lib/ProgressPlugin.js +351 -161
- package/lib/ProvidePlugin.js +6 -3
- package/lib/RawModule.js +32 -16
- package/lib/RecordIdsPlugin.js +9 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +58 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +123 -118
- package/lib/RuntimeTemplate.js +616 -37
- package/lib/SelfModuleFactory.js +3 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +341 -63
- package/lib/Stats.js +6 -0
- package/lib/Template.js +52 -6
- package/lib/TemplatedPathPlugin.js +505 -138
- package/lib/UseStrictPlugin.js +3 -2
- package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
- package/lib/WarnDeprecatedOptionPlugin.js +6 -2
- package/lib/WarnNoModeSetPlugin.js +18 -2
- package/lib/WatchIgnorePlugin.js +5 -1
- package/lib/Watching.js +25 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +4 -2
- package/lib/WebpackOptionsApply.js +88 -25
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +28 -10
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +199 -60
- package/lib/asset/AssetModule.js +47 -0
- package/lib/asset/AssetModulesPlugin.js +115 -24
- package/lib/asset/AssetParser.js +4 -2
- package/lib/asset/AssetSourceGenerator.js +26 -8
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +23 -13
- package/lib/asset/WebManifestGenerator.js +164 -0
- package/lib/asset/WebManifestParser.js +130 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/async-modules/isGeneratorLowered.js +26 -0
- package/lib/buildChunkGraph.js +107 -15
- package/lib/bun/BunTargetPlugin.js +42 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
- package/lib/cache/AddManagedPathsPlugin.js +5 -1
- package/lib/cache/IdleFileCachePlugin.js +6 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
- package/lib/cache/PackFileCacheStrategy.js +302 -12
- package/lib/cache/ResolverCachePlugin.js +12 -1
- package/lib/cache/getLazyHashedEtag.js +13 -2
- package/lib/cache/mergeEtags.js +4 -0
- package/lib/cli.js +142 -20
- package/lib/config/browserslistTargetHandler.js +141 -0
- package/lib/config/defaults.js +612 -43
- package/lib/config/defineConfig.js +31 -0
- package/lib/config/normalization.js +46 -1
- package/lib/config/target.js +200 -2
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +27 -14
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +6 -2
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +3 -2
- package/lib/container/FallbackDependency.js +9 -7
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +22 -9
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/HoistContainerReferencesPlugin.js +47 -55
- package/lib/container/ModuleFederationPlugin.js +21 -29
- package/lib/container/RemoteModule.js +33 -10
- package/lib/container/RemoteRuntimeModule.js +15 -12
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +540 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +173 -81
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +371 -208
- package/lib/css/CssParser.js +3538 -1963
- package/lib/css/syntax.js +4155 -0
- package/lib/debug/ProfilingPlugin.js +33 -2
- package/lib/deno/DenoTargetPlugin.js +41 -0
- package/lib/dependencies/AMDDefineDependency.js +29 -17
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
- package/lib/dependencies/AMDPlugin.js +6 -3
- package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
- package/lib/dependencies/AMDRequireContextDependency.js +10 -11
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
- package/lib/dependencies/AMDRequireDependency.js +28 -20
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +9 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +157 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +91 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +189 -24
- package/lib/dependencies/CommonJsPlugin.js +7 -4
- package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
- package/lib/dependencies/CommonJsRequireDependency.js +135 -13
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
- package/lib/dependencies/ConstDependency.js +22 -12
- package/lib/dependencies/ContextDependency.js +13 -2
- package/lib/dependencies/ContextDependencyHelpers.js +7 -4
- package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +27 -14
- package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
- package/lib/dependencies/CriticalDependencyWarning.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +681 -367
- package/lib/dependencies/CssIcssImportDependency.js +62 -17
- package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
- package/lib/dependencies/CssImportDependency.js +37 -1
- package/lib/dependencies/CssUrlDependency.js +87 -14
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +12 -13
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportBindingInitFragment.js +164 -0
- package/lib/dependencies/ExportsInfoDependency.js +18 -12
- package/lib/dependencies/ExternalModuleDependency.js +13 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
- package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
- package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +34 -3
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +133 -43
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +268 -44
- package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
- package/lib/dependencies/HarmonyExports.js +6 -1
- package/lib/dependencies/HarmonyImportDependency.js +60 -4
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +427 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +146 -24
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
- package/lib/dependencies/HtmlEntryDependency.js +1295 -0
- package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
- package/lib/dependencies/HtmlSourceDependency.js +172 -0
- package/lib/dependencies/ImportContextDependency.js +9 -9
- package/lib/dependencies/ImportDependency.js +92 -3
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
- package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
- package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
- package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
- package/lib/dependencies/ImportMetaPlugin.js +595 -209
- package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
- package/lib/dependencies/ImportParserPlugin.js +114 -27
- package/lib/dependencies/ImportPhase.js +17 -11
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +3 -0
- package/lib/dependencies/JsonExportsDependency.js +15 -10
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +3 -0
- package/lib/dependencies/LoaderPlugin.js +9 -2
- package/lib/dependencies/LocalModule.js +15 -12
- package/lib/dependencies/LocalModuleDependency.js +15 -13
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
- package/lib/dependencies/ModuleDependency.js +14 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +36 -27
- package/lib/dependencies/PureExpressionDependency.js +14 -10
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
- package/lib/dependencies/RequireEnsureDependency.js +16 -13
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +7 -4
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +10 -11
- package/lib/dependencies/RequireResolveDependency.js +2 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
- package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
- package/lib/dependencies/StaticExportsDependency.js +13 -10
- package/lib/dependencies/SystemPlugin.js +9 -6
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
- package/lib/dependencies/URLContextDependency.js +8 -7
- package/lib/dependencies/URLDependency.js +157 -33
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +12 -13
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
- package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
- package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
- package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
- package/lib/dependencies/WorkerDependency.js +111 -27
- package/lib/dependencies/WorkletDependency.js +278 -0
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +14 -11
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
- package/lib/{DllModule.js → dll/DllModule.js} +36 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
- package/lib/electron/ElectronTargetPlugin.js +24 -5
- package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
- package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
- package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
- package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
- package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
- package/lib/errors/JSONParseError.js +115 -0
- package/lib/errors/LoaderLoadingError.js +20 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
- package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
- package/lib/errors/ModuleNotFoundError.js +94 -0
- package/lib/errors/ModuleParseError.js +141 -0
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
- package/lib/errors/NonErrorEmittedError.js +30 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
- package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
- package/lib/errors/WebpackError.js +84 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
- package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +80 -52
- package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +154 -7
- package/lib/hmr/lazyCompilationBackend.js +53 -12
- package/lib/html/HtmlGenerator.js +1490 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1129 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9106 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
- package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
- package/lib/ids/HashedModuleIdsPlugin.js +2 -1
- package/lib/ids/IdHelpers.js +49 -12
- package/lib/ids/NamedChunkIdsPlugin.js +3 -1
- package/lib/ids/NamedModuleIdsPlugin.js +3 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
- package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
- package/lib/ids/SyncModuleIdsPlugin.js +3 -1
- package/lib/index.js +66 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
- package/lib/javascript/BasicEvaluatedExpression.js +370 -49
- package/lib/javascript/ChunkFormatHelpers.js +2 -1
- package/lib/javascript/ChunkHelpers.js +1 -0
- package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
- package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
- package/lib/javascript/JavascriptGenerator.js +213 -51
- package/lib/javascript/JavascriptModule.js +54 -0
- package/lib/javascript/JavascriptModulesPlugin.js +628 -198
- package/lib/javascript/JavascriptParser.js +1334 -471
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +5037 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModule.js +40 -0
- package/lib/json/JsonModulesPlugin.js +8 -1
- package/lib/json/JsonParser.js +18 -27
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +21 -3
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +154 -7
- package/lib/library/SystemLibraryPlugin.js +11 -3
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/loaders/LoaderRunner.js +714 -0
- package/lib/loaders/loadLoader.js +100 -0
- package/lib/logging/Logger.js +17 -0
- package/lib/logging/createConsoleLogger.js +7 -0
- package/lib/logging/runtime.js +2 -0
- package/lib/logging/truncateArgs.js +2 -0
- package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
- package/lib/node/NodeEnvironmentPlugin.js +7 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -63
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +40 -22
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +33 -3
- package/lib/node/ReadFileCompileWasmPlugin.js +28 -3
- package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
- package/lib/node/nodeBuiltins.js +80 -0
- package/lib/node/nodeConsole.js +116 -64
- package/lib/optimize/AggressiveMergingPlugin.js +22 -16
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +603 -130
- package/lib/optimize/ConstExportsPlugin.js +211 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
- package/lib/optimize/InlineExports.js +178 -0
- package/lib/optimize/InnerGraph.js +374 -262
- package/lib/optimize/InnerGraphPlugin.js +246 -117
- package/lib/optimize/LimitChunkCountPlugin.js +9 -0
- package/lib/optimize/MangleExportsPlugin.js +5 -1
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
- package/lib/optimize/MinChunkSizePlugin.js +2 -1
- package/lib/optimize/MinMaxSizeWarning.js +5 -4
- package/lib/optimize/ModuleConcatenationPlugin.js +229 -55
- package/lib/optimize/RealContentHashPlugin.js +130 -52
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
- package/lib/optimize/RuntimeChunkPlugin.js +2 -1
- package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
- package/lib/optimize/SplitChunksPlugin.js +200 -50
- package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
- package/lib/performance/NoAsyncChunksWarning.js +5 -3
- package/lib/performance/SizeLimitsPlugin.js +8 -2
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
- package/lib/prefetch/ResourceHintPlugin.js +687 -0
- package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
- package/lib/prefetch/parseResourceHintOptions.js +103 -0
- package/lib/rules/BasicEffectRulePlugin.js +3 -0
- package/lib/rules/BasicMatcherRulePlugin.js +3 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
- package/lib/rules/RuleSetCompiler.js +132 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
- package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
- package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
- package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/runtime/WorkerRuntimeModule.js +33 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +86 -4
- package/lib/schemes/VirtualUrlPlugin.js +8 -4
- package/lib/serialization/AggregateErrorSerializer.js +9 -6
- package/lib/serialization/ArraySerializer.js +6 -8
- package/lib/serialization/BinaryMiddleware.js +427 -1006
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +345 -59
- package/lib/serialization/MapObjectSerializer.js +7 -9
- package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
- package/lib/serialization/ObjectMiddleware.js +73 -13
- package/lib/serialization/PlainObjectSerializer.js +16 -8
- package/lib/serialization/RegExpObjectSerializer.js +4 -2
- package/lib/serialization/Serializer.js +6 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +6 -8
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +21 -7
- package/lib/sharing/ConsumeSharedPlugin.js +11 -11
- package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +34 -15
- package/lib/sharing/ProvideSharedModule.js +42 -12
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +13 -8
- package/lib/sharing/SharePlugin.js +5 -1
- package/lib/sharing/ShareRuntimeModule.js +19 -16
- package/lib/sharing/resolveMatchedConfigs.js +6 -2
- package/lib/sharing/utils.js +9 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +289 -201
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +74 -170
- package/lib/stats/StatsFactory.js +70 -27
- package/lib/stats/StatsPrinter.js +16 -2
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +111 -23
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +154 -74
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +26 -0
- package/lib/util/LazySet.js +45 -4
- package/lib/util/LocConverter.js +64 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +15 -1
- package/lib/util/SetHelpers.js +4 -1
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/SourceProcessor.js +119 -0
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +162 -43
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +14 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +60 -1
- package/lib/util/binarySearchBounds.js +3 -2
- package/lib/util/chainedImports.js +3 -3
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +35 -4
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +80 -24
- package/lib/util/conventions.js +46 -1
- package/lib/util/createHash.js +0 -1
- package/lib/util/createHooksRegistry.js +43 -0
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +3 -2
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +46 -17
- package/lib/util/extractSourceMap.js +2 -1
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +7 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
- package/lib/util/fs.js +87 -14
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/globUtils.js +710 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/DebugHash.js +1 -0
- package/lib/util/hash/hash-digest.js +32 -15
- package/lib/util/hash/md4.js +1 -1
- package/lib/util/hash/wasm-hash.js +5 -0
- package/lib/util/hash/xxhash64.js +1 -1
- package/lib/util/identifier.js +118 -7
- package/lib/util/implicitTypeLoaderFallback.js +62 -0
- package/lib/util/internalSerializables.js +102 -60
- package/lib/util/magicComment.js +149 -7
- package/lib/util/makeSerializable.js +7 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +31 -1
- package/lib/util/numberHash.js +2 -2
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +9 -2
- package/lib/util/publicPathPlaceholder.js +64 -0
- package/lib/util/registerExternalSerializer.js +24 -4
- package/lib/util/removeBOM.js +1 -0
- package/lib/util/runtime.js +32 -0
- package/lib/util/semver.js +15 -0
- package/lib/util/serialization.js +2 -0
- package/lib/util/smartGrouping.js +8 -0
- package/lib/util/source.js +23 -0
- package/lib/util/topologicalSort.js +69 -0
- package/lib/validateSchema.js +1 -0
- package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
- package/lib/wasm-async/AsyncWasmModule.js +77 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
- package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
- package/lib/wasm-sync/SyncWasmModule.js +39 -0
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
- package/lib/wasm-sync/WebAssemblyParser.js +9 -3
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
- package/lib/web/FetchCompileWasmPlugin.js +27 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +78 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +21 -0
- package/package.json +79 -77
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1173 -80
- package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
- package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlParserOptions.check.js +6 -0
- package/schemas/plugins/HtmlParserOptions.json +3 -0
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +38 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +11053 -3019
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/ModuleParseError.js +0 -125
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- package/lib/css/walkCssTokens.js +0 -1843
- package/lib/util/AppendOnlyStackedSet.js +0 -78
- /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
- /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
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
|
*/
|
|
@@ -51,7 +52,7 @@ class UseStrictPlugin {
|
|
|
51
52
|
"",
|
|
52
53
|
/** @type {Range} */ (firstNode.range)
|
|
53
54
|
);
|
|
54
|
-
dep.loc =
|
|
55
|
+
dep.loc = parser.getLocation(firstNode);
|
|
55
56
|
parser.state.module.addPresentationalDependency(dep);
|
|
56
57
|
/** @type {BuildInfo} */
|
|
57
58
|
(parser.state.module.buildInfo).strict = true;
|
|
@@ -5,17 +5,86 @@
|
|
|
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
|
+
/** @type {Module} */
|
|
79
|
+
this.module = sortedModules[0];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
14
83
|
const PLUGIN_NAME = "WarnCaseSensitiveModulesPlugin";
|
|
15
84
|
|
|
16
85
|
class WarnCaseSensitiveModulesPlugin {
|
|
17
86
|
/**
|
|
18
|
-
*
|
|
87
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
19
88
|
* @param {Compiler} compiler the compiler instance
|
|
20
89
|
* @returns {void}
|
|
21
90
|
*/
|
|
@@ -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
|
|
|
@@ -19,13 +19,16 @@ class WarnDeprecatedOptionPlugin {
|
|
|
19
19
|
* @param {string} suggestion the suggestion replacement
|
|
20
20
|
*/
|
|
21
21
|
constructor(option, value, suggestion) {
|
|
22
|
+
/** @type {string} */
|
|
22
23
|
this.option = option;
|
|
24
|
+
/** @type {string | number} */
|
|
23
25
|
this.value = value;
|
|
26
|
+
/** @type {string} */
|
|
24
27
|
this.suggestion = suggestion;
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
/**
|
|
28
|
-
*
|
|
31
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
29
32
|
* @param {Compiler} compiler the compiler instance
|
|
30
33
|
* @returns {void}
|
|
31
34
|
*/
|
|
@@ -50,6 +53,7 @@ class DeprecatedOptionWarning extends WebpackError {
|
|
|
50
53
|
|
|
51
54
|
/** @type {string} */
|
|
52
55
|
this.name = "DeprecatedOptionWarning";
|
|
56
|
+
/** @type {string} */
|
|
53
57
|
this.message =
|
|
54
58
|
"configuration\n" +
|
|
55
59
|
`The value '${value}' for option '${option}' is deprecated. ` +
|
|
@@ -5,7 +5,23 @@
|
|
|
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
|
+
/** @type {string} */
|
|
17
|
+
this.message =
|
|
18
|
+
"configuration\n" +
|
|
19
|
+
"The 'mode' option has not been set, webpack will fallback to 'production' for this value.\n" +
|
|
20
|
+
"Set 'mode' option to 'development' or 'production' to enable defaults for each environment.\n" +
|
|
21
|
+
"You can also set it to 'none' to disable any default behavior. " +
|
|
22
|
+
"Learn more: https://webpack.js.org/configuration/mode/";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
9
25
|
|
|
10
26
|
/** @typedef {import("./Compiler")} Compiler */
|
|
11
27
|
|
|
@@ -13,7 +29,7 @@ const PLUGIN_NAME = "WarnNoModeSetPlugin";
|
|
|
13
29
|
|
|
14
30
|
class WarnNoModeSetPlugin {
|
|
15
31
|
/**
|
|
16
|
-
*
|
|
32
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
17
33
|
* @param {Compiler} compiler the compiler instance
|
|
18
34
|
* @returns {void}
|
|
19
35
|
*/
|
package/lib/WatchIgnorePlugin.js
CHANGED
|
@@ -18,10 +18,12 @@ 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
|
*/
|
|
24
25
|
constructor(wfs, paths) {
|
|
26
|
+
/** @type {WatchFileSystem} */
|
|
25
27
|
this.wfs = wfs;
|
|
26
28
|
this.paths = paths;
|
|
27
29
|
}
|
|
@@ -31,6 +33,7 @@ class IgnoringWatchFileSystem {
|
|
|
31
33
|
files = [...files];
|
|
32
34
|
dirs = [...dirs];
|
|
33
35
|
/**
|
|
36
|
+
* Returns true, if path is ignored.
|
|
34
37
|
* @param {string} path path to check
|
|
35
38
|
* @returns {boolean} true, if path is ignored
|
|
36
39
|
*/
|
|
@@ -119,6 +122,7 @@ const PLUGIN_NAME = "WatchIgnorePlugin";
|
|
|
119
122
|
|
|
120
123
|
class WatchIgnorePlugin {
|
|
121
124
|
/**
|
|
125
|
+
* Creates an instance of WatchIgnorePlugin.
|
|
122
126
|
* @param {WatchIgnorePluginOptions} options options
|
|
123
127
|
*/
|
|
124
128
|
constructor(options) {
|
|
@@ -127,7 +131,7 @@ class WatchIgnorePlugin {
|
|
|
127
131
|
}
|
|
128
132
|
|
|
129
133
|
/**
|
|
130
|
-
*
|
|
134
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
131
135
|
* @param {Compiler} compiler the compiler instance
|
|
132
136
|
* @returns {void}
|
|
133
137
|
*/
|
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
|
|
@@ -34,6 +35,7 @@ class Watching {
|
|
|
34
35
|
constructor(compiler, watchOptions, handler) {
|
|
35
36
|
/** @type {null | number} */
|
|
36
37
|
this.startTime = null;
|
|
38
|
+
/** @type {boolean} */
|
|
37
39
|
this.invalid = false;
|
|
38
40
|
/** @type {Callback<Stats>} */
|
|
39
41
|
this.handler = handler;
|
|
@@ -41,8 +43,11 @@ class Watching {
|
|
|
41
43
|
this.callbacks = [];
|
|
42
44
|
/** @type {ErrorCallback[] | undefined} */
|
|
43
45
|
this._closeCallbacks = undefined;
|
|
46
|
+
/** @type {boolean} */
|
|
44
47
|
this.closed = false;
|
|
48
|
+
/** @type {boolean} */
|
|
45
49
|
this.suspended = false;
|
|
50
|
+
/** @type {boolean} */
|
|
46
51
|
this.blocked = false;
|
|
47
52
|
this._isBlocked = () => false;
|
|
48
53
|
this._onChange = () => {};
|
|
@@ -62,10 +67,15 @@ class Watching {
|
|
|
62
67
|
if (typeof this.watchOptions.aggregateTimeout !== "number") {
|
|
63
68
|
this.watchOptions.aggregateTimeout = 20;
|
|
64
69
|
}
|
|
70
|
+
/** @type {Compiler} */
|
|
65
71
|
this.compiler = compiler;
|
|
72
|
+
/** @type {boolean} */
|
|
66
73
|
this.running = false;
|
|
74
|
+
/** @type {boolean} */
|
|
67
75
|
this._initial = true;
|
|
76
|
+
/** @type {boolean} */
|
|
68
77
|
this._invalidReported = true;
|
|
78
|
+
/** @type {boolean} */
|
|
69
79
|
this._needRecords = true;
|
|
70
80
|
/** @type {undefined | null | Watcher} */
|
|
71
81
|
this.watcher = undefined;
|
|
@@ -82,6 +92,7 @@ class Watching {
|
|
|
82
92
|
}
|
|
83
93
|
|
|
84
94
|
/**
|
|
95
|
+
* Merge with collected.
|
|
85
96
|
* @param {ReadonlySet<string> | undefined | null} changedFiles changed files
|
|
86
97
|
* @param {ReadonlySet<string> | undefined | null} removedFiles removed files
|
|
87
98
|
*/
|
|
@@ -105,6 +116,7 @@ class Watching {
|
|
|
105
116
|
}
|
|
106
117
|
|
|
107
118
|
/**
|
|
119
|
+
* Processes the provided file time info entries.
|
|
108
120
|
* @param {TimeInfoEntries=} fileTimeInfoEntries info for files
|
|
109
121
|
* @param {TimeInfoEntries=} contextTimeInfoEntries info for directories
|
|
110
122
|
* @param {ReadonlySet<string>=} changedFiles changed files
|
|
@@ -183,6 +195,7 @@ class Watching {
|
|
|
183
195
|
this.compiler.hooks.watchRun.callAsync(this.compiler, (err) => {
|
|
184
196
|
if (err) return this._done(err);
|
|
185
197
|
/**
|
|
198
|
+
* Processes the provided err.
|
|
186
199
|
* @param {Error | null} err error
|
|
187
200
|
* @param {Compilation=} _compilation compilation
|
|
188
201
|
* @returns {void}
|
|
@@ -242,6 +255,7 @@ class Watching {
|
|
|
242
255
|
}
|
|
243
256
|
|
|
244
257
|
/**
|
|
258
|
+
* Returns the compilation stats.
|
|
245
259
|
* @param {Compilation} compilation the compilation
|
|
246
260
|
* @returns {Stats} the compilation stats
|
|
247
261
|
*/
|
|
@@ -251,6 +265,7 @@ class Watching {
|
|
|
251
265
|
}
|
|
252
266
|
|
|
253
267
|
/**
|
|
268
|
+
* Processes the provided err.
|
|
254
269
|
* @param {(Error | null)=} err an optional error
|
|
255
270
|
* @param {Compilation=} compilation the compilation
|
|
256
271
|
* @returns {void}
|
|
@@ -266,6 +281,7 @@ class Watching {
|
|
|
266
281
|
let stats;
|
|
267
282
|
|
|
268
283
|
/**
|
|
284
|
+
* Processes the provided err.
|
|
269
285
|
* @param {Error} err error
|
|
270
286
|
* @param {ErrorCallback[]=} cbs callbacks
|
|
271
287
|
*/
|
|
@@ -349,6 +365,7 @@ class Watching {
|
|
|
349
365
|
}
|
|
350
366
|
|
|
351
367
|
/**
|
|
368
|
+
* Processes the provided file.
|
|
352
369
|
* @param {Iterable<string>} files watched files
|
|
353
370
|
* @param {Iterable<string>} dirs watched directories
|
|
354
371
|
* @param {Iterable<string>} missing watched existence entries
|
|
@@ -398,6 +415,7 @@ class Watching {
|
|
|
398
415
|
}
|
|
399
416
|
|
|
400
417
|
/**
|
|
418
|
+
* Processes the provided error callback.
|
|
401
419
|
* @param {ErrorCallback=} callback signals when the build has completed again
|
|
402
420
|
* @returns {void}
|
|
403
421
|
*/
|
|
@@ -414,6 +432,7 @@ class Watching {
|
|
|
414
432
|
}
|
|
415
433
|
|
|
416
434
|
/**
|
|
435
|
+
* Processes the provided file time info entries.
|
|
417
436
|
* @param {TimeInfoEntries=} fileTimeInfoEntries info for files
|
|
418
437
|
* @param {TimeInfoEntries=} contextTimeInfoEntries info for directories
|
|
419
438
|
* @param {ReadonlySet<string>=} changedFiles changed files
|
|
@@ -456,6 +475,7 @@ class Watching {
|
|
|
456
475
|
}
|
|
457
476
|
|
|
458
477
|
/**
|
|
478
|
+
* Processes the provided error callback.
|
|
459
479
|
* @param {ErrorCallback} callback signals when the watcher is closed
|
|
460
480
|
* @returns {void}
|
|
461
481
|
*/
|
|
@@ -467,7 +487,8 @@ class Watching {
|
|
|
467
487
|
return;
|
|
468
488
|
}
|
|
469
489
|
/**
|
|
470
|
-
*
|
|
490
|
+
* Processes the provided err.
|
|
491
|
+
* @param {Error | null} err error if any
|
|
471
492
|
* @param {Compilation=} compilation compilation if any
|
|
472
493
|
*/
|
|
473
494
|
const finalCallback = (err, compilation) => {
|
|
@@ -481,7 +502,8 @@ class Watching {
|
|
|
481
502
|
this.compiler.contextTimestamps = undefined;
|
|
482
503
|
this.compiler.fsStartTime = undefined;
|
|
483
504
|
/**
|
|
484
|
-
*
|
|
505
|
+
* Processes the provided err.
|
|
506
|
+
* @param {Error | null} err error if any
|
|
485
507
|
*/
|
|
486
508
|
const shutdown = (err) => {
|
|
487
509
|
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
|
*/
|
|
@@ -65,7 +67,7 @@ class WebpackIsIncludedPlugin {
|
|
|
65
67
|
/** @type {string} */ (request.string),
|
|
66
68
|
/** @type {Range} */ (expr.range)
|
|
67
69
|
);
|
|
68
|
-
dep.loc =
|
|
70
|
+
dep.loc = parser.getLocation(expr);
|
|
69
71
|
parser.state.module.addDependency(dep);
|
|
70
72
|
return true;
|
|
71
73
|
});
|