@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
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
Author Alexander Akait @alexander-akait
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
/** @typedef {import("../../declarations/WebpackOptions").WebpackOptions} Configuration */
|
|
9
|
+
/** @typedef {import("../MultiCompiler").MultiWebpackOptions} MultiConfiguration */
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @template T
|
|
13
|
+
* @typedef {T | Promise<T>} MaybePromise
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Function style configuration, called with the `--env` values and CLI arguments.
|
|
18
|
+
* @typedef {(env: Record<string, EXPECTED_ANY>, argv: Record<string, EXPECTED_ANY>) => MaybePromise<Configuration | MultiConfiguration>} ConfigurationFactory
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/** @typedef {MaybePromise<Configuration | MultiConfiguration | ConfigurationFactory | ConfigurationFactory[]>} DefineConfigInput */
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A type helper for authoring configuration files, no-op at runtime.
|
|
25
|
+
* @template {DefineConfigInput} T
|
|
26
|
+
* @param {T} config webpack configuration
|
|
27
|
+
* @returns {T} the same configuration
|
|
28
|
+
*/
|
|
29
|
+
const defineConfig = (config) => config;
|
|
30
|
+
|
|
31
|
+
module.exports = defineConfig;
|
|
@@ -22,15 +22,17 @@ const util = require("util");
|
|
|
22
22
|
/** @typedef {import("../../declarations/WebpackOptions").PluginsNormalized} PluginsNormalized */
|
|
23
23
|
/** @typedef {import("../../declarations/WebpackOptions").WebpackOptions} WebpackOptions */
|
|
24
24
|
/** @typedef {import("../../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptionsNormalized */
|
|
25
|
-
/** @typedef {import("../WebpackError")} WebpackError */
|
|
25
|
+
/** @typedef {import("../errors/WebpackError")} WebpackError */
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
+
* Defines the webpack options interception type used by this module.
|
|
28
29
|
* @typedef {object} WebpackOptionsInterception
|
|
29
30
|
* @property {WebpackOptionsNormalized["devtool"]=} devtool
|
|
30
31
|
*/
|
|
31
32
|
|
|
32
33
|
const handledDeprecatedNoEmitOnErrors = util.deprecate(
|
|
33
34
|
/**
|
|
35
|
+
* Handles the callback logic for this hook.
|
|
34
36
|
* @param {boolean} noEmitOnErrors no emit on errors
|
|
35
37
|
* @param {boolean | undefined} emitOnErrors emit on errors
|
|
36
38
|
* @returns {boolean} emit on errors
|
|
@@ -48,6 +50,7 @@ const handledDeprecatedNoEmitOnErrors = util.deprecate(
|
|
|
48
50
|
);
|
|
49
51
|
|
|
50
52
|
/**
|
|
53
|
+
* Returns result value.
|
|
51
54
|
* @template T
|
|
52
55
|
* @template R
|
|
53
56
|
* @param {T | undefined} value value or not
|
|
@@ -58,12 +61,14 @@ const nestedConfig = (value, fn) =>
|
|
|
58
61
|
value === undefined ? fn(/** @type {T} */ ({})) : fn(value);
|
|
59
62
|
|
|
60
63
|
/**
|
|
64
|
+
* Returns result value.
|
|
61
65
|
* @template T
|
|
62
66
|
* @param {T | undefined} value value or not
|
|
63
67
|
* @returns {T} result value
|
|
64
68
|
*/
|
|
65
69
|
const cloneObject = (value) => /** @type {T} */ ({ ...value });
|
|
66
70
|
/**
|
|
71
|
+
* Optional nested config.
|
|
67
72
|
* @template T
|
|
68
73
|
* @template R
|
|
69
74
|
* @param {T | undefined} value value or not
|
|
@@ -74,6 +79,7 @@ const optionalNestedConfig = (value, fn) =>
|
|
|
74
79
|
value === undefined ? undefined : fn(value);
|
|
75
80
|
|
|
76
81
|
/**
|
|
82
|
+
* Returns cloned value.
|
|
77
83
|
* @template T
|
|
78
84
|
* @template R
|
|
79
85
|
* @param {T[] | undefined} value array or not
|
|
@@ -83,6 +89,7 @@ const optionalNestedConfig = (value, fn) =>
|
|
|
83
89
|
const nestedArray = (value, fn) => (Array.isArray(value) ? fn(value) : fn([]));
|
|
84
90
|
|
|
85
91
|
/**
|
|
92
|
+
* Optional nested array.
|
|
86
93
|
* @template T
|
|
87
94
|
* @template R
|
|
88
95
|
* @param {T[] | undefined} value array or not
|
|
@@ -93,6 +100,7 @@ const optionalNestedArray = (value, fn) =>
|
|
|
93
100
|
Array.isArray(value) ? fn(value) : undefined;
|
|
94
101
|
|
|
95
102
|
/**
|
|
103
|
+
* Keyed nested config.
|
|
96
104
|
* @template T
|
|
97
105
|
* @template R
|
|
98
106
|
* @param {Record<string, T> | undefined} value value or not
|
|
@@ -126,6 +134,31 @@ const keyedNestedConfig = (value, fn, customKeys) => {
|
|
|
126
134
|
};
|
|
127
135
|
|
|
128
136
|
/**
|
|
137
|
+
* Normalize `output.resourceHints` into its object form: the scalar / array /
|
|
138
|
+
* function shorthand becomes `{ initial: <value> }` (with `"preload"` aliased to
|
|
139
|
+
* `true`); an object is passed through, its `initial` getting the same alias.
|
|
140
|
+
* @param {import("../../declarations/WebpackOptions").ResourceHints=} resourceHints raw value
|
|
141
|
+
* @returns {import("../../declarations/WebpackOptions").ResourceHintsOptions | undefined} normalized object form
|
|
142
|
+
*/
|
|
143
|
+
const normalizeResourceHints = (resourceHints) => {
|
|
144
|
+
if (resourceHints === undefined) return undefined;
|
|
145
|
+
/**
|
|
146
|
+
* @param {import("../../declarations/WebpackOptions").ResourceHintsInitial=} value initial value
|
|
147
|
+
* @returns {import("../../declarations/WebpackOptions").ResourceHintsInitial | undefined} `"preload"` aliased to `true`
|
|
148
|
+
*/
|
|
149
|
+
const alias = (value) => (value === "preload" ? true : value);
|
|
150
|
+
if (
|
|
151
|
+
typeof resourceHints === "object" &&
|
|
152
|
+
!Array.isArray(resourceHints) &&
|
|
153
|
+
typeof resourceHints !== "function"
|
|
154
|
+
) {
|
|
155
|
+
return { ...resourceHints, initial: alias(resourceHints.initial) };
|
|
156
|
+
}
|
|
157
|
+
return { initial: alias(resourceHints) };
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Gets normalized webpack options.
|
|
129
162
|
* @param {WebpackOptions} config input config
|
|
130
163
|
* @returns {WebpackOptionsNormalized} normalized options
|
|
131
164
|
*/
|
|
@@ -359,6 +392,9 @@ const getNormalizedWebpackOptions = (config) => ({
|
|
|
359
392
|
hotUpdateChunkFilename: output.hotUpdateChunkFilename,
|
|
360
393
|
hotUpdateGlobal: output.hotUpdateGlobal,
|
|
361
394
|
hotUpdateMainFilename: output.hotUpdateMainFilename,
|
|
395
|
+
html: output.html,
|
|
396
|
+
htmlChunkFilename: output.htmlChunkFilename,
|
|
397
|
+
htmlFilename: output.htmlFilename,
|
|
362
398
|
ignoreBrowserWarnings: output.ignoreBrowserWarnings,
|
|
363
399
|
iife: output.iife,
|
|
364
400
|
importFunctionName: output.importFunctionName,
|
|
@@ -392,10 +428,12 @@ const getNormalizedWebpackOptions = (config) => ({
|
|
|
392
428
|
path: output.path,
|
|
393
429
|
pathinfo: output.pathinfo,
|
|
394
430
|
publicPath: output.publicPath,
|
|
431
|
+
resourceHints: normalizeResourceHints(output.resourceHints),
|
|
395
432
|
sourceMapFilename: output.sourceMapFilename,
|
|
396
433
|
sourcePrefix: output.sourcePrefix,
|
|
397
434
|
strictModuleErrorHandling: output.strictModuleErrorHandling,
|
|
398
435
|
strictModuleExceptionHandling: output.strictModuleExceptionHandling,
|
|
436
|
+
strictModuleResolution: output.strictModuleResolution,
|
|
399
437
|
trustedTypes: optionalNestedConfig(
|
|
400
438
|
output.trustedTypes,
|
|
401
439
|
(trustedTypes) => {
|
|
@@ -408,8 +446,10 @@ const getNormalizedWebpackOptions = (config) => ({
|
|
|
408
446
|
),
|
|
409
447
|
uniqueName: output.uniqueName,
|
|
410
448
|
wasmLoading: output.wasmLoading,
|
|
449
|
+
wasmStreamingFallback: output.wasmStreamingFallback,
|
|
411
450
|
webassemblyModuleFilename: output.webassemblyModuleFilename,
|
|
412
451
|
workerPublicPath: output.workerPublicPath,
|
|
452
|
+
workerChunkFilename: output.workerChunkFilename,
|
|
413
453
|
workerChunkLoading: output.workerChunkLoading,
|
|
414
454
|
workerWasmLoading: output.workerWasmLoading
|
|
415
455
|
};
|
|
@@ -500,6 +540,7 @@ const getNormalizedWebpackOptions = (config) => ({
|
|
|
500
540
|
});
|
|
501
541
|
|
|
502
542
|
/**
|
|
543
|
+
* Gets normalized entry static.
|
|
503
544
|
* @param {EntryStatic} entry static entry options
|
|
504
545
|
* @returns {EntryStaticNormalized} normalized static entry options
|
|
505
546
|
*/
|
|
@@ -539,6 +580,7 @@ const getNormalizedEntryStatic = (entry) => {
|
|
|
539
580
|
(Array.isArray(value.import) ? value.import : [value.import])
|
|
540
581
|
),
|
|
541
582
|
filename: value.filename,
|
|
583
|
+
html: value.html,
|
|
542
584
|
layer: value.layer,
|
|
543
585
|
runtime: value.runtime,
|
|
544
586
|
baseUri: value.baseUri,
|
|
@@ -546,6 +588,7 @@ const getNormalizedEntryStatic = (entry) => {
|
|
|
546
588
|
chunkLoading: value.chunkLoading,
|
|
547
589
|
asyncChunks: value.asyncChunks,
|
|
548
590
|
wasmLoading: value.wasmLoading,
|
|
591
|
+
worker: value.worker,
|
|
549
592
|
dependOn:
|
|
550
593
|
/** @type {EntryDescriptionNormalized["dependOn"]} */
|
|
551
594
|
(
|
|
@@ -562,6 +605,7 @@ const getNormalizedEntryStatic = (entry) => {
|
|
|
562
605
|
};
|
|
563
606
|
|
|
564
607
|
/**
|
|
608
|
+
* Gets normalized optimization runtime chunk.
|
|
565
609
|
* @param {OptimizationRuntimeChunk=} runtimeChunk runtimeChunk option
|
|
566
610
|
* @returns {OptimizationRuntimeChunkNormalized=} normalized runtimeChunk option
|
|
567
611
|
*/
|
|
@@ -589,6 +633,7 @@ const getNormalizedOptimizationRuntimeChunk = (runtimeChunk) => {
|
|
|
589
633
|
};
|
|
590
634
|
|
|
591
635
|
/**
|
|
636
|
+
* Apply webpack options interception.
|
|
592
637
|
* @param {WebpackOptionsNormalized} options options to be intercepted
|
|
593
638
|
* @returns {{ options: WebpackOptionsNormalized, interception?: WebpackOptionsInterception }} options and interception
|
|
594
639
|
*/
|
package/lib/config/target.js
CHANGED
|
@@ -12,6 +12,7 @@ const getBrowserslistTargetHandler = memoize(() =>
|
|
|
12
12
|
);
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
+
* Gets default target.
|
|
15
16
|
* @param {string} context the context directory
|
|
16
17
|
* @returns {string} default target
|
|
17
18
|
*/
|
|
@@ -21,16 +22,21 @@ const getDefaultTarget = (context) => {
|
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
/**
|
|
25
|
+
* Defines the platform target properties type used by this module.
|
|
24
26
|
* @typedef {object} PlatformTargetProperties
|
|
25
27
|
* @property {boolean | null=} web web platform, importing of http(s) and std: is available
|
|
26
28
|
* @property {boolean | null=} browser browser platform, running in a normal web browser
|
|
27
29
|
* @property {boolean | null=} webworker (Web)Worker platform, running in a web/shared/service worker
|
|
28
30
|
* @property {boolean | null=} node node platform, require of node built-in modules is available
|
|
31
|
+
* @property {boolean | null=} deno deno platform, node built-in modules (via the `node:` specifier) and web APIs are available
|
|
32
|
+
* @property {boolean | null=} bun bun platform, bun and node built-in modules are available
|
|
29
33
|
* @property {boolean | null=} nwjs nwjs platform, require of legacy nw.gui is available
|
|
30
34
|
* @property {boolean | null=} electron electron platform, require of some electron built-in modules is available
|
|
35
|
+
* @property {boolean | null=} universal universal ESM target spanning both web and node (target `"universal"` or `["web", "node"]`)
|
|
31
36
|
*/
|
|
32
37
|
|
|
33
38
|
/**
|
|
39
|
+
* Defines the electron context target properties type used by this module.
|
|
34
40
|
* @typedef {object} ElectronContextTargetProperties
|
|
35
41
|
* @property {boolean | null} electronMain in main context
|
|
36
42
|
* @property {boolean | null} electronPreload in preload context
|
|
@@ -38,12 +44,15 @@ const getDefaultTarget = (context) => {
|
|
|
38
44
|
*/
|
|
39
45
|
|
|
40
46
|
/**
|
|
47
|
+
* Defines the api target properties type used by this module.
|
|
41
48
|
* @typedef {object} ApiTargetProperties
|
|
42
49
|
* @property {boolean | null} require has require function available
|
|
43
50
|
* @property {boolean | null} nodeBuiltins has node.js built-in modules available
|
|
44
51
|
* @property {boolean | null} nodePrefixForCoreModules node.js allows to use `node:` prefix for core modules
|
|
52
|
+
* @property {boolean | null} nodeBuiltinModuleGetter node.js exposes `process.getBuiltinModule()` to synchronously load core modules
|
|
45
53
|
* @property {boolean | null} importMetaDirnameAndFilename node.js allows to use `import.meta.dirname` and `import.meta.filename`
|
|
46
54
|
* @property {boolean | null} document has document available (allows script tags)
|
|
55
|
+
* @property {(boolean | null)=} modulePreload supports `<link rel="modulepreload">` (optional; absent means "assume supported")
|
|
47
56
|
* @property {boolean | null} importScripts has importScripts available
|
|
48
57
|
* @property {boolean | null} importScriptsInWorker has importScripts available when creating a worker
|
|
49
58
|
* @property {boolean | null} fetchWasm has fetch function available for WebAssembly
|
|
@@ -51,10 +60,15 @@ const getDefaultTarget = (context) => {
|
|
|
51
60
|
*/
|
|
52
61
|
|
|
53
62
|
/**
|
|
63
|
+
* Defines the ecma target properties type used by this module.
|
|
54
64
|
* @typedef {object} EcmaTargetProperties
|
|
55
65
|
* @property {boolean | null} globalThis has globalThis variable available
|
|
66
|
+
* @property {boolean | null} symbol `Symbol` is available
|
|
67
|
+
* @property {boolean | null} hasOwn `Object.hasOwn` is available
|
|
56
68
|
* @property {boolean | null} bigIntLiteral big int literal syntax is available
|
|
57
|
-
* @property {boolean | null} const const
|
|
69
|
+
* @property {boolean | null} const const variable declarations are available
|
|
70
|
+
* @property {boolean | null} let let variable declarations are available
|
|
71
|
+
* @property {boolean | null} logicalAssignment logical assignment operators (`||=`, `&&=`, `??=`) are available
|
|
58
72
|
* @property {boolean | null} methodShorthand object method shorthand is available
|
|
59
73
|
* @property {boolean | null} arrowFunction arrow functions are available
|
|
60
74
|
* @property {boolean | null} forOf for of iteration is available
|
|
@@ -63,16 +77,20 @@ const getDefaultTarget = (context) => {
|
|
|
63
77
|
* @property {boolean | null} dynamicImportInWorker async import() is available when creating a worker
|
|
64
78
|
* @property {boolean | null} module ESM syntax is available (when in module)
|
|
65
79
|
* @property {boolean | null} optionalChaining optional chaining is available
|
|
80
|
+
* @property {boolean | null} spread spread and rest in array/object literals and calls is available
|
|
66
81
|
* @property {boolean | null} templateLiteral template literal is available
|
|
67
82
|
* @property {boolean | null} asyncFunction async functions and await are available
|
|
83
|
+
* @property {boolean | null} generator generator functions and yield are available
|
|
68
84
|
*/
|
|
69
85
|
|
|
70
86
|
/**
|
|
87
|
+
* Defines the shared type used by this module.
|
|
71
88
|
* @template T
|
|
72
89
|
* @typedef {{ [P in keyof T]?: never }} Never<T>
|
|
73
90
|
*/
|
|
74
91
|
|
|
75
92
|
/**
|
|
93
|
+
* Defines the shared type used by this module.
|
|
76
94
|
* @template A
|
|
77
95
|
* @template B
|
|
78
96
|
* @typedef {(A & Never<B>) | (Never<A> & B) | (A & B)} Mix<A, B>
|
|
@@ -81,6 +99,7 @@ const getDefaultTarget = (context) => {
|
|
|
81
99
|
/** @typedef {Mix<Mix<PlatformTargetProperties, ElectronContextTargetProperties>, Mix<ApiTargetProperties, EcmaTargetProperties>>} TargetProperties */
|
|
82
100
|
|
|
83
101
|
/**
|
|
102
|
+
* Returns check if version is greater or equal.
|
|
84
103
|
* @param {string} major major version
|
|
85
104
|
* @param {string | undefined} minor minor version
|
|
86
105
|
* @returns {(vMajor: number, vMinor?: number) => boolean | undefined} check if version is greater or equal
|
|
@@ -125,6 +144,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
125
144
|
/^web$/,
|
|
126
145
|
() => ({
|
|
127
146
|
node: false,
|
|
147
|
+
deno: false,
|
|
148
|
+
bun: false,
|
|
128
149
|
web: true,
|
|
129
150
|
webworker: null,
|
|
130
151
|
browser: true,
|
|
@@ -146,6 +167,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
146
167
|
/^webworker$/,
|
|
147
168
|
() => ({
|
|
148
169
|
node: false,
|
|
170
|
+
deno: false,
|
|
171
|
+
bun: false,
|
|
149
172
|
web: true,
|
|
150
173
|
webworker: true,
|
|
151
174
|
browser: true,
|
|
@@ -161,6 +184,39 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
161
184
|
global: false
|
|
162
185
|
})
|
|
163
186
|
],
|
|
187
|
+
[
|
|
188
|
+
"universal",
|
|
189
|
+
"Universal target running in browser, web worker, Node.js, Electron and NW.js. Output is always ECMAScript modules.",
|
|
190
|
+
/^universal$/,
|
|
191
|
+
// merged web + webworker + node + electron + nwjs properties; output is
|
|
192
|
+
// always ESM, so `require` (sync CommonJS) is never available
|
|
193
|
+
() => ({
|
|
194
|
+
node: null,
|
|
195
|
+
deno: null,
|
|
196
|
+
bun: null,
|
|
197
|
+
web: null,
|
|
198
|
+
webworker: null,
|
|
199
|
+
browser: null,
|
|
200
|
+
electron: null,
|
|
201
|
+
nwjs: null,
|
|
202
|
+
|
|
203
|
+
electronMain: null,
|
|
204
|
+
electronPreload: null,
|
|
205
|
+
electronRenderer: null,
|
|
206
|
+
|
|
207
|
+
document: null,
|
|
208
|
+
importScriptsInWorker: null,
|
|
209
|
+
fetchWasm: null,
|
|
210
|
+
nodeBuiltins: null,
|
|
211
|
+
importScripts: null,
|
|
212
|
+
require: false,
|
|
213
|
+
global: null,
|
|
214
|
+
|
|
215
|
+
module: true,
|
|
216
|
+
dynamicImport: true,
|
|
217
|
+
dynamicImportInWorker: true
|
|
218
|
+
})
|
|
219
|
+
],
|
|
164
220
|
[
|
|
165
221
|
"[async-]node[X[.Y]]",
|
|
166
222
|
"Node.js in version X.Y. The 'async-' prefix will load chunks asynchronously via 'fs' and 'vm' instead of 'require()'. Examples: node14.5, async-node10.",
|
|
@@ -170,6 +226,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
170
226
|
// see https://node.green/
|
|
171
227
|
return {
|
|
172
228
|
node: true,
|
|
229
|
+
deno: false,
|
|
230
|
+
bun: false,
|
|
173
231
|
web: false,
|
|
174
232
|
webworker: false,
|
|
175
233
|
browser: false,
|
|
@@ -180,6 +238,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
180
238
|
nodeBuiltins: true,
|
|
181
239
|
// v16.0.0, v14.18.0
|
|
182
240
|
nodePrefixForCoreModules: Number(major) < 15 ? v(14, 18) : v(16),
|
|
241
|
+
// v22.3.0, backported to v20.16.0; use the conservative single threshold
|
|
242
|
+
nodeBuiltinModuleGetter: v(22, 3),
|
|
183
243
|
// Added in: v21.2.0, v20.11.0, but Node.js will output experimental warning, we don't want it
|
|
184
244
|
// v24.0.0, v22.16.0 - This property is no longer experimental.
|
|
185
245
|
importMetaDirnameAndFilename: v(22, 16),
|
|
@@ -190,12 +250,18 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
190
250
|
importScriptsInWorker: false,
|
|
191
251
|
|
|
192
252
|
globalThis: v(12),
|
|
253
|
+
symbol: v(0, 12),
|
|
254
|
+
hasOwn: v(16, 9),
|
|
193
255
|
const: v(6),
|
|
256
|
+
let: v(6),
|
|
257
|
+
logicalAssignment: v(15),
|
|
194
258
|
templateLiteral: v(4),
|
|
195
259
|
optionalChaining: v(14),
|
|
260
|
+
spread: v(8, 3),
|
|
196
261
|
methodShorthand: v(4),
|
|
197
262
|
arrowFunction: v(6),
|
|
198
263
|
asyncFunction: v(7, 6),
|
|
264
|
+
generator: v(4),
|
|
199
265
|
forOf: v(5),
|
|
200
266
|
destructuring: v(6),
|
|
201
267
|
bigIntLiteral: v(10, 4),
|
|
@@ -205,6 +271,110 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
205
271
|
};
|
|
206
272
|
}
|
|
207
273
|
],
|
|
274
|
+
[
|
|
275
|
+
"deno[X[.Y]]",
|
|
276
|
+
"Deno in version X.Y. Emits ESM output; node.js built-ins are available via the required 'node:' specifier and web APIs (fetch, WebAssembly, ...) are available too. Examples: deno2, deno1.40.",
|
|
277
|
+
/^deno((\d+)(?:\.(\d+))?)?$/,
|
|
278
|
+
(_, major, minor) => {
|
|
279
|
+
const v = versionDependent(major, minor);
|
|
280
|
+
// Deno ships a modern V8, so syntax features are available since 1.0.
|
|
281
|
+
return {
|
|
282
|
+
node: true,
|
|
283
|
+
deno: true,
|
|
284
|
+
web: true,
|
|
285
|
+
webworker: false,
|
|
286
|
+
browser: false,
|
|
287
|
+
electron: false,
|
|
288
|
+
nwjs: false,
|
|
289
|
+
|
|
290
|
+
require: false,
|
|
291
|
+
nodeBuiltins: true,
|
|
292
|
+
// Deno only resolves node.js core modules through the `node:` specifier
|
|
293
|
+
nodePrefixForCoreModules: true,
|
|
294
|
+
// process.getBuiltinModule() - v2.1.0
|
|
295
|
+
nodeBuiltinModuleGetter: v(2, 1),
|
|
296
|
+
// import.meta.dirname / import.meta.filename - v1.40.0
|
|
297
|
+
importMetaDirnameAndFilename: v(1, 40),
|
|
298
|
+
global: false,
|
|
299
|
+
document: false,
|
|
300
|
+
fetchWasm: true,
|
|
301
|
+
importScripts: false,
|
|
302
|
+
importScriptsInWorker: false,
|
|
303
|
+
|
|
304
|
+
globalThis: true,
|
|
305
|
+
symbol: true,
|
|
306
|
+
hasOwn: true,
|
|
307
|
+
bigIntLiteral: true,
|
|
308
|
+
const: true,
|
|
309
|
+
let: true,
|
|
310
|
+
logicalAssignment: true,
|
|
311
|
+
methodShorthand: true,
|
|
312
|
+
arrowFunction: true,
|
|
313
|
+
forOf: true,
|
|
314
|
+
destructuring: true,
|
|
315
|
+
dynamicImport: true,
|
|
316
|
+
dynamicImportInWorker: true,
|
|
317
|
+
module: true,
|
|
318
|
+
optionalChaining: true,
|
|
319
|
+
spread: true,
|
|
320
|
+
templateLiteral: true,
|
|
321
|
+
asyncFunction: true,
|
|
322
|
+
generator: true
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
],
|
|
326
|
+
[
|
|
327
|
+
"bun[X[.Y]]",
|
|
328
|
+
"Bun in version X.Y. Output is always ECMAScript modules. Examples: bun, bun1.1.",
|
|
329
|
+
/^bun((\d+)(?:\.(\d+))?)?$/,
|
|
330
|
+
() => ({
|
|
331
|
+
// Bun is a modern, Node.js-compatible runtime; every released version
|
|
332
|
+
// supports the full modern ECMAScript feature set, so the version is
|
|
333
|
+
// accepted but does not gate any feature. Output is always ESM, so sync
|
|
334
|
+
// CommonJS `require` is never available.
|
|
335
|
+
node: true,
|
|
336
|
+
bun: true,
|
|
337
|
+
web: false,
|
|
338
|
+
webworker: false,
|
|
339
|
+
browser: false,
|
|
340
|
+
electron: false,
|
|
341
|
+
nwjs: false,
|
|
342
|
+
|
|
343
|
+
require: false,
|
|
344
|
+
nodeBuiltins: true,
|
|
345
|
+
nodePrefixForCoreModules: true,
|
|
346
|
+
nodeBuiltinModuleGetter: true,
|
|
347
|
+
importMetaDirnameAndFilename: true,
|
|
348
|
+
// Bun implements web-standard globals; use `globalThis` and load wasm
|
|
349
|
+
// via `fetch()` (Bun's fetch resolves `file:` URLs) like the deno target,
|
|
350
|
+
// instead of proprietary `Bun.*` runtime APIs.
|
|
351
|
+
global: false,
|
|
352
|
+
document: false,
|
|
353
|
+
fetchWasm: true,
|
|
354
|
+
importScripts: false,
|
|
355
|
+
importScriptsInWorker: false,
|
|
356
|
+
|
|
357
|
+
globalThis: true,
|
|
358
|
+
symbol: true,
|
|
359
|
+
hasOwn: true,
|
|
360
|
+
const: true,
|
|
361
|
+
let: true,
|
|
362
|
+
logicalAssignment: true,
|
|
363
|
+
templateLiteral: true,
|
|
364
|
+
optionalChaining: true,
|
|
365
|
+
spread: true,
|
|
366
|
+
methodShorthand: true,
|
|
367
|
+
arrowFunction: true,
|
|
368
|
+
asyncFunction: true,
|
|
369
|
+
generator: true,
|
|
370
|
+
forOf: true,
|
|
371
|
+
destructuring: true,
|
|
372
|
+
bigIntLiteral: true,
|
|
373
|
+
dynamicImport: true,
|
|
374
|
+
dynamicImportInWorker: true,
|
|
375
|
+
module: true
|
|
376
|
+
})
|
|
377
|
+
],
|
|
208
378
|
[
|
|
209
379
|
"electron[X[.Y]]-main/preload/renderer",
|
|
210
380
|
"Electron in version X.Y. Script is running in main, preload resp. renderer context.",
|
|
@@ -214,6 +384,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
214
384
|
// see https://node.green/ + https://github.com/electron/releases
|
|
215
385
|
return {
|
|
216
386
|
node: true,
|
|
387
|
+
deno: false,
|
|
388
|
+
bun: false,
|
|
217
389
|
web: context !== "main",
|
|
218
390
|
webworker: false,
|
|
219
391
|
browser: false,
|
|
@@ -239,18 +411,26 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
239
411
|
importScriptsInWorker: true,
|
|
240
412
|
|
|
241
413
|
globalThis: v(5),
|
|
414
|
+
symbol: v(0, 24),
|
|
415
|
+
hasOwn: v(16),
|
|
242
416
|
const: v(1, 1),
|
|
417
|
+
let: v(1, 1),
|
|
418
|
+
// 10.0.0 - Chromium 85
|
|
419
|
+
logicalAssignment: v(10),
|
|
243
420
|
templateLiteral: v(1, 1),
|
|
244
421
|
optionalChaining: v(8),
|
|
422
|
+
spread: v(2),
|
|
245
423
|
methodShorthand: v(1, 1),
|
|
246
424
|
arrowFunction: v(1, 1),
|
|
247
425
|
asyncFunction: v(1, 7),
|
|
426
|
+
generator: v(1, 1),
|
|
248
427
|
forOf: v(0, 36),
|
|
249
428
|
destructuring: v(1, 1),
|
|
250
429
|
bigIntLiteral: v(4),
|
|
251
430
|
dynamicImport: v(11),
|
|
252
431
|
dynamicImportInWorker: v(11),
|
|
253
|
-
|
|
432
|
+
// 28.0.0 - ESM support was added
|
|
433
|
+
module: v(28)
|
|
254
434
|
};
|
|
255
435
|
}
|
|
256
436
|
],
|
|
@@ -263,6 +443,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
263
443
|
// see https://node.green/ + https://github.com/nwjs/nw.js/blob/nw48/CHANGELOG.md
|
|
264
444
|
return {
|
|
265
445
|
node: true,
|
|
446
|
+
deno: false,
|
|
447
|
+
bun: false,
|
|
266
448
|
web: true,
|
|
267
449
|
webworker: null,
|
|
268
450
|
browser: false,
|
|
@@ -278,12 +460,19 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
278
460
|
require: false,
|
|
279
461
|
|
|
280
462
|
globalThis: v(0, 43),
|
|
463
|
+
symbol: v(0, 12),
|
|
464
|
+
hasOwn: v(0, 58),
|
|
281
465
|
const: v(0, 15),
|
|
466
|
+
let: v(0, 15),
|
|
467
|
+
// 0.48.0 - Chromium 85
|
|
468
|
+
logicalAssignment: v(0, 48),
|
|
282
469
|
templateLiteral: v(0, 13),
|
|
283
470
|
optionalChaining: v(0, 44),
|
|
471
|
+
spread: v(0, 23),
|
|
284
472
|
methodShorthand: v(0, 15),
|
|
285
473
|
arrowFunction: v(0, 15),
|
|
286
474
|
asyncFunction: v(0, 21),
|
|
475
|
+
generator: v(0, 15),
|
|
287
476
|
forOf: v(0, 13),
|
|
288
477
|
destructuring: v(0, 15),
|
|
289
478
|
bigIntLiteral: v(0, 32),
|
|
@@ -302,15 +491,21 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
302
491
|
if (v < 1000) v += 2009;
|
|
303
492
|
return {
|
|
304
493
|
const: v >= 2015,
|
|
494
|
+
let: v >= 2015,
|
|
495
|
+
logicalAssignment: v >= 2021,
|
|
305
496
|
templateLiteral: v >= 2015,
|
|
306
497
|
optionalChaining: v >= 2020,
|
|
498
|
+
spread: v >= 2018,
|
|
307
499
|
methodShorthand: v >= 2015,
|
|
308
500
|
arrowFunction: v >= 2015,
|
|
309
501
|
forOf: v >= 2015,
|
|
310
502
|
destructuring: v >= 2015,
|
|
311
503
|
module: v >= 2015,
|
|
312
504
|
asyncFunction: v >= 2017,
|
|
505
|
+
generator: v >= 2015,
|
|
313
506
|
globalThis: v >= 2020,
|
|
507
|
+
symbol: v >= 2015,
|
|
508
|
+
hasOwn: v >= 2022,
|
|
314
509
|
bigIntLiteral: v >= 2020,
|
|
315
510
|
dynamicImport: v >= 2020,
|
|
316
511
|
dynamicImportInWorker: v >= 2020
|
|
@@ -320,6 +515,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
|
|
|
320
515
|
];
|
|
321
516
|
|
|
322
517
|
/**
|
|
518
|
+
* Gets target properties.
|
|
323
519
|
* @param {string} target the target
|
|
324
520
|
* @param {string} context the context directory
|
|
325
521
|
* @returns {TargetProperties} target properties
|
|
@@ -341,6 +537,7 @@ const getTargetProperties = (target, context) => {
|
|
|
341
537
|
};
|
|
342
538
|
|
|
343
539
|
/**
|
|
540
|
+
* Merges target properties.
|
|
344
541
|
* @param {TargetProperties[]} targetProperties array of target properties
|
|
345
542
|
* @returns {TargetProperties} merged target properties
|
|
346
543
|
*/
|
|
@@ -377,6 +574,7 @@ const mergeTargetProperties = (targetProperties) => {
|
|
|
377
574
|
};
|
|
378
575
|
|
|
379
576
|
/**
|
|
577
|
+
* Gets targets properties.
|
|
380
578
|
* @param {string[]} targets the targets
|
|
381
579
|
* @param {string} context the context directory
|
|
382
580
|
* @returns {TargetProperties} target properties
|
|
@@ -12,6 +12,7 @@ const makeSerializable = require("../util/makeSerializable");
|
|
|
12
12
|
|
|
13
13
|
class ContainerEntryDependency extends Dependency {
|
|
14
14
|
/**
|
|
15
|
+
* Creates an instance of ContainerEntryDependency.
|
|
15
16
|
* @param {string} name entry name
|
|
16
17
|
* @param {ExposesList} exposes list of exposed modules
|
|
17
18
|
* @param {string} shareScope name of the share scope
|
|
@@ -27,6 +28,7 @@ class ContainerEntryDependency extends Dependency {
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
/**
|
|
31
|
+
* Returns an identifier to merge equal requests.
|
|
30
32
|
* @returns {string | null} an identifier to merge equal requests
|
|
31
33
|
*/
|
|
32
34
|
getResourceIdentifier() {
|