webpack 5.93.0 → 5.94.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 +5 -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 +104 -64
- 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 +126 -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 +12 -10
- 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 +14 -19
- 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 +31 -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 +1 -1
- package/lib/dependencies/ContextDependencyHelpers.js +31 -34
- package/lib/dependencies/ContextElementDependency.js +2 -2
- 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 +91 -69
- 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 +80 -48
- 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/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 +1 -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 +31 -31
- 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 +103 -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 +15 -14
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1 -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 +667 -347
@@ -21,8 +21,8 @@ const BasicEvaluatedExpression = require("./BasicEvaluatedExpression");
|
|
21
21
|
* @param {(string[] | null)=} runtimeRequirements runtime requirements
|
22
22
|
* @returns {function(Expression): true} plugin function
|
23
23
|
*/
|
24
|
-
exports.toConstantDependency = (parser, value, runtimeRequirements) =>
|
25
|
-
|
24
|
+
module.exports.toConstantDependency = (parser, value, runtimeRequirements) =>
|
25
|
+
function constDependency(expr) {
|
26
26
|
const dep = new ConstDependency(
|
27
27
|
value,
|
28
28
|
/** @type {Range} */ (expr.range),
|
@@ -32,43 +32,39 @@ exports.toConstantDependency = (parser, value, runtimeRequirements) => {
|
|
32
32
|
parser.state.module.addPresentationalDependency(dep);
|
33
33
|
return true;
|
34
34
|
};
|
35
|
-
};
|
36
35
|
|
37
36
|
/**
|
38
37
|
* @param {string} value the string value
|
39
38
|
* @returns {function(Expression): BasicEvaluatedExpression} plugin function
|
40
39
|
*/
|
41
|
-
exports.evaluateToString = value =>
|
42
|
-
|
40
|
+
module.exports.evaluateToString = value =>
|
41
|
+
function stringExpression(expr) {
|
43
42
|
return new BasicEvaluatedExpression()
|
44
43
|
.setString(value)
|
45
44
|
.setRange(/** @type {Range} */ (expr.range));
|
46
45
|
};
|
47
|
-
};
|
48
46
|
|
49
47
|
/**
|
50
48
|
* @param {number} value the number value
|
51
49
|
* @returns {function(Expression): BasicEvaluatedExpression} plugin function
|
52
50
|
*/
|
53
|
-
exports.evaluateToNumber = value =>
|
54
|
-
|
51
|
+
module.exports.evaluateToNumber = value =>
|
52
|
+
function stringExpression(expr) {
|
55
53
|
return new BasicEvaluatedExpression()
|
56
54
|
.setNumber(value)
|
57
55
|
.setRange(/** @type {Range} */ (expr.range));
|
58
56
|
};
|
59
|
-
};
|
60
57
|
|
61
58
|
/**
|
62
59
|
* @param {boolean} value the boolean value
|
63
60
|
* @returns {function(Expression): BasicEvaluatedExpression} plugin function
|
64
61
|
*/
|
65
|
-
exports.evaluateToBoolean = value =>
|
66
|
-
|
62
|
+
module.exports.evaluateToBoolean = value =>
|
63
|
+
function booleanExpression(expr) {
|
67
64
|
return new BasicEvaluatedExpression()
|
68
65
|
.setBoolean(value)
|
69
66
|
.setRange(/** @type {Range} */ (expr.range));
|
70
67
|
};
|
71
|
-
};
|
72
68
|
|
73
69
|
/**
|
74
70
|
* @param {string} identifier identifier
|
@@ -77,9 +73,14 @@ exports.evaluateToBoolean = value => {
|
|
77
73
|
* @param {boolean|null=} truthy is truthy, null if nullish
|
78
74
|
* @returns {function(Expression): BasicEvaluatedExpression} callback
|
79
75
|
*/
|
80
|
-
exports.evaluateToIdentifier = (
|
81
|
-
|
82
|
-
|
76
|
+
module.exports.evaluateToIdentifier = (
|
77
|
+
identifier,
|
78
|
+
rootInfo,
|
79
|
+
getMembers,
|
80
|
+
truthy
|
81
|
+
) =>
|
82
|
+
function identifierExpression(expr) {
|
83
|
+
const evaluatedExpression = new BasicEvaluatedExpression()
|
83
84
|
.setIdentifier(identifier, rootInfo, getMembers)
|
84
85
|
.setSideEffects(false)
|
85
86
|
.setRange(/** @type {Range} */ (expr.range));
|
@@ -97,15 +98,14 @@ exports.evaluateToIdentifier = (identifier, rootInfo, getMembers, truthy) => {
|
|
97
98
|
|
98
99
|
return evaluatedExpression;
|
99
100
|
};
|
100
|
-
};
|
101
101
|
|
102
102
|
/**
|
103
103
|
* @param {JavascriptParser} parser the parser
|
104
104
|
* @param {string} message the message
|
105
105
|
* @returns {function(Expression): boolean | undefined} callback to handle unsupported expression
|
106
106
|
*/
|
107
|
-
exports.expressionIsUnsupported = (parser, message) =>
|
108
|
-
|
107
|
+
module.exports.expressionIsUnsupported = (parser, message) =>
|
108
|
+
function unsupportedExpression(expr) {
|
109
109
|
const dep = new ConstDependency(
|
110
110
|
"(void 0)",
|
111
111
|
/** @type {Range} */ (expr.range),
|
@@ -122,8 +122,7 @@ exports.expressionIsUnsupported = (parser, message) => {
|
|
122
122
|
);
|
123
123
|
return true;
|
124
124
|
};
|
125
|
-
};
|
126
125
|
|
127
|
-
exports.skipTraversal = () => true;
|
126
|
+
module.exports.skipTraversal = () => true;
|
128
127
|
|
129
|
-
exports.approve = () => true;
|
128
|
+
module.exports.approve = () => true;
|
@@ -15,6 +15,7 @@ const { getAllChunks } = require("./ChunkHelpers");
|
|
15
15
|
/** @typedef {import("../Chunk").ChunkId} ChunkId */
|
16
16
|
/** @typedef {import("../Compilation")} Compilation */
|
17
17
|
/** @typedef {import("../ChunkGraph")} ChunkGraph */
|
18
|
+
/** @typedef {import("../ChunkGraph").ModuleId} ModuleId */
|
18
19
|
/** @typedef {import("../Entrypoint")} Entrypoint */
|
19
20
|
/** @typedef {import("../ChunkGraph").EntryModuleWithChunkGroup} EntryModuleWithChunkGroup */
|
20
21
|
/** @typedef {import("../ChunkGroup")} ChunkGroup */
|
@@ -23,6 +24,9 @@ const { getAllChunks } = require("./ChunkHelpers");
|
|
23
24
|
|
24
25
|
const EXPORT_PREFIX = `var ${RuntimeGlobals.exports} = `;
|
25
26
|
|
27
|
+
/** @typedef {Set<Chunk>} Chunks */
|
28
|
+
/** @typedef {ModuleId[]} ModuleIds */
|
29
|
+
|
26
30
|
/**
|
27
31
|
* @param {ChunkGraph} chunkGraph chunkGraph
|
28
32
|
* @param {RuntimeTemplate} runtimeTemplate runtimeTemplate
|
@@ -31,7 +35,7 @@ const EXPORT_PREFIX = `var ${RuntimeGlobals.exports} = `;
|
|
31
35
|
* @param {boolean} passive true: passive startup with on chunks loaded
|
32
36
|
* @returns {string} runtime code
|
33
37
|
*/
|
34
|
-
exports.generateEntryStartup = (
|
38
|
+
module.exports.generateEntryStartup = (
|
35
39
|
chunkGraph,
|
36
40
|
runtimeTemplate,
|
37
41
|
entries,
|
@@ -46,9 +50,16 @@ exports.generateEntryStartup = (
|
|
46
50
|
)}`
|
47
51
|
];
|
48
52
|
|
49
|
-
|
50
|
-
|
51
|
-
|
53
|
+
/**
|
54
|
+
* @param {ModuleId} id id
|
55
|
+
* @returns {string} fn to execute
|
56
|
+
*/
|
57
|
+
const runModule = id => `__webpack_exec__(${JSON.stringify(id)})`;
|
58
|
+
/**
|
59
|
+
* @param {Chunks} chunks chunks
|
60
|
+
* @param {ModuleIds} moduleIds module ids
|
61
|
+
* @param {boolean=} final true when final, otherwise false
|
62
|
+
*/
|
52
63
|
const outputCombination = (chunks, moduleIds, final) => {
|
53
64
|
if (chunks.size === 0) {
|
54
65
|
runtime.push(
|
@@ -71,16 +82,19 @@ exports.generateEntryStartup = (
|
|
71
82
|
}
|
72
83
|
};
|
73
84
|
|
74
|
-
|
75
|
-
let
|
85
|
+
/** @type {Chunks | undefined} */
|
86
|
+
let currentChunks;
|
87
|
+
/** @type {ModuleIds | undefined} */
|
88
|
+
let currentModuleIds;
|
76
89
|
|
77
90
|
for (const [module, entrypoint] of entries) {
|
78
91
|
const runtimeChunk =
|
79
92
|
/** @type {Entrypoint} */
|
80
93
|
(entrypoint).getRuntimeChunk();
|
81
|
-
const moduleId = chunkGraph.getModuleId(module);
|
94
|
+
const moduleId = /** @type {ModuleId} */ (chunkGraph.getModuleId(module));
|
82
95
|
const chunks = getAllChunks(
|
83
|
-
/** @type {Entrypoint} */
|
96
|
+
/** @type {Entrypoint} */
|
97
|
+
(entrypoint),
|
84
98
|
chunk,
|
85
99
|
runtimeChunk
|
86
100
|
);
|
@@ -89,10 +103,14 @@ exports.generateEntryStartup = (
|
|
89
103
|
currentChunks.size === chunks.size &&
|
90
104
|
isSubset(currentChunks, chunks)
|
91
105
|
) {
|
92
|
-
|
106
|
+
/** @type {ModuleIds} */
|
107
|
+
(currentModuleIds).push(moduleId);
|
93
108
|
} else {
|
94
109
|
if (currentChunks) {
|
95
|
-
outputCombination(
|
110
|
+
outputCombination(
|
111
|
+
currentChunks,
|
112
|
+
/** @type {ModuleIds} */ (currentModuleIds)
|
113
|
+
);
|
96
114
|
}
|
97
115
|
currentChunks = chunks;
|
98
116
|
currentModuleIds = [moduleId];
|
@@ -101,7 +119,12 @@ exports.generateEntryStartup = (
|
|
101
119
|
|
102
120
|
// output current modules with export prefix
|
103
121
|
if (currentChunks) {
|
104
|
-
outputCombination(
|
122
|
+
outputCombination(
|
123
|
+
currentChunks,
|
124
|
+
/** @type {ModuleIds} */
|
125
|
+
(currentModuleIds),
|
126
|
+
true
|
127
|
+
);
|
105
128
|
}
|
106
129
|
runtime.push("");
|
107
130
|
return Template.asString(runtime);
|
@@ -114,7 +137,12 @@ exports.generateEntryStartup = (
|
|
114
137
|
* @param {Chunk} chunk chunk
|
115
138
|
* @returns {void}
|
116
139
|
*/
|
117
|
-
exports.updateHashForEntryStartup = (
|
140
|
+
module.exports.updateHashForEntryStartup = (
|
141
|
+
hash,
|
142
|
+
chunkGraph,
|
143
|
+
entries,
|
144
|
+
chunk
|
145
|
+
) => {
|
118
146
|
for (const [module, entrypoint] of entries) {
|
119
147
|
const runtimeChunk =
|
120
148
|
/** @type {Entrypoint} */
|
@@ -137,7 +165,7 @@ exports.updateHashForEntryStartup = (hash, chunkGraph, entries, chunk) => {
|
|
137
165
|
* @param {function(Chunk, ChunkGraph): boolean} filterFn filter function
|
138
166
|
* @returns {Set<number | string>} initially fulfilled chunk ids
|
139
167
|
*/
|
140
|
-
exports.getInitialChunkIds = (chunk, chunkGraph, filterFn) => {
|
168
|
+
module.exports.getInitialChunkIds = (chunk, chunkGraph, filterFn) => {
|
141
169
|
const initialChunkIds = new Set(chunk.ids);
|
142
170
|
for (const c of chunk.getAllInitialChunks()) {
|
143
171
|
if (c === chunk || filterFn(c, chunkGraph)) continue;
|
@@ -27,7 +27,7 @@ const RuntimeGlobals = require("../RuntimeGlobals");
|
|
27
27
|
const stringifySafe = data => {
|
28
28
|
const stringified = JSON.stringify(data);
|
29
29
|
if (!stringified) {
|
30
|
-
return
|
30
|
+
return; // Invalid JSON
|
31
31
|
}
|
32
32
|
|
33
33
|
return stringified.replace(/\u2028|\u2029/g, str =>
|
@@ -53,22 +53,16 @@ const createObjectForExportsInfo = (data, exportsInfo, runtime) => {
|
|
53
53
|
if (used === UsageState.Unused) continue;
|
54
54
|
|
55
55
|
/** @type {RawJsonData} */
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
data[key]
|
60
|
-
exportInfo.exportsInfo,
|
61
|
-
runtime
|
62
|
-
);
|
63
|
-
} else {
|
64
|
-
value = data[key];
|
65
|
-
}
|
56
|
+
const value =
|
57
|
+
used === UsageState.OnlyPropertiesUsed && exportInfo.exportsInfo
|
58
|
+
? createObjectForExportsInfo(data[key], exportInfo.exportsInfo, runtime)
|
59
|
+
: data[key];
|
66
60
|
|
67
61
|
const name = /** @type {string} */ (exportInfo.getUsedName(key, runtime));
|
68
62
|
/** @type {Record<string, RawJsonData>} */ (reducedData)[name] = value;
|
69
63
|
}
|
70
64
|
if (isArray) {
|
71
|
-
|
65
|
+
const arrayLengthWhenUsed =
|
72
66
|
exportsInfo.getReadOnlyExportInfo("length").getUsed(runtime) !==
|
73
67
|
UsageState.Unused
|
74
68
|
? data.length
|
@@ -173,7 +167,7 @@ class JsonGenerator extends Generator {
|
|
173
167
|
}
|
174
168
|
const exportsInfo = moduleGraph.getExportsInfo(module);
|
175
169
|
/** @type {RawJsonData} */
|
176
|
-
|
170
|
+
const finalJson =
|
177
171
|
typeof data === "object" &&
|
178
172
|
data &&
|
179
173
|
exportsInfo.otherExportsInfo.getUsed(runtime) === UsageState.Unused
|
@@ -33,7 +33,6 @@ class JsonModulesPlugin {
|
|
33
33
|
* Apply the plugin
|
34
34
|
* @param {Compiler} compiler the compiler instance
|
35
35
|
* @returns {void}
|
36
|
-
*
|
37
36
|
*/
|
38
37
|
apply(compiler) {
|
39
38
|
compiler.hooks.compilation.tap(
|
@@ -48,9 +47,7 @@ class JsonModulesPlugin {
|
|
48
47
|
});
|
49
48
|
normalModuleFactory.hooks.createGenerator
|
50
49
|
.for(JSON_MODULE_TYPE)
|
51
|
-
.tap(PLUGIN_NAME, () =>
|
52
|
-
return new JsonGenerator();
|
53
|
-
});
|
50
|
+
.tap(PLUGIN_NAME, () => new JsonGenerator());
|
54
51
|
}
|
55
52
|
);
|
56
53
|
}
|
package/lib/json/JsonParser.js
CHANGED
@@ -49,9 +49,11 @@ class JsonParser extends Parser {
|
|
49
49
|
data =
|
50
50
|
typeof source === "object"
|
51
51
|
? source
|
52
|
-
: parseFn(source[0] === "\
|
53
|
-
} catch (
|
54
|
-
throw new Error(
|
52
|
+
: parseFn(source[0] === "\uFEFF" ? source.slice(1) : source);
|
53
|
+
} catch (err) {
|
54
|
+
throw new Error(
|
55
|
+
`Cannot parse JSON: ${/** @type {Error} */ (err).message}`
|
56
|
+
);
|
55
57
|
}
|
56
58
|
const jsonData = new JsonData(/** @type {Buffer | RawJsonData} */ (data));
|
57
59
|
const buildInfo = /** @type {BuildInfo} */ (state.module.buildInfo);
|
@@ -60,17 +60,14 @@ class AmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
60
60
|
`AMD library name must be unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
|
61
61
|
);
|
62
62
|
}
|
63
|
-
} else {
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
);
|
68
|
-
}
|
63
|
+
} else if (name && typeof name !== "string") {
|
64
|
+
throw new Error(
|
65
|
+
`AMD library name must be a simple string or unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
|
66
|
+
);
|
69
67
|
}
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
};
|
68
|
+
const _name = /** @type {string} */ (name);
|
69
|
+
const _amdContainer = /** @type {string} */ (amdContainer);
|
70
|
+
return { name: _name, amdContainer: _amdContainer };
|
74
71
|
}
|
75
72
|
|
76
73
|
/**
|
@@ -146,13 +143,12 @@ class AmdLibraryPlugin extends AbstractLibraryPlugin {
|
|
146
143
|
source,
|
147
144
|
`${fnEnd});`
|
148
145
|
);
|
149
|
-
} else {
|
150
|
-
return new ConcatSource(
|
151
|
-
`${amdContainerPrefix}define(${fnStart}`,
|
152
|
-
source,
|
153
|
-
`${fnEnd});`
|
154
|
-
);
|
155
146
|
}
|
147
|
+
return new ConcatSource(
|
148
|
+
`${amdContainerPrefix}define(${fnStart}`,
|
149
|
+
source,
|
150
|
+
`${fnEnd});`
|
151
|
+
);
|
156
152
|
}
|
157
153
|
|
158
154
|
/**
|
@@ -36,9 +36,8 @@ const IDENTIFIER_REGEX =
|
|
36
36
|
* @param {string} name name to be validated
|
37
37
|
* @returns {boolean} true, when valid
|
38
38
|
*/
|
39
|
-
const isNameValid = name =>
|
40
|
-
|
41
|
-
};
|
39
|
+
const isNameValid = name =>
|
40
|
+
!KEYWORD_REGEX.test(name) && IDENTIFIER_REGEX.test(name);
|
42
41
|
|
43
42
|
/**
|
44
43
|
* @param {string[]} accessor variable plus properties
|
@@ -136,15 +135,14 @@ class AssignLibraryPlugin extends AbstractLibraryPlugin {
|
|
136
135
|
`Library name must be a string or string array. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
|
137
136
|
);
|
138
137
|
}
|
139
|
-
} else {
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
);
|
144
|
-
}
|
138
|
+
} else if (name && typeof name !== "string" && !Array.isArray(name)) {
|
139
|
+
throw new Error(
|
140
|
+
`Library name must be a string, string array or unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
|
141
|
+
);
|
145
142
|
}
|
143
|
+
const _name = /** @type {string | string[]} */ (name);
|
146
144
|
return {
|
147
|
-
name:
|
145
|
+
name: _name,
|
148
146
|
export: library.export
|
149
147
|
};
|
150
148
|
}
|
@@ -52,10 +52,11 @@ class EnableLibraryPlugin {
|
|
52
52
|
throw new Error(
|
53
53
|
`Library type "${type}" is not enabled. ` +
|
54
54
|
"EnableLibraryPlugin need to be used to enable this type of library. " +
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
55
|
+
`This usually happens through the "output.enabledLibraryTypes" option. ` +
|
56
|
+
`If you are using a function as entry which sets "library", you need to add all potential library types to "output.enabledLibraryTypes". ` +
|
57
|
+
`These types are enabled: ${Array.from(
|
58
|
+
getEnabledTypes(compiler)
|
59
|
+
).join(", ")}`
|
59
60
|
);
|
60
61
|
}
|
61
62
|
}
|
@@ -84,7 +85,7 @@ class EnableLibraryPlugin {
|
|
84
85
|
};
|
85
86
|
switch (type) {
|
86
87
|
case "var": {
|
87
|
-
|
88
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
88
89
|
const AssignLibraryPlugin = require("./AssignLibraryPlugin");
|
89
90
|
new AssignLibraryPlugin({
|
90
91
|
type,
|
@@ -95,7 +96,7 @@ class EnableLibraryPlugin {
|
|
95
96
|
break;
|
96
97
|
}
|
97
98
|
case "assign-properties": {
|
98
|
-
|
99
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
99
100
|
const AssignLibraryPlugin = require("./AssignLibraryPlugin");
|
100
101
|
new AssignLibraryPlugin({
|
101
102
|
type,
|
@@ -107,7 +108,7 @@ class EnableLibraryPlugin {
|
|
107
108
|
break;
|
108
109
|
}
|
109
110
|
case "assign": {
|
110
|
-
|
111
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
111
112
|
const AssignLibraryPlugin = require("./AssignLibraryPlugin");
|
112
113
|
new AssignLibraryPlugin({
|
113
114
|
type,
|
@@ -118,7 +119,7 @@ class EnableLibraryPlugin {
|
|
118
119
|
break;
|
119
120
|
}
|
120
121
|
case "this": {
|
121
|
-
|
122
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
122
123
|
const AssignLibraryPlugin = require("./AssignLibraryPlugin");
|
123
124
|
new AssignLibraryPlugin({
|
124
125
|
type,
|
@@ -129,7 +130,7 @@ class EnableLibraryPlugin {
|
|
129
130
|
break;
|
130
131
|
}
|
131
132
|
case "window": {
|
132
|
-
|
133
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
133
134
|
const AssignLibraryPlugin = require("./AssignLibraryPlugin");
|
134
135
|
new AssignLibraryPlugin({
|
135
136
|
type,
|
@@ -140,7 +141,7 @@ class EnableLibraryPlugin {
|
|
140
141
|
break;
|
141
142
|
}
|
142
143
|
case "self": {
|
143
|
-
|
144
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
144
145
|
const AssignLibraryPlugin = require("./AssignLibraryPlugin");
|
145
146
|
new AssignLibraryPlugin({
|
146
147
|
type,
|
@@ -151,7 +152,7 @@ class EnableLibraryPlugin {
|
|
151
152
|
break;
|
152
153
|
}
|
153
154
|
case "global": {
|
154
|
-
|
155
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
155
156
|
const AssignLibraryPlugin = require("./AssignLibraryPlugin");
|
156
157
|
new AssignLibraryPlugin({
|
157
158
|
type,
|
@@ -162,7 +163,7 @@ class EnableLibraryPlugin {
|
|
162
163
|
break;
|
163
164
|
}
|
164
165
|
case "commonjs": {
|
165
|
-
|
166
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
166
167
|
const AssignLibraryPlugin = require("./AssignLibraryPlugin");
|
167
168
|
new AssignLibraryPlugin({
|
168
169
|
type,
|
@@ -173,7 +174,7 @@ class EnableLibraryPlugin {
|
|
173
174
|
break;
|
174
175
|
}
|
175
176
|
case "commonjs-static": {
|
176
|
-
|
177
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
177
178
|
const AssignLibraryPlugin = require("./AssignLibraryPlugin");
|
178
179
|
new AssignLibraryPlugin({
|
179
180
|
type,
|
@@ -185,7 +186,7 @@ class EnableLibraryPlugin {
|
|
185
186
|
}
|
186
187
|
case "commonjs2":
|
187
188
|
case "commonjs-module": {
|
188
|
-
|
189
|
+
// @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697
|
189
190
|
const AssignLibraryPlugin = require("./AssignLibraryPlugin");
|
190
191
|
new AssignLibraryPlugin({
|
191
192
|
type,
|
@@ -54,8 +54,9 @@ class JsonpLibraryPlugin extends AbstractLibraryPlugin {
|
|
54
54
|
`Jsonp library name must be a simple string. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
|
55
55
|
);
|
56
56
|
}
|
57
|
+
const _name = /** @type {string} */ (name);
|
57
58
|
return {
|
58
|
-
name:
|
59
|
+
name: _name
|
59
60
|
};
|
60
61
|
}
|
61
62
|
|
@@ -16,6 +16,7 @@ const AbstractLibraryPlugin = require("./AbstractLibraryPlugin");
|
|
16
16
|
/** @typedef {import("../Compilation").ChunkHashContext} ChunkHashContext */
|
17
17
|
/** @typedef {import("../Compiler")} Compiler */
|
18
18
|
/** @typedef {import("../Module")} Module */
|
19
|
+
/** @typedef {import("../Module").BuildMeta} BuildMeta */
|
19
20
|
/** @typedef {import("../javascript/JavascriptModulesPlugin").StartupRenderContext} StartupRenderContext */
|
20
21
|
/** @typedef {import("../util/Hash")} Hash */
|
21
22
|
/** @template T @typedef {import("./AbstractLibraryPlugin").LibraryContext<T>} LibraryContext<T> */
|
@@ -46,9 +47,7 @@ class ModernModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
46
47
|
compiler.hooks.compilation.tap("ModernModuleLibraryPlugin", compilation => {
|
47
48
|
const { exportsDefinitions } =
|
48
49
|
ConcatenatedModule.getCompilationHooks(compilation);
|
49
|
-
exportsDefinitions.tap("ModernModuleLibraryPlugin", () =>
|
50
|
-
return true;
|
51
|
-
});
|
50
|
+
exportsDefinitions.tap("ModernModuleLibraryPlugin", () => true);
|
52
51
|
});
|
53
52
|
}
|
54
53
|
|
@@ -73,8 +72,9 @@ class ModernModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
73
72
|
`Library name must be unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
|
74
73
|
);
|
75
74
|
}
|
75
|
+
const _name = /** @type {string} */ (name);
|
76
76
|
return {
|
77
|
-
name:
|
77
|
+
name: _name
|
78
78
|
};
|
79
79
|
}
|
80
80
|
|
@@ -93,7 +93,9 @@ class ModernModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
93
93
|
) {
|
94
94
|
const result = new ConcatSource(source);
|
95
95
|
const exportsInfo = moduleGraph.getExportsInfo(module);
|
96
|
-
const definitions =
|
96
|
+
const definitions =
|
97
|
+
/** @type {BuildMeta} */
|
98
|
+
(module.buildMeta).exportsFinalName;
|
97
99
|
const exports = [];
|
98
100
|
|
99
101
|
for (const exportInfo of exportsInfo.orderedExports) {
|
@@ -106,7 +108,7 @@ class ModernModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
106
108
|
for (const reexportInfo of exp.orderedExports) {
|
107
109
|
if (
|
108
110
|
!reexportInfo.provided &&
|
109
|
-
reexportInfo.name === reexport.export[0]
|
111
|
+
reexportInfo.name === /** @type {string[]} */ (reexport.export)[0]
|
110
112
|
) {
|
111
113
|
shouldContinue = true;
|
112
114
|
}
|
@@ -58,8 +58,9 @@ class ModuleLibraryPlugin extends AbstractLibraryPlugin {
|
|
58
58
|
`Library name must be unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
|
59
59
|
);
|
60
60
|
}
|
61
|
+
const _name = /** @type {string} */ (name);
|
61
62
|
return {
|
62
|
-
name:
|
63
|
+
name: _name
|
63
64
|
};
|
64
65
|
}
|
65
66
|
|
@@ -58,8 +58,9 @@ class SystemLibraryPlugin extends AbstractLibraryPlugin {
|
|
58
58
|
`System.js library name must be a simple string or unset. ${AbstractLibraryPlugin.COMMON_LIBRARY_NAME_MESSAGE}`
|
59
59
|
);
|
60
60
|
}
|
61
|
+
const _name = /** @type {string} */ (name);
|
61
62
|
return {
|
62
|
-
name:
|
63
|
+
name: _name
|
63
64
|
};
|
64
65
|
}
|
65
66
|
|