webpack 5.93.0 → 5.95.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 +8 -5
- package/bin/webpack.js +6 -7
- package/hot/log.js +1 -2
- package/hot/only-dev-server.js +1 -1
- package/hot/poll.js +1 -1
- package/hot/signal.js +1 -1
- package/lib/APIPlugin.js +4 -3
- package/lib/AbstractMethodError.js +10 -5
- package/lib/AutomaticPrefetchPlugin.js +1 -1
- package/lib/BannerPlugin.js +12 -6
- package/lib/Cache.js +8 -10
- package/lib/CacheFacade.js +3 -3
- package/lib/CaseSensitiveModulesWarning.js +5 -7
- package/lib/Chunk.js +14 -11
- package/lib/ChunkGraph.js +58 -36
- package/lib/ChunkGroup.js +2 -3
- package/lib/ChunkTemplate.js +43 -0
- package/lib/CleanPlugin.js +10 -11
- package/lib/CodeGenerationResults.js +6 -5
- package/lib/CommentCompilationWarning.js +0 -1
- package/lib/Compilation.js +223 -191
- package/lib/Compiler.js +81 -82
- package/lib/ConcatenationScope.js +3 -6
- package/lib/ConditionalInitFragment.js +6 -7
- package/lib/ConstPlugin.js +7 -15
- package/lib/ContextExclusionPlugin.js +3 -3
- package/lib/ContextModule.js +33 -20
- package/lib/ContextModuleFactory.js +89 -44
- package/lib/ContextReplacementPlugin.js +10 -9
- package/lib/DefinePlugin.js +75 -68
- package/lib/DelegatedModule.js +7 -3
- package/lib/DelegatedModuleFactoryPlugin.js +36 -22
- package/lib/DelegatedPlugin.js +4 -0
- package/lib/DependenciesBlock.js +0 -1
- package/lib/Dependency.js +10 -14
- package/lib/DllEntryPlugin.js +4 -2
- package/lib/DllModuleFactory.js +1 -0
- package/lib/DllPlugin.js +9 -7
- package/lib/DllReferencePlugin.js +30 -15
- package/lib/EntryPlugin.js +1 -3
- package/lib/EnvironmentPlugin.js +6 -2
- package/lib/ErrorHelpers.js +11 -12
- package/lib/EvalDevToolModulePlugin.js +10 -12
- package/lib/EvalSourceMapDevToolPlugin.js +15 -13
- package/lib/ExportsInfo.js +185 -120
- package/lib/ExternalModule.js +41 -15
- package/lib/ExternalModuleFactoryPlugin.js +23 -10
- package/lib/FileSystemInfo.js +791 -422
- package/lib/FlagAllModulesAsUsedPlugin.js +1 -1
- package/lib/FlagDependencyExportsPlugin.js +12 -11
- package/lib/FlagDependencyUsagePlugin.js +1 -1
- package/lib/Generator.js +2 -5
- package/lib/GraphHelpers.js +3 -2
- package/lib/HookWebpackError.js +8 -10
- package/lib/HotModuleReplacementPlugin.js +78 -64
- package/lib/IgnoreErrorModuleFactory.js +3 -3
- package/lib/IgnorePlugin.js +1 -3
- package/lib/IgnoreWarningsPlugin.js +6 -9
- package/lib/InitFragment.js +2 -3
- package/lib/LibManifestPlugin.js +4 -3
- package/lib/MainTemplate.js +72 -19
- package/lib/Module.js +25 -9
- package/lib/ModuleBuildError.js +4 -11
- package/lib/ModuleDependencyError.js +5 -5
- package/lib/ModuleDependencyWarning.js +5 -5
- package/lib/ModuleError.js +1 -5
- package/lib/ModuleFilenameHelpers.js +29 -46
- package/lib/ModuleGraph.js +7 -6
- package/lib/ModuleGraphConnection.js +6 -6
- package/lib/ModuleInfoHeaderPlugin.js +82 -30
- package/lib/ModuleParseError.js +8 -9
- package/lib/ModuleRestoreError.js +1 -1
- package/lib/ModuleStoreError.js +1 -1
- package/lib/ModuleTemplate.js +33 -1
- package/lib/ModuleTypeConstants.js +21 -22
- package/lib/ModuleWarning.js +1 -5
- package/lib/MultiCompiler.js +24 -26
- package/lib/MultiStats.js +73 -31
- package/lib/MultiWatching.js +1 -1
- package/lib/NormalModule.js +130 -69
- package/lib/NormalModuleFactory.js +53 -49
- package/lib/OptimizationStages.js +3 -3
- package/lib/ProgressPlugin.js +9 -9
- package/lib/ProvidePlugin.js +4 -4
- package/lib/RuntimeGlobals.js +71 -70
- package/lib/RuntimeModule.js +1 -1
- package/lib/RuntimePlugin.js +24 -12
- package/lib/RuntimeTemplate.js +40 -44
- package/lib/SizeFormatHelpers.js +2 -4
- package/lib/SourceMapDevToolPlugin.js +42 -34
- package/lib/Stats.js +5 -11
- package/lib/Template.js +18 -24
- package/lib/TemplatedPathPlugin.js +21 -13
- package/lib/WarnDeprecatedOptionPlugin.js +0 -1
- package/lib/WatchIgnorePlugin.js +26 -9
- package/lib/Watching.js +10 -5
- package/lib/WebpackOptionsApply.js +84 -62
- package/lib/asset/AssetGenerator.js +107 -42
- package/lib/asset/AssetModulesPlugin.js +29 -23
- package/lib/asset/AssetSourceGenerator.js +2 -7
- package/lib/async-modules/AwaitDependenciesInitFragment.js +6 -7
- package/lib/buildChunkGraph.js +93 -81
- package/lib/cache/IdleFileCachePlugin.js +4 -4
- package/lib/cache/MemoryWithGcCachePlugin.js +5 -5
- package/lib/cache/PackFileCacheStrategy.js +51 -50
- package/lib/cache/ResolverCachePlugin.js +6 -6
- package/lib/cache/mergeEtags.js +16 -21
- package/lib/cli.js +148 -104
- package/lib/config/browserslistTargetHandler.js +16 -13
- package/lib/config/defaults.js +32 -28
- package/lib/config/normalization.js +335 -344
- package/lib/config/target.js +42 -52
- package/lib/container/ContainerEntryModule.js +2 -2
- package/lib/container/ContainerPlugin.js +1 -1
- package/lib/container/RemoteRuntimeModule.js +11 -8
- package/lib/container/options.js +18 -4
- package/lib/css/CssExportsGenerator.js +26 -24
- package/lib/css/CssGenerator.js +9 -4
- package/lib/css/CssLoadingRuntimeModule.js +10 -10
- package/lib/css/CssModulesPlugin.js +127 -47
- package/lib/css/CssParser.js +20 -18
- package/lib/css/walkCssTokens.js +80 -95
- package/lib/debug/ProfilingPlugin.js +19 -20
- package/lib/dependencies/AMDDefineDependency.js +1 -1
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +83 -47
- package/lib/dependencies/AMDRequireArrayDependency.js +9 -10
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +22 -16
- package/lib/dependencies/AMDRuntimeModules.js +2 -2
- package/lib/dependencies/CommonJsDependencyHelpers.js +6 -2
- package/lib/dependencies/CommonJsExportRequireDependency.js +37 -41
- package/lib/dependencies/CommonJsExportsDependency.js +0 -1
- package/lib/dependencies/CommonJsExportsParserPlugin.js +19 -23
- package/lib/dependencies/CommonJsFullRequireDependency.js +1 -1
- package/lib/dependencies/CommonJsImportsParserPlugin.js +52 -61
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +6 -8
- package/lib/dependencies/ConstDependency.js +1 -1
- package/lib/dependencies/ContextDependency.js +7 -2
- package/lib/dependencies/ContextDependencyHelpers.js +31 -34
- package/lib/dependencies/ContextElementDependency.js +35 -8
- package/lib/dependencies/CriticalDependencyWarning.js +1 -1
- package/lib/dependencies/CssExportDependency.js +7 -7
- package/lib/dependencies/CssImportDependency.js +0 -2
- package/lib/dependencies/CssLocalIdentifierDependency.js +3 -3
- package/lib/dependencies/CssSelfLocalIdentifierDependency.js +2 -1
- package/lib/dependencies/CssUrlDependency.js +4 -5
- package/lib/dependencies/DynamicExports.js +5 -5
- package/lib/dependencies/ExportsInfoDependency.js +1 -2
- package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -1
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -5
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +27 -16
- package/lib/dependencies/HarmonyExportExpressionDependency.js +1 -1
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +107 -64
- package/lib/dependencies/HarmonyExports.js +2 -2
- package/lib/dependencies/HarmonyImportDependency.js +2 -4
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +19 -4
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +40 -15
- package/lib/dependencies/ImportDependency.js +1 -1
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +5 -5
- package/lib/dependencies/ImportMetaPlugin.js +11 -13
- package/lib/dependencies/ImportParserPlugin.js +39 -44
- package/lib/dependencies/JsonExportsDependency.js +22 -18
- package/lib/dependencies/LoaderPlugin.js +47 -36
- package/lib/dependencies/LocalModule.js +1 -1
- package/lib/dependencies/LocalModulesHelpers.js +4 -4
- package/lib/dependencies/ModuleDecoratorDependency.js +1 -1
- package/lib/dependencies/ProvidedDependency.js +1 -1
- package/lib/dependencies/PureExpressionDependency.js +6 -6
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -1
- package/lib/dependencies/RuntimeRequirementsDependency.js +1 -1
- package/lib/dependencies/SystemPlugin.js +1 -1
- package/lib/dependencies/URLDependency.js +3 -3
- package/lib/dependencies/URLPlugin.js +66 -12
- package/lib/dependencies/WorkerPlugin.js +25 -24
- package/lib/dependencies/processExportInfo.js +3 -1
- package/lib/electron/ElectronTargetPlugin.js +1 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +7 -3
- package/lib/formatLocation.js +1 -2
- package/lib/hmr/HotModuleReplacement.runtime.js +4 -5
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +9 -12
- package/lib/hmr/LazyCompilationPlugin.js +27 -12
- package/lib/hmr/lazyCompilationBackend.js +64 -40
- package/lib/ids/ChunkModuleIdRangePlugin.js +1 -3
- package/lib/ids/DeterministicChunkIdsPlugin.js +2 -4
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +5 -1
- package/lib/ids/IdHelpers.js +29 -39
- package/lib/ids/SyncModuleIdsPlugin.js +7 -2
- package/lib/index.js +1 -5
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -4
- package/lib/javascript/BasicEvaluatedExpression.js +4 -19
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/CommonJsChunkFormatPlugin.js +3 -2
- package/lib/javascript/EnableChunkLoadingPlugin.js +7 -6
- package/lib/javascript/JavascriptGenerator.js +23 -7
- package/lib/javascript/JavascriptModulesPlugin.js +133 -86
- package/lib/javascript/JavascriptParser.js +179 -200
- package/lib/javascript/JavascriptParserHelpers.js +20 -21
- package/lib/javascript/StartupHelpers.js +41 -13
- package/lib/json/JsonGenerator.js +7 -13
- package/lib/json/JsonModulesPlugin.js +1 -4
- package/lib/json/JsonParser.js +5 -3
- package/lib/library/AmdLibraryPlugin.js +12 -16
- package/lib/library/AssignLibraryPlugin.js +8 -10
- package/lib/library/EnableLibraryPlugin.js +15 -14
- package/lib/library/JsonpLibraryPlugin.js +2 -1
- package/lib/library/ModernModuleLibraryPlugin.js +8 -6
- package/lib/library/ModuleLibraryPlugin.js +2 -1
- package/lib/library/SystemLibraryPlugin.js +2 -1
- package/lib/library/UmdLibraryPlugin.js +66 -92
- package/lib/logging/Logger.js +32 -4
- package/lib/logging/createConsoleLogger.js +12 -13
- package/lib/logging/runtime.js +7 -8
- package/lib/logging/truncateArgs.js +5 -8
- package/lib/node/NodeWatchFileSystem.js +3 -18
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +2 -2
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +1 -0
- package/lib/node/RequireChunkLoadingRuntimeModule.js +2 -2
- package/lib/node/nodeConsole.js +22 -22
- package/lib/optimize/AggressiveMergingPlugin.js +2 -4
- package/lib/optimize/AggressiveSplittingPlugin.js +16 -19
- package/lib/optimize/ConcatenatedModule.js +81 -51
- package/lib/optimize/EnsureChunkConditionsPlugin.js +1 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -3
- package/lib/optimize/InnerGraph.js +17 -17
- package/lib/optimize/InnerGraphPlugin.js +8 -7
- package/lib/optimize/LimitChunkCountPlugin.js +2 -3
- package/lib/optimize/MangleExportsPlugin.js +1 -0
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -2
- package/lib/optimize/MinMaxSizeWarning.js +1 -1
- package/lib/optimize/ModuleConcatenationPlugin.js +54 -78
- package/lib/optimize/RealContentHashPlugin.js +7 -10
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -3
- package/lib/optimize/SideEffectsFlagPlugin.js +6 -2
- package/lib/optimize/SplitChunksPlugin.js +34 -30
- package/lib/performance/SizeLimitsPlugin.js +2 -2
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -1
- package/lib/rules/BasicEffectRulePlugin.js +3 -1
- package/lib/rules/BasicMatcherRulePlugin.js +3 -1
- package/lib/rules/ObjectMatcherRulePlugin.js +4 -1
- package/lib/rules/RuleSetCompiler.js +41 -22
- package/lib/rules/UseEffectRulePlugin.js +36 -32
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
- package/lib/runtime/AutoPublicPathRuntimeModule.js +8 -3
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -1
- package/lib/runtime/EnsureChunkRuntimeModule.js +10 -11
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +11 -17
- package/lib/runtime/LoadScriptRuntimeModule.js +17 -18
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -3
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +241 -126
- package/lib/serialization/BinaryMiddleware.js +44 -28
- package/lib/serialization/DateObjectSerializer.js +1 -0
- package/lib/serialization/ErrorObjectSerializer.js +2 -0
- package/lib/serialization/FileMiddleware.js +154 -106
- package/lib/serialization/MapObjectSerializer.js +2 -1
- package/lib/serialization/NullPrototypeObjectSerializer.js +3 -2
- package/lib/serialization/ObjectMiddleware.js +52 -56
- package/lib/serialization/PlainObjectSerializer.js +32 -6
- package/lib/serialization/RegExpObjectSerializer.js +1 -0
- package/lib/serialization/Serializer.js +4 -5
- package/lib/serialization/SerializerMiddleware.js +6 -6
- package/lib/serialization/SetObjectSerializer.js +2 -1
- package/lib/sharing/ConsumeSharedPlugin.js +116 -97
- package/lib/sharing/ConsumeSharedRuntimeModule.js +4 -4
- package/lib/sharing/ProvideForSharedDependency.js +0 -1
- package/lib/sharing/ProvideSharedPlugin.js +2 -2
- package/lib/sharing/resolveMatchedConfigs.js +2 -1
- package/lib/sharing/utils.js +15 -27
- package/lib/stats/DefaultStatsFactoryPlugin.js +424 -281
- package/lib/stats/DefaultStatsPresetPlugin.js +73 -18
- package/lib/stats/DefaultStatsPrinterPlugin.js +370 -101
- package/lib/stats/StatsFactory.js +127 -56
- package/lib/stats/StatsPrinter.js +75 -44
- package/lib/util/ArrayHelpers.js +8 -4
- package/lib/util/ArrayQueue.js +1 -1
- package/lib/util/AsyncQueue.js +31 -12
- package/lib/util/IterableHelpers.js +3 -4
- package/lib/util/LazyBucketSortedSet.js +60 -44
- package/lib/util/LazySet.js +13 -0
- package/lib/util/MapHelpers.js +1 -3
- package/lib/util/ParallelismFactorCalculator.js +1 -1
- package/lib/util/Queue.js +1 -1
- package/lib/util/Semaphore.js +4 -7
- package/lib/util/SetHelpers.js +5 -5
- package/lib/util/SortableSet.js +4 -3
- package/lib/util/StackedCacheMap.js +4 -6
- package/lib/util/StackedMap.js +1 -3
- package/lib/util/StringXor.js +0 -5
- package/lib/util/TupleQueue.js +1 -1
- package/lib/util/TupleSet.js +15 -5
- package/lib/util/URLAbsoluteSpecifier.js +7 -7
- package/lib/util/WeakTupleMap.js +19 -21
- package/lib/util/binarySearchBounds.js +5 -12
- package/lib/util/chainedImports.js +1 -1
- package/lib/util/cleverMerge.js +21 -19
- package/lib/util/comparators.js +57 -52
- package/lib/util/compileBooleanMatcher.js +3 -6
- package/lib/util/conventions.js +8 -11
- package/lib/util/createHash.js +9 -6
- package/lib/util/deprecation.js +22 -12
- package/lib/util/deterministicGrouping.js +19 -26
- package/lib/util/findGraphRoots.js +2 -2
- package/lib/util/fs.js +32 -32
- package/lib/util/hash/md4.js +2 -2
- package/lib/util/hash/wasm-hash.js +7 -7
- package/lib/util/hash/xxhash64.js +2 -2
- package/lib/util/identifier.js +81 -59
- package/lib/util/memoize.js +8 -10
- package/lib/util/mergeScope.js +6 -9
- package/lib/util/nonNumericOnlyHash.js +2 -2
- package/lib/util/numberHash.js +1 -6
- package/lib/util/objectToMap.js +0 -1
- package/lib/util/propertyAccess.js +2 -5
- package/lib/util/propertyName.js +1 -3
- package/lib/util/registerExternalSerializer.js +1 -1
- package/lib/util/runtime.js +109 -113
- package/lib/util/semver.js +29 -27
- package/lib/util/serialization.js +16 -1
- package/lib/util/smartGrouping.js +5 -5
- package/lib/util/source.js +1 -1
- package/lib/wasm/EnableWasmLoadingPlugin.js +5 -4
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +3 -3
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -6
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +3 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +20 -19
- package/lib/wasm-sync/WebAssemblyGenerator.js +14 -29
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -1
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +2 -3
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
- package/package.json +18 -17
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +5 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +1 -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 +1 -0
- package/types.d.ts +681 -355
@@ -20,7 +20,11 @@ const { addLocalModule, getLocalModule } = require("./LocalModulesHelpers");
|
|
20
20
|
/** @typedef {import("estree").CallExpression} CallExpression */
|
21
21
|
/** @typedef {import("estree").Expression} Expression */
|
22
22
|
/** @typedef {import("estree").FunctionExpression} FunctionExpression */
|
23
|
+
/** @typedef {import("estree").Identifier} Identifier */
|
23
24
|
/** @typedef {import("estree").Literal} Literal */
|
25
|
+
/** @typedef {import("estree").MemberExpression} MemberExpression */
|
26
|
+
/** @typedef {import("estree").ObjectExpression} ObjectExpression */
|
27
|
+
/** @typedef {import("estree").SimpleCallExpression} SimpleCallExpression */
|
24
28
|
/** @typedef {import("estree").SpreadElement} SpreadElement */
|
25
29
|
/** @typedef {import("../../declarations/WebpackOptions").JavascriptParserOptions} JavascriptParserOptions */
|
26
30
|
/** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
|
@@ -30,7 +34,7 @@ const { addLocalModule, getLocalModule } = require("./LocalModulesHelpers");
|
|
30
34
|
|
31
35
|
/**
|
32
36
|
* @param {Expression | SpreadElement} expr expression
|
33
|
-
* @returns {
|
37
|
+
* @returns {expr is CallExpression} true if it's a bound function expression
|
34
38
|
*/
|
35
39
|
const isBoundFunctionExpression = expr => {
|
36
40
|
if (expr.type !== "CallExpression") return false;
|
@@ -46,7 +50,7 @@ const isBoundFunctionExpression = expr => {
|
|
46
50
|
|
47
51
|
/**
|
48
52
|
* @param {Expression | SpreadElement} expr expression
|
49
|
-
* @returns {
|
53
|
+
* @returns {expr is FunctionExpression | ArrowFunctionExpression} true when unbound function expression
|
50
54
|
*/
|
51
55
|
const isUnboundFunctionExpression = expr => {
|
52
56
|
if (expr.type === "FunctionExpression") return true;
|
@@ -56,7 +60,7 @@ const isUnboundFunctionExpression = expr => {
|
|
56
60
|
|
57
61
|
/**
|
58
62
|
* @param {Expression | SpreadElement} expr expression
|
59
|
-
* @returns {
|
63
|
+
* @returns {expr is FunctionExpression | ArrowFunctionExpression | CallExpression} true when callable
|
60
64
|
*/
|
61
65
|
const isCallable = expr => {
|
62
66
|
if (isUnboundFunctionExpression(expr)) return true;
|
@@ -95,26 +99,28 @@ class AMDDefineDependencyParserPlugin {
|
|
95
99
|
*/
|
96
100
|
processArray(parser, expr, param, identifiers, namedModule) {
|
97
101
|
if (param.isArray()) {
|
98
|
-
/** @type {BasicEvaluatedExpression[]} */
|
99
|
-
(
|
102
|
+
const items = /** @type {BasicEvaluatedExpression[]} */ (param.items);
|
103
|
+
for (const [idx, item] of items.entries()) {
|
100
104
|
if (
|
101
|
-
|
105
|
+
item.isString() &&
|
102
106
|
["require", "module", "exports"].includes(
|
103
|
-
/** @type {string} */ (
|
107
|
+
/** @type {string} */ (item.string)
|
104
108
|
)
|
105
109
|
)
|
106
|
-
identifiers[/** @type {number} */ (idx)] =
|
107
|
-
|
110
|
+
identifiers[/** @type {number} */ (idx)] = /** @type {string} */ (
|
111
|
+
item.string
|
112
|
+
);
|
113
|
+
const result = this.processItem(parser, expr, item, namedModule);
|
108
114
|
if (result === undefined) {
|
109
|
-
this.processContext(parser, expr,
|
115
|
+
this.processContext(parser, expr, item);
|
110
116
|
}
|
111
|
-
}
|
117
|
+
}
|
112
118
|
return true;
|
113
119
|
} else if (param.isConstArray()) {
|
114
120
|
/** @type {(string | LocalModuleDependency | AMDRequireItemDependency)[]} */
|
115
121
|
const deps = [];
|
116
|
-
/** @type {string[]} */
|
117
|
-
(
|
122
|
+
const array = /** @type {string[]} */ (param.array);
|
123
|
+
for (const [idx, request] of array.entries()) {
|
118
124
|
let dep;
|
119
125
|
let localModule;
|
120
126
|
if (request === "require") {
|
@@ -131,17 +137,17 @@ class AMDDefineDependencyParserPlugin {
|
|
131
137
|
} else {
|
132
138
|
dep = this.newRequireItemDependency(request);
|
133
139
|
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
|
134
|
-
dep.optional =
|
140
|
+
dep.optional = Boolean(parser.scope.inTry);
|
135
141
|
parser.state.current.addDependency(dep);
|
136
142
|
}
|
137
143
|
deps.push(dep);
|
138
|
-
}
|
144
|
+
}
|
139
145
|
const dep = this.newRequireArrayDependency(
|
140
146
|
deps,
|
141
147
|
/** @type {Range} */ (param.range)
|
142
148
|
);
|
143
149
|
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
|
144
|
-
dep.optional =
|
150
|
+
dep.optional = Boolean(parser.scope.inTry);
|
145
151
|
parser.state.module.addPresentationalDependency(dep);
|
146
152
|
return true;
|
147
153
|
}
|
@@ -156,16 +162,19 @@ class AMDDefineDependencyParserPlugin {
|
|
156
162
|
*/
|
157
163
|
processItem(parser, expr, param, namedModule) {
|
158
164
|
if (param.isConditional()) {
|
159
|
-
/** @type {BasicEvaluatedExpression[]} */
|
160
|
-
(
|
161
|
-
const result = this.processItem(parser, expr,
|
165
|
+
const options = /** @type {BasicEvaluatedExpression[]} */ (param.options);
|
166
|
+
for (const item of options) {
|
167
|
+
const result = this.processItem(parser, expr, item);
|
162
168
|
if (result === undefined) {
|
163
|
-
this.processContext(parser, expr,
|
169
|
+
this.processContext(parser, expr, item);
|
164
170
|
}
|
165
|
-
}
|
171
|
+
}
|
172
|
+
|
166
173
|
return true;
|
167
174
|
} else if (param.isString()) {
|
168
|
-
let dep
|
175
|
+
let dep;
|
176
|
+
let localModule;
|
177
|
+
|
169
178
|
if (param.string === "require") {
|
170
179
|
dep = new ConstDependency(
|
171
180
|
RuntimeGlobals.require,
|
@@ -198,7 +207,7 @@ class AMDDefineDependencyParserPlugin {
|
|
198
207
|
/** @type {string} */ (param.string),
|
199
208
|
param.range
|
200
209
|
);
|
201
|
-
dep.optional =
|
210
|
+
dep.optional = Boolean(parser.scope.inTry);
|
202
211
|
parser.state.current.addDependency(dep);
|
203
212
|
return true;
|
204
213
|
}
|
@@ -228,7 +237,7 @@ class AMDDefineDependencyParserPlugin {
|
|
228
237
|
);
|
229
238
|
if (!dep) return;
|
230
239
|
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
|
231
|
-
dep.optional =
|
240
|
+
dep.optional = Boolean(parser.scope.inTry);
|
232
241
|
parser.state.current.addDependency(dep);
|
233
242
|
return true;
|
234
243
|
}
|
@@ -239,7 +248,14 @@ class AMDDefineDependencyParserPlugin {
|
|
239
248
|
* @returns {boolean | undefined} result
|
240
249
|
*/
|
241
250
|
processCallDefine(parser, expr) {
|
242
|
-
|
251
|
+
/** @type {TODO} */
|
252
|
+
let array;
|
253
|
+
/** @type {FunctionExpression | ArrowFunctionExpression | CallExpression | Identifier | undefined} */
|
254
|
+
let fn;
|
255
|
+
/** @type {ObjectExpression | Identifier | undefined} */
|
256
|
+
let obj;
|
257
|
+
/** @type {string | undefined} */
|
258
|
+
let namedModule;
|
243
259
|
switch (expr.arguments.length) {
|
244
260
|
case 1:
|
245
261
|
if (isCallable(expr.arguments[0])) {
|
@@ -251,12 +267,12 @@ class AMDDefineDependencyParserPlugin {
|
|
251
267
|
} else {
|
252
268
|
// define(expr)
|
253
269
|
// unclear if function or object
|
254
|
-
obj = fn = expr.arguments[0];
|
270
|
+
obj = fn = /** @type {Identifier} */ (expr.arguments[0]);
|
255
271
|
}
|
256
272
|
break;
|
257
273
|
case 2:
|
258
274
|
if (expr.arguments[0].type === "Literal") {
|
259
|
-
namedModule = expr.arguments[0].value;
|
275
|
+
namedModule = /** @type {string} */ (expr.arguments[0].value);
|
260
276
|
// define("…", …)
|
261
277
|
if (isCallable(expr.arguments[1])) {
|
262
278
|
// define("…", f() {…})
|
@@ -267,7 +283,7 @@ class AMDDefineDependencyParserPlugin {
|
|
267
283
|
} else {
|
268
284
|
// define("…", expr)
|
269
285
|
// unclear if function or object
|
270
|
-
obj = fn = expr.arguments[1];
|
286
|
+
obj = fn = /** @type {Identifier} */ (expr.arguments[1]);
|
271
287
|
}
|
272
288
|
} else {
|
273
289
|
array = expr.arguments[0];
|
@@ -280,13 +296,18 @@ class AMDDefineDependencyParserPlugin {
|
|
280
296
|
} else {
|
281
297
|
// define([…], expr)
|
282
298
|
// unclear if function or object
|
283
|
-
obj = fn = expr.arguments[1];
|
299
|
+
obj = fn = /** @type {Identifier} */ (expr.arguments[1]);
|
284
300
|
}
|
285
301
|
}
|
286
302
|
break;
|
287
303
|
case 3:
|
288
304
|
// define("…", […], f() {…})
|
289
|
-
namedModule =
|
305
|
+
namedModule =
|
306
|
+
/** @type {string} */
|
307
|
+
(
|
308
|
+
/** @type {Literal} */
|
309
|
+
(expr.arguments[0]).value
|
310
|
+
);
|
290
311
|
array = expr.arguments[1];
|
291
312
|
if (isCallable(expr.arguments[2])) {
|
292
313
|
// define("…", […], f() {})
|
@@ -297,27 +318,36 @@ class AMDDefineDependencyParserPlugin {
|
|
297
318
|
} else {
|
298
319
|
// define("…", […], expr)
|
299
320
|
// unclear if function or object
|
300
|
-
obj = fn = expr.arguments[2];
|
321
|
+
obj = fn = /** @type {Identifier} */ (expr.arguments[2]);
|
301
322
|
}
|
302
323
|
break;
|
303
324
|
default:
|
304
325
|
return;
|
305
326
|
}
|
306
327
|
DynamicExports.bailout(parser.state);
|
328
|
+
/** @type {Identifier[] | null} */
|
307
329
|
let fnParams = null;
|
308
330
|
let fnParamsOffset = 0;
|
309
331
|
if (fn) {
|
310
332
|
if (isUnboundFunctionExpression(fn)) {
|
311
|
-
fnParams =
|
333
|
+
fnParams =
|
334
|
+
/** @type {Identifier[]} */
|
335
|
+
(fn.params);
|
312
336
|
} else if (isBoundFunctionExpression(fn)) {
|
313
|
-
|
314
|
-
|
337
|
+
const object =
|
338
|
+
/** @type {FunctionExpression} */
|
339
|
+
(/** @type {MemberExpression} */ (fn.callee).object);
|
340
|
+
|
341
|
+
fnParams =
|
342
|
+
/** @type {Identifier[]} */
|
343
|
+
(object.params);
|
344
|
+
fnParamsOffset = fn.arguments.length - 1;
|
315
345
|
if (fnParamsOffset < 0) {
|
316
346
|
fnParamsOffset = 0;
|
317
347
|
}
|
318
348
|
}
|
319
349
|
}
|
320
|
-
|
350
|
+
const fnRenames = new Map();
|
321
351
|
if (array) {
|
322
352
|
/** @type {Record<number, string>} */
|
323
353
|
const identifiers = {};
|
@@ -372,9 +402,14 @@ class AMDDefineDependencyParserPlugin {
|
|
372
402
|
});
|
373
403
|
} else if (fn && isBoundFunctionExpression(fn)) {
|
374
404
|
inTry = parser.scope.inTry;
|
405
|
+
|
406
|
+
const object =
|
407
|
+
/** @type {FunctionExpression} */
|
408
|
+
(/** @type {MemberExpression} */ (fn.callee).object);
|
409
|
+
|
375
410
|
parser.inScope(
|
376
|
-
/** @type {
|
377
|
-
(
|
411
|
+
/** @type {Identifier[]} */
|
412
|
+
(object.params).filter(
|
378
413
|
i => !["require", "module", "exports"].includes(i.name)
|
379
414
|
),
|
380
415
|
() => {
|
@@ -382,19 +417,20 @@ class AMDDefineDependencyParserPlugin {
|
|
382
417
|
parser.setVariable(name, varInfo);
|
383
418
|
}
|
384
419
|
parser.scope.inTry = /** @type {boolean} */ (inTry);
|
385
|
-
|
386
|
-
|
420
|
+
|
421
|
+
if (object.body.type === "BlockStatement") {
|
422
|
+
parser.detectMode(object.body.body);
|
387
423
|
const prev = parser.prevStatement;
|
388
|
-
parser.preWalkStatement(
|
424
|
+
parser.preWalkStatement(object.body);
|
389
425
|
parser.prevStatement = prev;
|
390
|
-
parser.walkStatement(
|
426
|
+
parser.walkStatement(object.body);
|
391
427
|
} else {
|
392
|
-
parser.walkExpression(
|
428
|
+
parser.walkExpression(object.body);
|
393
429
|
}
|
394
430
|
}
|
395
431
|
);
|
396
|
-
if (
|
397
|
-
parser.walkExpressions(
|
432
|
+
if (fn.arguments) {
|
433
|
+
parser.walkExpressions(fn.arguments);
|
398
434
|
}
|
399
435
|
} else if (fn || obj) {
|
400
436
|
parser.walkExpression(fn || obj);
|
@@ -405,7 +441,7 @@ class AMDDefineDependencyParserPlugin {
|
|
405
441
|
array ? /** @type {Range} */ (array.range) : null,
|
406
442
|
fn ? /** @type {Range} */ (fn.range) : null,
|
407
443
|
obj ? /** @type {Range} */ (obj.range) : null,
|
408
|
-
namedModule
|
444
|
+
namedModule || null
|
409
445
|
);
|
410
446
|
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
|
411
447
|
if (namedModule) {
|
@@ -420,7 +456,7 @@ class AMDDefineDependencyParserPlugin {
|
|
420
456
|
* @param {Range | null} arrayRange array range
|
421
457
|
* @param {Range | null} functionRange function range
|
422
458
|
* @param {Range | null} objectRange object range
|
423
|
-
* @param {
|
459
|
+
* @param {string | null} namedModule true, when define is called with a name
|
424
460
|
* @returns {AMDDefineDependency} AMDDefineDependency
|
425
461
|
*/
|
426
462
|
newDefineDependency(
|
@@ -440,7 +476,7 @@ class AMDDefineDependencyParserPlugin {
|
|
440
476
|
}
|
441
477
|
|
442
478
|
/**
|
443
|
-
* @param {
|
479
|
+
* @param {(string | LocalModuleDependency | AMDRequireItemDependency)[]} depsArray deps array
|
444
480
|
* @param {Range} range range
|
445
481
|
* @returns {AMDRequireArrayDependency} AMDRequireArrayDependency
|
446
482
|
*/
|
@@ -89,9 +89,9 @@ AMDRequireArrayDependency.Template = class AMDRequireArrayDependencyTemplate ext
|
|
89
89
|
* @returns {string} content
|
90
90
|
*/
|
91
91
|
getContent(dep, templateContext) {
|
92
|
-
const requires = dep.depsArray.map(dependency =>
|
93
|
-
|
94
|
-
|
92
|
+
const requires = dep.depsArray.map(dependency =>
|
93
|
+
this.contentForDependency(dependency, templateContext)
|
94
|
+
);
|
95
95
|
return `[${requires.join(", ")}]`;
|
96
96
|
}
|
97
97
|
|
@@ -110,14 +110,13 @@ AMDRequireArrayDependency.Template = class AMDRequireArrayDependencyTemplate ext
|
|
110
110
|
|
111
111
|
if (dep.localModule) {
|
112
112
|
return dep.localModule.variableName();
|
113
|
-
} else {
|
114
|
-
return runtimeTemplate.moduleExports({
|
115
|
-
module: moduleGraph.getModule(dep),
|
116
|
-
chunkGraph,
|
117
|
-
request: dep.request,
|
118
|
-
runtimeRequirements
|
119
|
-
});
|
120
113
|
}
|
114
|
+
return runtimeTemplate.moduleExports({
|
115
|
+
module: moduleGraph.getModule(dep),
|
116
|
+
chunkGraph,
|
117
|
+
request: dep.request,
|
118
|
+
runtimeRequirements
|
119
|
+
});
|
121
120
|
}
|
122
121
|
};
|
123
122
|
|
@@ -49,11 +49,12 @@ class AMDRequireDependenciesBlockParserPlugin {
|
|
49
49
|
const fnData = getFunctionExpression(expression);
|
50
50
|
if (fnData) {
|
51
51
|
parser.inScope(
|
52
|
-
fnData.fn.params.filter(
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
52
|
+
fnData.fn.params.filter(
|
53
|
+
i =>
|
54
|
+
!["require", "module", "exports"].includes(
|
55
|
+
/** @type {Identifier} */ (i).name
|
56
|
+
)
|
57
|
+
),
|
57
58
|
() => {
|
58
59
|
if (fnData.fn.body.type === "BlockStatement") {
|
59
60
|
parser.walkStatement(fnData.fn.body);
|
@@ -104,7 +105,8 @@ class AMDRequireDependenciesBlockParserPlugin {
|
|
104
105
|
/** @type {(string | LocalModuleDependency | AMDRequireItemDependency)[]} */
|
105
106
|
const deps = [];
|
106
107
|
for (const request of /** @type {any[]} */ (param.array)) {
|
107
|
-
let dep
|
108
|
+
let dep;
|
109
|
+
let localModule;
|
108
110
|
if (request === "require") {
|
109
111
|
dep = RuntimeGlobals.require;
|
110
112
|
} else if (["exports", "module"].includes(request)) {
|
@@ -117,7 +119,7 @@ class AMDRequireDependenciesBlockParserPlugin {
|
|
117
119
|
} else {
|
118
120
|
dep = this.newRequireItemDependency(request);
|
119
121
|
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
|
120
|
-
dep.optional =
|
122
|
+
dep.optional = Boolean(parser.scope.inTry);
|
121
123
|
parser.state.current.addDependency(dep);
|
122
124
|
}
|
123
125
|
deps.push(dep);
|
@@ -127,7 +129,7 @@ class AMDRequireDependenciesBlockParserPlugin {
|
|
127
129
|
/** @type {Range} */ (param.range)
|
128
130
|
);
|
129
131
|
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
|
130
|
-
dep.optional =
|
132
|
+
dep.optional = Boolean(parser.scope.inTry);
|
131
133
|
parser.state.module.addPresentationalDependency(dep);
|
132
134
|
return true;
|
133
135
|
}
|
@@ -151,7 +153,8 @@ class AMDRequireDependenciesBlockParserPlugin {
|
|
151
153
|
}
|
152
154
|
return true;
|
153
155
|
} else if (param.isString()) {
|
154
|
-
let dep
|
156
|
+
let dep;
|
157
|
+
let localModule;
|
155
158
|
if (param.string === "require") {
|
156
159
|
dep = new ConstDependency(
|
157
160
|
RuntimeGlobals.require,
|
@@ -186,7 +189,7 @@ class AMDRequireDependenciesBlockParserPlugin {
|
|
186
189
|
param.range
|
187
190
|
);
|
188
191
|
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
|
189
|
-
dep.optional =
|
192
|
+
dep.optional = Boolean(parser.scope.inTry);
|
190
193
|
parser.state.current.addDependency(dep);
|
191
194
|
return true;
|
192
195
|
}
|
@@ -216,7 +219,7 @@ class AMDRequireDependenciesBlockParserPlugin {
|
|
216
219
|
);
|
217
220
|
if (!dep) return;
|
218
221
|
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
|
219
|
-
dep.optional =
|
222
|
+
dep.optional = Boolean(parser.scope.inTry);
|
220
223
|
parser.state.current.addDependency(dep);
|
221
224
|
return true;
|
222
225
|
}
|
@@ -269,10 +272,12 @@ class AMDRequireDependenciesBlockParserPlugin {
|
|
269
272
|
const old = parser.state.current;
|
270
273
|
|
271
274
|
if (expr.arguments.length >= 1) {
|
272
|
-
param = parser.evaluateExpression(
|
275
|
+
param = parser.evaluateExpression(
|
276
|
+
/** @type {Expression} */ (expr.arguments[0])
|
277
|
+
);
|
273
278
|
depBlock = this.newRequireDependenciesBlock(
|
274
279
|
/** @type {DependencyLocation} */ (expr.loc),
|
275
|
-
|
280
|
+
this.processArrayForRequestString(param)
|
276
281
|
);
|
277
282
|
dep = this.newRequireDependency(
|
278
283
|
/** @type {Range} */ (expr.range),
|
@@ -324,8 +329,9 @@ class AMDRequireDependenciesBlockParserPlugin {
|
|
324
329
|
if (parser.state.module) {
|
325
330
|
parser.state.module.addError(
|
326
331
|
new UnsupportedFeatureWarning(
|
327
|
-
|
328
|
-
/** @type {SourceLocation} */ (expr.loc).start.line
|
332
|
+
`Cannot statically analyse 'require(…, …)' in line ${
|
333
|
+
/** @type {SourceLocation} */ (expr.loc).start.line
|
334
|
+
}`,
|
329
335
|
/** @type {DependencyLocation} */ (expr.loc)
|
330
336
|
)
|
331
337
|
);
|
@@ -355,7 +361,7 @@ class AMDRequireDependenciesBlockParserPlugin {
|
|
355
361
|
|
356
362
|
/**
|
357
363
|
* @param {DependencyLocation} loc location
|
358
|
-
* @param {string} request request
|
364
|
+
* @param {string=} request request
|
359
365
|
* @returns {AMDRequireDependenciesBlock} AMDRequireDependenciesBlock
|
360
366
|
*/
|
361
367
|
newRequireDependenciesBlock(loc, request) {
|
@@ -44,5 +44,5 @@ class AMDOptionsRuntimeModule extends RuntimeModule {
|
|
44
44
|
}
|
45
45
|
}
|
46
46
|
|
47
|
-
exports.AMDDefineRuntimeModule = AMDDefineRuntimeModule;
|
48
|
-
exports.AMDOptionsRuntimeModule = AMDOptionsRuntimeModule;
|
47
|
+
module.exports.AMDDefineRuntimeModule = AMDDefineRuntimeModule;
|
48
|
+
module.exports.AMDOptionsRuntimeModule = AMDOptionsRuntimeModule;
|
@@ -17,8 +17,12 @@ const RuntimeGlobals = require("../RuntimeGlobals");
|
|
17
17
|
* @param {RuntimeRequirements} runtimeRequirements runtime requirements
|
18
18
|
* @returns {[string, string]} type and base
|
19
19
|
*/
|
20
|
-
exports.handleDependencyBase = (
|
21
|
-
|
20
|
+
module.exports.handleDependencyBase = (
|
21
|
+
depBase,
|
22
|
+
module,
|
23
|
+
runtimeRequirements
|
24
|
+
) => {
|
25
|
+
let base;
|
22
26
|
let type;
|
23
27
|
switch (depBase) {
|
24
28
|
case "exports":
|
@@ -96,14 +96,13 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
96
96
|
const getFullResult = () => {
|
97
97
|
if (ids.length === 0) {
|
98
98
|
return Dependency.EXPORTS_OBJECT_REFERENCED;
|
99
|
-
} else {
|
100
|
-
return [
|
101
|
-
{
|
102
|
-
name: ids,
|
103
|
-
canMangle: false
|
104
|
-
}
|
105
|
-
];
|
106
99
|
}
|
100
|
+
return [
|
101
|
+
{
|
102
|
+
name: ids,
|
103
|
+
canMangle: false
|
104
|
+
}
|
105
|
+
];
|
107
106
|
};
|
108
107
|
if (this.resultUsed) return getFullResult();
|
109
108
|
/** @type {ExportsInfo | undefined} */
|
@@ -146,8 +145,8 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
146
145
|
* @returns {ExportsSpec | undefined} export names
|
147
146
|
*/
|
148
147
|
getExports(moduleGraph) {
|
149
|
-
const ids = this.getIds(moduleGraph);
|
150
148
|
if (this.names.length === 1) {
|
149
|
+
const ids = this.getIds(moduleGraph);
|
151
150
|
const name = this.names[0];
|
152
151
|
const from = moduleGraph.getConnection(this);
|
153
152
|
if (!from) return;
|
@@ -179,39 +178,36 @@ class CommonJsExportRequireDependency extends ModuleDependency {
|
|
179
178
|
],
|
180
179
|
dependencies: undefined
|
181
180
|
};
|
182
|
-
} else {
|
183
|
-
const from = moduleGraph.getConnection(this);
|
184
|
-
if (!from) return;
|
185
|
-
const reexportInfo = this.getStarReexports(
|
186
|
-
moduleGraph,
|
187
|
-
undefined,
|
188
|
-
from.module
|
189
|
-
);
|
190
|
-
if (reexportInfo) {
|
191
|
-
return {
|
192
|
-
exports: Array.from(
|
193
|
-
/** @type {TODO} */ (reexportInfo).exports,
|
194
|
-
name => {
|
195
|
-
return {
|
196
|
-
name,
|
197
|
-
from,
|
198
|
-
export: ids.concat(name),
|
199
|
-
canMangle: !(name in EMPTY_OBJECT) && false
|
200
|
-
};
|
201
|
-
}
|
202
|
-
),
|
203
|
-
// TODO handle deep reexports
|
204
|
-
dependencies: [from.module]
|
205
|
-
};
|
206
|
-
} else {
|
207
|
-
return {
|
208
|
-
exports: true,
|
209
|
-
from: ids.length === 0 ? from : undefined,
|
210
|
-
canMangle: false,
|
211
|
-
dependencies: [from.module]
|
212
|
-
};
|
213
|
-
}
|
214
181
|
}
|
182
|
+
const from = moduleGraph.getConnection(this);
|
183
|
+
if (!from) return;
|
184
|
+
const reexportInfo = this.getStarReexports(
|
185
|
+
moduleGraph,
|
186
|
+
undefined,
|
187
|
+
from.module
|
188
|
+
);
|
189
|
+
const ids = this.getIds(moduleGraph);
|
190
|
+
if (reexportInfo) {
|
191
|
+
return {
|
192
|
+
exports: Array.from(
|
193
|
+
/** @type {TODO} */ (reexportInfo).exports,
|
194
|
+
name => ({
|
195
|
+
name,
|
196
|
+
from,
|
197
|
+
export: ids.concat(name),
|
198
|
+
canMangle: !(name in EMPTY_OBJECT) && false
|
199
|
+
})
|
200
|
+
),
|
201
|
+
// TODO handle deep reexports
|
202
|
+
dependencies: [from.module]
|
203
|
+
};
|
204
|
+
}
|
205
|
+
return {
|
206
|
+
exports: true,
|
207
|
+
from: ids.length === 0 ? from : undefined,
|
208
|
+
canMangle: false,
|
209
|
+
dependencies: [from.module]
|
210
|
+
};
|
215
211
|
}
|
216
212
|
|
217
213
|
/**
|
@@ -382,7 +378,7 @@ CommonJsExportRequireDependency.Template = class CommonJsExportRequireDependency
|
|
382
378
|
if (usedImported) {
|
383
379
|
const comment = equals(usedImported, ids)
|
384
380
|
? ""
|
385
|
-
: Template.toNormalComment(propertyAccess(ids))
|
381
|
+
: `${Template.toNormalComment(propertyAccess(ids))} `;
|
386
382
|
requireExpr += `${comment}${propertyAccess(usedImported)}`;
|
387
383
|
}
|
388
384
|
}
|