@depup/webpack 5.106.0-depup.0 → 5.109.0-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -11
- package/changes.json +16 -24
- package/hot/dev-server.js +2 -0
- package/lib/APIPlugin.js +60 -35
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +13 -5
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +41 -0
- package/lib/Chunk.js +71 -25
- package/lib/ChunkGraph.js +141 -9
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +23 -26
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +54 -37
- package/lib/Compilation.js +635 -107
- package/lib/Compiler.js +93 -31
- package/lib/ConcatenationScope.js +34 -4
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +15 -12
- package/lib/ContextExclusionPlugin.js +3 -1
- package/lib/ContextModule.js +345 -55
- package/lib/ContextModuleFactory.js +193 -51
- package/lib/ContextReplacementPlugin.js +8 -1
- package/lib/DefinePlugin.js +498 -127
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +159 -11
- package/lib/DependencyTemplate.js +7 -1
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DotenvPlugin.js +3 -0
- package/lib/DynamicEntryPlugin.js +3 -1
- package/lib/EntryOptionPlugin.js +42 -2
- package/lib/EntryPlugin.js +4 -1
- package/lib/Entrypoint.js +5 -1
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -11
- package/lib/ExportsInfo.js +399 -108
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +376 -78
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +575 -149
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +92 -6
- package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
- package/lib/Generator.js +24 -3
- package/lib/HotModuleReplacementPlugin.js +110 -44
- package/lib/IgnorePlugin.js +5 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +15 -0
- package/lib/JavascriptMetaInfoPlugin.js +9 -6
- package/lib/LazyBarrel.js +389 -0
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +3 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +121 -60
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +5 -2
- package/lib/ModuleGraph.js +69 -2
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleNotFoundError.js +3 -83
- package/lib/ModuleProfile.js +27 -1
- package/lib/ModuleSourceTypeConstants.js +52 -19
- package/lib/ModuleTemplate.js +10 -0
- package/lib/ModuleTypeConstants.js +20 -4
- package/lib/MultiCompiler.js +59 -4
- package/lib/MultiStats.js +9 -0
- package/lib/MultiWatching.js +6 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +78 -46
- package/lib/NormalModule.js +485 -181
- package/lib/NormalModuleFactory.js +148 -29
- package/lib/NormalModuleReplacementPlugin.js +3 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +3 -1
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +4 -1
- package/lib/ProgressPlugin.js +351 -161
- package/lib/ProvidePlugin.js +6 -3
- package/lib/RawModule.js +32 -16
- package/lib/RecordIdsPlugin.js +9 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +58 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +104 -26
- package/lib/RuntimeTemplate.js +616 -37
- package/lib/SelfModuleFactory.js +3 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +341 -63
- package/lib/Stats.js +6 -0
- package/lib/Template.js +29 -3
- package/lib/TemplatedPathPlugin.js +505 -138
- package/lib/UseStrictPlugin.js +3 -2
- package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
- package/lib/WarnDeprecatedOptionPlugin.js +6 -2
- package/lib/WarnNoModeSetPlugin.js +18 -2
- package/lib/WatchIgnorePlugin.js +5 -1
- package/lib/Watching.js +25 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +4 -2
- package/lib/WebpackOptionsApply.js +88 -25
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +28 -10
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +199 -60
- package/lib/asset/AssetModule.js +47 -0
- package/lib/asset/AssetModulesPlugin.js +115 -24
- package/lib/asset/AssetParser.js +4 -2
- package/lib/asset/AssetSourceGenerator.js +26 -8
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +23 -13
- package/lib/asset/WebManifestGenerator.js +164 -0
- package/lib/asset/WebManifestParser.js +130 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/async-modules/isGeneratorLowered.js +26 -0
- package/lib/buildChunkGraph.js +107 -15
- package/lib/bun/BunTargetPlugin.js +42 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
- package/lib/cache/AddManagedPathsPlugin.js +5 -1
- package/lib/cache/IdleFileCachePlugin.js +6 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
- package/lib/cache/PackFileCacheStrategy.js +43 -7
- package/lib/cache/ResolverCachePlugin.js +12 -1
- package/lib/cache/getLazyHashedEtag.js +13 -2
- package/lib/cache/mergeEtags.js +4 -0
- package/lib/cli.js +142 -20
- package/lib/config/browserslistTargetHandler.js +141 -0
- package/lib/config/defaults.js +591 -41
- package/lib/config/defineConfig.js +31 -0
- package/lib/config/normalization.js +46 -1
- package/lib/config/target.js +200 -2
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +27 -14
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +6 -2
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +3 -2
- package/lib/container/FallbackDependency.js +9 -7
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +22 -9
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/ModuleFederationPlugin.js +12 -26
- package/lib/container/RemoteModule.js +33 -10
- package/lib/container/RemoteRuntimeModule.js +15 -12
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +534 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +156 -77
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +356 -204
- package/lib/css/CssParser.js +3452 -1950
- package/lib/css/syntax.js +4058 -0
- package/lib/debug/ProfilingPlugin.js +33 -2
- package/lib/deno/DenoTargetPlugin.js +41 -0
- package/lib/dependencies/AMDDefineDependency.js +29 -17
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
- package/lib/dependencies/AMDPlugin.js +6 -3
- package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
- package/lib/dependencies/AMDRequireContextDependency.js +10 -11
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
- package/lib/dependencies/AMDRequireDependency.js +28 -20
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +9 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +138 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +62 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +187 -24
- package/lib/dependencies/CommonJsPlugin.js +7 -4
- package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
- package/lib/dependencies/CommonJsRequireDependency.js +135 -13
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
- package/lib/dependencies/ConstDependency.js +22 -12
- package/lib/dependencies/ContextDependency.js +13 -2
- package/lib/dependencies/ContextDependencyHelpers.js +7 -4
- package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +27 -14
- package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
- package/lib/dependencies/CriticalDependencyWarning.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +682 -368
- package/lib/dependencies/CssIcssImportDependency.js +62 -17
- package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
- package/lib/dependencies/CssImportDependency.js +37 -1
- package/lib/dependencies/CssUrlDependency.js +87 -14
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +12 -13
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportBindingInitFragment.js +164 -0
- package/lib/dependencies/ExportsInfoDependency.js +18 -12
- package/lib/dependencies/ExternalModuleDependency.js +13 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
- package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
- package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +32 -2
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +140 -46
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +253 -37
- package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
- package/lib/dependencies/HarmonyExports.js +6 -1
- package/lib/dependencies/HarmonyImportDependency.js +59 -3
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +426 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +136 -17
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
- package/lib/dependencies/HtmlEntryDependency.js +1295 -0
- package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
- package/lib/dependencies/HtmlSourceDependency.js +172 -0
- package/lib/dependencies/ImportContextDependency.js +9 -9
- package/lib/dependencies/ImportDependency.js +92 -3
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
- package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
- package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
- package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
- package/lib/dependencies/ImportMetaPlugin.js +595 -209
- package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
- package/lib/dependencies/ImportParserPlugin.js +114 -27
- package/lib/dependencies/ImportPhase.js +17 -11
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +3 -0
- package/lib/dependencies/JsonExportsDependency.js +15 -10
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +3 -0
- package/lib/dependencies/LoaderPlugin.js +9 -2
- package/lib/dependencies/LocalModule.js +15 -12
- package/lib/dependencies/LocalModuleDependency.js +15 -13
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
- package/lib/dependencies/ModuleDependency.js +14 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +36 -27
- package/lib/dependencies/PureExpressionDependency.js +14 -10
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
- package/lib/dependencies/RequireEnsureDependency.js +16 -13
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +7 -4
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +10 -11
- package/lib/dependencies/RequireResolveDependency.js +2 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
- package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
- package/lib/dependencies/StaticExportsDependency.js +13 -10
- package/lib/dependencies/SystemPlugin.js +9 -6
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
- package/lib/dependencies/URLContextDependency.js +8 -7
- package/lib/dependencies/URLDependency.js +157 -33
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +12 -13
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
- package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
- package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
- package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
- package/lib/dependencies/WorkerDependency.js +111 -27
- package/lib/dependencies/WorkletDependency.js +278 -0
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +14 -11
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
- package/lib/{DllModule.js → dll/DllModule.js} +36 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
- package/lib/electron/ElectronTargetPlugin.js +24 -5
- package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
- package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
- package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
- package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
- package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
- package/lib/errors/JSONParseError.js +115 -0
- package/lib/errors/LoaderLoadingError.js +20 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
- package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
- package/lib/errors/ModuleNotFoundError.js +94 -0
- package/lib/errors/ModuleParseError.js +141 -0
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
- package/lib/errors/NonErrorEmittedError.js +30 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
- package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
- package/lib/errors/WebpackError.js +84 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
- package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +71 -49
- package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +154 -7
- package/lib/hmr/lazyCompilationBackend.js +34 -8
- package/lib/html/HtmlGenerator.js +1470 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1111 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9020 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
- package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
- package/lib/ids/HashedModuleIdsPlugin.js +2 -1
- package/lib/ids/IdHelpers.js +25 -2
- package/lib/ids/NamedChunkIdsPlugin.js +3 -1
- package/lib/ids/NamedModuleIdsPlugin.js +3 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
- package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
- package/lib/ids/SyncModuleIdsPlugin.js +3 -1
- package/lib/index.js +66 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
- package/lib/javascript/BasicEvaluatedExpression.js +370 -49
- package/lib/javascript/ChunkFormatHelpers.js +2 -1
- package/lib/javascript/ChunkHelpers.js +1 -0
- package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
- package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
- package/lib/javascript/JavascriptGenerator.js +213 -51
- package/lib/javascript/JavascriptModule.js +54 -0
- package/lib/javascript/JavascriptModulesPlugin.js +579 -183
- package/lib/javascript/JavascriptParser.js +1289 -462
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +4380 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModule.js +40 -0
- package/lib/json/JsonModulesPlugin.js +8 -1
- package/lib/json/JsonParser.js +18 -27
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +21 -3
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +154 -7
- package/lib/library/SystemLibraryPlugin.js +11 -3
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/loaders/LoaderRunner.js +714 -0
- package/lib/loaders/loadLoader.js +100 -0
- package/lib/logging/Logger.js +17 -0
- package/lib/logging/createConsoleLogger.js +7 -0
- package/lib/logging/runtime.js +2 -0
- package/lib/logging/truncateArgs.js +2 -0
- package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
- package/lib/node/NodeEnvironmentPlugin.js +7 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -63
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +40 -22
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +23 -1
- package/lib/node/ReadFileCompileWasmPlugin.js +18 -1
- package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
- package/lib/node/nodeBuiltins.js +80 -0
- package/lib/node/nodeConsole.js +116 -64
- package/lib/optimize/AggressiveMergingPlugin.js +3 -1
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +585 -116
- package/lib/optimize/ConstExportsPlugin.js +211 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
- package/lib/optimize/InlineExports.js +178 -0
- package/lib/optimize/InnerGraph.js +374 -262
- package/lib/optimize/InnerGraphPlugin.js +246 -117
- package/lib/optimize/LimitChunkCountPlugin.js +9 -0
- package/lib/optimize/MangleExportsPlugin.js +5 -1
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
- package/lib/optimize/MinChunkSizePlugin.js +2 -1
- package/lib/optimize/MinMaxSizeWarning.js +5 -4
- package/lib/optimize/ModuleConcatenationPlugin.js +159 -34
- package/lib/optimize/RealContentHashPlugin.js +125 -50
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
- package/lib/optimize/RuntimeChunkPlugin.js +2 -1
- package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
- package/lib/optimize/SplitChunksPlugin.js +54 -6
- package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
- package/lib/performance/NoAsyncChunksWarning.js +5 -3
- package/lib/performance/SizeLimitsPlugin.js +8 -2
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
- package/lib/prefetch/ResourceHintPlugin.js +663 -0
- package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
- package/lib/prefetch/parseResourceHintOptions.js +103 -0
- package/lib/rules/BasicEffectRulePlugin.js +3 -0
- package/lib/rules/BasicMatcherRulePlugin.js +3 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
- package/lib/rules/RuleSetCompiler.js +132 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
- package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
- package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
- package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/runtime/WorkerRuntimeModule.js +33 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +86 -4
- package/lib/schemes/VirtualUrlPlugin.js +8 -4
- package/lib/serialization/AggregateErrorSerializer.js +9 -6
- package/lib/serialization/ArraySerializer.js +6 -8
- package/lib/serialization/BinaryMiddleware.js +552 -463
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +50 -3
- package/lib/serialization/MapObjectSerializer.js +7 -9
- package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
- package/lib/serialization/ObjectMiddleware.js +73 -13
- package/lib/serialization/PlainObjectSerializer.js +16 -8
- package/lib/serialization/RegExpObjectSerializer.js +4 -2
- package/lib/serialization/Serializer.js +6 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +6 -8
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +21 -7
- package/lib/sharing/ConsumeSharedPlugin.js +11 -11
- package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +34 -15
- package/lib/sharing/ProvideSharedModule.js +42 -12
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +13 -8
- package/lib/sharing/SharePlugin.js +5 -1
- package/lib/sharing/ShareRuntimeModule.js +19 -16
- package/lib/sharing/resolveMatchedConfigs.js +6 -2
- package/lib/sharing/utils.js +9 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +94 -12
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +64 -18
- package/lib/stats/StatsFactory.js +39 -18
- package/lib/stats/StatsPrinter.js +16 -2
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +111 -23
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +154 -74
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +26 -0
- package/lib/util/LazySet.js +45 -4
- package/lib/util/LocConverter.js +64 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +15 -1
- package/lib/util/SetHelpers.js +4 -1
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/SourceProcessor.js +119 -0
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +162 -43
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +14 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +60 -1
- package/lib/util/binarySearchBounds.js +3 -2
- package/lib/util/chainedImports.js +3 -3
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +35 -4
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +80 -24
- package/lib/util/conventions.js +46 -1
- package/lib/util/createHash.js +0 -1
- package/lib/util/createHooksRegistry.js +43 -0
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +3 -2
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +46 -17
- package/lib/util/extractSourceMap.js +2 -1
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +7 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
- package/lib/util/fs.js +87 -14
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/globUtils.js +710 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/DebugHash.js +1 -0
- package/lib/util/hash/hash-digest.js +32 -15
- package/lib/util/hash/md4.js +1 -1
- package/lib/util/hash/wasm-hash.js +5 -0
- package/lib/util/hash/xxhash64.js +1 -1
- package/lib/util/identifier.js +97 -6
- package/lib/util/implicitTypeLoaderFallback.js +62 -0
- package/lib/util/internalSerializables.js +102 -60
- package/lib/util/magicComment.js +149 -7
- package/lib/util/makeSerializable.js +7 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +31 -1
- package/lib/util/numberHash.js +2 -2
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +9 -2
- package/lib/util/publicPathPlaceholder.js +64 -0
- package/lib/util/registerExternalSerializer.js +24 -4
- package/lib/util/removeBOM.js +1 -0
- package/lib/util/runtime.js +32 -0
- package/lib/util/semver.js +15 -0
- package/lib/util/serialization.js +2 -0
- package/lib/util/smartGrouping.js +8 -0
- package/lib/util/source.js +23 -0
- package/lib/util/topologicalSort.js +69 -0
- package/lib/validateSchema.js +1 -0
- package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
- package/lib/wasm-async/AsyncWasmModule.js +77 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
- package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
- package/lib/wasm-sync/SyncWasmModule.js +39 -0
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
- package/lib/wasm-sync/WebAssemblyParser.js +9 -3
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
- package/lib/web/FetchCompileWasmPlugin.js +27 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +78 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +21 -0
- package/package.json +79 -77
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1117 -79
- package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
- package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlParserOptions.check.js +6 -0
- package/schemas/plugins/HtmlParserOptions.json +3 -0
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +38 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +2 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +2 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +8608 -1159
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/ModuleParseError.js +0 -125
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- package/lib/css/walkCssTokens.js +0 -1843
- package/lib/util/AppendOnlyStackedSet.js +0 -78
- /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
- /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
const { WEBASSEMBLY_MODULE_TYPE_ASYNC } = require("../ModuleTypeConstants");
|
|
9
9
|
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
10
10
|
const Template = require("../Template");
|
|
11
|
+
const { getPresentKinds } = require("../TemplatedPathPlugin");
|
|
11
12
|
const AsyncWasmCompileRuntimeModule = require("../wasm-async/AsyncWasmCompileRuntimeModule");
|
|
12
13
|
const AsyncWasmLoadingRuntimeModule = require("../wasm-async/AsyncWasmLoadingRuntimeModule");
|
|
13
14
|
|
|
@@ -15,6 +16,15 @@ const AsyncWasmLoadingRuntimeModule = require("../wasm-async/AsyncWasmLoadingRun
|
|
|
15
16
|
/** @typedef {import("../Compiler")} Compiler */
|
|
16
17
|
|
|
17
18
|
/**
|
|
19
|
+
* The wasm runtime inlines `[fullhash]` as a runtime `getFullHash()` call, so
|
|
20
|
+
* that runtime module must be requested (`[hash]` is the per-module hash here).
|
|
21
|
+
* @param {string} filename `output.webassemblyModuleFilename`
|
|
22
|
+
* @returns {boolean} whether it references the compilation `[fullhash]`
|
|
23
|
+
*/
|
|
24
|
+
const usesFullHash = (filename) => getPresentKinds(filename).has("fullhash");
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Defines the read file compile async wasm plugin options type used by this module.
|
|
18
28
|
* @typedef {object} ReadFileCompileAsyncWasmPluginOptions
|
|
19
29
|
* @property {boolean=} import use import?
|
|
20
30
|
*/
|
|
@@ -23,6 +33,7 @@ const PLUGIN_NAME = "ReadFileCompileAsyncWasmPlugin";
|
|
|
23
33
|
|
|
24
34
|
class ReadFileCompileAsyncWasmPlugin {
|
|
25
35
|
/**
|
|
36
|
+
* Creates an instance of ReadFileCompileAsyncWasmPlugin.
|
|
26
37
|
* @param {ReadFileCompileAsyncWasmPluginOptions=} options options object
|
|
27
38
|
*/
|
|
28
39
|
constructor({ import: useImport = false } = {}) {
|
|
@@ -31,7 +42,7 @@ class ReadFileCompileAsyncWasmPlugin {
|
|
|
31
42
|
}
|
|
32
43
|
|
|
33
44
|
/**
|
|
34
|
-
*
|
|
45
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
35
46
|
* @param {Compiler} compiler the compiler instance
|
|
36
47
|
* @returns {void}
|
|
37
48
|
*/
|
|
@@ -39,6 +50,7 @@ class ReadFileCompileAsyncWasmPlugin {
|
|
|
39
50
|
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
|
40
51
|
const globalWasmLoading = compilation.outputOptions.wasmLoading;
|
|
41
52
|
/**
|
|
53
|
+
* Checks whether this read file compile async wasm plugin is enabled for chunk.
|
|
42
54
|
* @param {Chunk} chunk chunk
|
|
43
55
|
* @returns {boolean} true, if wasm loading is enabled for the chunk
|
|
44
56
|
*/
|
|
@@ -109,6 +121,11 @@ class ReadFileCompileAsyncWasmPlugin {
|
|
|
109
121
|
) {
|
|
110
122
|
return;
|
|
111
123
|
}
|
|
124
|
+
if (
|
|
125
|
+
usesFullHash(compilation.outputOptions.webassemblyModuleFilename)
|
|
126
|
+
) {
|
|
127
|
+
set.add(RuntimeGlobals.getFullHash);
|
|
128
|
+
}
|
|
112
129
|
compilation.addRuntimeModule(
|
|
113
130
|
chunk,
|
|
114
131
|
new AsyncWasmLoadingRuntimeModule({
|
|
@@ -130,6 +147,11 @@ class ReadFileCompileAsyncWasmPlugin {
|
|
|
130
147
|
) {
|
|
131
148
|
return;
|
|
132
149
|
}
|
|
150
|
+
if (
|
|
151
|
+
usesFullHash(compilation.outputOptions.webassemblyModuleFilename)
|
|
152
|
+
) {
|
|
153
|
+
set.add(RuntimeGlobals.getFullHash);
|
|
154
|
+
}
|
|
133
155
|
compilation.addRuntimeModule(
|
|
134
156
|
chunk,
|
|
135
157
|
new AsyncWasmCompileRuntimeModule({
|
|
@@ -8,12 +8,22 @@
|
|
|
8
8
|
const { WEBASSEMBLY_MODULE_TYPE_SYNC } = require("../ModuleTypeConstants");
|
|
9
9
|
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
10
10
|
const Template = require("../Template");
|
|
11
|
+
const { getPresentKinds } = require("../TemplatedPathPlugin");
|
|
11
12
|
const WasmChunkLoadingRuntimeModule = require("../wasm-sync/WasmChunkLoadingRuntimeModule");
|
|
12
13
|
|
|
13
14
|
/** @typedef {import("../Chunk")} Chunk */
|
|
14
15
|
/** @typedef {import("../Compiler")} Compiler */
|
|
15
16
|
|
|
16
17
|
/**
|
|
18
|
+
* The wasm runtime inlines `[fullhash]` as a runtime `getFullHash()` call, so
|
|
19
|
+
* that runtime module must be requested (`[hash]` is the per-module hash here).
|
|
20
|
+
* @param {string} filename `output.webassemblyModuleFilename`
|
|
21
|
+
* @returns {boolean} whether it references the compilation `[fullhash]`
|
|
22
|
+
*/
|
|
23
|
+
const usesFullHash = (filename) => getPresentKinds(filename).has("fullhash");
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Defines the read file compile wasm plugin options type used by this module.
|
|
17
27
|
* @typedef {object} ReadFileCompileWasmPluginOptions
|
|
18
28
|
* @property {boolean=} mangleImports mangle imports
|
|
19
29
|
* @property {boolean=} import use import?
|
|
@@ -23,6 +33,7 @@ const PLUGIN_NAME = "ReadFileCompileWasmPlugin";
|
|
|
23
33
|
|
|
24
34
|
class ReadFileCompileWasmPlugin {
|
|
25
35
|
/**
|
|
36
|
+
* Creates an instance of ReadFileCompileWasmPlugin.
|
|
26
37
|
* @param {ReadFileCompileWasmPluginOptions=} options options object
|
|
27
38
|
*/
|
|
28
39
|
constructor(options = {}) {
|
|
@@ -31,7 +42,7 @@ class ReadFileCompileWasmPlugin {
|
|
|
31
42
|
}
|
|
32
43
|
|
|
33
44
|
/**
|
|
34
|
-
*
|
|
45
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
35
46
|
* @param {Compiler} compiler the compiler instance
|
|
36
47
|
* @returns {void}
|
|
37
48
|
*/
|
|
@@ -39,6 +50,7 @@ class ReadFileCompileWasmPlugin {
|
|
|
39
50
|
compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
|
|
40
51
|
const globalWasmLoading = compilation.outputOptions.wasmLoading;
|
|
41
52
|
/**
|
|
53
|
+
* Checks whether this read file compile wasm plugin is enabled for chunk.
|
|
42
54
|
* @param {Chunk} chunk chunk
|
|
43
55
|
* @returns {boolean} true, when wasm loading is enabled for the chunk
|
|
44
56
|
*/
|
|
@@ -110,6 +122,11 @@ class ReadFileCompileWasmPlugin {
|
|
|
110
122
|
return;
|
|
111
123
|
}
|
|
112
124
|
set.add(RuntimeGlobals.moduleCache);
|
|
125
|
+
if (
|
|
126
|
+
usesFullHash(compilation.outputOptions.webassemblyModuleFilename)
|
|
127
|
+
) {
|
|
128
|
+
set.add(RuntimeGlobals.getFullHash);
|
|
129
|
+
}
|
|
113
130
|
compilation.addRuntimeModule(
|
|
114
131
|
chunk,
|
|
115
132
|
new WasmChunkLoadingRuntimeModule({
|
|
@@ -26,6 +26,7 @@ const { getUndoPath } = require("../util/identifier");
|
|
|
26
26
|
|
|
27
27
|
class RequireChunkLoadingRuntimeModule extends RuntimeModule {
|
|
28
28
|
/**
|
|
29
|
+
* Creates an instance of RequireChunkLoadingRuntimeModule.
|
|
29
30
|
* @param {ReadOnlyRuntimeRequirements} runtimeRequirements runtime requirements
|
|
30
31
|
*/
|
|
31
32
|
constructor(runtimeRequirements) {
|
|
@@ -35,6 +36,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
/**
|
|
39
|
+
* Returns generated code.
|
|
38
40
|
* @private
|
|
39
41
|
* @param {Chunk} chunk chunk
|
|
40
42
|
* @param {string} rootOutputDir root output directory
|
|
@@ -55,6 +57,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
/**
|
|
60
|
+
* Generates runtime code for this runtime module.
|
|
58
61
|
* @returns {string | null} runtime code
|
|
59
62
|
*/
|
|
60
63
|
generate() {
|
|
@@ -100,6 +103,12 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
100
103
|
? `${RuntimeGlobals.hmrRuntimeStatePrefix}_require`
|
|
101
104
|
: undefined;
|
|
102
105
|
|
|
106
|
+
const cst = runtimeTemplate.renderConst();
|
|
107
|
+
const installedChunksObject = `{\n${Template.indent(
|
|
108
|
+
Array.from(initialChunkIds, (id) => `${JSON.stringify(id)}: 1`).join(
|
|
109
|
+
",\n"
|
|
110
|
+
)
|
|
111
|
+
)}\n}`;
|
|
103
112
|
return Template.asString([
|
|
104
113
|
withBaseURI
|
|
105
114
|
? this._generateBaseUri(chunk, rootOutputDir, runtimeTemplate)
|
|
@@ -107,15 +116,11 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
107
116
|
"",
|
|
108
117
|
"// object to store loaded chunks",
|
|
109
118
|
'// "1" means "loaded", otherwise not loaded yet',
|
|
110
|
-
|
|
111
|
-
stateExpression
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
",\n"
|
|
116
|
-
)
|
|
117
|
-
),
|
|
118
|
-
"};",
|
|
119
|
+
`${cst} installedChunks = ${
|
|
120
|
+
stateExpression
|
|
121
|
+
? runtimeTemplate.assignOr(stateExpression, installedChunksObject)
|
|
122
|
+
: installedChunksObject
|
|
123
|
+
};`,
|
|
119
124
|
"",
|
|
120
125
|
withOnChunkLoad
|
|
121
126
|
? `${
|
|
@@ -127,8 +132,8 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
127
132
|
: "// no on chunks loaded",
|
|
128
133
|
"",
|
|
129
134
|
withLoading || withExternalInstallChunk
|
|
130
|
-
?
|
|
131
|
-
|
|
135
|
+
? `${cst} installChunk = ${runtimeTemplate.basicFunction("chunk", [
|
|
136
|
+
`${cst} moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;`,
|
|
132
137
|
"for(var moduleId in moreModules) {",
|
|
133
138
|
Template.indent([
|
|
134
139
|
`if(${RuntimeGlobals.hasOwnProperty}(moreModules, moduleId)) {`,
|
|
@@ -161,7 +166,7 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
161
166
|
Template.indent([
|
|
162
167
|
// The require function loads and runs a chunk. When the chunk is being run,
|
|
163
168
|
// it can call __webpack_require__.C to directly complete installed.
|
|
164
|
-
|
|
169
|
+
`${cst} installedChunk = require(${JSON.stringify(
|
|
165
170
|
rootOutputDir
|
|
166
171
|
)} + ${
|
|
167
172
|
RuntimeGlobals.getChunkScriptFilename
|
|
@@ -191,17 +196,17 @@ class RequireChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
191
196
|
? Template.asString([
|
|
192
197
|
"function loadUpdateChunk(chunkId, updatedModulesList) {",
|
|
193
198
|
Template.indent([
|
|
194
|
-
|
|
199
|
+
`${cst} update = require(${JSON.stringify(rootOutputDir)} + ${
|
|
195
200
|
RuntimeGlobals.getChunkUpdateScriptFilename
|
|
196
201
|
}(chunkId));`,
|
|
197
|
-
|
|
198
|
-
|
|
202
|
+
`${cst} updatedModules = update.modules;`,
|
|
203
|
+
`${cst} runtime = update.runtime;`,
|
|
199
204
|
"for(var moduleId in updatedModules) {",
|
|
200
205
|
Template.indent([
|
|
201
206
|
`if(${RuntimeGlobals.hasOwnProperty}(updatedModules, moduleId)) {`,
|
|
202
207
|
Template.indent([
|
|
203
208
|
"currentUpdate[moduleId] = updatedModules[moduleId];",
|
|
204
|
-
"
|
|
209
|
+
`${runtimeTemplate.optionalChaining("updatedModulesList", "push(moduleId)")};`
|
|
205
210
|
]),
|
|
206
211
|
"}"
|
|
207
212
|
]),
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
Author sheo13666q @sheo13666q
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
// node.js built-in modules externalized by the node/deno/bun target presets.
|
|
9
|
+
const builtins = [
|
|
10
|
+
"assert",
|
|
11
|
+
"assert/strict",
|
|
12
|
+
"async_hooks",
|
|
13
|
+
"buffer",
|
|
14
|
+
"child_process",
|
|
15
|
+
"cluster",
|
|
16
|
+
"console",
|
|
17
|
+
"constants",
|
|
18
|
+
"crypto",
|
|
19
|
+
"dgram",
|
|
20
|
+
"diagnostics_channel",
|
|
21
|
+
"dns",
|
|
22
|
+
"dns/promises",
|
|
23
|
+
"domain",
|
|
24
|
+
"events",
|
|
25
|
+
"fs",
|
|
26
|
+
"fs/promises",
|
|
27
|
+
"http",
|
|
28
|
+
"http2",
|
|
29
|
+
"https",
|
|
30
|
+
"inspector",
|
|
31
|
+
"inspector/promises",
|
|
32
|
+
"module",
|
|
33
|
+
"net",
|
|
34
|
+
"os",
|
|
35
|
+
"path",
|
|
36
|
+
"path/posix",
|
|
37
|
+
"path/win32",
|
|
38
|
+
"perf_hooks",
|
|
39
|
+
"process",
|
|
40
|
+
"punycode",
|
|
41
|
+
"querystring",
|
|
42
|
+
"readline",
|
|
43
|
+
"readline/promises",
|
|
44
|
+
"repl",
|
|
45
|
+
"stream",
|
|
46
|
+
"stream/consumers",
|
|
47
|
+
"stream/promises",
|
|
48
|
+
"stream/web",
|
|
49
|
+
"string_decoder",
|
|
50
|
+
"sys",
|
|
51
|
+
"timers",
|
|
52
|
+
"timers/promises",
|
|
53
|
+
"tls",
|
|
54
|
+
"trace_events",
|
|
55
|
+
"tty",
|
|
56
|
+
"url",
|
|
57
|
+
"util",
|
|
58
|
+
"util/types",
|
|
59
|
+
"v8",
|
|
60
|
+
"vm",
|
|
61
|
+
"wasi",
|
|
62
|
+
"worker_threads",
|
|
63
|
+
"zlib",
|
|
64
|
+
/^node:/,
|
|
65
|
+
|
|
66
|
+
// cspell:word pnpapi
|
|
67
|
+
// Yarn PnP adds pnpapi as "builtin"
|
|
68
|
+
"pnpapi"
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
// Bare core module names (no `node:` prefix, no regex, no pnpapi), used to
|
|
72
|
+
// recognize a request that has a `node:`-prefixed equivalent.
|
|
73
|
+
const coreModules = new Set(
|
|
74
|
+
builtins.filter(
|
|
75
|
+
(builtin) => typeof builtin === "string" && builtin !== "pnpapi"
|
|
76
|
+
)
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
module.exports.builtins = builtins;
|
|
80
|
+
module.exports.coreModules = coreModules;
|
package/lib/node/nodeConsole.js
CHANGED
|
@@ -7,120 +7,175 @@
|
|
|
7
7
|
|
|
8
8
|
const util = require("util");
|
|
9
9
|
const truncateArgs = require("../logging/truncateArgs");
|
|
10
|
+
const memoize = require("../util/memoize");
|
|
10
11
|
|
|
12
|
+
const getCli = memoize(() => require("../cli"));
|
|
13
|
+
|
|
14
|
+
const ESC = "\u001B[";
|
|
15
|
+
const CURSOR_UP = `${ESC}1A`;
|
|
16
|
+
const CLEAR_LINE = `${ESC}2K\r`;
|
|
17
|
+
|
|
18
|
+
/** @typedef {import("../Compiler")} Compiler */
|
|
11
19
|
/** @typedef {import("../config/defaults").InfrastructureLoggingNormalizedWithDefaults} InfrastructureLoggingNormalizedWithDefaults */
|
|
12
20
|
/** @typedef {import("../logging/createConsoleLogger").LoggerConsole} LoggerConsole */
|
|
21
|
+
/**
|
|
22
|
+
* @typedef {object} StatusMessageState
|
|
23
|
+
* @property {string[] | undefined} currentMessage current status message
|
|
24
|
+
* @property {number} currentLines current status message rows
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/** @type {WeakMap<Compiler, StatusMessageState>} */
|
|
28
|
+
const logStatusStateByCompiler = new WeakMap();
|
|
29
|
+
/** @type {Set<StatusMessageState>} */
|
|
30
|
+
const logStatusStates = new Set();
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Returns status state
|
|
34
|
+
* @param {Compiler} compiler compiler
|
|
35
|
+
* @returns {StatusMessageState} status state
|
|
36
|
+
*/
|
|
37
|
+
const getLogStatusState = (compiler) => {
|
|
38
|
+
let state = logStatusStateByCompiler.get(compiler);
|
|
39
|
+
if (state === undefined) {
|
|
40
|
+
state = {
|
|
41
|
+
currentMessage: undefined,
|
|
42
|
+
currentLines: 0
|
|
43
|
+
};
|
|
44
|
+
logStatusStateByCompiler.set(compiler, state);
|
|
45
|
+
logStatusStates.add(state);
|
|
46
|
+
}
|
|
47
|
+
return state;
|
|
48
|
+
};
|
|
13
49
|
|
|
14
50
|
/* eslint-disable no-console */
|
|
15
51
|
|
|
16
52
|
/**
|
|
53
|
+
* Returns logger function.
|
|
17
54
|
* @param {object} options options
|
|
18
55
|
* @param {boolean=} options.colors colors
|
|
19
56
|
* @param {boolean=} options.appendOnly append only
|
|
20
57
|
* @param {InfrastructureLoggingNormalizedWithDefaults["stream"]} options.stream stream
|
|
58
|
+
* @param {Compiler} options.compiler compiler
|
|
21
59
|
* @returns {LoggerConsole} logger function
|
|
22
60
|
*/
|
|
23
|
-
module.exports = ({ colors, appendOnly, stream }) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
61
|
+
module.exports = ({ colors, appendOnly, stream, compiler }) => {
|
|
62
|
+
const c = getCli().createColors({ useColor: Boolean(colors) });
|
|
63
|
+
const logStatusState = getLogStatusState(compiler);
|
|
64
|
+
|
|
27
65
|
let currentIndent = "";
|
|
28
66
|
let currentCollapsed = 0;
|
|
29
67
|
|
|
30
68
|
/**
|
|
69
|
+
* Returns indented string.
|
|
31
70
|
* @param {string} str string
|
|
32
71
|
* @param {string} prefix prefix
|
|
33
|
-
* @param {string}
|
|
34
|
-
* @param {string} colorSuffix color suffix
|
|
72
|
+
* @param {(line: string) => string} colorFn color function
|
|
35
73
|
* @returns {string} indented string
|
|
36
74
|
*/
|
|
37
|
-
const indent = (str, prefix,
|
|
75
|
+
const indent = (str, prefix, colorFn) => {
|
|
38
76
|
if (str === "") return str;
|
|
39
77
|
prefix = currentIndent + prefix;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return prefix + str.replace(/\n/g, `\n${prefix}`);
|
|
78
|
+
return (
|
|
79
|
+
prefix +
|
|
80
|
+
str
|
|
81
|
+
.split("\n")
|
|
82
|
+
.map((line) => colorFn(line))
|
|
83
|
+
.join(`\n${prefix}`)
|
|
84
|
+
);
|
|
50
85
|
};
|
|
51
86
|
|
|
52
87
|
const clearStatusMessage = () => {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
88
|
+
let lines = 0;
|
|
89
|
+
for (const state of logStatusStates) {
|
|
90
|
+
if (state.currentLines) {
|
|
91
|
+
lines += state.currentLines;
|
|
92
|
+
state.currentLines = 0;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
for (let i = 0; i < lines; i++) {
|
|
96
|
+
if (i > 0) stream.write(CURSOR_UP);
|
|
97
|
+
stream.write(CLEAR_LINE);
|
|
56
98
|
}
|
|
57
99
|
};
|
|
58
100
|
|
|
59
101
|
const writeStatusMessage = () => {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
102
|
+
const column = stream.columns || 40;
|
|
103
|
+
/** @type {string[]} */
|
|
104
|
+
const all = [];
|
|
105
|
+
|
|
106
|
+
for (const state of logStatusStates) {
|
|
107
|
+
if (!state.currentMessage) continue;
|
|
108
|
+
/** @type {string[][]} */
|
|
109
|
+
const lines = [[]];
|
|
110
|
+
for (const item of state.currentMessage) {
|
|
111
|
+
const parts = item.split("\n");
|
|
112
|
+
lines[lines.length - 1].push(parts[0]);
|
|
113
|
+
for (let i = 1; i < parts.length; i++) {
|
|
114
|
+
lines.push([parts[i]]);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const truncateLines = lines.map((args) =>
|
|
118
|
+
truncateArgs(args, column - 1).join(" ")
|
|
119
|
+
);
|
|
120
|
+
state.currentLines = truncateLines.length;
|
|
121
|
+
for (const line of truncateLines) all.push(line);
|
|
122
|
+
}
|
|
123
|
+
if (all.length === 0) return;
|
|
124
|
+
|
|
125
|
+
const coloredLines = all.map((str) => c.bold(str));
|
|
126
|
+
stream.write(`${CLEAR_LINE}${coloredLines.join(`\n${CLEAR_LINE}`)}`);
|
|
67
127
|
};
|
|
68
128
|
|
|
69
129
|
/**
|
|
130
|
+
* @param {EXPECTED_ANY[]} statusMessage status message
|
|
131
|
+
* @returns {void}
|
|
132
|
+
*/
|
|
133
|
+
const setStatusMessage = (statusMessage) => {
|
|
134
|
+
clearStatusMessage();
|
|
135
|
+
logStatusState.currentMessage = statusMessage.map((item) => `${item}`);
|
|
136
|
+
writeStatusMessage();
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Returns function to write with colors.
|
|
70
141
|
* @template T
|
|
71
142
|
* @param {string} prefix prefix
|
|
72
|
-
* @param {string}
|
|
73
|
-
* @param {string} colorSuffix color suffix
|
|
143
|
+
* @param {(line: string) => string} colorFn color function
|
|
74
144
|
* @returns {(...args: T[]) => void} function to write with colors
|
|
75
145
|
*/
|
|
76
146
|
const writeColored =
|
|
77
|
-
(prefix,
|
|
147
|
+
(prefix, colorFn) =>
|
|
78
148
|
(...args) => {
|
|
79
149
|
if (currentCollapsed > 0) return;
|
|
80
150
|
clearStatusMessage();
|
|
81
|
-
const str = indent(
|
|
82
|
-
util.format(...args),
|
|
83
|
-
prefix,
|
|
84
|
-
colorPrefix,
|
|
85
|
-
colorSuffix
|
|
86
|
-
);
|
|
151
|
+
const str = indent(util.format(...args), prefix, colorFn);
|
|
87
152
|
stream.write(`${str}\n`);
|
|
88
153
|
writeStatusMessage();
|
|
89
154
|
};
|
|
90
155
|
|
|
91
156
|
/** @type {<T extends unknown[]>(...args: T) => void} */
|
|
92
|
-
const writeGroupMessage = writeColored(
|
|
93
|
-
"<-> ",
|
|
94
|
-
"\u001B[1m\u001B[36m",
|
|
95
|
-
"\u001B[39m\u001B[22m"
|
|
96
|
-
);
|
|
157
|
+
const writeGroupMessage = writeColored("<-> ", (str) => c.bold(c.cyan(str)));
|
|
97
158
|
|
|
98
159
|
/** @type {<T extends unknown[]>(...args: T) => void} */
|
|
99
|
-
const writeGroupCollapsedMessage = writeColored(
|
|
100
|
-
|
|
101
|
-
"\u001B[1m\u001B[36m",
|
|
102
|
-
"\u001B[39m\u001B[22m"
|
|
160
|
+
const writeGroupCollapsedMessage = writeColored("<+> ", (str) =>
|
|
161
|
+
c.bold(c.cyan(str))
|
|
103
162
|
);
|
|
104
163
|
|
|
105
164
|
return {
|
|
106
165
|
/** @type {LoggerConsole["log"]} */
|
|
107
|
-
log: writeColored(" ",
|
|
166
|
+
log: writeColored(" ", c.bold),
|
|
108
167
|
/** @type {LoggerConsole["debug"]} */
|
|
109
|
-
debug: writeColored(" ",
|
|
168
|
+
debug: writeColored(" ", String),
|
|
110
169
|
/** @type {LoggerConsole["trace"]} */
|
|
111
|
-
trace: writeColored(" ",
|
|
170
|
+
trace: writeColored(" ", String),
|
|
112
171
|
/** @type {LoggerConsole["info"]} */
|
|
113
|
-
info: writeColored("<i> ",
|
|
172
|
+
info: writeColored("<i> ", (str) => c.bold(c.green(str))),
|
|
114
173
|
/** @type {LoggerConsole["warn"]} */
|
|
115
|
-
warn: writeColored("<w> ",
|
|
174
|
+
warn: writeColored("<w> ", (str) => c.bold(c.yellow(str))),
|
|
116
175
|
/** @type {LoggerConsole["error"]} */
|
|
117
|
-
error: writeColored("<e> ",
|
|
176
|
+
error: writeColored("<e> ", (str) => c.bold(c.red(str))),
|
|
118
177
|
/** @type {LoggerConsole["logTime"]} */
|
|
119
|
-
logTime: writeColored(
|
|
120
|
-
"<t> ",
|
|
121
|
-
"\u001B[1m\u001B[35m",
|
|
122
|
-
"\u001B[39m\u001B[22m"
|
|
123
|
-
),
|
|
178
|
+
logTime: writeColored("<t> ", (str) => c.bold(c.magenta(str))),
|
|
124
179
|
/** @type {LoggerConsole["group"]} */
|
|
125
180
|
group: (...args) => {
|
|
126
181
|
writeGroupMessage(...args);
|
|
@@ -161,24 +216,21 @@ module.exports = ({ colors, appendOnly, stream }) => {
|
|
|
161
216
|
),
|
|
162
217
|
/** @type {LoggerConsole["status"]} */
|
|
163
218
|
status: appendOnly
|
|
164
|
-
? writeColored("<s> ",
|
|
219
|
+
? writeColored("<s> ", String)
|
|
165
220
|
: (name, ...args) => {
|
|
166
221
|
args = args.filter(Boolean);
|
|
167
222
|
if (name === undefined && args.length === 0) {
|
|
168
223
|
clearStatusMessage();
|
|
169
|
-
|
|
224
|
+
logStatusState.currentMessage = undefined;
|
|
170
225
|
} else if (
|
|
171
226
|
typeof name === "string" &&
|
|
172
227
|
name.startsWith("[webpack.Progress] ")
|
|
173
228
|
) {
|
|
174
|
-
|
|
175
|
-
writeStatusMessage();
|
|
229
|
+
setStatusMessage([name.slice(19), ...args]);
|
|
176
230
|
} else if (name === "[webpack.Progress]") {
|
|
177
|
-
|
|
178
|
-
writeStatusMessage();
|
|
231
|
+
setStatusMessage([...args]);
|
|
179
232
|
} else {
|
|
180
|
-
|
|
181
|
-
writeStatusMessage();
|
|
233
|
+
setStatusMessage([name, ...args]);
|
|
182
234
|
}
|
|
183
235
|
}
|
|
184
236
|
};
|
|
@@ -11,6 +11,7 @@ const { STAGE_ADVANCED } = require("../OptimizationStages");
|
|
|
11
11
|
/** @typedef {import("../Compiler")} Compiler */
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
+
* Defines the aggressive merging plugin options type used by this module.
|
|
14
15
|
* @typedef {object} AggressiveMergingPluginOptions
|
|
15
16
|
* @property {number=} minSizeReduce minimal size reduction to trigger merging
|
|
16
17
|
*/
|
|
@@ -19,6 +20,7 @@ const PLUGIN_NAME = "AggressiveMergingPlugin";
|
|
|
19
20
|
|
|
20
21
|
class AggressiveMergingPlugin {
|
|
21
22
|
/**
|
|
23
|
+
* Creates an instance of AggressiveMergingPlugin.
|
|
22
24
|
* @param {AggressiveMergingPluginOptions=} options options object
|
|
23
25
|
*/
|
|
24
26
|
constructor(options) {
|
|
@@ -35,7 +37,7 @@ class AggressiveMergingPlugin {
|
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
/**
|
|
38
|
-
*
|
|
40
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
39
41
|
* @param {Compiler} compiler the compiler instance
|
|
40
42
|
* @returns {void}
|
|
41
43
|
*/
|
|
@@ -21,6 +21,7 @@ const identifierUtils = require("../util/identifier");
|
|
|
21
21
|
/** @typedef {import("../Module")} Module */
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
+
* Move module between.
|
|
24
25
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
25
26
|
* @param {Chunk} oldChunk the old chunk
|
|
26
27
|
* @param {Chunk} newChunk the new chunk
|
|
@@ -32,6 +33,7 @@ const moveModuleBetween = (chunkGraph, oldChunk, newChunk) => (module) => {
|
|
|
32
33
|
};
|
|
33
34
|
|
|
34
35
|
/**
|
|
36
|
+
* Checks whether this object is not a entry module.
|
|
35
37
|
* @param {ChunkGraph} chunkGraph the chunk graph
|
|
36
38
|
* @param {Chunk} chunk the chunk
|
|
37
39
|
* @returns {(module: Module) => boolean} filter for entry module
|
|
@@ -48,6 +50,7 @@ const PLUGIN_NAME = "AggressiveSplittingPlugin";
|
|
|
48
50
|
|
|
49
51
|
class AggressiveSplittingPlugin {
|
|
50
52
|
/**
|
|
53
|
+
* Creates an instance of AggressiveSplittingPlugin.
|
|
51
54
|
* @param {AggressiveSplittingPluginOptions=} options options object
|
|
52
55
|
*/
|
|
53
56
|
constructor(options = {}) {
|
|
@@ -56,6 +59,7 @@ class AggressiveSplittingPlugin {
|
|
|
56
59
|
}
|
|
57
60
|
|
|
58
61
|
/**
|
|
62
|
+
* Was chunk recorded.
|
|
59
63
|
* @param {Chunk} chunk the chunk to test
|
|
60
64
|
* @returns {boolean} true if the chunk was recorded
|
|
61
65
|
*/
|
|
@@ -64,7 +68,7 @@ class AggressiveSplittingPlugin {
|
|
|
64
68
|
}
|
|
65
69
|
|
|
66
70
|
/**
|
|
67
|
-
*
|
|
71
|
+
* Applies the plugin by registering its hooks on the compiler.
|
|
68
72
|
* @param {Compiler} compiler the compiler instance
|
|
69
73
|
* @returns {void}
|
|
70
74
|
*/
|
|
@@ -138,6 +142,7 @@ class AggressiveSplittingPlugin {
|
|
|
138
142
|
const maxSize = this.options.maxSize || 50 * 1024;
|
|
139
143
|
|
|
140
144
|
/**
|
|
145
|
+
* Returns true when applied, otherwise false.
|
|
141
146
|
* @param {SplitData} splitData split data
|
|
142
147
|
* @returns {boolean} true when applied, otherwise false
|
|
143
148
|
*/
|