@depup/webpack 5.109.2-depup.0 → 5.110.3-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 +5 -5
- package/changes.json +7 -7
- package/lib/APIPlugin.js +123 -17
- package/lib/AsyncDependenciesBlock.js +10 -7
- package/lib/AutomaticPrefetchPlugin.js +1 -1
- package/lib/BannerPlugin.js +10 -6
- package/lib/CacheFacade.js +6 -6
- package/lib/Chunk.js +14 -11
- package/lib/ChunkGraph.js +46 -35
- package/lib/ChunkGroup.js +7 -7
- package/lib/ChunkTemplate.js +35 -44
- package/lib/CircularModulesPlugin.js +205 -28
- package/lib/CleanPlugin.js +4 -7
- package/lib/CodeGenerationResults.js +11 -8
- package/lib/CompatibilityPlugin.js +7 -7
- package/lib/Compilation.js +688 -409
- package/lib/Compiler.js +53 -38
- package/lib/ConcatenationScope.js +107 -8
- package/lib/ConditionalInitFragment.js +3 -3
- package/lib/ConstPlugin.js +13 -11
- package/lib/ContextExclusionPlugin.js +1 -1
- package/lib/ContextModule.js +146 -54
- package/lib/ContextModuleFactory.js +46 -14
- package/lib/ContextReplacementPlugin.js +12 -14
- package/lib/DefinePlugin.js +121 -37
- package/lib/DependenciesBlock.js +9 -6
- package/lib/Dependency.js +36 -16
- package/lib/DependencyTemplate.js +11 -12
- package/lib/DependencyTemplates.js +3 -3
- package/lib/DotenvPlugin.js +91 -26
- package/lib/DynamicEntryPlugin.js +8 -4
- package/lib/EntryOptionPlugin.js +8 -4
- package/lib/EntryPlugin.js +2 -2
- package/lib/Entrypoint.js +6 -2
- package/lib/EnvironmentPlugin.js +2 -2
- package/lib/EvalDevToolModulePlugin.js +8 -4
- package/lib/EvalSourceMapDevToolPlugin.js +15 -8
- package/lib/ExportsInfo.js +111 -14
- package/lib/ExportsInfoApiPlugin.js +2 -4
- package/lib/ExternalModule.js +232 -77
- package/lib/ExternalModuleFactoryPlugin.js +97 -38
- package/lib/ExternalsPlugin.js +10 -6
- package/lib/FileSystemInfo.js +44 -70
- package/lib/FlagAllModulesAsUsedPlugin.js +2 -3
- package/lib/FlagDependencyExportsPlugin.js +76 -19
- package/lib/FlagDependencyUsagePlugin.js +40 -49
- package/lib/FlagEntryExportAsUsedPlugin.js +1 -1
- package/lib/Generator.js +36 -15
- package/lib/HotModuleReplacementPlugin.js +16 -44
- package/lib/IgnorePlugin.js +8 -4
- package/lib/IgnoreWarningsPlugin.js +2 -2
- package/lib/InitFragment.js +8 -4
- package/lib/JavascriptMetaInfoPlugin.js +35 -4
- package/lib/LazyBarrel.js +3 -4
- package/lib/LibraryTemplatePlugin.js +10 -6
- package/lib/LoaderOptionsPlugin.js +7 -3
- package/lib/LoaderTargetPlugin.js +1 -1
- package/lib/MainTemplate.js +49 -42
- package/lib/ManifestPlugin.js +12 -11
- package/lib/Module.js +62 -33
- package/lib/ModuleFactory.js +3 -3
- package/lib/ModuleFilenameHelpers.js +9 -4
- package/lib/ModuleGraph.js +195 -21
- package/lib/ModuleGraphConnection.js +6 -13
- package/lib/ModuleInfoHeaderPlugin.js +8 -10
- package/lib/ModuleTemplate.js +62 -63
- package/lib/MultiCompiler.js +130 -64
- package/lib/MultiStats.js +40 -9
- package/lib/MultiWatching.js +3 -3
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +29 -19
- package/lib/NormalModule.js +152 -103
- package/lib/NormalModuleFactory.js +555 -110
- package/lib/NormalModuleReplacementPlugin.js +5 -8
- package/lib/NullFactory.js +6 -2
- package/lib/OptionsApply.js +7 -3
- package/lib/Parser.js +7 -3
- package/lib/PlatformPlugin.js +2 -2
- package/lib/PrefetchPlugin.js +1 -1
- package/lib/ProgressPlugin.js +16 -13
- package/lib/ProvidePlugin.js +3 -5
- package/lib/RawModule.js +25 -17
- package/lib/RecordIdsPlugin.js +3 -3
- package/lib/RequestShortener.js +1 -1
- package/lib/ResolverFactory.js +2 -2
- package/lib/RuntimeGlobals.js +22 -10
- package/lib/RuntimeModule.js +29 -19
- package/lib/RuntimePlugin.js +335 -169
- package/lib/RuntimeTemplate.js +2761 -316
- package/lib/SelfModuleFactory.js +7 -3
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +6 -2
- package/lib/SourceMapDevToolPlugin.js +30 -20
- package/lib/Stats.js +3 -4
- package/lib/Template.js +32 -22
- package/lib/TemplatedPathPlugin.js +96 -14
- package/lib/UseStrictPlugin.js +4 -6
- package/lib/WarnCaseSensitiveModulesPlugin.js +4 -4
- package/lib/WarnDeprecatedOptionPlugin.js +1 -1
- package/lib/WarnNoModeSetPlugin.js +1 -1
- package/lib/WatchIgnorePlugin.js +8 -6
- package/lib/Watching.js +8 -8
- package/lib/WebpackIsIncludedPlugin.js +2 -4
- package/lib/WebpackOptionsApply.js +308 -18
- package/lib/WebpackOptionsDefaulter.js +6 -2
- package/lib/asset/AssetBytesGenerator.js +12 -10
- package/lib/asset/AssetBytesParser.js +2 -4
- package/lib/asset/AssetGenerator.js +188 -95
- package/lib/asset/AssetModule.js +7 -3
- package/lib/asset/AssetModulesPlugin.js +110 -38
- package/lib/asset/AssetParser.js +9 -7
- package/lib/asset/AssetSourceGenerator.js +60 -13
- package/lib/asset/AssetSourceParser.js +2 -4
- package/lib/asset/RawDataUrlModule.js +24 -16
- package/lib/asset/WebManifestGenerator.js +8 -10
- package/lib/asset/WebManifestParser.js +24 -10
- package/lib/async-modules/AsyncModuleHelpers.js +12 -6
- package/lib/async-modules/AwaitDependenciesInitFragment.js +2 -2
- package/lib/async-modules/InferAsyncModulesPlugin.js +2 -2
- package/lib/async-modules/isGeneratorLowered.js +4 -4
- package/lib/buildChunkGraph.js +36 -27
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +1 -1
- package/lib/cache/AddManagedPathsPlugin.js +1 -1
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +18 -10
- package/lib/cache/MemoryWithGcCachePlugin.js +34 -22
- package/lib/cache/PackFileCacheStrategy.js +30 -23
- package/lib/cache/ResolverCachePlugin.js +38 -18
- package/lib/cache/getLazyHashedEtag.js +1 -2
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/cli.js +1 -3
- package/lib/config/browserslistTargetHandler.js +41 -5
- package/lib/config/defaults.js +270 -78
- package/lib/config/defineConfig.js +10 -2
- package/lib/config/getClaimedAssetTypes.js +65 -0
- package/lib/config/normalization.js +46 -16
- package/lib/config/target.js +46 -3
- package/lib/container/ContainerEntryDependency.js +1 -1
- package/lib/container/ContainerEntryModule.js +24 -15
- package/lib/container/ContainerEntryModuleFactory.js +7 -3
- package/lib/container/ContainerPlugin.js +9 -10
- package/lib/container/ContainerReferencePlugin.js +6 -2
- package/lib/container/FallbackDependency.js +1 -1
- package/lib/container/FallbackModule.js +24 -17
- package/lib/container/FallbackModuleFactory.js +7 -3
- package/lib/container/HoistContainerReferencesPlugin.js +6 -11
- package/lib/container/ModuleFederationPlugin.js +7 -24
- package/lib/container/RemoteModule.js +27 -19
- package/lib/container/RemoteRuntimeModule.js +10 -8
- package/lib/container/moduleFederationHooks.js +32 -0
- package/lib/css/CssGenerator.js +171 -43
- package/lib/css/CssInjectStyleRuntimeModule.js +7 -5
- package/lib/css/CssLoadingRuntimeModule.js +84 -32
- package/lib/css/CssModule.js +10 -7
- package/lib/css/CssModulesPlugin.js +172 -100
- package/lib/css/CssParser.js +1113 -568
- package/lib/css/CssServerStylesRuntimeModule.js +54 -0
- package/lib/css/cssMinify.js +168 -0
- package/lib/css/data.js +5334 -0
- package/lib/css/syntax.js +9647 -232
- package/lib/debug/ProfilingPlugin.js +14 -9
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/AMDDefineDependency.js +112 -87
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +30 -17
- package/lib/dependencies/AMDPlugin.js +9 -7
- package/lib/dependencies/AMDRequireArrayDependency.js +5 -5
- package/lib/dependencies/AMDRequireContextDependency.js +2 -2
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -1
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +25 -14
- package/lib/dependencies/AMDRequireDependency.js +8 -7
- package/lib/dependencies/AMDRequireItemDependency.js +1 -1
- package/lib/dependencies/AMDRuntimeModules.js +21 -1
- package/lib/dependencies/BuildTimeConstDependency.js +102 -0
- package/lib/dependencies/CachedConstDependency.js +11 -8
- package/lib/dependencies/CommonJsDependencyHelpers.js +67 -46
- package/lib/dependencies/CommonJsExportRequireDependency.js +121 -45
- package/lib/dependencies/CommonJsExportsDependency.js +53 -49
- package/lib/dependencies/CommonJsExportsParserPlugin.js +207 -25
- package/lib/dependencies/CommonJsFullRequireDependency.js +119 -34
- package/lib/dependencies/CommonJsImportsParserPlugin.js +100 -50
- package/lib/dependencies/CommonJsObjectExportDependency.js +188 -0
- package/lib/dependencies/CommonJsPlugin.js +35 -6
- package/lib/dependencies/CommonJsRequireContextDependency.js +5 -6
- package/lib/dependencies/CommonJsRequireDependency.js +170 -27
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +63 -38
- package/lib/dependencies/ConstDependency.js +8 -9
- package/lib/dependencies/ContextDependency.js +12 -8
- package/lib/dependencies/ContextDependencyHelpers.js +14 -9
- package/lib/dependencies/ContextDependencyTemplateAsId.js +4 -4
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +24 -11
- package/lib/dependencies/ContextElementDependency.js +31 -12
- package/lib/dependencies/CreateRequireParserPlugin.js +12 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +4 -4
- package/lib/dependencies/CssIcssExportDependency.js +56 -28
- package/lib/dependencies/CssIcssImportDependency.js +17 -13
- package/lib/dependencies/CssIcssSymbolDependency.js +9 -10
- package/lib/dependencies/CssImportDependency.js +18 -9
- package/lib/dependencies/CssUrlDependency.js +17 -13
- package/lib/dependencies/DllEntryDependency.js +1 -1
- package/lib/dependencies/DynamicExports.js +2 -2
- package/lib/dependencies/ExportBindingInitFragment.js +36 -9
- package/lib/dependencies/ExportsInfoDependency.js +7 -8
- package/lib/dependencies/ExternalModuleDependency.js +9 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +2 -2
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +8 -5
- package/lib/dependencies/HarmonyAcceptDependency.js +5 -5
- package/lib/dependencies/HarmonyCompatibilityDependency.js +52 -17
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +11 -7
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +23 -14
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +80 -12
- package/lib/dependencies/HarmonyExportExpressionDependency.js +23 -18
- package/lib/dependencies/HarmonyExportHeaderDependency.js +7 -7
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +286 -80
- package/lib/dependencies/HarmonyExportInitFragment.js +18 -6
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +51 -14
- package/lib/dependencies/HarmonyExports.js +7 -4
- package/lib/dependencies/HarmonyImportDependency.js +121 -60
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +124 -38
- package/lib/dependencies/HarmonyImportGuard.js +20 -30
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +152 -9
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +97 -49
- package/lib/dependencies/HarmonyModulesPlugin.js +7 -3
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -3
- package/lib/dependencies/HtmlEntryDependency.js +49 -31
- package/lib/dependencies/HtmlInlineHtmlDependency.js +7 -8
- package/lib/dependencies/HtmlInlineScriptDependency.js +11 -8
- package/lib/dependencies/HtmlInlineStyleDependency.js +7 -10
- package/lib/dependencies/HtmlSourceDependency.js +22 -14
- package/lib/dependencies/ImportContextDependency.js +45 -5
- package/lib/dependencies/ImportDependency.js +33 -50
- package/lib/dependencies/ImportEagerDependency.js +6 -9
- package/lib/dependencies/ImportMetaContextDependency.js +2 -2
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +14 -13
- package/lib/dependencies/ImportMetaContextPlugin.js +7 -3
- package/lib/dependencies/ImportMetaGlobDependency.js +2 -2
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +2 -3
- package/lib/dependencies/ImportMetaGlobHelpers.js +19 -22
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +1 -1
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +1 -1
- package/lib/dependencies/ImportMetaPlugin.js +154 -71
- package/lib/dependencies/ImportMetaResolveDependency.js +3 -4
- package/lib/dependencies/ImportParserPlugin.js +73 -49
- package/lib/dependencies/ImportPhase.js +12 -5
- package/lib/dependencies/ImportPlugin.js +7 -3
- package/lib/dependencies/ImportWeakDependency.js +6 -9
- package/lib/dependencies/JsonExportsDependency.js +11 -7
- package/lib/dependencies/LoaderDependency.js +2 -2
- package/lib/dependencies/LoaderImportDependency.js +2 -2
- package/lib/dependencies/LoaderPlugin.js +11 -7
- package/lib/dependencies/LocalModuleDependency.js +5 -5
- package/lib/dependencies/LocalModulesHelpers.js +1 -1
- package/lib/dependencies/ModuleDecoratorDependency.js +6 -7
- package/lib/dependencies/ModuleDependency.js +9 -6
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +4 -4
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +3 -3
- package/lib/dependencies/ModuleHotAcceptDependency.js +1 -1
- package/lib/dependencies/ModuleHotDeclineDependency.js +1 -1
- package/lib/dependencies/ModuleInitFragmentDependency.js +24 -10
- package/lib/dependencies/NullDependency.js +3 -3
- package/lib/dependencies/ProvidedDependency.js +14 -10
- package/lib/dependencies/PureExpressionDependency.js +9 -10
- package/lib/dependencies/RequireContextDependency.js +2 -2
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -4
- package/lib/dependencies/RequireContextPlugin.js +8 -4
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +2 -2
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +5 -8
- package/lib/dependencies/RequireEnsureDependency.js +8 -7
- package/lib/dependencies/RequireEnsurePlugin.js +7 -3
- package/lib/dependencies/RequireHeaderDependency.js +50 -12
- package/lib/dependencies/RequireIncludeDependency.js +6 -6
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +2 -3
- package/lib/dependencies/RequireIncludePlugin.js +7 -3
- package/lib/dependencies/RequireJsStuffPlugin.js +7 -3
- package/lib/dependencies/RequireResolveContextDependency.js +2 -2
- package/lib/dependencies/RequireResolveDependency.js +4 -4
- package/lib/dependencies/RequireResolveHeaderDependency.js +4 -4
- package/lib/dependencies/RuntimeRequirementsDependency.js +5 -6
- package/lib/dependencies/StaticExportsDependency.js +2 -2
- package/lib/dependencies/SystemPlugin.js +10 -6
- package/lib/dependencies/SystemRuntimeModule.js +10 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +11 -7
- package/lib/dependencies/URLContextDependency.js +2 -2
- package/lib/dependencies/URLDependency.js +110 -64
- package/lib/dependencies/URLPlugin.js +7 -3
- package/lib/dependencies/UnsupportedDependency.js +4 -4
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +3 -4
- package/lib/dependencies/WebAssemblyImportDependency.js +5 -5
- package/lib/dependencies/WebpackIsIncludedDependency.js +6 -6
- package/lib/dependencies/WorkerAndWorkletPlugin.js +47 -28
- package/lib/dependencies/WorkerDependency.js +22 -22
- package/lib/dependencies/WorkletDependency.js +18 -21
- package/lib/dependencies/getFunctionExpression.js +8 -4
- package/lib/dependencies/importOptionsCheck.js +47 -0
- package/lib/dependencies/processExportInfo.js +5 -5
- package/lib/dll/DelegatedModule.js +34 -22
- package/lib/dll/DelegatedModuleFactoryPlugin.js +15 -7
- package/lib/dll/DelegatedPlugin.js +2 -2
- package/lib/dll/DllEntryPlugin.js +2 -2
- package/lib/dll/DllModule.js +22 -15
- package/lib/dll/DllModuleFactory.js +7 -3
- package/lib/dll/DllPlugin.js +7 -5
- package/lib/dll/DllReferencePlugin.js +10 -7
- package/lib/dll/LibManifestPlugin.js +5 -5
- package/lib/electron/ElectronTargetPlugin.js +53 -49
- package/lib/errors/AsyncChunkWaterfallWarning.js +36 -0
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BroadContextsWarning.js +43 -0
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/errors/CacheEffectivenessWarning.js +55 -0
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CircularDependenciesWarning.js +38 -0
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingResourceHintsWarning.js +35 -0
- package/lib/errors/DotenvFileError.js +29 -0
- package/lib/errors/DuplicateModulesWarning.js +45 -0
- package/lib/errors/DynamicExportsWarning.js +30 -0
- package/lib/errors/EmbeddedSourceMapsWarning.js +25 -0
- package/lib/errors/EntrypointOverlapWarning.js +45 -0
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/errors/EvalUsageWarning.js +28 -0
- package/lib/errors/HookWebpackError.js +5 -5
- package/lib/errors/HotspotsWarning.js +57 -0
- package/lib/errors/IgnoreErrorModuleFactory.js +7 -3
- package/lib/errors/ImportedBindingAssignmentError.js +30 -0
- package/lib/errors/InlinedAssetsWarning.js +36 -0
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/errors/LargeModulesWarning.js +45 -0
- package/lib/errors/LegacyJavascriptWarning.js +48 -0
- package/lib/errors/MissingSideEffectsWarning.js +36 -0
- package/lib/errors/MixedExportsWarning.js +41 -0
- package/lib/errors/ModuleDependencyError.js +13 -16
- package/lib/errors/ModuleDependencyWarning.js +5 -15
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +2 -2
- package/lib/errors/ModuleParseError.js +1 -2
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/NodeStuffInWebError.js +1 -1
- package/lib/errors/OsDependentRuleWarning.js +31 -0
- package/lib/errors/PureAnnotationsWarning.js +36 -0
- package/lib/errors/RedundantDynamicImportWarning.js +31 -0
- package/lib/errors/ScopeHoistingBailoutsWarning.js +41 -0
- package/lib/errors/SplitChunksCappedWarning.js +41 -0
- package/lib/errors/TinyChunksWarning.js +40 -0
- package/lib/errors/TopLevelThisWarning.js +34 -0
- package/lib/errors/UnsplitVendorsWarning.js +42 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/errors/UnusedAliasesWarning.js +29 -0
- package/lib/errors/UnusedDefinesWarning.js +29 -0
- package/lib/errors/UnusedExternalsWarning.js +29 -0
- package/lib/errors/UnusedReexportsWarning.js +42 -0
- package/lib/errors/UnusedRuleWarning.js +29 -0
- package/lib/errors/WebpackError.js +9 -5
- package/lib/errors/deriveStackFromNestedError.js +90 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +37 -19
- package/lib/esm/ModuleChunkLoadingPlugin.js +86 -51
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +161 -62
- package/lib/hmr/HotModuleReplacement.runtime.js +24 -5
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -1
- package/lib/hmr/LazyCompilationPlugin.js +45 -24
- package/lib/hmr/lazyCompilationBackend.js +9 -6
- package/lib/hmr/parserHooks.js +56 -0
- package/lib/html/HtmlGenerator.js +277 -77
- package/lib/html/HtmlModule.js +7 -3
- package/lib/html/HtmlModulesPlugin.js +366 -200
- package/lib/html/HtmlParser.js +31 -86
- package/lib/html/data.js +1928 -0
- package/lib/html/htmlMinify.js +288 -0
- package/lib/html/syntax.js +6034 -1384
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -3
- package/lib/ids/DeterministicChunkIdsPlugin.js +1 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +2 -2
- package/lib/ids/HashedModuleIdsPlugin.js +6 -2
- package/lib/ids/IdHelpers.js +7 -8
- package/lib/ids/NamedChunkIdsPlugin.js +1 -1
- package/lib/ids/NamedModuleIdsPlugin.js +1 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +2 -2
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +7 -3
- package/lib/ids/OccurrenceModuleIdsPlugin.js +7 -3
- package/lib/ids/SyncModuleIdsPlugin.js +4 -4
- package/lib/index.js +10 -0
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +3 -3
- package/lib/javascript/BasicEvaluatedExpression.js +18 -14
- package/lib/javascript/ChunkFormatHelpers.js +6 -6
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/CommonJsChunkFormatPlugin.js +11 -5
- package/lib/javascript/EnableChunkLoadingPlugin.js +2 -2
- package/lib/javascript/JavascriptGenerator.js +65 -165
- package/lib/javascript/JavascriptModule.js +9 -3
- package/lib/javascript/JavascriptModulesPlugin.js +103 -123
- package/lib/javascript/JavascriptParser.js +242 -99
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/ScopeAnalyzer.js +1094 -0
- package/lib/javascript/StartupHelpers.js +55 -9
- package/lib/javascript/syntax.js +2678 -232
- package/lib/json/JsonData.js +8 -4
- package/lib/json/JsonGenerator.js +38 -16
- package/lib/json/JsonModule.js +7 -3
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +5 -6
- package/lib/library/AbstractLibraryPlugin.js +20 -14
- package/lib/library/AmdLibraryPlugin.js +11 -7
- package/lib/library/AssignLibraryPlugin.js +19 -13
- package/lib/library/EnableLibraryPlugin.js +2 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +15 -8
- package/lib/library/JsonpLibraryPlugin.js +11 -7
- package/lib/library/ModuleLibraryPlugin.js +256 -64
- package/lib/library/SystemLibraryPlugin.js +12 -8
- package/lib/library/UmdLibraryPlugin.js +62 -25
- package/lib/loaders/LoaderRunner.js +47 -6
- package/lib/loaders/loadLoader.js +8 -4
- package/lib/logging/createConsoleLogger.js +7 -4
- package/lib/node/CommonJsChunkLoadingPlugin.js +36 -22
- package/lib/node/NodeEnvironmentPlugin.js +17 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -3
- package/lib/node/NodeTemplatePlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +70 -9
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +65 -19
- package/lib/node/ReadFileCompileWasmPlugin.js +28 -16
- package/lib/node/RequireChunkLoadingRuntimeModule.js +35 -38
- package/lib/node/nodeConsole.js +7 -3
- package/lib/optimize/AggressiveMergingPlugin.js +2 -2
- package/lib/optimize/AggressiveSplittingPlugin.js +9 -6
- package/lib/optimize/ConcatenatedModule.js +1030 -476
- package/lib/optimize/ConstExportsPlugin.js +16 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -4
- package/lib/optimize/InlineExports.js +130 -5
- package/lib/optimize/InnerGraph.js +28 -12
- package/lib/optimize/InnerGraphPlugin.js +23 -18
- package/lib/optimize/LimitChunkCountPlugin.js +7 -3
- package/lib/optimize/MangleExportsPlugin.js +7 -8
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -3
- package/lib/optimize/MinChunkSizePlugin.js +7 -3
- package/lib/optimize/ModuleConcatenationPlugin.js +51 -35
- package/lib/optimize/RealContentHashPlugin.js +121 -41
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/RuntimeChunkPlugin.js +2 -2
- package/lib/optimize/SideEffectsFlagPlugin.js +262 -39
- package/lib/optimize/SplitChunksPlugin.js +86 -24
- package/lib/performance/AssetsOverSizeLimitWarning.js +10 -2
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +136 -0
- package/lib/performance/BroadContextsPlugin.js +142 -0
- package/lib/performance/CacheEffectivenessPlugin.js +125 -0
- package/lib/performance/ConflictingResourceHintsPlugin.js +99 -0
- package/lib/performance/DuplicateModulesPlugin.js +93 -0
- package/lib/performance/DuplicatePackagesPlugin.js +119 -0
- package/lib/performance/DuplicatePackagesWarning.js +84 -0
- package/lib/performance/DynamicExportsPlugin.js +120 -0
- package/lib/performance/EmbeddedSourceMapsPlugin.js +71 -0
- package/lib/performance/EntrypointOverlapPlugin.js +122 -0
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +1 -1
- package/lib/performance/EvalUsagePlugin.js +115 -0
- package/lib/performance/HotspotsPlugin.js +296 -0
- package/lib/performance/InlinedAssetsPlugin.js +99 -0
- package/lib/performance/LargeModulesPlugin.js +126 -0
- package/lib/performance/LegacyJavascriptPlugin.js +139 -0
- package/lib/performance/MissingSideEffectsPlugin.js +138 -0
- package/lib/performance/MixedExportsPlugin.js +136 -0
- package/lib/performance/OsDependentRuleWarningPlugin.js +178 -0
- package/lib/performance/PureAnnotationsPlugin.js +219 -0
- package/lib/performance/RedundantDynamicImportsPlugin.js +225 -0
- package/lib/performance/RuntimeInLargeChunkWarning.js +27 -0
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +164 -0
- package/lib/performance/SizeLimitsPlugin.js +139 -7
- package/lib/performance/SplitChunksCappedPlugin.js +99 -0
- package/lib/performance/TinyChunksPlugin.js +128 -0
- package/lib/performance/TopLevelThisPlugin.js +208 -0
- package/lib/performance/UnsplitVendorsPlugin.js +112 -0
- package/lib/performance/UnusedAliasesPlugin.js +253 -0
- package/lib/performance/UnusedDefinesPlugin.js +87 -0
- package/lib/performance/UnusedExternalsPlugin.js +110 -0
- package/lib/performance/UnusedReexportsPlugin.js +159 -0
- package/lib/performance/UnusedRuleWarningPlugin.js +105 -0
- package/lib/performance/getModuleSize.js +22 -0
- package/lib/performance/getSourceModules.js +22 -0
- package/lib/performance/hasOnlyUnusedExports.js +40 -0
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +24 -10
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +63 -46
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +2 -3
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +2 -2
- package/lib/prefetch/ResourceHintPlugin.js +295 -79
- package/lib/prefetch/ResourceHintRuntimeModule.js +1 -21
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +10 -133
- package/lib/prefetch/parseResourceHintOptions.js +31 -4
- package/lib/rules/BasicEffectRulePlugin.js +2 -2
- package/lib/rules/BasicMatcherRulePlugin.js +8 -4
- package/lib/rules/GlobMatcherRulePlugin.js +68 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +12 -5
- package/lib/rules/RuleSetCompiler.js +146 -12
- package/lib/rules/UseEffectRulePlugin.js +18 -11
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +11 -1
- package/lib/runtime/AsyncModuleRuntimeModule.js +6 -2
- package/lib/runtime/AutoPublicPathRuntimeModule.js +15 -20
- package/lib/runtime/BaseUriRuntimeModule.js +33 -7
- package/lib/runtime/ChunkNameRuntimeModule.js +10 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +11 -1
- package/lib/runtime/CompatRuntimeModule.js +5 -3
- package/lib/runtime/ConcatenationWrapRuntimeModule.js +90 -0
- package/lib/runtime/ConstructRequireRuntimeModule.js +52 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +8 -6
- package/lib/runtime/CreateScriptRuntimeModule.js +11 -1
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +11 -1
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +56 -38
- package/lib/runtime/EnsureChunkRuntimeModule.js +18 -2
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +62 -37
- package/lib/runtime/GetFullHashRuntimeModule.js +12 -2
- package/lib/runtime/GetMainFilenameRuntimeModule.js +12 -2
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -2
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +16 -3
- package/lib/runtime/GlobalRuntimeModule.js +18 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +12 -2
- package/lib/runtime/LoadScriptRuntimeModule.js +2 -2
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +34 -7
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +22 -6
- package/lib/runtime/NonceRuntimeModule.js +10 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -3
- package/lib/runtime/PublicPathRuntimeModule.js +12 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +11 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +12 -2
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +11 -1
- package/lib/runtime/StartupChunkDependenciesPlugin.js +18 -9
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +3 -3
- package/lib/runtime/StartupEntrypointRuntimeModule.js +21 -4
- package/lib/runtime/SystemContextRuntimeModule.js +10 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -1
- package/lib/runtime/WorkerRuntimeModule.js +11 -1
- package/lib/runtime/baseUri.js +63 -0
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +46 -20
- package/lib/schemes/VirtualUrlPlugin.js +13 -7
- package/lib/serialization/AggregateErrorSerializer.js +1 -1
- package/lib/serialization/BinaryMiddleware.js +4 -4
- package/lib/serialization/ErrorObjectSerializer.js +1 -1
- package/lib/serialization/FileMiddleware.js +22 -9
- package/lib/serialization/ObjectMiddleware.js +139 -114
- package/lib/serialization/PlainObjectSerializer.js +19 -16
- package/lib/sharing/ConsumeSharedModule.js +30 -21
- package/lib/sharing/ConsumeSharedPlugin.js +18 -10
- package/lib/sharing/ConsumeSharedRuntimeModule.js +6 -9
- package/lib/sharing/ProvideSharedModule.js +25 -16
- package/lib/sharing/ProvideSharedModuleFactory.js +7 -3
- package/lib/sharing/ProvideSharedPlugin.js +8 -4
- package/lib/sharing/SharePlugin.js +17 -5
- package/lib/sharing/ShareRuntimeModule.js +4 -4
- package/lib/sharing/resolveMatchedConfigs.js +9 -6
- package/lib/sharing/utils.js +1 -3
- package/lib/stats/DefaultStatsFactoryPlugin.js +50 -29
- package/lib/stats/DefaultStatsPresetPlugin.js +17 -8
- package/lib/stats/DefaultStatsPrinterPlugin.js +36 -26
- package/lib/stats/StatsFactory.js +25 -26
- package/lib/stats/StatsPrinter.js +16 -12
- package/lib/typescript/TypeScriptPlugin.js +20 -24
- package/lib/url/URLParserPlugin.js +26 -13
- package/lib/util/ArrayQueue.js +3 -3
- package/lib/util/AsyncQueue.js +4 -3
- package/lib/util/Hash.js +5 -1
- package/lib/util/LazySet.js +35 -22
- package/lib/util/LocConverter.js +36 -13
- package/lib/util/SourceProcessor.js +1066 -24
- package/lib/util/StringXor.js +1 -1
- package/lib/util/URLAbsoluteSpecifier.js +3 -1
- package/lib/util/chainedImports.js +9 -5
- package/lib/util/cleverMerge.js +1 -1
- package/lib/util/comparators.js +45 -14
- package/lib/util/concatenate.js +203 -77
- package/lib/util/conventions.js +10 -2
- package/lib/util/createHash.js +2 -2
- package/lib/util/createHooksRegistry.js +8 -10
- package/lib/util/createMappings.js +25 -3
- package/lib/util/dataURL.js +225 -1
- package/lib/util/extractSourceMap.js +4 -3
- package/lib/util/findCaseMismatch.js +139 -0
- package/lib/util/formatLocation.js +1 -2
- package/lib/util/fs.js +22 -5
- package/lib/util/globUtils.js +298 -24
- package/lib/util/hash/BatchedHash.js +5 -1
- package/lib/util/hash/BulkUpdateHash.js +5 -1
- package/lib/util/hash/DebugHash.js +5 -1
- package/lib/util/hash/hash-digest.js +6 -2
- package/lib/util/identifier.js +4 -0
- package/lib/util/implicitTypeLoaderFallback.js +1 -1
- package/lib/util/internalSerializables.js +8 -0
- package/lib/util/lazyModule.js +56 -0
- package/lib/util/makeSerializable.js +7 -3
- package/lib/util/matchAlias.js +25 -0
- package/lib/util/mimeTypes.js +11 -5
- package/lib/util/nonNumericOnlyHash.js +4 -3
- package/lib/util/parseJson.js +5 -3
- package/lib/util/preloadModuleType.js +32 -0
- package/lib/util/registerExternalSerializer.js +7 -5
- package/lib/util/removeBOM.js +82 -1
- package/lib/util/runtime.js +2 -2
- package/lib/util/semver.js +1 -1
- package/lib/util/serialization.js +28 -28
- package/lib/util/source.js +2 -2
- package/lib/util/traverseDestructuringAssignmentProperties.js +6 -2
- package/lib/wasm/EnableWasmLoadingPlugin.js +10 -8
- package/lib/wasm/wasmModuleFilename.js +54 -0
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +43 -21
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +45 -21
- package/lib/wasm-async/AsyncWasmModule.js +3 -3
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +4 -5
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +57 -17
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +34 -18
- package/lib/wasm-async/AsyncWebAssemblyParser.js +9 -8
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +29 -8
- package/lib/wasm-sync/SyncWasmModule.js +2 -2
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +18 -13
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -5
- package/lib/wasm-sync/WebAssemblyGenerator.js +18 -17
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +4 -4
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +7 -7
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +24 -11
- package/lib/wasm-sync/WebAssemblyParser.js +4 -6
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
- package/lib/web/FetchCompileAsyncWasmPlugin.js +105 -19
- package/lib/web/FetchCompileWasmPlugin.js +48 -16
- package/lib/web/JsonpChunkLoadingPlugin.js +47 -23
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +50 -20
- package/lib/web/JsonpTemplatePlugin.js +2 -2
- package/lib/webpack.js +22 -11
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +60 -26
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +30 -32
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +1 -0
- package/package.json +32 -25
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +667 -34
- package/schemas/plugins/HtmlParserOptions.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerPlugin.json +10 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +10 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/types.d.ts +3223 -465
- package/lib/runtime/CommonJsWrapRuntimeModule.js +0 -37
package/lib/NodeStuffPlugin.js
CHANGED
|
@@ -16,20 +16,26 @@ const ConstDependency = require("./dependencies/ConstDependency");
|
|
|
16
16
|
const ExternalModuleDependency = require("./dependencies/ExternalModuleDependency");
|
|
17
17
|
const ExternalModuleInitFragmentDependency = require("./dependencies/ExternalModuleInitFragmentDependency");
|
|
18
18
|
const ImportMetaPlugin = require("./dependencies/ImportMetaPlugin");
|
|
19
|
-
const NodeStuffInWebError = require("./errors/NodeStuffInWebError");
|
|
20
19
|
const { evaluateToString } = require("./javascript/JavascriptParserHelpers");
|
|
21
20
|
const { relative } = require("./util/fs");
|
|
22
21
|
const { parseResource } = require("./util/identifier");
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
/** @
|
|
30
|
-
/**
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
const memoize = require("./util/memoize");
|
|
23
|
+
|
|
24
|
+
const getNodeStuffInWebError = memoize(() =>
|
|
25
|
+
require("./errors/NodeStuffInWebError")
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
/** @import { Expression } from "estree" */
|
|
29
|
+
/**
|
|
30
|
+
* @import {
|
|
31
|
+
* JavascriptParserOptions,
|
|
32
|
+
* NodeOptions
|
|
33
|
+
* } from "../declarations/WebpackOptions"
|
|
34
|
+
*/
|
|
35
|
+
/** @import Compiler from "./Compiler" */
|
|
36
|
+
/** @import NormalModule from "./NormalModule" */
|
|
37
|
+
/** @import JavascriptParser, { Range } from "./javascript/JavascriptParser" */
|
|
38
|
+
/** @import { InputFileSystem } from "./util/fs" */
|
|
33
39
|
|
|
34
40
|
const PLUGIN_NAME = "NodeStuffPlugin";
|
|
35
41
|
const URL_MODULE_CONSTANT_FUNCTION_NAME = "__webpack_fileURLToPath__";
|
|
@@ -103,7 +109,7 @@ class NodeStuffPlugin {
|
|
|
103
109
|
|
|
104
110
|
if (withWarning) {
|
|
105
111
|
parser.state.module.addWarning(
|
|
106
|
-
new
|
|
112
|
+
new (getNodeStuffInWebError())(
|
|
107
113
|
dep.loc,
|
|
108
114
|
"global",
|
|
109
115
|
"The global namespace object is a Node.js feature and isn't available in browsers."
|
|
@@ -125,7 +131,7 @@ class NodeStuffPlugin {
|
|
|
125
131
|
/**
|
|
126
132
|
* Sets module constant.
|
|
127
133
|
* @param {JavascriptParser} parser the parser
|
|
128
|
-
* @param {
|
|
134
|
+
* @param {string} expressionName expression name
|
|
129
135
|
* @param {(module: NormalModule) => string} fn function
|
|
130
136
|
* @param {"filename" | "dirname"} property a property
|
|
131
137
|
* @returns {void}
|
|
@@ -159,7 +165,7 @@ class NodeStuffPlugin {
|
|
|
159
165
|
/**
|
|
160
166
|
* Sets cached module constant.
|
|
161
167
|
* @param {JavascriptParser} parser the parser
|
|
162
|
-
* @param {
|
|
168
|
+
* @param {string} expressionName expression name
|
|
163
169
|
* @param {(module: NormalModule) => string} fn function
|
|
164
170
|
* @param {"filename" | "dirname"} property a property
|
|
165
171
|
* @param {string=} warning warning
|
|
@@ -186,7 +192,11 @@ class NodeStuffPlugin {
|
|
|
186
192
|
|
|
187
193
|
if (warning) {
|
|
188
194
|
parser.state.module.addWarning(
|
|
189
|
-
new
|
|
195
|
+
new (getNodeStuffInWebError())(
|
|
196
|
+
dep.loc,
|
|
197
|
+
expressionName,
|
|
198
|
+
warning
|
|
199
|
+
)
|
|
190
200
|
);
|
|
191
201
|
}
|
|
192
202
|
|
|
@@ -201,7 +211,7 @@ class NodeStuffPlugin {
|
|
|
201
211
|
if (property === usingProperty.id) {
|
|
202
212
|
if (warning) {
|
|
203
213
|
parser.state.module.addWarning(
|
|
204
|
-
new
|
|
214
|
+
new (getNodeStuffInWebError())(
|
|
205
215
|
parser.getLocation(usingProperty),
|
|
206
216
|
expressionName,
|
|
207
217
|
warning
|
|
@@ -220,7 +230,7 @@ class NodeStuffPlugin {
|
|
|
220
230
|
/**
|
|
221
231
|
* Updates constant using the provided parser.
|
|
222
232
|
* @param {JavascriptParser} parser the parser
|
|
223
|
-
* @param {
|
|
233
|
+
* @param {string} expressionName expression name
|
|
224
234
|
* @param {string} value value
|
|
225
235
|
* @param {"filename" | "dirname"} property a property
|
|
226
236
|
* @param {string=} warning warning
|
|
@@ -244,7 +254,7 @@ class NodeStuffPlugin {
|
|
|
244
254
|
/**
|
|
245
255
|
* Sets url module constant.
|
|
246
256
|
* @param {JavascriptParser} parser the parser
|
|
247
|
-
* @param {
|
|
257
|
+
* @param {string} expressionName expression name
|
|
248
258
|
* @param {"dirname" | "filename"} property property
|
|
249
259
|
* @param {() => string} value function to get value
|
|
250
260
|
* @returns {void}
|
|
@@ -358,7 +368,7 @@ class NodeStuffPlugin {
|
|
|
358
368
|
* Dirname and filename handler.
|
|
359
369
|
* @param {JavascriptParser} parser the parser
|
|
360
370
|
* @param {NodeOptions} nodeOptions options
|
|
361
|
-
* @param {{ dirname:
|
|
371
|
+
* @param {{ dirname: string, filename: string, dirnameEnabled?: boolean, filenameEnabled?: boolean }} identifiers options
|
|
362
372
|
* @returns {void}
|
|
363
373
|
*/
|
|
364
374
|
const dirnameAndFilenameHandler = (
|
package/lib/NormalModule.js
CHANGED
|
@@ -23,13 +23,8 @@ const Module = require("./Module");
|
|
|
23
23
|
const ModuleGraphConnection = require("./ModuleGraphConnection");
|
|
24
24
|
const { JAVASCRIPT_MODULE_TYPE_AUTO } = require("./ModuleTypeConstants");
|
|
25
25
|
const RuntimeGlobals = require("./RuntimeGlobals");
|
|
26
|
+
const HarmonyImportSideEffectDependency = require("./dependencies/HarmonyImportSideEffectDependency");
|
|
26
27
|
const HookWebpackError = require("./errors/HookWebpackError");
|
|
27
|
-
const ModuleBuildError = require("./errors/ModuleBuildError");
|
|
28
|
-
const ModuleError = require("./errors/ModuleError");
|
|
29
|
-
const ModuleParseError = require("./errors/ModuleParseError");
|
|
30
|
-
const ModuleWarning = require("./errors/ModuleWarning");
|
|
31
|
-
const NonErrorEmittedError = require("./errors/NonErrorEmittedError");
|
|
32
|
-
const UnhandledSchemeError = require("./errors/UnhandledSchemeError");
|
|
33
28
|
const {
|
|
34
29
|
createLoaderContext,
|
|
35
30
|
getContext,
|
|
@@ -58,57 +53,99 @@ const makeSerializable = require("./util/makeSerializable");
|
|
|
58
53
|
const memoize = require("./util/memoize");
|
|
59
54
|
const parseJson = require("./util/parseJson");
|
|
60
55
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
/** @
|
|
88
|
-
/** @
|
|
89
|
-
/**
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
/** @
|
|
108
|
-
/** @
|
|
109
|
-
/** @
|
|
110
|
-
/**
|
|
111
|
-
|
|
56
|
+
const getValidate = memoize(() => require("schema-utils").validate);
|
|
57
|
+
|
|
58
|
+
const getGenerator = memoize(() => require("./Generator"));
|
|
59
|
+
|
|
60
|
+
const getExtractSourceMap = memoize(() => require("./util/extractSourceMap"));
|
|
61
|
+
|
|
62
|
+
const getInvalidDependenciesModuleWarning = memoize(() =>
|
|
63
|
+
require("./errors/InvalidDependenciesModuleWarning")
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
const getUnhandledSchemeError = memoize(() =>
|
|
67
|
+
require("./errors/UnhandledSchemeError")
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
const getNonErrorEmittedError = memoize(() =>
|
|
71
|
+
require("./errors/NonErrorEmittedError")
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
const getModuleWarning = memoize(() => require("./errors/ModuleWarning"));
|
|
75
|
+
|
|
76
|
+
const getModuleParseError = memoize(() => require("./errors/ModuleParseError"));
|
|
77
|
+
|
|
78
|
+
const getModuleError = memoize(() => require("./errors/ModuleError"));
|
|
79
|
+
|
|
80
|
+
const getModuleBuildError = memoize(() => require("./errors/ModuleBuildError"));
|
|
81
|
+
|
|
82
|
+
/** @import { ResolveContext, ResolveRequest } from "enhanced-resolve" */
|
|
83
|
+
/** @import { Source, RawSourceMap } from "webpack-sources" */
|
|
84
|
+
/**
|
|
85
|
+
* @import {
|
|
86
|
+
* ResolveOptions,
|
|
87
|
+
* NoParse,
|
|
88
|
+
* HashFunction
|
|
89
|
+
* } from "../declarations/WebpackOptions"
|
|
90
|
+
*/
|
|
91
|
+
/**
|
|
92
|
+
* @import Compilation, {
|
|
93
|
+
* FileSystemDependencies,
|
|
94
|
+
* UnsafeCacheData
|
|
95
|
+
* } from "./Compilation"
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* @import {
|
|
99
|
+
* WebpackOptionsNormalizedWithDefaults as WebpackOptions
|
|
100
|
+
* } from "./config/defaults"
|
|
101
|
+
*/
|
|
102
|
+
/** @import { UpdateHashContext } from "./Dependency" */
|
|
103
|
+
/** @import Generator, { GenerateErrorFn } from "./Generator" */
|
|
104
|
+
/** @import { Snapshot } from "./FileSystemInfo" */
|
|
105
|
+
/**
|
|
106
|
+
* @import {
|
|
107
|
+
* BuildInfo,
|
|
108
|
+
* ValueCacheVersions,
|
|
109
|
+
* BuildMeta,
|
|
110
|
+
* CodeGenerationContext,
|
|
111
|
+
* CodeGenerationResult,
|
|
112
|
+
* ConcatenationBailoutReasonContext,
|
|
113
|
+
* KnownBuildInfo,
|
|
114
|
+
* LibIdentOptions,
|
|
115
|
+
* LibIdent,
|
|
116
|
+
* NameForCondition,
|
|
117
|
+
* NeedBuildContext,
|
|
118
|
+
* NeedBuildCallback,
|
|
119
|
+
* BuildCallback,
|
|
120
|
+
* RuntimeRequirements,
|
|
121
|
+
* SourceType,
|
|
122
|
+
* SourceTypes
|
|
123
|
+
* } from "./Module"
|
|
124
|
+
*/
|
|
125
|
+
/** @import ModuleGraph from "./ModuleGraph" */
|
|
126
|
+
/** @import { ConnectionState } from "./ModuleGraphConnection" */
|
|
127
|
+
/**
|
|
128
|
+
* @import NormalModuleFactory, {
|
|
129
|
+
* NormalModuleTypes,
|
|
130
|
+
* ParserByType,
|
|
131
|
+
* ParserOptionsByType,
|
|
132
|
+
* GeneratorByType,
|
|
133
|
+
* GeneratorOptionsByType,
|
|
134
|
+
* ResourceSchemeData
|
|
135
|
+
* } from "./NormalModuleFactory"
|
|
136
|
+
*/
|
|
137
|
+
/** @import Parser, { PreparsedAst } from "./Parser" */
|
|
138
|
+
/** @import RequestShortener from "./RequestShortener" */
|
|
139
|
+
/** @import { ResolverWithOptions } from "./ResolverFactory" */
|
|
140
|
+
/**
|
|
141
|
+
* @import {
|
|
142
|
+
* ObjectDeserializerContext,
|
|
143
|
+
* ObjectSerializerContext
|
|
144
|
+
* } from "./serialization/ObjectMiddleware"
|
|
145
|
+
*/
|
|
146
|
+
/** @import Hash from "./util/Hash" */
|
|
147
|
+
/** @import { InputFileSystem } from "./util/fs" */
|
|
148
|
+
/** @import { AssociatedObjectForCache } from "./util/identifier" */
|
|
112
149
|
/**
|
|
113
150
|
* @template T
|
|
114
151
|
* @typedef {import("./util/deprecation").FakeHook<T>} FakeHook
|
|
@@ -129,18 +166,6 @@ const parseJson = require("./util/parseJson");
|
|
|
129
166
|
|
|
130
167
|
/** @typedef {(content: string) => boolean} NoParseFn */
|
|
131
168
|
|
|
132
|
-
const getInvalidDependenciesModuleWarning = memoize(() =>
|
|
133
|
-
require("./errors/InvalidDependenciesModuleWarning")
|
|
134
|
-
);
|
|
135
|
-
|
|
136
|
-
const getExtractSourceMap = memoize(() => require("./util/extractSourceMap"));
|
|
137
|
-
|
|
138
|
-
const getValidate = memoize(() => require("schema-utils").validate);
|
|
139
|
-
|
|
140
|
-
const getHarmonyImportSideEffectDependency = memoize(() =>
|
|
141
|
-
require("./dependencies/HarmonyImportSideEffectDependency")
|
|
142
|
-
);
|
|
143
|
-
|
|
144
169
|
/**
|
|
145
170
|
* @param {NormalModule} mod the module
|
|
146
171
|
* @param {ModuleGraph} moduleGraph the module graph
|
|
@@ -566,7 +591,7 @@ const createCompilationHooks = () => {
|
|
|
566
591
|
* @property {FileSystemDependencies=} missingDependencies
|
|
567
592
|
* @property {FileSystemDependencies=} buildDependencies
|
|
568
593
|
* @property {ValueCacheVersions=} valueDependencies
|
|
569
|
-
* @property {(Snapshot | null)=} snapshot
|
|
594
|
+
* @property {(InstanceType<Snapshot> | null)=} snapshot
|
|
570
595
|
* @property {string=} resourceIntegrity using in HttpUriPlugin
|
|
571
596
|
*/
|
|
572
597
|
|
|
@@ -701,11 +726,6 @@ class NormalModule extends Module {
|
|
|
701
726
|
this._sideEffectsStateGraph = undefined;
|
|
702
727
|
/** @type {ConnectionState | undefined} */
|
|
703
728
|
this._sideEffectsStateValue = undefined;
|
|
704
|
-
/**
|
|
705
|
-
* @private
|
|
706
|
-
* @type {CodeGenerationResultData}
|
|
707
|
-
*/
|
|
708
|
-
this._codeGeneratorData = new Map();
|
|
709
729
|
}
|
|
710
730
|
|
|
711
731
|
/**
|
|
@@ -815,6 +835,29 @@ class NormalModule extends Module {
|
|
|
815
835
|
this._sideEffectsStateValue = undefined;
|
|
816
836
|
}
|
|
817
837
|
|
|
838
|
+
/**
|
|
839
|
+
* Releases the cached parser between incremental rebuilds so it doesn't keep
|
|
840
|
+
* the previous compilation alive.
|
|
841
|
+
* @returns {void}
|
|
842
|
+
*/
|
|
843
|
+
_cleanupParserForCache() {
|
|
844
|
+
this.parser = undefined;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
/**
|
|
848
|
+
* Re-acquire factory-derived helpers (parser/generator) for an incremental
|
|
849
|
+
* rebuild so this compilation's plugin hooks apply.
|
|
850
|
+
* @param {NormalModuleFactory} normalModuleFactory the normal module factory
|
|
851
|
+
* @returns {void}
|
|
852
|
+
*/
|
|
853
|
+
_restoreParserAndGenerator(normalModuleFactory) {
|
|
854
|
+
this.parser = normalModuleFactory.getParser(this.type, this.parserOptions);
|
|
855
|
+
this.generator = normalModuleFactory.getGenerator(
|
|
856
|
+
this.type,
|
|
857
|
+
this.generatorOptions
|
|
858
|
+
);
|
|
859
|
+
}
|
|
860
|
+
|
|
818
861
|
/**
|
|
819
862
|
* Module should be unsafe cached. Get data that's needed for that.
|
|
820
863
|
* This data will be passed to restoreFromUnsafeCache later.
|
|
@@ -1036,10 +1079,10 @@ class NormalModule extends Module {
|
|
|
1036
1079
|
/** @type {LoaderContext<EXPECTED_ANY>["emitWarning"]} */
|
|
1037
1080
|
emitWarning: (warning) => {
|
|
1038
1081
|
if (!(warning instanceof Error)) {
|
|
1039
|
-
warning = new
|
|
1082
|
+
warning = new (getNonErrorEmittedError())(warning);
|
|
1040
1083
|
}
|
|
1041
1084
|
this.addWarning(
|
|
1042
|
-
new
|
|
1085
|
+
new (getModuleWarning())(warning, {
|
|
1043
1086
|
from: getCurrentLoaderName()
|
|
1044
1087
|
})
|
|
1045
1088
|
);
|
|
@@ -1047,10 +1090,10 @@ class NormalModule extends Module {
|
|
|
1047
1090
|
/** @type {LoaderContext<EXPECTED_ANY>["emitError"]} */
|
|
1048
1091
|
emitError: (error) => {
|
|
1049
1092
|
if (!(error instanceof Error)) {
|
|
1050
|
-
error = new
|
|
1093
|
+
error = new (getNonErrorEmittedError())(error);
|
|
1051
1094
|
}
|
|
1052
1095
|
this.addError(
|
|
1053
|
-
new
|
|
1096
|
+
new (getModuleError())(error, {
|
|
1054
1097
|
from: getCurrentLoaderName()
|
|
1055
1098
|
})
|
|
1056
1099
|
);
|
|
@@ -1243,10 +1286,10 @@ class NormalModule extends Module {
|
|
|
1243
1286
|
const processResult = (err, result_) => {
|
|
1244
1287
|
if (err) {
|
|
1245
1288
|
if (!(err instanceof Error)) {
|
|
1246
|
-
err = new
|
|
1289
|
+
err = new (getNonErrorEmittedError())(err);
|
|
1247
1290
|
}
|
|
1248
1291
|
const currentLoader = this.getCurrentLoader(loaderContext);
|
|
1249
|
-
const error = new
|
|
1292
|
+
const error = new (getModuleBuildError())(err, {
|
|
1250
1293
|
from:
|
|
1251
1294
|
currentLoader &&
|
|
1252
1295
|
compilation.runtimeTemplate.requestShortener.shorten(
|
|
@@ -1275,7 +1318,7 @@ class NormalModule extends Module {
|
|
|
1275
1318
|
: "unknown"
|
|
1276
1319
|
}) didn't return a Buffer or String`
|
|
1277
1320
|
);
|
|
1278
|
-
const error = new
|
|
1321
|
+
const error = new (getModuleBuildError())(err);
|
|
1279
1322
|
return callback(error);
|
|
1280
1323
|
}
|
|
1281
1324
|
|
|
@@ -1349,7 +1392,7 @@ class NormalModule extends Module {
|
|
|
1349
1392
|
} else {
|
|
1350
1393
|
if (typeof result !== "string" && !result) {
|
|
1351
1394
|
return reject(
|
|
1352
|
-
new
|
|
1395
|
+
new (getUnhandledSchemeError())(
|
|
1353
1396
|
/** @type {string} */
|
|
1354
1397
|
(scheme),
|
|
1355
1398
|
resourcePath
|
|
@@ -1397,7 +1440,9 @@ class NormalModule extends Module {
|
|
|
1397
1440
|
);
|
|
1398
1441
|
return callback(null, source, sourceMap);
|
|
1399
1442
|
} catch (err) {
|
|
1400
|
-
this.addWarning(
|
|
1443
|
+
this.addWarning(
|
|
1444
|
+
new (getModuleWarning())(/** @type {Error} */ (err))
|
|
1445
|
+
);
|
|
1401
1446
|
return callback(null, result);
|
|
1402
1447
|
}
|
|
1403
1448
|
}
|
|
@@ -1575,7 +1620,8 @@ class NormalModule extends Module {
|
|
|
1575
1620
|
pureFunctions: undefined,
|
|
1576
1621
|
inlineExports: undefined,
|
|
1577
1622
|
moduleConcatenationBailout: undefined,
|
|
1578
|
-
needCreateRequire: undefined
|
|
1623
|
+
needCreateRequire: undefined,
|
|
1624
|
+
usesTopLevelUsingDeclaration: undefined
|
|
1579
1625
|
};
|
|
1580
1626
|
|
|
1581
1627
|
const startTime = compilation.compiler.fsStartTime || Date.now();
|
|
@@ -1599,7 +1645,12 @@ class NormalModule extends Module {
|
|
|
1599
1645
|
const loaders = this.loaders.map((item) =>
|
|
1600
1646
|
contextify(options.context, item.loader, compilation.compiler.root)
|
|
1601
1647
|
);
|
|
1602
|
-
const error = new
|
|
1648
|
+
const error = new (getModuleParseError())(
|
|
1649
|
+
source,
|
|
1650
|
+
e,
|
|
1651
|
+
loaders,
|
|
1652
|
+
this.type
|
|
1653
|
+
);
|
|
1603
1654
|
this.markModuleAsErrored(error);
|
|
1604
1655
|
this._initBuildHash(compilation);
|
|
1605
1656
|
return callback();
|
|
@@ -1779,7 +1830,7 @@ class NormalModule extends Module {
|
|
|
1779
1830
|
return walkSideEffects(
|
|
1780
1831
|
this,
|
|
1781
1832
|
moduleGraph,
|
|
1782
|
-
|
|
1833
|
+
HarmonyImportSideEffectDependency
|
|
1783
1834
|
);
|
|
1784
1835
|
}
|
|
1785
1836
|
|
|
@@ -1834,10 +1885,19 @@ class NormalModule extends Module {
|
|
|
1834
1885
|
runtimeRequirements.add(RuntimeGlobals.thisAsExports);
|
|
1835
1886
|
}
|
|
1836
1887
|
|
|
1837
|
-
|
|
1888
|
+
/** @type {CodeGenerationResult} */
|
|
1889
|
+
const resultEntry = {
|
|
1890
|
+
sources: new Map(),
|
|
1891
|
+
runtimeRequirements,
|
|
1892
|
+
data: undefined,
|
|
1893
|
+
hash: undefined
|
|
1894
|
+
};
|
|
1895
|
+
|
|
1896
|
+
const getData = () => {
|
|
1897
|
+
if (resultEntry.data === undefined) resultEntry.data = new Map();
|
|
1898
|
+
return resultEntry.data;
|
|
1899
|
+
};
|
|
1838
1900
|
|
|
1839
|
-
/** @type {Sources} */
|
|
1840
|
-
const sources = new Map();
|
|
1841
1901
|
for (const type of sourceTypes || chunkGraph.getModuleSourceTypes(this)) {
|
|
1842
1902
|
// TODO webpack@6 make generateError required
|
|
1843
1903
|
const generator =
|
|
@@ -1857,9 +1917,7 @@ class NormalModule extends Module {
|
|
|
1857
1917
|
getData,
|
|
1858
1918
|
type
|
|
1859
1919
|
})
|
|
1860
|
-
: new RawSource(
|
|
1861
|
-
`throw new Error(${JSON.stringify(this.error.message)});`
|
|
1862
|
-
)
|
|
1920
|
+
: new RawSource(getGenerator().throwBuildErrorCode(this.error))
|
|
1863
1921
|
: generator.generate(this, {
|
|
1864
1922
|
dependencyTemplates,
|
|
1865
1923
|
runtimeTemplate,
|
|
@@ -1874,17 +1932,10 @@ class NormalModule extends Module {
|
|
|
1874
1932
|
});
|
|
1875
1933
|
|
|
1876
1934
|
if (source) {
|
|
1877
|
-
sources.set(type, new CachedSource(source));
|
|
1935
|
+
resultEntry.sources.set(type, new CachedSource(source));
|
|
1878
1936
|
}
|
|
1879
1937
|
}
|
|
1880
1938
|
|
|
1881
|
-
/** @type {CodeGenerationResult} */
|
|
1882
|
-
const resultEntry = {
|
|
1883
|
-
sources,
|
|
1884
|
-
runtimeRequirements,
|
|
1885
|
-
data: this._codeGeneratorData,
|
|
1886
|
-
hash: undefined
|
|
1887
|
-
};
|
|
1888
1939
|
return resultEntry;
|
|
1889
1940
|
}
|
|
1890
1941
|
|
|
@@ -2060,7 +2111,6 @@ class NormalModule extends Module {
|
|
|
2060
2111
|
write(this.error);
|
|
2061
2112
|
write(this._lastSuccessfulBuildMeta);
|
|
2062
2113
|
write(this._forceBuild);
|
|
2063
|
-
write(this._codeGeneratorData);
|
|
2064
2114
|
write(this.hot);
|
|
2065
2115
|
super.serialize(context);
|
|
2066
2116
|
}
|
|
@@ -2104,7 +2154,6 @@ class NormalModule extends Module {
|
|
|
2104
2154
|
this.error = read();
|
|
2105
2155
|
this._lastSuccessfulBuildMeta = read();
|
|
2106
2156
|
this._forceBuild = read();
|
|
2107
|
-
this._codeGeneratorData = read();
|
|
2108
2157
|
this.hot = read();
|
|
2109
2158
|
super.deserialize(context);
|
|
2110
2159
|
}
|