webpack 5.111.0 → 5.112.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 +1 -1
- package/lib/Chunk.js +3 -966
- package/lib/Compilation.js +237 -138
- package/lib/Compiler.js +23 -24
- package/lib/Dependency.js +3 -551
- package/lib/DependencyTemplate.js +3 -69
- package/lib/EntryPlugin.js +3 -68
- package/lib/Entrypoint.js +3 -121
- package/lib/ExternalsPlugin.js +3 -92
- package/lib/FileSystemInfo.js +3 -4629
- package/lib/InitFragment.js +3 -204
- package/lib/LibraryTemplatePlugin.js +3 -46
- package/lib/ModuleFilenameHelpers.js +3 -400
- package/lib/ModuleNotFoundError.js +2 -2
- package/lib/MultiCompiler.js +43 -24
- package/lib/NormalModule.js +3 -2190
- package/lib/NullFactory.js +3 -22
- package/lib/ProgressPlugin.js +3 -908
- package/lib/RawModule.js +3 -197
- package/lib/RequestShortener.js +3 -37
- package/lib/SingleEntryPlugin.js +1 -1
- package/lib/WebpackError.js +2 -2
- package/lib/asset/AssetBytesGenerator.js +15 -9
- package/lib/asset/AssetBytesParser.js +3 -3
- package/lib/asset/AssetGenerator.js +61 -38
- package/lib/asset/AssetModule.js +2 -2
- package/lib/asset/AssetModulesPlugin.js +6 -9
- package/lib/asset/AssetParser.js +3 -3
- package/lib/asset/AssetSourceGenerator.js +15 -9
- package/lib/asset/AssetSourceParser.js +3 -3
- package/lib/asset/RawDataUrlModule.js +17 -10
- package/lib/asset/WebManifestGenerator.js +7 -7
- package/lib/asset/WebManifestParser.js +5 -5
- package/lib/async-modules/AsyncModuleHelpers.js +6 -5
- package/lib/async-modules/AwaitDependenciesInitFragment.js +4 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +4 -3
- package/lib/async-modules/isGeneratorLowered.js +3 -3
- package/lib/bun/BunTargetPlugin.js +1 -1
- package/lib/cache/AddBuildDependenciesPlugin.js +2 -19
- package/lib/{Cache.js → cache/Cache.js} +1 -1
- package/lib/{CacheFacade.js → cache/CacheFacade.js} +5 -5
- package/lib/cache/IdleFileCachePlugin.js +2 -2
- package/lib/cache/MemoryCachePlugin.js +6 -6
- package/lib/cache/MemoryWithGcCachePlugin.js +9 -10
- package/lib/cache/PackFileCacheStrategy.js +11 -28
- package/lib/cache/ResolverCachePlugin.js +8 -4
- package/lib/cache/getLazyHashedEtag.js +3 -5
- package/lib/cache/mergeEtags.js +1 -1
- package/lib/{OptionsApply.js → config/OptionsApply.js} +3 -3
- package/lib/{PlatformPlugin.js → config/PlatformPlugin.js} +2 -2
- package/lib/{WebpackOptionsApply.js → config/WebpackOptionsApply.js} +217 -200
- package/lib/{WebpackOptionsDefaulter.js → config/WebpackOptionsDefaulter.js} +3 -3
- package/lib/config/browserslistTargetHandler.js +3 -9
- package/lib/{cli.js → config/cli.js} +5 -158
- package/lib/config/defaults.js +192 -122
- package/lib/config/getClaimedAssetTypes.js +28 -21
- package/lib/config/normalization.js +18 -7
- package/lib/config/target.js +13 -4
- package/lib/container/ContainerEntryDependency.js +1 -1
- package/lib/container/ContainerEntryModule.js +13 -11
- package/lib/container/ContainerEntryModuleFactory.js +2 -2
- package/lib/container/ContainerExposedDependency.js +1 -1
- package/lib/container/ContainerPlugin.js +178 -5
- package/lib/container/ContainerReferencePlugin.js +75 -14
- package/lib/container/FallbackDependency.js +1 -1
- package/lib/container/FallbackItemDependency.js +1 -1
- package/lib/container/FallbackModule.js +12 -10
- package/lib/container/FallbackModuleFactory.js +2 -2
- package/lib/container/HoistContainerReferencesPlugin.js +10 -11
- package/lib/container/ModuleFederationPlugin.js +306 -7
- package/lib/container/RemoteModule.js +14 -10
- package/lib/container/RemoteRuntimeModule.js +5 -5
- package/lib/container/RemoteToExternalDependency.js +1 -1
- package/lib/container/moduleFederationHooks.js +1 -1
- package/lib/{ContextExclusionPlugin.js → context/ContextExclusionPlugin.js} +1 -1
- package/lib/{ContextModule.js → context/ContextModule.js} +50 -36
- package/lib/{ContextModuleFactory.js → context/ContextModuleFactory.js} +25 -24
- package/lib/{ContextReplacementPlugin.js → context/ContextReplacementPlugin.js} +4 -4
- package/lib/css/CssGenerator.js +57 -42
- package/lib/css/CssInjectStyleRuntimeModule.js +36 -30
- package/lib/css/CssLoadingRuntimeModule.js +77 -44
- package/lib/css/CssModule.js +27 -29
- package/lib/css/CssModulesPlugin.js +128 -44
- package/lib/css/CssParser.js +700 -311
- package/lib/css/CssServerStylesRuntimeModule.js +3 -3
- package/lib/css/cssMinify.js +130 -54
- package/lib/css/data.js +7017 -4648
- package/lib/css/syntax-parser.js +19873 -0
- package/lib/css/syntax-printer.js +6037 -0
- package/lib/css/syntax.js +37 -17370
- package/lib/debug/ProfilingPlugin.js +55 -23
- package/lib/{DefinePlugin.js → define/DefinePlugin.js} +407 -41
- package/lib/{DotenvPlugin.js → define/DotenvPlugin.js} +25 -29
- package/lib/{EnvironmentPlugin.js → define/EnvironmentPlugin.js} +2 -2
- package/lib/deno/DenoTargetPlugin.js +1 -1
- package/lib/dependencies/ConstDependency.js +3 -120
- package/lib/dependencies/ContextElementDependency.js +5 -172
- package/lib/dependencies/NullDependency.js +3 -37
- package/lib/dependencies/{AMDDefineDependency.js → amd/AMDDefineDependency.js} +12 -11
- package/lib/dependencies/{AMDDefineDependencyParserPlugin.js → amd/AMDDefineDependencyParserPlugin.js} +10 -10
- package/lib/dependencies/{AMDPlugin.js → amd/AMDPlugin.js} +11 -11
- package/lib/dependencies/{AMDRequireArrayDependency.js → amd/AMDRequireArrayDependency.js} +15 -13
- package/lib/dependencies/{AMDRequireContextDependency.js → amd/AMDRequireContextDependency.js} +11 -10
- package/lib/dependencies/{AMDRequireDependenciesBlock.js → amd/AMDRequireDependenciesBlock.js} +7 -6
- package/lib/dependencies/{AMDRequireDependenciesBlockParserPlugin.js → amd/AMDRequireDependenciesBlockParserPlugin.js} +10 -10
- package/lib/dependencies/{AMDRequireDependency.js → amd/AMDRequireDependency.js} +13 -12
- package/lib/dependencies/{AMDRequireItemDependency.js → amd/AMDRequireItemDependency.js} +8 -7
- package/lib/dependencies/{AMDRuntimeModules.js → amd/AMDRuntimeModules.js} +3 -3
- package/lib/dependencies/{LocalModule.js → amd/LocalModule.js} +8 -4
- package/lib/dependencies/{LocalModuleDependency.js → amd/LocalModuleDependency.js} +17 -10
- package/lib/dependencies/{LocalModulesHelpers.js → amd/LocalModulesHelpers.js} +1 -1
- package/lib/dependencies/{RequireJsStuffPlugin.js → amd/RequireJsStuffPlugin.js} +9 -9
- package/lib/dependencies/{UnsupportedDependency.js → amd/UnsupportedDependency.js} +11 -10
- package/lib/dependencies/{CommonJsDependencyHelpers.js → commonjs/CommonJsDependencyHelpers.js} +8 -9
- package/lib/dependencies/{CommonJsExportRequireDependency.js → commonjs/CommonJsExportRequireDependency.js} +176 -44
- package/lib/dependencies/{CommonJsExportsDependency.js → commonjs/CommonJsExportsDependency.js} +15 -14
- package/lib/dependencies/{CommonJsExportsParserPlugin.js → commonjs/CommonJsExportsParserPlugin.js} +138 -61
- package/lib/dependencies/{CommonJsFullRequireDependency.js → commonjs/CommonJsFullRequireDependency.js} +32 -24
- package/lib/dependencies/{CommonJsImportsParserPlugin.js → commonjs/CommonJsImportsParserPlugin.js} +39 -35
- package/lib/dependencies/{CommonJsObjectExportDependency.js → commonjs/CommonJsObjectExportDependency.js} +13 -12
- package/lib/dependencies/{CommonJsPlugin.js → commonjs/CommonJsPlugin.js} +47 -35
- package/lib/dependencies/{CommonJsRequireContextDependency.js → commonjs/CommonJsRequireContextDependency.js} +15 -14
- package/lib/dependencies/{CommonJsRequireDependency.js → commonjs/CommonJsRequireDependency.js} +33 -25
- package/lib/dependencies/{CommonJsSelfReferenceDependency.js → commonjs/CommonJsSelfReferenceDependency.js} +19 -20
- package/lib/dependencies/{ModuleDecoratorDependency.js → commonjs/ModuleDecoratorDependency.js} +16 -15
- package/lib/dependencies/{RequireEnsureDependenciesBlock.js → commonjs/RequireEnsureDependenciesBlock.js} +8 -7
- package/lib/dependencies/{RequireEnsureDependenciesBlockParserPlugin.js → commonjs/RequireEnsureDependenciesBlockParserPlugin.js} +5 -5
- package/lib/dependencies/{RequireEnsureDependency.js → commonjs/RequireEnsureDependency.js} +13 -12
- package/lib/dependencies/{RequireEnsureItemDependency.js → commonjs/RequireEnsureItemDependency.js} +7 -6
- package/lib/dependencies/{RequireEnsurePlugin.js → commonjs/RequireEnsurePlugin.js} +8 -8
- package/lib/dependencies/{RequireHeaderDependency.js → commonjs/RequireHeaderDependency.js} +14 -13
- package/lib/dependencies/{RequireIncludeDependency.js → commonjs/RequireIncludeDependency.js} +13 -12
- package/lib/dependencies/{RequireIncludeDependencyParserPlugin.js → commonjs/RequireIncludeDependencyParserPlugin.js} +3 -27
- package/lib/dependencies/{RequireIncludePlugin.js → commonjs/RequireIncludePlugin.js} +4 -4
- package/lib/dependencies/{RequireResolveContextDependency.js → commonjs/RequireResolveContextDependency.js} +11 -10
- package/lib/dependencies/{RequireResolveDependency.js → commonjs/RequireResolveDependency.js} +12 -11
- package/lib/dependencies/{RequireResolveHeaderDependency.js → commonjs/RequireResolveHeaderDependency.js} +13 -12
- package/lib/dependencies/commonjs/TopLevelThisParserPlugin.js +59 -0
- package/lib/dependencies/{ContextDependency.js → context/ContextDependency.js} +15 -14
- package/lib/dependencies/{ContextDependencyHelpers.js → context/ContextDependencyHelpers.js} +34 -18
- package/lib/dependencies/{ContextDependencyTemplateAsId.js → context/ContextDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ContextDependencyTemplateAsRequireCall.js → context/ContextDependencyTemplateAsRequireCall.js} +3 -3
- package/lib/dependencies/context/ContextElementDependency.js +198 -0
- package/lib/dependencies/{ImportMetaContextDependency.js → context/ImportMetaContextDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaContextDependencyParserPlugin.js → context/ImportMetaContextDependencyParserPlugin.js} +9 -9
- package/lib/dependencies/{ImportMetaContextPlugin.js → context/ImportMetaContextPlugin.js} +5 -5
- package/lib/dependencies/{ImportMetaGlobDependency.js → context/ImportMetaGlobDependency.js} +7 -6
- package/lib/dependencies/{ImportMetaGlobDependencyParserPlugin.js → context/ImportMetaGlobDependencyParserPlugin.js} +4 -4
- package/lib/dependencies/{ImportMetaGlobHelpers.js → context/ImportMetaGlobHelpers.js} +9 -9
- package/lib/dependencies/{RequireContextDependency.js → context/RequireContextDependency.js} +7 -6
- package/lib/dependencies/{RequireContextDependencyParserPlugin.js → context/RequireContextDependencyParserPlugin.js} +2 -2
- package/lib/dependencies/{RequireContextPlugin.js → context/RequireContextPlugin.js} +5 -5
- package/lib/dependencies/{CachedConstDependency.js → core/CachedConstDependency.js} +12 -11
- package/lib/dependencies/core/ConstDependency.js +131 -0
- package/lib/dependencies/{ImportPhase.js → core/ImportPhase.js} +5 -4
- package/lib/dependencies/{ModuleDependency.js → core/ModuleDependency.js} +10 -7
- package/lib/dependencies/{ModuleDependencyTemplateAsId.js → core/ModuleDependencyTemplateAsId.js} +3 -3
- package/lib/dependencies/{ModuleDependencyTemplateAsRequireId.js → core/ModuleDependencyTemplateAsRequireId.js} +2 -2
- package/lib/dependencies/{ModuleInitFragmentDependency.js → core/ModuleInitFragmentDependency.js} +10 -9
- package/lib/dependencies/core/NullDependency.js +44 -0
- package/lib/dependencies/{RuntimeRequirementsDependency.js → core/RuntimeRequirementsDependency.js} +10 -9
- package/lib/dependencies/{StaticExportsDependency.js → core/StaticExportsDependency.js} +15 -8
- package/lib/dependencies/{CssIcssExportDependency.js → css/CssIcssExportDependency.js} +375 -100
- package/lib/dependencies/{CssIcssImportDependency.js → css/CssIcssImportDependency.js} +26 -22
- package/lib/dependencies/{CssIcssSymbolDependency.js → css/CssIcssSymbolDependency.js} +13 -12
- package/lib/dependencies/{CssImportDependency.js → css/CssImportDependency.js} +15 -11
- package/lib/dependencies/{CssUrlDependency.js → css/CssUrlDependency.js} +26 -21
- package/lib/dependencies/{CreateRequireParserPlugin.js → esm/CreateRequireParserPlugin.js} +9 -9
- package/lib/dependencies/{HarmonyAcceptDependency.js → esm/ESMAcceptDependency.js} +41 -38
- package/lib/dependencies/esm/ESMAcceptImportDependency.js +39 -0
- package/lib/dependencies/{HarmonyCompatibilityDependency.js → esm/ESMCompatibilityDependency.js} +40 -41
- package/lib/dependencies/{HarmonyDetectionParserPlugin.js → esm/ESMDetectionParserPlugin.js} +22 -21
- package/lib/dependencies/{HarmonyEvaluatedImportSpecifierDependency.js → esm/ESMEvaluatedImportSpecifierDependency.js} +33 -30
- package/lib/dependencies/{HarmonyExportDependencyParserPlugin.js → esm/ESMExportDependencyParserPlugin.js} +62 -93
- package/lib/dependencies/{HarmonyExportExpressionDependency.js → esm/ESMExportExpressionDependency.js} +83 -49
- package/lib/dependencies/{HarmonyExportHeaderDependency.js → esm/ESMExportHeaderDependency.js} +17 -15
- package/lib/dependencies/esm/ESMExportImportedSideEffectDependency.js +37 -0
- package/lib/dependencies/{HarmonyExportImportedSpecifierDependency.js → esm/ESMExportImportedSpecifierDependency.js} +136 -122
- package/lib/dependencies/{HarmonyExportInitFragment.js → esm/ESMExportInitFragment.js} +68 -43
- package/lib/dependencies/{HarmonyExportSpecifierDependency.js → esm/ESMExportSpecifierDependency.js} +68 -65
- package/lib/dependencies/{HarmonyExports.js → esm/ESMExports.js} +4 -4
- package/lib/dependencies/{HarmonyImportBareSideEffectDependency.js → esm/ESMImportBareSideEffectDependency.js} +21 -13
- package/lib/dependencies/{HarmonyImportDependency.js → esm/ESMImportDependency.js} +74 -71
- package/lib/dependencies/{HarmonyImportDependencyParserPlugin.js → esm/ESMImportDependencyParserPlugin.js} +199 -97
- package/lib/dependencies/{HarmonyImportGuard.js → esm/ESMImportGuard.js} +26 -29
- package/lib/dependencies/{HarmonyImportSideEffectDependency.js → esm/ESMImportSideEffectDependency.js} +86 -43
- package/lib/dependencies/{HarmonyImportSpecifierDependency.js → esm/ESMImportSpecifierDependency.js} +110 -61
- package/lib/dependencies/esm/ESMModulesPlugin.js +207 -0
- package/lib/dependencies/{HarmonyTopLevelThisParserPlugin.js → esm/ESMTopLevelThisParserPlugin.js} +7 -7
- package/lib/dependencies/{TopLevelAwaitDependency.js → esm/TopLevelAwaitDependency.js} +12 -11
- package/lib/dependencies/{DynamicExports.js → helpers/DynamicExports.js} +2 -2
- package/lib/{util → dependencies/helpers}/chainedImports.js +8 -9
- package/lib/dependencies/{processExportInfo.js → helpers/processExportInfo.js} +4 -4
- package/lib/{util → dependencies/helpers}/traverseDestructuringAssignmentProperties.js +1 -1
- package/lib/dependencies/{ImportMetaHotAcceptDependency.js → hmr/ImportMetaHotAcceptDependency.js} +8 -7
- package/lib/dependencies/{ImportMetaHotDeclineDependency.js → hmr/ImportMetaHotDeclineDependency.js} +8 -7
- package/lib/dependencies/{ModuleHotAcceptDependency.js → hmr/ModuleHotAcceptDependency.js} +8 -7
- package/lib/dependencies/{ModuleHotDeclineDependency.js → hmr/ModuleHotDeclineDependency.js} +8 -7
- package/lib/dependencies/{HtmlEntryDependency.js → html/HtmlEntryDependency.js} +125 -243
- package/lib/dependencies/{HtmlInlineHtmlDependency.js → html/HtmlInlineHtmlDependency.js} +13 -12
- package/lib/dependencies/{HtmlInlineScriptDependency.js → html/HtmlInlineScriptDependency.js} +72 -23
- package/lib/dependencies/{HtmlInlineStyleDependency.js → html/HtmlInlineStyleDependency.js} +53 -19
- package/lib/dependencies/{HtmlSourceDependency.js → html/HtmlSourceDependency.js} +23 -16
- package/lib/dependencies/{ImportContextDependency.js → import/ImportContextDependency.js} +24 -10
- package/lib/dependencies/{ImportDependency.js → import/ImportDependency.js} +26 -18
- package/lib/dependencies/{ImportEagerDependency.js → import/ImportEagerDependency.js} +18 -10
- package/lib/dependencies/{ImportParserPlugin.js → import/ImportParserPlugin.js} +20 -20
- package/lib/dependencies/{ImportPlugin.js → import/ImportPlugin.js} +4 -4
- package/lib/dependencies/{ImportWeakDependency.js → import/ImportWeakDependency.js} +18 -10
- package/lib/dependencies/{importOptionsCheck.js → import/importOptionsCheck.js} +2 -2
- package/lib/dependencies/{BuildTimeConstDependency.js → import-meta/BuildTimeConstDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaMainDependency.js → import-meta/ImportMetaMainDependency.js} +12 -11
- package/lib/dependencies/{ImportMetaPlugin.js → import-meta/ImportMetaPlugin.js} +126 -107
- package/lib/dependencies/{SystemPlugin.js → system/SystemPlugin.js} +11 -38
- package/lib/dependencies/{SystemRuntimeModule.js → system/SystemRuntimeModule.js} +3 -3
- package/lib/dependencies/{ImportMetaResolveDependency.js → url/ImportMetaResolveDependency.js} +9 -8
- package/lib/dependencies/{URLContextDependency.js → url/URLContextDependency.js} +11 -10
- package/lib/dependencies/{URLDependency.js → url/URLDependency.js} +34 -25
- package/lib/{url → dependencies/url}/URLParserPlugin.js +22 -26
- package/lib/dependencies/{URLPlugin.js → url/URLPlugin.js} +6 -7
- package/lib/dependencies/{WebAssemblyExportImportedDependency.js → wasm/WebAssemblyExportImportedDependency.js} +18 -11
- package/lib/dependencies/{WebAssemblyImportDependency.js → wasm/WebAssemblyImportDependency.js} +19 -12
- package/lib/dependencies/{CreateScriptUrlDependency.js → worker/CreateScriptUrlDependency.js} +12 -11
- package/lib/dependencies/{WorkerAndWorkletPlugin.js → worker/WorkerAndWorkletPlugin.js} +46 -54
- package/lib/dependencies/{WorkerDependency.js → worker/WorkerDependency.js} +28 -20
- package/lib/dependencies/{WorkletDependency.js → worker/WorkletDependency.js} +25 -27
- package/lib/{EvalDevToolModulePlugin.js → devtool/EvalDevToolModulePlugin.js} +20 -6
- package/lib/{EvalSourceMapDevToolPlugin.js → devtool/EvalSourceMapDevToolPlugin.js} +32 -24
- package/lib/devtool/ModuleFilenameHelpers.js +413 -0
- package/lib/{SourceMapDevToolModuleOptionsPlugin.js → devtool/SourceMapDevToolModuleOptionsPlugin.js} +10 -3
- package/lib/{SourceMapDevToolPlugin.js → devtool/SourceMapDevToolPlugin.js} +207 -129
- package/lib/{util → devtool}/generateDebugId.js +1 -1
- package/lib/{IgnoreWarningsPlugin.js → diagnostics/IgnoreWarningsPlugin.js} +2 -2
- package/lib/{NoEmitOnErrorsPlugin.js → diagnostics/NoEmitOnErrorsPlugin.js} +1 -1
- package/lib/diagnostics/WarnCaseSensitiveModulesPlugin.js +64 -0
- package/lib/{WarnDeprecatedOptionPlugin.js → diagnostics/WarnDeprecatedOptionPlugin.js} +2 -22
- package/lib/diagnostics/WarnNoModeSetPlugin.js +27 -0
- package/lib/dll/DelegatedModule.js +20 -18
- package/lib/dll/DelegatedModuleFactoryPlugin.js +2 -2
- package/lib/dll/DelegatedPlugin.js +1 -1
- package/lib/{dependencies → dll}/DelegatedSourceDependency.js +5 -4
- package/lib/{dependencies → dll}/DllEntryDependency.js +6 -5
- package/lib/dll/DllEntryPlugin.js +3 -3
- package/lib/dll/DllModule.js +11 -9
- package/lib/dll/DllModuleFactory.js +3 -3
- package/lib/dll/DllPlugin.js +18 -6
- package/lib/dll/DllReferencePlugin.js +102 -26
- package/lib/dll/LibManifestPlugin.js +9 -7
- package/lib/electron/ElectronTargetPlugin.js +2 -2
- package/lib/{DynamicEntryPlugin.js → entry/DynamicEntryPlugin.js} +3 -3
- package/lib/{dependencies → entry}/EntryDependency.js +11 -2
- package/lib/{EntryOptionPlugin.js → entry/EntryOptionPlugin.js} +6 -6
- package/lib/entry/EntryPlugin.js +75 -0
- package/lib/{performance → errors}/AssetsOverSizeLimitWarning.js +2 -2
- package/lib/errors/AsyncDependencyToInitialChunkError.js +2 -2
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{WarnCaseSensitiveModulesPlugin.js → errors/CaseSensitiveModulesWarning.js} +4 -56
- package/lib/errors/ChunkRenderError.js +1 -1
- package/lib/errors/CodeGenerationError.js +1 -1
- package/lib/errors/CommentCompilationWarning.js +1 -1
- package/lib/errors/ConflictingEntryExportsWarning.js +38 -0
- package/lib/{dependencies → errors}/CriticalDependencyWarning.js +4 -3
- package/lib/errors/DeprecatedOptionWarning.js +30 -0
- package/lib/errors/DllManifestError.js +26 -0
- package/lib/{performance → errors}/DuplicatePackagesWarning.js +6 -6
- package/lib/{dependencies/HarmonyLinkingError.js → errors/ESMLinkingError.js} +4 -4
- package/lib/{performance → errors}/EntrypointsOverSizeLimitWarning.js +2 -2
- package/lib/errors/EnvironmentNotSupportAsyncWarning.js +2 -2
- package/lib/errors/ErrorHelpers.js +222 -0
- package/lib/errors/ExternalStarReexportError.js +2 -2
- package/lib/{library → errors}/FalseIIFEUmdWarning.js +1 -1
- package/lib/errors/HookWebpackError.js +6 -5
- package/lib/errors/IgnoreErrorModuleFactory.js +3 -3
- package/lib/errors/InvalidDependenciesModuleWarning.js +1 -1
- package/lib/{optimize → errors}/MinMaxSizeWarning.js +1 -1
- package/lib/errors/ModuleBuildError.js +1 -1
- package/lib/errors/ModuleDependencyError.js +2 -2
- package/lib/errors/ModuleDependencyWarning.js +2 -2
- package/lib/errors/ModuleError.js +1 -1
- package/lib/errors/ModuleHashingError.js +1 -1
- package/lib/errors/ModuleNotFoundError.js +3 -3
- package/lib/errors/ModuleParseError.js +1 -1
- package/lib/errors/ModuleRestoreError.js +1 -1
- package/lib/errors/ModuleStoreError.js +1 -1
- package/lib/errors/ModuleWarning.js +1 -1
- package/lib/{performance → errors}/NoAsyncChunksWarning.js +1 -1
- package/lib/{WarnNoModeSetPlugin.js → errors/NoModeWarning.js} +2 -19
- package/lib/errors/NodeStuffInWebError.js +7 -2
- package/lib/errors/PathVariableError.js +31 -0
- package/lib/errors/RequireIncludeDeprecationWarning.js +40 -0
- package/lib/{performance → errors}/RuntimeInLargeChunkWarning.js +1 -1
- package/lib/errors/RuntimeModuleGenerationError.js +51 -0
- package/lib/errors/SSRManifestAutoPublicPathWarning.js +24 -0
- package/lib/errors/SystemImportDeprecationWarning.js +43 -0
- package/lib/errors/UnmergeableEntryExportsError.js +34 -0
- package/lib/errors/UnsupportedFeatureWarning.js +1 -1
- package/lib/{wasm-sync → errors}/UnsupportedWebAssemblyFeatureError.js +1 -1
- package/lib/{wasm-sync → errors}/WebAssemblyInInitialChunkError.js +7 -5
- package/lib/errors/WebpackError.js +12 -3
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -2
- package/lib/esm/ModuleChunkFormatPlugin.js +19 -19
- package/lib/esm/ModuleChunkLoadingPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +8 -8
- package/lib/{ExternalModule.js → externals/ExternalModule.js} +85 -63
- package/lib/{ExternalModuleFactoryPlugin.js → externals/ExternalModuleFactoryPlugin.js} +41 -39
- package/lib/externals/ExternalsPlugin.js +99 -0
- package/lib/fs/FileSystemInfo.js +4642 -0
- package/lib/{util → fs}/fs.js +22 -9
- package/lib/{AsyncDependenciesBlock.js → graph/AsyncDependenciesBlock.js} +27 -4
- package/lib/graph/Chunk.js +985 -0
- package/lib/{ChunkGraph.js → graph/ChunkGraph.js} +187 -80
- package/lib/{ChunkGroup.js → graph/ChunkGroup.js} +11 -3
- package/lib/{DependenciesBlock.js → graph/DependenciesBlock.js} +16 -4
- package/lib/graph/Dependency.js +628 -0
- package/lib/graph/Entrypoint.js +136 -0
- package/lib/{ExportsInfo.js → graph/ExportsInfo.js} +151 -99
- package/lib/{HotUpdateChunk.js → graph/HotUpdateChunk.js} +8 -0
- package/lib/{ModuleGraph.js → graph/ModuleGraph.js} +36 -39
- package/lib/{ModuleGraphConnection.js → graph/ModuleGraphConnection.js} +2 -2
- package/lib/{buildChunkGraph.js → graph/buildChunkGraph.js} +163 -72
- package/lib/{util → graph}/findGraphRoots.js +20 -21
- package/lib/graph/isDependencyKind.js +23 -0
- package/lib/hmr/HotModuleReplacement.runtime.js +2 -2
- package/lib/{HotModuleReplacementPlugin.js → hmr/HotModuleReplacementPlugin.js} +49 -47
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +3 -3
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +10 -8
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +2 -2
- package/lib/hmr/LazyCompilationPlugin.js +34 -26
- package/lib/html/HtmlGenerator.js +168 -125
- package/lib/html/HtmlModule.js +6 -2
- package/lib/html/HtmlModulesPlugin.js +260 -215
- package/lib/html/HtmlParser.js +598 -292
- package/lib/html/builtinEmbeddedRenderer.js +60 -13
- package/lib/html/data.js +23 -1
- package/lib/html/htmlMinify.js +120 -51
- package/lib/html/syntax-parser.js +15796 -0
- package/lib/html/syntax-printer.js +1034 -0
- package/lib/html/syntax.js +37 -14062
- package/lib/html/xmlMinify.js +67 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +2 -2
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +31 -4
- package/lib/ids/IdHelpers.js +4 -4
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +6 -5
- package/lib/ids/OccurrenceModuleIdsPlugin.js +6 -5
- package/lib/{RecordIdsPlugin.js → ids/RecordIdsPlugin.js} +5 -5
- package/lib/ids/SyncModuleIdsPlugin.js +3 -3
- package/lib/{util → ids}/numberHash.js +1 -1
- package/lib/index.js +348 -99
- package/lib/{APIPlugin.js → javascript/APIPlugin.js} +29 -30
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -5
- package/lib/javascript/BasicEvaluatedExpression.js +4 -4
- package/lib/javascript/ChunkHelpers.js +64 -4
- package/lib/javascript/CommonJsChunkFormatPlugin.js +4 -7
- package/lib/{CompatibilityPlugin.js → javascript/CompatibilityPlugin.js} +10 -11
- package/lib/{ConstPlugin.js → javascript/ConstPlugin.js} +90 -139
- package/lib/{ExportsInfoApiPlugin.js → javascript/ExportsInfoApiPlugin.js} +5 -5
- package/lib/{dependencies → javascript}/ExportsInfoDependency.js +10 -9
- package/lib/javascript/JavascriptGenerator.js +25 -18
- package/lib/{JavascriptMetaInfoPlugin.js → javascript/JavascriptMetaInfoPlugin.js} +7 -7
- package/lib/javascript/JavascriptModule.js +4 -3
- package/lib/javascript/JavascriptModulesPlugin.js +458 -256
- package/lib/javascript/JavascriptParser.js +916 -287
- package/lib/javascript/JavascriptParserHelpers.js +1 -1
- package/lib/javascript/MergedEntryExports.js +196 -0
- package/lib/javascript/ScopeAnalyzer.js +3840 -5
- package/lib/javascript/StartupHelpers.js +6 -6
- package/lib/{UseStrictPlugin.js → javascript/UseStrictPlugin.js} +12 -15
- package/lib/{dependencies → javascript}/WebpackIsIncludedDependency.js +10 -9
- package/lib/{WebpackIsIncludedPlugin.js → javascript/WebpackIsIncludedPlugin.js} +8 -8
- package/lib/javascript/data.js +533 -122
- package/lib/javascript/jsMinify.js +272 -0
- package/lib/javascript/regexp.js +67 -32
- package/lib/javascript/syntax-parser.js +18561 -0
- package/lib/javascript/syntax-printer-data.js +933 -0
- package/lib/javascript/syntax-printer.js +47106 -0
- package/lib/javascript/syntax.js +20 -10946
- package/lib/json/JsonData.js +1 -1
- package/lib/{dependencies → json}/JsonExportsDependency.js +8 -7
- package/lib/json/JsonGenerator.js +17 -11
- package/lib/json/JsonModule.js +2 -2
- package/lib/json/JsonModulesPlugin.js +1 -1
- package/lib/json/JsonParser.js +5 -5
- package/lib/json/jsonMinify.js +69 -0
- package/lib/library/AbstractLibraryPlugin.js +28 -15
- package/lib/library/AmdLibraryPlugin.js +4 -4
- package/lib/library/AssignLibraryPlugin.js +27 -11
- package/lib/library/EnableLibraryPlugin.js +1 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +4 -4
- package/lib/library/JsonpLibraryPlugin.js +1 -1
- package/lib/library/LibraryTemplatePlugin.js +53 -0
- package/lib/library/ModuleLibraryPlugin.js +207 -285
- package/lib/library/SystemLibraryPlugin.js +6 -8
- package/lib/library/UmdLibraryPlugin.js +3 -4
- package/lib/{dependencies → loaders}/LoaderDependency.js +3 -3
- package/lib/{dependencies → loaders}/LoaderImportDependency.js +9 -3
- package/lib/{LoaderOptionsPlugin.js → loaders/LoaderOptionsPlugin.js} +30 -12
- package/lib/{dependencies → loaders}/LoaderPlugin.js +27 -2
- package/lib/loaders/LoaderRunner.js +160 -22
- package/lib/{LoaderTargetPlugin.js → loaders/LoaderTargetPlugin.js} +2 -2
- package/lib/logging/Logger.js +7 -9
- package/lib/logging/ProgressPlugin.js +957 -0
- package/lib/{CodeGenerationResults.js → module/CodeGenerationResults.js} +7 -7
- package/lib/{Generator.js → module/Generator.js} +38 -14
- package/lib/{Module.js → module/Module.js} +122 -54
- package/lib/{ModuleFactory.js → module/ModuleFactory.js} +3 -3
- package/lib/module/NormalModule.js +2348 -0
- package/lib/{NormalModuleFactory.js → module/NormalModuleFactory.js} +53 -54
- package/lib/module/NullFactory.js +29 -0
- package/lib/{Parser.js → module/Parser.js} +3 -3
- package/lib/module/RawModule.js +208 -0
- package/lib/{SelfModuleFactory.js → module/SelfModuleFactory.js} +1 -1
- package/lib/{util → module}/extractSourceMap.js +2 -2
- package/lib/{util → module}/findCaseMismatch.js +2 -2
- package/lib/node/CommonJsChunkLoadingPlugin.js +3 -3
- package/lib/{dependencies → node}/ExternalModuleDependency.js +8 -7
- package/lib/{dependencies → node}/ExternalModuleInitFragment.js +6 -5
- package/lib/{dependencies → node}/ExternalModuleInitFragmentDependency.js +14 -9
- package/lib/node/NodeEnvironmentPlugin.js +11 -1
- package/lib/{NodeStuffPlugin.js → node/NodeStuffPlugin.js} +17 -17
- package/lib/node/NodeTargetPlugin.js +1 -1
- package/lib/node/NodeWatchFileSystem.js +61 -15
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +9 -7
- package/lib/node/ReadFileCompileWasmPlugin.js +7 -5
- package/lib/node/RequireChunkLoadingRuntimeModule.js +7 -7
- package/lib/node/nodeConsole.js +2 -4
- package/lib/optimize/AggressiveMergingPlugin.js +5 -7
- package/lib/optimize/AggressiveSplittingPlugin.js +12 -8
- package/lib/{CircularModulesPlugin.js → optimize/CircularModulesPlugin.js} +13 -13
- package/lib/optimize/ConcatenatedModule.js +305 -309
- package/lib/{ConcatenationScope.js → optimize/ConcatenationScope.js} +39 -6
- package/lib/optimize/ConstExportsPlugin.js +7 -7
- package/lib/optimize/EnsureChunkConditionsPlugin.js +3 -3
- package/lib/{FlagAllModulesAsUsedPlugin.js → optimize/FlagAllModulesAsUsedPlugin.js} +3 -3
- package/lib/{FlagDependencyExportsPlugin.js → optimize/FlagDependencyExportsPlugin.js} +25 -30
- package/lib/{FlagDependencyUsagePlugin.js → optimize/FlagDependencyUsagePlugin.js} +26 -30
- package/lib/{FlagEntryExportAsUsedPlugin.js → optimize/FlagEntryExportAsUsedPlugin.js} +2 -2
- package/lib/optimize/FlagIncludedChunksPlugin.js +5 -13
- package/lib/optimize/InlineExports.js +11 -3
- package/lib/optimize/InnerGraph.js +5 -13
- package/lib/optimize/InnerGraphPlugin.js +17 -23
- package/lib/optimize/LazyBarrels.js +584 -0
- package/lib/{util → optimize}/LazyBucketSortedSet.js +2 -2
- package/lib/optimize/LimitChunkCountPlugin.js +21 -15
- package/lib/optimize/MangleExportsPlugin.js +8 -9
- package/lib/optimize/MergeDuplicateChunksPlugin.js +7 -6
- package/lib/optimize/MinChunkSizePlugin.js +9 -6
- package/lib/optimize/ModuleConcatenationPlugin.js +23 -16
- package/lib/{dependencies → optimize}/PureExpressionDependency.js +11 -10
- package/lib/optimize/RealContentHashPlugin.js +16 -7
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
- package/lib/optimize/RemoveParentModulesPlugin.js +4 -4
- package/lib/optimize/SideEffectsFlagPlugin.js +25 -37
- package/lib/optimize/SplitChunksPlugin.js +715 -159
- package/lib/{util → optimize}/TupleQueue.js +9 -9
- package/lib/optimize/chunkSetIntersections.js +437 -0
- package/lib/{util → optimize}/deterministicGrouping.js +25 -30
- package/lib/{BannerPlugin.js → output/BannerPlugin.js} +82 -14
- package/lib/{CleanPlugin.js → output/CleanPlugin.js} +66 -24
- package/lib/{CopyPlugin.js → output/CopyPlugin.js} +142 -67
- package/lib/{ManifestPlugin.js → output/ManifestPlugin.js} +91 -17
- package/lib/output/SSRManifestPlugin.js +349 -0
- package/lib/performance/AnalyzableBailoutsPlugin.js +1 -1
- package/lib/performance/AsyncChunkWaterfallsPlugin.js +1 -1
- package/lib/performance/BroadContextsPlugin.js +4 -4
- package/lib/performance/CacheEffectivenessPlugin.js +5 -7
- package/lib/performance/ConflictingResourceHintsPlugin.js +1 -1
- package/lib/performance/DuplicateModulesPlugin.js +3 -4
- package/lib/performance/DuplicatePackagesPlugin.js +3 -3
- package/lib/performance/DynamicExportsPlugin.js +2 -2
- package/lib/performance/EvalUsagePlugin.js +3 -3
- package/lib/performance/HotspotsPlugin.js +11 -10
- package/lib/performance/LargeModulesPlugin.js +2 -3
- package/lib/performance/LegacyJavascriptPlugin.js +1 -2
- package/lib/performance/MissingSideEffectsPlugin.js +2 -3
- package/lib/performance/MissingSourceMapsPlugin.js +5 -6
- package/lib/performance/PureAnnotationsPlugin.js +3 -3
- package/lib/performance/RedundantDynamicImportsPlugin.js +6 -8
- package/lib/performance/ScopeHoistingBailoutsPlugin.js +2 -2
- package/lib/performance/SizeLimitsPlugin.js +13 -16
- package/lib/performance/TopLevelThisPlugin.js +8 -7
- package/lib/performance/UnsplitVendorsPlugin.js +1 -2
- package/lib/performance/UnusedAliasesPlugin.js +6 -7
- package/lib/performance/UnusedAssetsPlugin.js +5 -5
- package/lib/performance/UnusedDefinesPlugin.js +2 -2
- package/lib/performance/UnusedExternalsPlugin.js +3 -4
- package/lib/performance/UnusedFederationPlugin.js +2 -4
- package/lib/performance/UnusedModulesPlugin.js +5 -4
- package/lib/performance/getModuleSize.js +1 -1
- package/lib/performance/hasOnlyUnusedExports.js +4 -4
- package/lib/performance/isOnlyReexported.js +7 -6
- package/lib/{AutomaticPrefetchPlugin.js → prefetch/AutomaticPrefetchPlugin.js} +4 -5
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +2 -2
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +7 -9
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +4 -4
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +4 -4
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +4 -4
- package/lib/{dependencies → prefetch}/PrefetchDependency.js +1 -1
- package/lib/{PrefetchPlugin.js → prefetch/PrefetchPlugin.js} +2 -2
- package/lib/prefetch/ResourceHintPlugin.js +82 -65
- package/lib/prefetch/ResourceHintRuntimeModule.js +3 -3
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +10 -13
- package/lib/prefetch/parseResourceHintOptions.js +4 -3
- package/lib/{ProvidePlugin.js → provide/ProvidePlugin.js} +7 -7
- package/lib/{dependencies → provide}/ProvidedDependency.js +14 -13
- package/lib/{IgnorePlugin.js → resolve/IgnorePlugin.js} +30 -13
- package/lib/{NormalModuleReplacementPlugin.js → resolve/NormalModuleReplacementPlugin.js} +4 -4
- package/lib/{ResolverFactory.js → resolve/ResolverFactory.js} +18 -5
- package/lib/resolve/getResolveOptionsKey.js +59 -0
- package/lib/rules/RuleSetCompiler.js +27 -46
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +2 -2
- package/lib/runtime/AsyncModuleRuntimeModule.js +10 -9
- package/lib/runtime/AutoPublicPathRuntimeModule.js +5 -5
- package/lib/runtime/BaseUriRuntimeModule.js +3 -3
- package/lib/runtime/ChunkNameRuntimeModule.js +2 -2
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -2
- package/lib/runtime/CompatRuntimeModule.js +4 -4
- package/lib/runtime/ConcatenationWrapRuntimeModule.js +2 -2
- package/lib/runtime/ConstructRequireRuntimeModule.js +2 -2
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/CreateScriptRuntimeModule.js +2 -2
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +2 -2
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +6 -6
- package/lib/runtime/EnsureChunkRuntimeModule.js +4 -4
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +9 -10
- package/lib/runtime/GetFullHashRuntimeModule.js +2 -2
- package/lib/runtime/GetMainFilenameRuntimeModule.js +4 -4
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +3 -3
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +3 -3
- package/lib/runtime/GlobalRuntimeModule.js +5 -7
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +3 -3
- package/lib/runtime/HelperRuntimeModule.js +16 -1
- package/lib/runtime/LoadScriptRuntimeModule.js +3 -3
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +135 -102
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/NonceRuntimeModule.js +2 -2
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +4 -4
- package/lib/runtime/PublicPathRuntimeModule.js +2 -2
- package/lib/runtime/RelativeUrlRuntimeModule.js +2 -2
- package/lib/{RuntimeGlobals.js → runtime/RuntimeGlobals.js} +18 -1
- package/lib/runtime/RuntimeIdRuntimeModule.js +4 -4
- package/lib/{RuntimeModule.js → runtime/RuntimeModule.js} +36 -21
- package/lib/{RuntimePlugin.js → runtime/RuntimePlugin.js} +48 -50
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +2 -2
- package/lib/runtime/SpecNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +5 -5
- package/lib/runtime/StartupEntrypointRuntimeModule.js +3 -3
- package/lib/runtime/SystemContextRuntimeModule.js +2 -2
- package/lib/runtime/ToBinaryRuntimeModule.js +3 -3
- package/lib/runtime/WorkerRuntimeModule.js +1 -1
- package/lib/runtime/baseUri.js +1 -1
- package/lib/schemes/DataUriPlugin.js +4 -7
- package/lib/schemes/HttpUriPlugin.js +67 -11
- package/lib/schemes/VirtualUrlPlugin.js +50 -16
- package/lib/serialization/AggregateErrorSerializer.js +2 -2
- package/lib/serialization/BinaryMiddleware.js +9 -9
- package/lib/serialization/FileMiddleware.js +19 -19
- package/lib/serialization/ObjectMiddleware.js +77 -49
- package/lib/serialization/SerializerMiddleware.js +2 -2
- package/lib/serialization/SingleItemMiddleware.js +4 -2
- package/lib/sharing/ConsumeSharedFallbackDependency.js +9 -1
- package/lib/sharing/ConsumeSharedModule.js +18 -14
- package/lib/sharing/ConsumeSharedPlugin.js +148 -42
- package/lib/sharing/ConsumeSharedRuntimeModule.js +8 -8
- package/lib/sharing/ProvideForSharedDependency.js +9 -1
- package/lib/sharing/ProvideSharedDependency.js +1 -1
- package/lib/sharing/ProvideSharedModule.js +11 -9
- package/lib/sharing/ProvideSharedModuleFactory.js +2 -2
- package/lib/sharing/ProvideSharedPlugin.js +111 -20
- package/lib/sharing/SharePlugin.js +102 -9
- package/lib/sharing/ShareRuntimeModule.js +6 -6
- package/lib/sharing/resolveMatchedConfigs.js +1 -1
- package/lib/{util → sharing}/semver.js +19 -19
- package/lib/sharing/utils.js +59 -2
- package/lib/stats/DefaultStatsFactoryPlugin.js +25 -23
- package/lib/stats/DefaultStatsPresetPlugin.js +1 -1
- package/lib/stats/DefaultStatsPrinterPlugin.js +3 -3
- package/lib/{MultiStats.js → stats/MultiStats.js} +4 -4
- package/lib/{Stats.js → stats/Stats.js} +4 -4
- package/lib/stats/StatsFactory.js +14 -13
- package/lib/{ChunkTemplate.js → template/ChunkTemplate.js} +7 -7
- package/lib/{ConditionalInitFragment.js → template/ConditionalInitFragment.js} +3 -3
- package/lib/template/DependencyTemplate.js +77 -0
- package/lib/{DependencyTemplates.js → template/DependencyTemplates.js} +9 -4
- package/lib/template/InitFragment.js +223 -0
- package/lib/{MainTemplate.js → template/MainTemplate.js} +11 -11
- package/lib/{ModuleInfoHeaderPlugin.js → template/ModuleInfoHeaderPlugin.js} +30 -8
- package/lib/{ModuleTemplate.js → template/ModuleTemplate.js} +6 -6
- package/lib/{RuntimeTemplate.js → template/RuntimeTemplate.js} +178 -106
- package/lib/{Template.js → template/Template.js} +13 -11
- package/lib/{TemplatedPathPlugin.js → template/TemplatedPathPlugin.js} +35 -82
- package/lib/typescript/TypeScriptPlugin.js +5 -6
- package/lib/util/LocConverter.js +4 -7
- package/lib/util/RequestShortener.js +44 -0
- package/lib/util/SortableSet.js +87 -22
- package/lib/util/SourceProcessor.js +364 -66
- package/lib/util/TupleSet.js +27 -27
- package/lib/util/WeakTupleMap.js +10 -12
- package/lib/util/buildDiagnostics.js +2 -2
- package/lib/util/comparators.js +10 -10
- package/lib/util/concatenate.js +32 -151
- package/lib/util/createHooksRegistry.js +1 -2
- package/lib/util/createMappings.js +111 -0
- package/lib/util/dataURL.js +96 -18
- package/lib/util/deprecation.js +1 -1
- package/lib/util/extractComments.js +118 -0
- package/lib/util/formatLocation.js +1 -1
- package/lib/util/globUtils.js +197 -16
- package/lib/util/haltVisitors.js +51 -0
- package/lib/util/handlerKeys.js +2 -2
- package/lib/util/hash/wasm-hash.js +3 -4
- package/lib/util/identifier.js +117 -1
- package/lib/util/implicitTypeLoaderFallback.js +6 -4
- package/lib/util/internalSerializables.js +295 -103
- package/lib/util/magicComment.js +12 -7
- package/lib/util/makeSerializable.js +23 -4
- package/lib/util/parseJson.js +1 -1
- package/lib/util/preloadModuleType.js +5 -2
- package/lib/util/registerExternalSerializer.js +2 -2
- package/lib/util/removeBOM.js +1 -1
- package/lib/util/runtime.js +1 -1
- package/lib/util/serialization.js +4 -1
- package/lib/util/source.js +2 -2
- package/lib/util/terminalColors.js +161 -0
- package/lib/{wasm-async → wasm}/AsyncWasmCompileRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmLoadingRuntimeModule.js +5 -5
- package/lib/{wasm-async → wasm}/AsyncWasmModule.js +9 -5
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyGenerator.js +11 -6
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyJavascriptGenerator.js +16 -11
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyModulesPlugin.js +26 -10
- package/lib/{wasm-async → wasm}/AsyncWebAssemblyParser.js +8 -8
- package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
- package/lib/{wasm-async → wasm}/UniversalCompileAsyncWasmPlugin.js +9 -7
- package/lib/wasm/wasmModuleFilename.js +2 -2
- package/lib/wasm-sync/SyncWasmModule.js +3 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +11 -12
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +3 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +15 -9
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +19 -16
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +9 -7
- package/lib/wasm-sync/WebAssemblyParser.js +6 -6
- package/lib/wasm-sync/WebAssemblyUtils.js +8 -9
- package/lib/{MultiWatching.js → watch/MultiWatching.js} +3 -3
- package/lib/{WatchIgnorePlugin.js → watch/WatchIgnorePlugin.js} +43 -9
- package/lib/{Watching.js → watch/Watching.js} +8 -8
- package/lib/web/FetchCompileAsyncWasmPlugin.js +8 -6
- package/lib/web/FetchCompileWasmPlugin.js +6 -4
- package/lib/web/JsonpChunkLoadingPlugin.js +3 -3
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +6 -6
- package/lib/web/JsonpTemplatePlugin.js +1 -1
- package/lib/webpack.js +27 -17
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -3
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +6 -6
- package/package.json +70 -40
- package/schemas/WebpackOptions.check.js +2 -1
- package/schemas/WebpackOptions.d.json.ts +2 -0
- package/schemas/WebpackOptions.json +294 -74
- package/schemas/plugins/BannerPlugin.check.js +2 -1
- package/schemas/plugins/BannerPlugin.json +29 -2
- package/schemas/plugins/HtmlGeneratorOptions.check.js +1 -0
- package/schemas/plugins/HtmlParserOptions.check.js +2 -1
- package/schemas/plugins/IgnorePlugin.check.js +1 -0
- package/schemas/plugins/IgnorePlugin.d.json.ts +2 -0
- package/schemas/plugins/IgnorePlugin.json +1 -1
- package/schemas/plugins/LoaderOptionsPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.check.js +1 -0
- package/schemas/plugins/ManifestPlugin.json +3 -3
- package/schemas/plugins/ProgressPlugin.check.js +2 -1
- package/schemas/plugins/ProgressPlugin.json +2 -7
- package/schemas/plugins/SSRManifestPlugin.check.js +7 -0
- package/schemas/plugins/SSRManifestPlugin.json +20 -0
- package/schemas/plugins/SourceMapDevToolPlugin.check.js +2 -1
- package/schemas/plugins/SourceMapDevToolPlugin.json +44 -12
- package/schemas/plugins/WatchIgnorePlugin.check.js +2 -1
- package/schemas/plugins/WatchIgnorePlugin.json +12 -3
- package/schemas/plugins/asset/AssetGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetParserOptions.check.js +1 -0
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +1 -0
- package/schemas/plugins/container/ContainerPlugin.check.js +2 -1
- package/schemas/plugins/container/ContainerPlugin.json +8 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -0
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +2 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +40 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -0
- package/schemas/plugins/css/CssParserOptions.check.js +1 -0
- package/schemas/plugins/debug/ProfilingPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllPlugin.check.js +1 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.js +2 -1
- package/schemas/plugins/dll/DllReferencePlugin.json +3 -18
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +1 -0
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.js +1 -0
- package/schemas/plugins/json/JsonModulesPluginParser.check.js +1 -0
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +1 -0
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.js +1 -0
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.js +1 -0
- package/schemas/plugins/schemes/HttpUriPlugin.check.js +1 -0
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.js +1 -0
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ConsumeSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.js +2 -1
- package/schemas/plugins/sharing/ProvideSharedPlugin.json +32 -0
- package/schemas/plugins/sharing/SharePlugin.check.js +2 -1
- package/schemas/plugins/sharing/SharePlugin.json +32 -0
- package/types.d.ts +13915 -8414
- package/lib/ErrorHelpers.js +0 -107
- package/lib/LazyBarrel.js +0 -388
- package/lib/dependencies/HarmonyAcceptImportDependency.js +0 -39
- package/lib/dependencies/HarmonyModulesPlugin.js +0 -192
- package/lib/javascript/ChunkFormatHelpers.js +0 -71
- package/lib/javascript/grammar.js +0 -5546
- package/lib/javascript/parser.js +0 -1494
- package/lib/javascript/regexpData.js +0 -51
- package/lib/performance/getSourceModules.js +0 -22
- package/lib/util/Semaphore.js +0 -65
- package/lib/util/objectToMap.js +0 -15
- package/schemas/WebpackOptions.check.d.ts +0 -7
- package/schemas/_container.json +0 -155
- package/schemas/_sharing.json +0 -118
- package/schemas/plugins/BannerPlugin.check.d.ts +0 -7
- package/schemas/plugins/HtmlGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/HtmlParserOptions.check.d.ts +0 -7
- package/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ManifestPlugin.check.d.ts +0 -7
- package/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
- package/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
- package/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
- package/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
- package/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssModuleParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
- package/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllPlugin.check.d.ts +0 -7
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/HashedModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginGenerator.check.d.ts +0 -7
- package/schemas/plugins/json/JsonModulesPluginParser.check.d.ts +0 -7
- package/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MergeDuplicateChunksPlugin.check.d.ts +0 -7
- package/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
- package/schemas/plugins/schemes/VirtualUrlPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
- package/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
- /package/lib/{validateSchema.js → config/validateSchema.js} +0 -0
- /package/lib/{util → css}/conventions.js +0 -0
- /package/lib/{util → css}/topologicalSort.js +0 -0
- /package/lib/dependencies/{getFunctionExpression.js → helpers/getFunctionExpression.js} +0 -0
- /package/lib/{util → externals}/extractUrlAndGlobal.js +0 -0
- /package/lib/{util → fs}/StackedCacheMap.js +0 -0
- /package/lib/{util → javascript}/StackedMap.js +0 -0
- /package/lib/{ModuleProfile.js → module/ModuleProfile.js} +0 -0
- /package/lib/{ModuleSourceTypeConstants.js → module/ModuleSourceTypeConstants.js} +0 -0
- /package/lib/{ModuleTypeConstants.js → module/ModuleTypeConstants.js} +0 -0
- /package/lib/{OptimizationStages.js → optimize/OptimizationStages.js} +0 -0
- /package/lib/{util → optimize}/Queue.js +0 -0
- /package/lib/{util → stats}/smartGrouping.js +0 -0
package/lib/util/TupleSet.js
CHANGED
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
/**
|
|
17
17
|
* Stores tuples of arbitrary length while preserving efficient prefix lookups
|
|
18
18
|
* through a tree of maps that ends in a set of final values.
|
|
19
|
-
* @template
|
|
19
|
+
* @template {EXPECTED_ANY[]} K
|
|
20
20
|
* @template V
|
|
21
21
|
*/
|
|
22
22
|
class TupleSet {
|
|
23
23
|
/**
|
|
24
24
|
* Seeds the tuple set with an optional iterable of tuples.
|
|
25
|
-
* @param {Iterable<[
|
|
25
|
+
* @param {Iterable<[...K, V]>=} init init
|
|
26
26
|
*/
|
|
27
27
|
constructor(init) {
|
|
28
|
-
/** @type {InnerMap<
|
|
28
|
+
/** @type {InnerMap<K[number], V>} */
|
|
29
29
|
this._map = new Map();
|
|
30
30
|
/** @type {number} */
|
|
31
31
|
this.size = 0;
|
|
@@ -38,28 +38,28 @@ class TupleSet {
|
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
40
|
* Adds a tuple to the set, creating any missing prefix maps along the way.
|
|
41
|
-
* @param {[
|
|
41
|
+
* @param {[...K, V]} args tuple
|
|
42
42
|
* @returns {void}
|
|
43
43
|
*/
|
|
44
44
|
add(...args) {
|
|
45
45
|
let map = this._map;
|
|
46
46
|
for (let i = 0; i < args.length - 2; i++) {
|
|
47
|
-
const arg = args[i];
|
|
47
|
+
const arg = /** @type {K[number]} */ (args[i]);
|
|
48
48
|
const innerMap = map.get(arg);
|
|
49
49
|
if (innerMap === undefined) {
|
|
50
50
|
map.set(arg, (map = new Map()));
|
|
51
51
|
} else {
|
|
52
|
-
map = /** @type {InnerMap<
|
|
52
|
+
map = /** @type {InnerMap<K[number], V>} */ (innerMap);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
const beforeLast = args[args.length - 2];
|
|
56
|
+
const beforeLast = /** @type {K[number]} */ (args[args.length - 2]);
|
|
57
57
|
let set = /** @type {Set<V>} */ (map.get(beforeLast));
|
|
58
58
|
if (set === undefined) {
|
|
59
59
|
map.set(beforeLast, (set = new Set()));
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
const last = args[args.length - 1];
|
|
62
|
+
const last = /** @type {V} */ (args[args.length - 1]);
|
|
63
63
|
this.size -= set.size;
|
|
64
64
|
set.add(last);
|
|
65
65
|
this.size += set.size;
|
|
@@ -67,51 +67,51 @@ class TupleSet {
|
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
69
|
* Checks whether the exact tuple is already present in the set.
|
|
70
|
-
* @param {[
|
|
70
|
+
* @param {[...K, V]} args tuple
|
|
71
71
|
* @returns {boolean} true, if the tuple is in the Set
|
|
72
72
|
*/
|
|
73
73
|
has(...args) {
|
|
74
74
|
let map = this._map;
|
|
75
75
|
for (let i = 0; i < args.length - 2; i++) {
|
|
76
|
-
const arg = args[i];
|
|
77
|
-
map = /** @type {InnerMap<
|
|
76
|
+
const arg = /** @type {K[number]} */ (args[i]);
|
|
77
|
+
map = /** @type {InnerMap<K[number], V>} */ (map.get(arg));
|
|
78
78
|
if (map === undefined) {
|
|
79
79
|
return false;
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
const beforeLast = args[args.length - 2];
|
|
84
|
-
const set = map.get(beforeLast);
|
|
83
|
+
const beforeLast = /** @type {K[number]} */ (args[args.length - 2]);
|
|
84
|
+
const set = /** @type {Set<V> | undefined} */ (map.get(beforeLast));
|
|
85
85
|
if (set === undefined) {
|
|
86
86
|
return false;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
const last = args[args.length - 1];
|
|
89
|
+
const last = /** @type {V} */ (args[args.length - 1]);
|
|
90
90
|
return set.has(last);
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
/**
|
|
94
94
|
* Removes a tuple from the set when it is present.
|
|
95
|
-
* @param {[
|
|
95
|
+
* @param {[...K, V]} args tuple
|
|
96
96
|
* @returns {void}
|
|
97
97
|
*/
|
|
98
98
|
delete(...args) {
|
|
99
99
|
let map = this._map;
|
|
100
100
|
for (let i = 0; i < args.length - 2; i++) {
|
|
101
|
-
const arg = args[i];
|
|
102
|
-
map = /** @type {InnerMap<
|
|
101
|
+
const arg = /** @type {K[number]} */ (args[i]);
|
|
102
|
+
map = /** @type {InnerMap<K[number], V>} */ (map.get(arg));
|
|
103
103
|
if (map === undefined) {
|
|
104
104
|
return;
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
const beforeLast = args[args.length - 2];
|
|
109
|
-
const set = map.get(beforeLast);
|
|
108
|
+
const beforeLast = /** @type {K[number]} */ (args[args.length - 2]);
|
|
109
|
+
const set = /** @type {Set<V> | undefined} */ (map.get(beforeLast));
|
|
110
110
|
if (set === undefined) {
|
|
111
111
|
return;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
const last = args[args.length - 1];
|
|
114
|
+
const last = /** @type {V} */ (args[args.length - 1]);
|
|
115
115
|
this.size -= set.size;
|
|
116
116
|
set.delete(last);
|
|
117
117
|
this.size += set.size;
|
|
@@ -120,7 +120,7 @@ class TupleSet {
|
|
|
120
120
|
/**
|
|
121
121
|
* Iterates over every stored tuple by walking the nested map structure and
|
|
122
122
|
* yielding each complete prefix plus its terminal set value.
|
|
123
|
-
* @returns {Iterator<[
|
|
123
|
+
* @returns {Iterator<[...K, V]>} iterator
|
|
124
124
|
*/
|
|
125
125
|
[Symbol.iterator]() {
|
|
126
126
|
/**
|
|
@@ -131,9 +131,9 @@ class TupleSet {
|
|
|
131
131
|
|
|
132
132
|
// This is difficult to type because we can have a map inside a map inside a map, etc. where the end is a set (each key is an argument)
|
|
133
133
|
// But in basic use we only have 2 arguments in our methods, so we have `Map<K, Set<V>>`
|
|
134
|
-
/** @type {IteratorStack<
|
|
134
|
+
/** @type {IteratorStack<K[number], V>[]} */
|
|
135
135
|
const iteratorStack = [];
|
|
136
|
-
/** @type {[
|
|
136
|
+
/** @type {(K[number] | V)[]} */
|
|
137
137
|
const tuple = [];
|
|
138
138
|
/** @type {SetIterator<V> | undefined} */
|
|
139
139
|
let currentSetIterator;
|
|
@@ -141,7 +141,7 @@ class TupleSet {
|
|
|
141
141
|
/**
|
|
142
142
|
* Advances through nested maps until a terminal value set is reached or
|
|
143
143
|
* every remaining branch has been exhausted.
|
|
144
|
-
* @param {IteratorStack<
|
|
144
|
+
* @param {IteratorStack<K[number], V>} it iterator
|
|
145
145
|
* @returns {boolean} result
|
|
146
146
|
*/
|
|
147
147
|
const next = (it) => {
|
|
@@ -150,7 +150,7 @@ class TupleSet {
|
|
|
150
150
|
if (iteratorStack.length === 0) return false;
|
|
151
151
|
tuple.pop();
|
|
152
152
|
return next(
|
|
153
|
-
/** @type {IteratorStack<
|
|
153
|
+
/** @type {IteratorStack<K[number], V>} */
|
|
154
154
|
(iteratorStack.pop())
|
|
155
155
|
);
|
|
156
156
|
}
|
|
@@ -174,7 +174,7 @@ class TupleSet {
|
|
|
174
174
|
tuple.pop();
|
|
175
175
|
if (
|
|
176
176
|
!next(
|
|
177
|
-
/** @type {IteratorStack<
|
|
177
|
+
/** @type {IteratorStack<K[number], V>} */
|
|
178
178
|
(iteratorStack.pop())
|
|
179
179
|
)
|
|
180
180
|
) {
|
|
@@ -185,7 +185,7 @@ class TupleSet {
|
|
|
185
185
|
done: false,
|
|
186
186
|
value:
|
|
187
187
|
/* eslint-disable unicorn/prefer-spread */
|
|
188
|
-
/** @type {[
|
|
188
|
+
/** @type {[...K, V]} */
|
|
189
189
|
(tuple.concat(result.value))
|
|
190
190
|
};
|
|
191
191
|
}
|
package/lib/util/WeakTupleMap.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* `WeakMap`.
|
|
11
11
|
* @template {EXPECTED_ANY[]} T
|
|
12
12
|
* @template V
|
|
13
|
-
* @typedef {Map<
|
|
13
|
+
* @typedef {Map<ArrayElement<T>, WeakTupleMap<T, V>>} M
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -18,13 +18,14 @@
|
|
|
18
18
|
* without preventing garbage collection.
|
|
19
19
|
* @template {EXPECTED_ANY[]} T
|
|
20
20
|
* @template V
|
|
21
|
-
* @typedef {WeakMap<EXPECTED_OBJECT, WeakTupleMap<T, V>>} W
|
|
21
|
+
* @typedef {WeakMap<ArrayElement<T> & EXPECTED_OBJECT, WeakTupleMap<T, V>>} W
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* Reports whether a tuple element can be stored in a `WeakMap`.
|
|
26
|
-
* @
|
|
27
|
-
* @
|
|
26
|
+
* @template T
|
|
27
|
+
* @param {T} thing thing
|
|
28
|
+
* @returns {thing is T & EXPECTED_OBJECT} true if is weak
|
|
28
29
|
*/
|
|
29
30
|
const isWeakKey = (thing) => typeof thing === "object" && thing !== null;
|
|
30
31
|
|
|
@@ -136,8 +137,9 @@ class WeakTupleMap {
|
|
|
136
137
|
* () => compute(thisArg, ...args))` but without allocating that closure (or an
|
|
137
138
|
* extra rest array) on every call — `ModuleGraph#cached` runs this on hot
|
|
138
139
|
* paths where most calls hit the cache and the closure would be pure waste.
|
|
139
|
-
* @
|
|
140
|
-
* @param {
|
|
140
|
+
* @template This
|
|
141
|
+
* @param {(thisArg: This, ...args: K) => V} compute computer, also the first key element
|
|
142
|
+
* @param {This} thisArg first argument passed to `compute`
|
|
141
143
|
* @param {K} args remaining key elements, also passed to `compute`
|
|
142
144
|
* @returns {V} the value
|
|
143
145
|
*/
|
|
@@ -222,14 +224,10 @@ class WeakTupleMap {
|
|
|
222
224
|
_peek(thing) {
|
|
223
225
|
if (isWeakKey(thing)) {
|
|
224
226
|
if ((this.f & 4) !== 4) return;
|
|
225
|
-
return /** @type {
|
|
226
|
-
this.w
|
|
227
|
-
).get(thing);
|
|
227
|
+
return /** @type {W<K, V>} */ (this.w).get(thing);
|
|
228
228
|
}
|
|
229
229
|
if ((this.f & 2) !== 2) return;
|
|
230
|
-
return /** @type {
|
|
231
|
-
thing
|
|
232
|
-
);
|
|
230
|
+
return /** @type {M<K, V>} */ (this.m).get(thing);
|
|
233
231
|
}
|
|
234
232
|
|
|
235
233
|
/**
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
/** @import Module, { BuildDiagnostics, BuildInfo } from "../Module" */
|
|
9
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
8
|
+
/** @import Module, { BuildDiagnostics, BuildInfo } from "../module/Module" */
|
|
9
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* The diagnostics record of a build info, created on first use so a module nothing reports about carries none.
|
package/lib/util/comparators.js
CHANGED
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
const { getFullModuleName } = require("../ids/IdHelpers");
|
|
9
9
|
const { compareRuntime } = require("./runtime");
|
|
10
10
|
|
|
11
|
-
/** @import Chunk, { ChunkName, ChunkId } from "../Chunk" */
|
|
12
|
-
/** @import ChunkGraph, { ModuleId } from "../ChunkGraph" */
|
|
13
|
-
/** @import ChunkGroup from "../ChunkGroup" */
|
|
11
|
+
/** @import Chunk, { ChunkName, ChunkId } from "../graph/Chunk" */
|
|
12
|
+
/** @import ChunkGraph, { ModuleId } from "../graph/ChunkGraph" */
|
|
13
|
+
/** @import ChunkGroup from "../graph/ChunkGroup" */
|
|
14
14
|
/** @import Compiler from "../Compiler" */
|
|
15
|
-
/** @import Dependency, { DependencyLocation } from "../Dependency" */
|
|
16
|
-
/** @import
|
|
17
|
-
/** @import
|
|
18
|
-
/** @import Module from "../Module" */
|
|
19
|
-
/** @import ModuleGraph from "../ModuleGraph" */
|
|
15
|
+
/** @import Dependency, { DependencyLocation } from "../graph/Dependency" */
|
|
16
|
+
/** @import ESMImportSideEffectDependency from "../dependencies/esm/ESMImportSideEffectDependency" */
|
|
17
|
+
/** @import ESMImportSpecifierDependency from "../dependencies/esm/ESMImportSpecifierDependency" */
|
|
18
|
+
/** @import Module from "../module/Module" */
|
|
19
|
+
/** @import ModuleGraph from "../graph/ModuleGraph" */
|
|
20
20
|
/** @import WebpackErrorType from "../errors/WebpackError" */
|
|
21
|
-
/** @import ModuleDependency from "../dependencies/ModuleDependency" */
|
|
21
|
+
/** @import ModuleDependency from "../dependencies/core/ModuleDependency" */
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Defines the dependency source order type used by this module.
|
|
@@ -579,7 +579,7 @@ const compareChunksNatural = (chunkGraph) => {
|
|
|
579
579
|
};
|
|
580
580
|
|
|
581
581
|
/**
|
|
582
|
-
* For
|
|
582
|
+
* For ESMImportSideEffectDependency and ESMImportSpecifierDependency, we should prioritize import order to match the behavior of running modules directly in a JS engine without a bundler.
|
|
583
583
|
* For other types like ConstDependency, we can instead prioritize usage order.
|
|
584
584
|
* https://github.com/webpack/webpack/pull/19686
|
|
585
585
|
* @param {Dependency[]} dependencies dependencies
|
package/lib/util/concatenate.js
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
const Template = require("../Template");
|
|
8
|
+
const Template = require("../template/Template");
|
|
9
9
|
|
|
10
|
-
/** @import { Identifier
|
|
10
|
+
/** @import { Identifier } from "estree" */
|
|
11
11
|
/** @import { Optimization } from "../../declarations/WebpackOptions" */
|
|
12
12
|
/**
|
|
13
13
|
* @import {
|
|
@@ -16,9 +16,6 @@ const Template = require("../Template");
|
|
|
16
16
|
* Variable
|
|
17
17
|
* } from "../javascript/JavascriptModulesPlugin"
|
|
18
18
|
*/
|
|
19
|
-
/** @import { Range } from "../javascript/JavascriptParser" */
|
|
20
|
-
/** @typedef {Node & { start?: number, end?: number }} PositionedNode */
|
|
21
|
-
/** @typedef {Exclude<keyof Node, "range" | "loc" | "leadingComments" | "trailingComments">} ChildKey */
|
|
22
19
|
/** @typedef {Set<string>} UsedNames */
|
|
23
20
|
|
|
24
21
|
const DEFAULT_EXPORT = "__WEBPACK_DEFAULT_EXPORT__";
|
|
@@ -90,146 +87,6 @@ const getAllReferences = (variable) => {
|
|
|
90
87
|
return set;
|
|
91
88
|
};
|
|
92
89
|
|
|
93
|
-
/**
|
|
94
|
-
* Tests whether a node covers the searched range. `start`/`end` are read before
|
|
95
|
-
* `range`, because webpack's parser serves `range` from a lazy getter that
|
|
96
|
-
* allocates an array and transitions the node's shape on first access — reading
|
|
97
|
-
* it while walking would pay that for most nodes of the ast.
|
|
98
|
-
* @param {PositionedNode} node node
|
|
99
|
-
* @param {number} start start of the searched range
|
|
100
|
-
* @param {number} end end of the searched range
|
|
101
|
-
* @returns {boolean} whether the node covers the range
|
|
102
|
-
*/
|
|
103
|
-
const coversRange = (node, start, end) => {
|
|
104
|
-
const nodeStart = node.start;
|
|
105
|
-
if (typeof nodeStart === "number") {
|
|
106
|
-
return nodeStart <= start && /** @type {number} */ (node.end) >= end;
|
|
107
|
-
}
|
|
108
|
-
const range = node.range;
|
|
109
|
-
return range !== undefined && range[0] <= start && range[1] >= end;
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Returns the single sibling covering the searched range.
|
|
114
|
-
* @param {Node[]} items sibling nodes
|
|
115
|
-
* @param {number} start start of the searched range
|
|
116
|
-
* @param {number} end end of the searched range
|
|
117
|
-
* @returns {Node | undefined} covering sibling
|
|
118
|
-
*/
|
|
119
|
-
const findCoveringItem = (items, start, end) => {
|
|
120
|
-
// sibling ranges are ordered and disjoint; binary search the container
|
|
121
|
-
let low = 0;
|
|
122
|
-
let high = items.length - 1;
|
|
123
|
-
while (low <= high) {
|
|
124
|
-
const middle = (low + high) >> 1;
|
|
125
|
-
const item = /** @type {PositionedNode} */ (items[middle]);
|
|
126
|
-
/** @type {number | undefined} */
|
|
127
|
-
let itemStart;
|
|
128
|
-
/** @type {number | undefined} */
|
|
129
|
-
let itemEnd;
|
|
130
|
-
if (item) {
|
|
131
|
-
itemStart = item.start;
|
|
132
|
-
if (typeof itemStart === "number") {
|
|
133
|
-
itemEnd = item.end;
|
|
134
|
-
} else {
|
|
135
|
-
const range = item.range;
|
|
136
|
-
if (range === undefined) {
|
|
137
|
-
itemStart = undefined;
|
|
138
|
-
} else {
|
|
139
|
-
itemStart = range[0];
|
|
140
|
-
itemEnd = range[1];
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
if (itemStart === undefined) {
|
|
145
|
-
// holes or range-less nodes: scan the remaining window linearly
|
|
146
|
-
for (let i = low; i <= high; i++) {
|
|
147
|
-
const candidate = items[i];
|
|
148
|
-
if (candidate && coversRange(candidate, start, end)) return candidate;
|
|
149
|
-
}
|
|
150
|
-
return undefined;
|
|
151
|
-
}
|
|
152
|
-
if (itemStart > start) {
|
|
153
|
-
high = middle - 1;
|
|
154
|
-
} else if (start >= /** @type {number} */ (itemEnd)) {
|
|
155
|
-
low = middle + 1;
|
|
156
|
-
} else {
|
|
157
|
-
return /** @type {number} */ (itemEnd) >= end ? item : undefined;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
return undefined;
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Collects the ancestors of `node` below `parent`, innermost first.
|
|
165
|
-
* Keeps scanning after a covering child turns out not to contain `node`:
|
|
166
|
-
* a shorthand `{ a }` holds two distinct identifiers with the same range.
|
|
167
|
-
* @param {Node} parent node to search in
|
|
168
|
-
* @param {number} start start of the searched range
|
|
169
|
-
* @param {number} end end of the searched range
|
|
170
|
-
* @param {Node} node node to find
|
|
171
|
-
* @param {Node[]} path collected ancestors
|
|
172
|
-
* @returns {boolean} whether the node was found
|
|
173
|
-
*/
|
|
174
|
-
const collectPathInNode = (parent, start, end, node, path) => {
|
|
175
|
-
for (const key in parent) {
|
|
176
|
-
// sit in front of the child keys on every node and never hold one, so
|
|
177
|
-
// skipping them by name is what keeps the per-level scan short
|
|
178
|
-
if (key === "type" || key === "start" || key === "end") continue;
|
|
179
|
-
const value = parent[/** @type {ChildKey} */ (key)];
|
|
180
|
-
if (value === null || typeof value !== "object") continue;
|
|
181
|
-
/** @type {Node | undefined} */
|
|
182
|
-
let child;
|
|
183
|
-
if (Array.isArray(value)) {
|
|
184
|
-
// `range` is a number pair on parsers that own the property
|
|
185
|
-
if (key === "range") continue;
|
|
186
|
-
child = findCoveringItem(value, start, end);
|
|
187
|
-
} else if (coversRange(value, start, end)) {
|
|
188
|
-
child = value;
|
|
189
|
-
}
|
|
190
|
-
if (
|
|
191
|
-
child !== undefined &&
|
|
192
|
-
(child === node || collectPathInNode(child, start, end, node, path))
|
|
193
|
-
) {
|
|
194
|
-
path.push(child);
|
|
195
|
-
return true;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
return false;
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Returns the ancestors of `node` up to (but excluding) `ast`, innermost first.
|
|
203
|
-
* @param {Node | Node[]} ast ast
|
|
204
|
-
* @param {Node} node node
|
|
205
|
-
* @returns {undefined | Node[]} result
|
|
206
|
-
*/
|
|
207
|
-
const getPathInAst = (ast, node) => {
|
|
208
|
-
if (ast === node) {
|
|
209
|
-
return [];
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
const nodeRange = /** @type {Range} */ (node.range);
|
|
213
|
-
const start = nodeRange[0];
|
|
214
|
-
const end = nodeRange[1];
|
|
215
|
-
/** @type {Node[]} */
|
|
216
|
-
const path = [];
|
|
217
|
-
|
|
218
|
-
if (Array.isArray(ast)) {
|
|
219
|
-
const item = findCoveringItem(ast, start, end);
|
|
220
|
-
if (item === undefined) return undefined;
|
|
221
|
-
if (item !== node && !collectPathInNode(item, start, end, node, path)) {
|
|
222
|
-
return undefined;
|
|
223
|
-
}
|
|
224
|
-
path.push(item);
|
|
225
|
-
return path;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
if (!ast || typeof ast !== "object") return undefined;
|
|
229
|
-
|
|
230
|
-
return collectPathInNode(ast, start, end, node, path) ? path : undefined;
|
|
231
|
-
};
|
|
232
|
-
|
|
233
90
|
/** @type {Map<string, string[]>} */
|
|
234
91
|
const splittedInfoCache = new Map();
|
|
235
92
|
|
|
@@ -302,6 +159,30 @@ function findNewName(oldName, usedNamed1, usedNamed2, extraInfo) {
|
|
|
302
159
|
return nameWithNumber;
|
|
303
160
|
}
|
|
304
161
|
|
|
162
|
+
// A string literal, kept whole, or an identifier that is not a property name;
|
|
163
|
+
const IDENTIFIER_OR_STRING_REGEXP =
|
|
164
|
+
/"(?:[^"\\]|\\.)*"|(?<![.\w$])[A-Za-z_$][\w$]*/g;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Renames every identifier of a printed expression that the map names, keeping
|
|
168
|
+
* property names and string contents as they are.
|
|
169
|
+
* @param {string} expression the expression as printed
|
|
170
|
+
* @param {Map<string, string>} renames original to new name
|
|
171
|
+
* @returns {string} the expression over the new names
|
|
172
|
+
* @example
|
|
173
|
+
* const renames = new Map([["store", "entry_store"], ["x", "entry_x"]]);
|
|
174
|
+
* renameIdentifiers("store.x", renames) === "entry_store.x"
|
|
175
|
+
* renameIdentifiers('store["a-b"]', renames) === 'entry_store["a-b"]'
|
|
176
|
+
* renameIdentifiers("store/* .x *\/.c", renames) === "entry_store/* .x *\/.c"
|
|
177
|
+
* renameIdentifiers("(store_default())", renames) === "(store_default())"
|
|
178
|
+
* renameIdentifiers("/* reads x *\/ x", renames) === "/* reads entry_x *\/ entry_x"
|
|
179
|
+
*/
|
|
180
|
+
const renameIdentifiers = (expression, renames) =>
|
|
181
|
+
expression.replace(IDENTIFIER_OR_STRING_REGEXP, (token) => {
|
|
182
|
+
const renamed = renames.get(token);
|
|
183
|
+
return renamed === undefined ? token : renamed;
|
|
184
|
+
});
|
|
185
|
+
|
|
305
186
|
/** @typedef {Set<Scope>} ScopeSet */
|
|
306
187
|
|
|
307
188
|
/**
|
|
@@ -324,10 +205,10 @@ const addScopeSymbols = (s, nameSet, scopeSet1, scopeSet2) => {
|
|
|
324
205
|
}
|
|
325
206
|
};
|
|
326
207
|
|
|
327
|
-
// Declared by the chunk bootstrap in the scope module code is hoisted
|
|
328
|
-
//
|
|
329
|
-
//
|
|
330
|
-
//
|
|
208
|
+
// WHY: Declared by the chunk bootstrap in the scope module code is hoisted
|
|
209
|
+
// into, so re-bundling a webpack bundle collides with them: the `const` one
|
|
210
|
+
// fails to parse and the `var` one silently clobbers the module table.
|
|
211
|
+
// CompatibilityPlugin renames the other two runtime names.
|
|
331
212
|
const CHUNK_RUNTIME_DECLARATIONS = new Set([
|
|
332
213
|
"__webpack_modules__",
|
|
333
214
|
"__webpack_module_cache__"
|
|
@@ -408,7 +289,7 @@ module.exports = {
|
|
|
408
289
|
addScopeSymbols,
|
|
409
290
|
findNewName,
|
|
410
291
|
getAllReferences,
|
|
411
|
-
getPathInAst,
|
|
412
292
|
getUsedNamesInScopeInfo,
|
|
413
|
-
isCommonJsConcatenationEnabled
|
|
293
|
+
isCommonJsConcatenationEnabled,
|
|
294
|
+
renameIdentifiers
|
|
414
295
|
};
|
|
@@ -15,8 +15,7 @@ const createHooksRegistry = (createHooks) => {
|
|
|
15
15
|
return (compilation) => {
|
|
16
16
|
let hooks = map.get(compilation);
|
|
17
17
|
if (hooks === undefined) {
|
|
18
|
-
//
|
|
19
|
-
// codegen. Matched by class name, not `instanceof`: a compilation from
|
|
18
|
+
// Matched by class name rather than `instanceof`: a compilation from
|
|
20
19
|
// another webpack copy has to pass too, and importing `Compilation`
|
|
21
20
|
// here cycles.
|
|
22
21
|
const candidate =
|
|
@@ -135,6 +135,117 @@ const encodeMappings = (lines) => {
|
|
|
135
135
|
return encodedLines.join(";");
|
|
136
136
|
};
|
|
137
137
|
|
|
138
|
+
/** @typedef {[number] | [number, number, number, number] | [number, number, number, number, number]} DecodedSegment generated column, then source index, original line and column, then name index, all 0-based */
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Decode a V3 `mappings` string into one array of segments per generated line,
|
|
142
|
+
* each sorted by generated column.
|
|
143
|
+
* @param {string} mappings a VLQ encoded `mappings` string
|
|
144
|
+
* @returns {DecodedSegment[][]} the segments of each generated line
|
|
145
|
+
*/
|
|
146
|
+
const decodeMappings = (mappings) => {
|
|
147
|
+
const { length } = mappings;
|
|
148
|
+
/** @type {DecodedSegment[][]} */
|
|
149
|
+
const lines = [];
|
|
150
|
+
let position = 0;
|
|
151
|
+
let sourceIndex = 0;
|
|
152
|
+
let originalLine = 0;
|
|
153
|
+
let originalColumn = 0;
|
|
154
|
+
let nameIndex = 0;
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* @returns {number} the value at `position`, which moves past it
|
|
158
|
+
*/
|
|
159
|
+
const read = () => {
|
|
160
|
+
const { value, end } = decodeVLQ(mappings, position);
|
|
161
|
+
// An invalid character reads as 0 and is skipped, so decoding ends.
|
|
162
|
+
position = end === position ? position + 1 : end;
|
|
163
|
+
// `B`, a negative zero, reads as -2^31 as source-map readers decode it,
|
|
164
|
+
// which sorts it before every column on its line.
|
|
165
|
+
return Object.is(value, -0) ? -2147483648 : value;
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
do {
|
|
169
|
+
let lineEnd = mappings.indexOf(";", position);
|
|
170
|
+
if (lineEnd === -1) lineEnd = length;
|
|
171
|
+
/** @type {DecodedSegment[]} */
|
|
172
|
+
const line = [];
|
|
173
|
+
let sorted = true;
|
|
174
|
+
let generatedColumn = 0;
|
|
175
|
+
while (position < lineEnd) {
|
|
176
|
+
const previousColumn = generatedColumn;
|
|
177
|
+
generatedColumn += read();
|
|
178
|
+
if (generatedColumn < previousColumn) sorted = false;
|
|
179
|
+
if (position < lineEnd && mappings[position] !== ",") {
|
|
180
|
+
sourceIndex += read();
|
|
181
|
+
originalLine += read();
|
|
182
|
+
originalColumn += read();
|
|
183
|
+
if (position < lineEnd && mappings[position] !== ",") {
|
|
184
|
+
nameIndex += read();
|
|
185
|
+
line.push([
|
|
186
|
+
generatedColumn,
|
|
187
|
+
sourceIndex,
|
|
188
|
+
originalLine,
|
|
189
|
+
originalColumn,
|
|
190
|
+
nameIndex
|
|
191
|
+
]);
|
|
192
|
+
} else {
|
|
193
|
+
line.push([
|
|
194
|
+
generatedColumn,
|
|
195
|
+
sourceIndex,
|
|
196
|
+
originalLine,
|
|
197
|
+
originalColumn
|
|
198
|
+
]);
|
|
199
|
+
}
|
|
200
|
+
} else {
|
|
201
|
+
line.push([generatedColumn]);
|
|
202
|
+
}
|
|
203
|
+
position++;
|
|
204
|
+
}
|
|
205
|
+
if (!sorted) line.sort((a, b) => a[0] - b[0]);
|
|
206
|
+
lines.push(line);
|
|
207
|
+
position = lineEnd + 1;
|
|
208
|
+
} while (position <= length);
|
|
209
|
+
return lines;
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Encode the segments `decodeMappings` reads back into a V3 `mappings` string.
|
|
214
|
+
* @param {DecodedSegment[][]} lines the segments of each generated line
|
|
215
|
+
* @returns {string} VLQ-encoded V3 mappings string
|
|
216
|
+
*/
|
|
217
|
+
const encodeDecodedMappings = (lines) => {
|
|
218
|
+
let sourceIndex = 0;
|
|
219
|
+
let originalLine = 0;
|
|
220
|
+
let originalColumn = 0;
|
|
221
|
+
let nameIndex = 0;
|
|
222
|
+
let result = "";
|
|
223
|
+
for (let i = 0; i < lines.length; i++) {
|
|
224
|
+
if (i > 0) result += ";";
|
|
225
|
+
const line = lines[i];
|
|
226
|
+
let generatedColumn = 0;
|
|
227
|
+
for (let j = 0; j < line.length; j++) {
|
|
228
|
+
const segment = line[j];
|
|
229
|
+
if (j > 0) result += ",";
|
|
230
|
+
result += encodeVLQ(segment[0] - generatedColumn);
|
|
231
|
+
generatedColumn = segment[0];
|
|
232
|
+
if (segment.length === 1) continue;
|
|
233
|
+
result += encodeVLQ(segment[1] - sourceIndex);
|
|
234
|
+
result += encodeVLQ(segment[2] - originalLine);
|
|
235
|
+
result += encodeVLQ(segment[3] - originalColumn);
|
|
236
|
+
sourceIndex = segment[1];
|
|
237
|
+
originalLine = segment[2];
|
|
238
|
+
originalColumn = segment[3];
|
|
239
|
+
if (segment.length === 4) continue;
|
|
240
|
+
result += encodeVLQ(segment[4] - nameIndex);
|
|
241
|
+
nameIndex = segment[4];
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return result;
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
module.exports.decodeMappings = decodeMappings;
|
|
138
248
|
module.exports.decodeVLQ = decodeVLQ;
|
|
249
|
+
module.exports.encodeDecodedMappings = encodeDecodedMappings;
|
|
139
250
|
module.exports.encodeMappings = encodeMappings;
|
|
140
251
|
module.exports.encodeVLQ = encodeVLQ;
|