webpack 5.103.0 → 5.104.1
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/hot/dev-server.js +18 -3
- package/hot/emitter-event-target.js +7 -0
- package/hot/lazy-compilation-node.js +45 -29
- package/hot/lazy-compilation-universal.js +18 -0
- package/hot/lazy-compilation-web.js +15 -5
- package/hot/load-http.js +7 -0
- package/hot/only-dev-server.js +19 -4
- package/lib/APIPlugin.js +6 -0
- package/lib/Chunk.js +1 -1
- package/lib/ChunkGraph.js +9 -7
- package/lib/ChunkGroup.js +8 -5
- package/lib/CleanPlugin.js +6 -3
- package/lib/CodeGenerationResults.js +2 -1
- package/lib/CompatibilityPlugin.js +3 -0
- package/lib/Compilation.js +33 -19
- package/lib/Compiler.js +3 -3
- package/lib/ContextModule.js +6 -3
- package/lib/ContextModuleFactory.js +6 -4
- package/lib/DefinePlugin.js +34 -3
- package/lib/DelegatedModule.js +7 -4
- package/lib/DllModule.js +6 -3
- package/lib/DotenvPlugin.js +11 -6
- package/lib/ExportsInfo.js +5 -5
- package/lib/ExternalModule.js +8 -7
- package/lib/ExternalModuleFactoryPlugin.js +1 -1
- package/lib/FileSystemInfo.js +1 -1
- package/lib/Generator.js +10 -7
- package/lib/HookWebpackError.js +33 -4
- package/lib/HotModuleReplacementPlugin.js +22 -0
- package/lib/ManifestPlugin.js +1 -1
- package/lib/Module.js +24 -15
- package/lib/ModuleBuildError.js +1 -1
- package/lib/ModuleError.js +1 -1
- package/lib/ModuleFilenameHelpers.js +1 -1
- package/lib/ModuleGraph.js +27 -12
- package/lib/ModuleGraphConnection.js +2 -2
- package/lib/ModuleSourceTypeConstants.js +189 -0
- package/lib/ModuleTypeConstants.js +1 -4
- package/lib/ModuleWarning.js +1 -1
- package/lib/NodeStuffPlugin.js +52 -42
- package/lib/NormalModule.js +6 -4
- package/lib/NormalModuleFactory.js +7 -10
- package/lib/Parser.js +1 -1
- package/lib/RawModule.js +7 -4
- package/lib/RuntimeModule.js +1 -1
- package/lib/RuntimeTemplate.js +5 -1
- package/lib/SizeFormatHelpers.js +1 -1
- package/lib/SourceMapDevToolPlugin.js +6 -1
- package/lib/Template.js +17 -6
- package/lib/TemplatedPathPlugin.js +5 -6
- package/lib/WebpackError.js +0 -1
- package/lib/WebpackOptionsApply.js +37 -9
- package/lib/asset/AssetBytesGenerator.js +15 -11
- package/lib/asset/AssetGenerator.js +30 -24
- package/lib/asset/AssetSourceGenerator.js +15 -11
- package/lib/asset/RawDataUrlModule.js +6 -3
- package/lib/buildChunkGraph.js +4 -2
- package/lib/cache/PackFileCacheStrategy.js +6 -5
- package/lib/cli.js +2 -43
- package/lib/config/browserslistTargetHandler.js +19 -0
- package/lib/config/defaults.js +128 -43
- package/lib/config/normalization.js +2 -2
- package/lib/config/target.js +5 -0
- package/lib/container/ContainerEntryModule.js +6 -3
- package/lib/container/FallbackModule.js +6 -3
- package/lib/container/RemoteModule.js +1 -3
- package/lib/css/CssGenerator.js +26 -24
- package/lib/css/CssLoadingRuntimeModule.js +12 -4
- package/lib/css/CssModulesPlugin.js +29 -74
- package/lib/css/CssParser.js +828 -341
- package/lib/css/walkCssTokens.js +33 -13
- package/lib/dependencies/CachedConstDependency.js +24 -10
- package/lib/dependencies/CommonJsRequireContextDependency.js +1 -1
- package/lib/dependencies/ContextDependencyHelpers.js +2 -2
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +242 -104
- package/lib/dependencies/CssIcssImportDependency.js +61 -4
- package/lib/dependencies/CssIcssSymbolDependency.js +2 -6
- package/lib/dependencies/CssImportDependency.js +2 -1
- package/lib/dependencies/CssUrlDependency.js +3 -2
- package/lib/dependencies/DynamicExports.js +7 -7
- package/lib/dependencies/ExternalModuleDependency.js +7 -4
- package/lib/dependencies/ExternalModuleInitFragment.js +2 -1
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +2 -1
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +3 -2
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +6 -4
- package/lib/dependencies/HarmonyExports.js +4 -4
- package/lib/dependencies/HarmonyImportDependency.js +8 -3
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +1 -1
- package/lib/dependencies/ImportMetaPlugin.js +57 -0
- package/lib/dependencies/ImportParserPlugin.js +2 -2
- package/lib/dependencies/LocalModulesHelpers.js +3 -3
- package/lib/dependencies/WorkerPlugin.js +2 -2
- package/lib/dependencies/getFunctionExpression.js +1 -1
- package/lib/esm/ModuleChunkFormatPlugin.js +5 -4
- package/lib/hmr/HotModuleReplacement.runtime.js +2 -1
- package/lib/hmr/LazyCompilationPlugin.js +4 -3
- package/lib/ids/IdHelpers.js +16 -7
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/JavascriptGenerator.js +4 -3
- package/lib/javascript/JavascriptModulesPlugin.js +57 -24
- package/lib/javascript/JavascriptParser.js +19 -6
- package/lib/json/JsonGenerator.js +5 -4
- package/lib/json/JsonParser.js +2 -1
- package/lib/library/AbstractLibraryPlugin.js +1 -1
- package/lib/library/AmdLibraryPlugin.js +4 -1
- package/lib/library/ExportPropertyLibraryPlugin.js +4 -1
- package/lib/library/ModuleLibraryPlugin.js +41 -13
- package/lib/library/SystemLibraryPlugin.js +4 -1
- package/lib/library/UmdLibraryPlugin.js +1 -1
- package/lib/logging/Logger.js +5 -4
- package/lib/logging/createConsoleLogger.js +2 -2
- package/lib/optimize/ConcatenatedModule.js +47 -32
- package/lib/optimize/ModuleConcatenationPlugin.js +5 -4
- package/lib/optimize/SideEffectsFlagPlugin.js +3 -2
- package/lib/optimize/SplitChunksPlugin.js +60 -46
- package/lib/rules/RuleSetCompiler.js +1 -1
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +3 -2
- package/lib/schemes/HttpUriPlugin.js +97 -10
- package/lib/serialization/AggregateErrorSerializer.js +1 -2
- package/lib/serialization/ObjectMiddleware.js +0 -2
- package/lib/serialization/SingleItemMiddleware.js +1 -1
- package/lib/sharing/ConsumeSharedModule.js +1 -1
- package/lib/sharing/ConsumeSharedPlugin.js +5 -3
- package/lib/sharing/ProvideSharedModule.js +1 -1
- package/lib/sharing/resolveMatchedConfigs.js +15 -9
- package/lib/sharing/utils.js +1 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +8 -5
- package/lib/stats/DefaultStatsPresetPlugin.js +1 -1
- package/lib/stats/DefaultStatsPrinterPlugin.js +1 -1
- package/lib/util/StringXor.js +1 -1
- package/lib/util/URLAbsoluteSpecifier.js +2 -2
- package/lib/util/binarySearchBounds.js +2 -2
- package/lib/util/comparators.js +53 -76
- package/lib/util/compileBooleanMatcher.js +78 -6
- package/lib/util/createHash.js +20 -199
- package/lib/util/deprecation.js +1 -1
- package/lib/util/deterministicGrouping.js +6 -3
- package/lib/util/fs.js +75 -75
- package/lib/util/hash/BatchedHash.js +10 -9
- package/lib/util/hash/BulkUpdateHash.js +138 -0
- package/lib/util/hash/DebugHash.js +75 -0
- package/lib/util/hash/hash-digest.js +216 -0
- package/lib/util/identifier.js +82 -17
- package/lib/util/internalSerializables.js +2 -6
- package/lib/util/runtime.js +3 -3
- package/lib/util/source.js +2 -2
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +3 -2
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +3 -2
- package/lib/wasm-sync/WebAssemblyGenerator.js +9 -6
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +3 -2
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +6 -2
- package/lib/webpack.js +1 -1
- package/package.json +30 -25
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +59 -82
- package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -1
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/types.d.ts +225 -158
- package/lib/ModuleSourceTypesConstants.js +0 -117
- package/lib/dependencies/CssIcssFromIdentifierDependency.js +0 -124
- package/lib/dependencies/CssIcssGlobalIdentifierDependency.js +0 -48
- package/lib/dependencies/CssIcssLocalIdentifierDependency.js +0 -61
- package/lib/dependencies/CssIcssSelfLocalIdentifierDependency.js +0 -190
- package/lib/util/jsonParseEvenBetterErrors.js +0 -10
- package/schemas/plugins/css/CssAutoGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoGeneratorOptions.check.js +0 -6
- package/schemas/plugins/css/CssAutoGeneratorOptions.json +0 -3
- package/schemas/plugins/css/CssAutoParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssAutoParserOptions.check.js +0 -6
- package/schemas/plugins/css/CssAutoParserOptions.json +0 -3
- package/schemas/plugins/css/CssGlobalGeneratorOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssGlobalGeneratorOptions.check.js +0 -6
- package/schemas/plugins/css/CssGlobalGeneratorOptions.json +0 -3
- package/schemas/plugins/css/CssGlobalParserOptions.check.d.ts +0 -7
- package/schemas/plugins/css/CssGlobalParserOptions.check.js +0 -6
- package/schemas/plugins/css/CssGlobalParserOptions.json +0 -3
package/lib/css/walkCssTokens.js
CHANGED
|
@@ -10,16 +10,18 @@
|
|
|
10
10
|
* @property {((input: string, start: number, end: number, innerStart: number, innerEnd: number) => number)=} url
|
|
11
11
|
* @property {((input: string, start: number, end: number) => number)=} comment
|
|
12
12
|
* @property {((input: string, start: number, end: number) => number)=} string
|
|
13
|
+
* @property {((input: string, start: number, end: number) => number)=} leftCurlyBracket
|
|
14
|
+
* @property {((input: string, start: number, end: number) => number)=} rightCurlyBracket
|
|
13
15
|
* @property {((input: string, start: number, end: number) => number)=} leftParenthesis
|
|
14
16
|
* @property {((input: string, start: number, end: number) => number)=} rightParenthesis
|
|
17
|
+
* @property {((input: string, start: number, end: number) => number)=} leftSquareBracket
|
|
18
|
+
* @property {((input: string, start: number, end: number) => number)=} rightSquareBracket
|
|
15
19
|
* @property {((input: string, start: number, end: number) => number)=} function
|
|
16
20
|
* @property {((input: string, start: number, end: number) => number)=} colon
|
|
17
21
|
* @property {((input: string, start: number, end: number) => number)=} atKeyword
|
|
18
22
|
* @property {((input: string, start: number, end: number) => number)=} delim
|
|
19
23
|
* @property {((input: string, start: number, end: number) => number)=} identifier
|
|
20
24
|
* @property {((input: string, start: number, end: number, isId: boolean) => number)=} hash
|
|
21
|
-
* @property {((input: string, start: number, end: number) => number)=} leftCurlyBracket
|
|
22
|
-
* @property {((input: string, start: number, end: number) => number)=} rightCurlyBracket
|
|
23
25
|
* @property {((input: string, start: number, end: number) => number)=} semicolon
|
|
24
26
|
* @property {((input: string, start: number, end: number) => number)=} comma
|
|
25
27
|
* @property {(() => boolean)=} needTerminate
|
|
@@ -717,14 +719,22 @@ const consumeRightParenthesis = (input, pos, callbacks) => {
|
|
|
717
719
|
};
|
|
718
720
|
|
|
719
721
|
/** @type {CharHandler} */
|
|
720
|
-
const consumeLeftSquareBracket = (input, pos,
|
|
722
|
+
const consumeLeftSquareBracket = (input, pos, callbacks) => {
|
|
721
723
|
// Return a <]-token>.
|
|
722
|
-
|
|
724
|
+
if (callbacks.leftSquareBracket !== undefined) {
|
|
725
|
+
return callbacks.leftSquareBracket(input, pos - 1, pos);
|
|
726
|
+
}
|
|
727
|
+
return pos;
|
|
728
|
+
};
|
|
723
729
|
|
|
724
730
|
/** @type {CharHandler} */
|
|
725
|
-
const consumeRightSquareBracket = (input, pos,
|
|
731
|
+
const consumeRightSquareBracket = (input, pos, callbacks) => {
|
|
726
732
|
// Return a <]-token>.
|
|
727
|
-
|
|
733
|
+
if (callbacks.rightSquareBracket !== undefined) {
|
|
734
|
+
return callbacks.rightSquareBracket(input, pos - 1, pos);
|
|
735
|
+
}
|
|
736
|
+
return pos;
|
|
737
|
+
};
|
|
728
738
|
|
|
729
739
|
/** @type {CharHandler} */
|
|
730
740
|
const consumeLeftCurlyBracket = (input, pos, callbacks) => {
|
|
@@ -1201,7 +1211,7 @@ module.exports = (input, pos = 0, callbacks = {}) => {
|
|
|
1201
1211
|
* @param {string} input input css
|
|
1202
1212
|
* @param {number} pos pos
|
|
1203
1213
|
* @param {CssTokenCallbacks} callbacks callbacks
|
|
1204
|
-
* @param {CssTokenCallbacks} additional additional callbacks
|
|
1214
|
+
* @param {CssTokenCallbacks=} additional additional callbacks
|
|
1205
1215
|
* @param {{ onlyTopLevel?: boolean, declarationValue?: boolean, atRulePrelude?: boolean, functionValue?: boolean }=} options options
|
|
1206
1216
|
* @returns {number} pos
|
|
1207
1217
|
*/
|
|
@@ -1221,7 +1231,7 @@ const consumeUntil = (input, pos, callbacks, additional, options = {}) => {
|
|
|
1221
1231
|
needHandle = false;
|
|
1222
1232
|
}
|
|
1223
1233
|
|
|
1224
|
-
if (additional.function !== undefined) {
|
|
1234
|
+
if (additional && additional.function !== undefined) {
|
|
1225
1235
|
return additional.function(input, start, end);
|
|
1226
1236
|
}
|
|
1227
1237
|
|
|
@@ -1265,6 +1275,10 @@ const consumeUntil = (input, pos, callbacks, additional, options = {}) => {
|
|
|
1265
1275
|
needTerminate = true;
|
|
1266
1276
|
return end;
|
|
1267
1277
|
};
|
|
1278
|
+
servicedCallbacks.semicolon = (_input, _start, end) => {
|
|
1279
|
+
needTerminate = true;
|
|
1280
|
+
return end;
|
|
1281
|
+
};
|
|
1268
1282
|
}
|
|
1269
1283
|
|
|
1270
1284
|
while (pos < input.length) {
|
|
@@ -1326,13 +1340,18 @@ const eatWhitespace = (input, pos) => {
|
|
|
1326
1340
|
/**
|
|
1327
1341
|
* @param {string} input input
|
|
1328
1342
|
* @param {number} pos position
|
|
1329
|
-
* @returns {number} position after whitespace and comments
|
|
1343
|
+
* @returns {[number, boolean]} position after whitespace and comments
|
|
1330
1344
|
*/
|
|
1331
1345
|
const eatWhitespaceAndComments = (input, pos) => {
|
|
1346
|
+
let foundWhitespace = false;
|
|
1347
|
+
|
|
1332
1348
|
for (;;) {
|
|
1333
1349
|
const originalPos = pos;
|
|
1334
1350
|
pos = consumeComments(input, pos, {});
|
|
1335
1351
|
while (_isWhiteSpace(input.charCodeAt(pos))) {
|
|
1352
|
+
if (!foundWhitespace) {
|
|
1353
|
+
foundWhitespace = true;
|
|
1354
|
+
}
|
|
1336
1355
|
pos++;
|
|
1337
1356
|
}
|
|
1338
1357
|
if (originalPos === pos) {
|
|
@@ -1340,7 +1359,7 @@ const eatWhitespaceAndComments = (input, pos) => {
|
|
|
1340
1359
|
}
|
|
1341
1360
|
}
|
|
1342
1361
|
|
|
1343
|
-
return pos;
|
|
1362
|
+
return [pos, foundWhitespace];
|
|
1344
1363
|
};
|
|
1345
1364
|
|
|
1346
1365
|
/**
|
|
@@ -1394,7 +1413,7 @@ const skipCommentsAndEatIdentSequence = (input, pos) => {
|
|
|
1394
1413
|
* @returns {[number, number] | undefined} positions of ident sequence
|
|
1395
1414
|
*/
|
|
1396
1415
|
const eatString = (input, pos) => {
|
|
1397
|
-
pos = eatWhitespaceAndComments(input, pos);
|
|
1416
|
+
pos = eatWhitespaceAndComments(input, pos)[0];
|
|
1398
1417
|
|
|
1399
1418
|
const start = pos;
|
|
1400
1419
|
|
|
@@ -1627,7 +1646,7 @@ const eatImportTokens = (input, pos, cbs) => {
|
|
|
1627
1646
|
* @returns {[number, number] | undefined} positions of ident sequence
|
|
1628
1647
|
*/
|
|
1629
1648
|
const eatIdentSequence = (input, pos) => {
|
|
1630
|
-
pos = eatWhitespaceAndComments(input, pos);
|
|
1649
|
+
pos = eatWhitespaceAndComments(input, pos)[0];
|
|
1631
1650
|
|
|
1632
1651
|
const start = pos;
|
|
1633
1652
|
|
|
@@ -1652,7 +1671,7 @@ const eatIdentSequence = (input, pos) => {
|
|
|
1652
1671
|
* @returns {[number, number, boolean] | undefined} positions of ident sequence or string
|
|
1653
1672
|
*/
|
|
1654
1673
|
const eatIdentSequenceOrString = (input, pos) => {
|
|
1655
|
-
pos = eatWhitespaceAndComments(input, pos);
|
|
1674
|
+
pos = eatWhitespaceAndComments(input, pos)[0];
|
|
1656
1675
|
|
|
1657
1676
|
const start = pos;
|
|
1658
1677
|
|
|
@@ -1716,5 +1735,6 @@ module.exports.eatWhiteLine = eatWhiteLine;
|
|
|
1716
1735
|
module.exports.eatWhitespace = eatWhitespace;
|
|
1717
1736
|
module.exports.eatWhitespaceAndComments = eatWhitespaceAndComments;
|
|
1718
1737
|
module.exports.isIdentStartCodePoint = isIdentStartCodePoint;
|
|
1738
|
+
module.exports.isWhiteSpace = _isWhiteSpace;
|
|
1719
1739
|
module.exports.skipCommentsAndEatIdentSequence =
|
|
1720
1740
|
skipCommentsAndEatIdentSequence;
|
|
@@ -22,15 +22,22 @@ const NullDependency = require("./NullDependency");
|
|
|
22
22
|
class CachedConstDependency extends NullDependency {
|
|
23
23
|
/**
|
|
24
24
|
* @param {string} expression expression
|
|
25
|
-
* @param {Range} range range
|
|
25
|
+
* @param {Range | null} range range
|
|
26
26
|
* @param {string} identifier identifier
|
|
27
|
+
* @param {number=} place place where we inject the expression
|
|
27
28
|
*/
|
|
28
|
-
constructor(
|
|
29
|
+
constructor(
|
|
30
|
+
expression,
|
|
31
|
+
range,
|
|
32
|
+
identifier,
|
|
33
|
+
place = CachedConstDependency.PLACE_MODULE
|
|
34
|
+
) {
|
|
29
35
|
super();
|
|
30
36
|
|
|
31
37
|
this.expression = expression;
|
|
32
38
|
this.range = range;
|
|
33
39
|
this.identifier = identifier;
|
|
40
|
+
this.place = place;
|
|
34
41
|
this._hashUpdate = undefined;
|
|
35
42
|
}
|
|
36
43
|
|
|
@@ -38,7 +45,7 @@ class CachedConstDependency extends NullDependency {
|
|
|
38
45
|
* @returns {string} hash update
|
|
39
46
|
*/
|
|
40
47
|
_createHashUpdate() {
|
|
41
|
-
return `${this.identifier}${this.range}${this.expression}`;
|
|
48
|
+
return `${this.place}${this.identifier}${this.range}${this.expression}`;
|
|
42
49
|
}
|
|
43
50
|
|
|
44
51
|
/**
|
|
@@ -63,6 +70,7 @@ class CachedConstDependency extends NullDependency {
|
|
|
63
70
|
write(this.expression);
|
|
64
71
|
write(this.range);
|
|
65
72
|
write(this.identifier);
|
|
73
|
+
write(this.place);
|
|
66
74
|
|
|
67
75
|
super.serialize(context);
|
|
68
76
|
}
|
|
@@ -76,11 +84,15 @@ class CachedConstDependency extends NullDependency {
|
|
|
76
84
|
this.expression = read();
|
|
77
85
|
this.range = read();
|
|
78
86
|
this.identifier = read();
|
|
87
|
+
this.place = read();
|
|
79
88
|
|
|
80
89
|
super.deserialize(context);
|
|
81
90
|
}
|
|
82
91
|
}
|
|
83
92
|
|
|
93
|
+
CachedConstDependency.PLACE_MODULE = 10;
|
|
94
|
+
CachedConstDependency.PLACE_CHUNK = 20;
|
|
95
|
+
|
|
84
96
|
makeSerializable(
|
|
85
97
|
CachedConstDependency,
|
|
86
98
|
"webpack/lib/dependencies/CachedConstDependency"
|
|
@@ -95,25 +107,27 @@ CachedConstDependency.Template = class CachedConstDependencyTemplate extends (
|
|
|
95
107
|
* @param {DependencyTemplateContext} templateContext the context object
|
|
96
108
|
* @returns {void}
|
|
97
109
|
*/
|
|
98
|
-
apply(dependency, source, { initFragments }) {
|
|
110
|
+
apply(dependency, source, { initFragments, chunkInitFragments }) {
|
|
99
111
|
const dep = /** @type {CachedConstDependency} */ (dependency);
|
|
100
112
|
|
|
101
|
-
|
|
113
|
+
(dep.place === CachedConstDependency.PLACE_MODULE
|
|
114
|
+
? initFragments
|
|
115
|
+
: chunkInitFragments
|
|
116
|
+
).push(
|
|
102
117
|
new InitFragment(
|
|
103
118
|
`var ${dep.identifier} = ${dep.expression};\n`,
|
|
104
119
|
InitFragment.STAGE_CONSTANTS,
|
|
105
|
-
|
|
120
|
+
// For a chunk we inject expression after imports
|
|
121
|
+
dep.place === CachedConstDependency.PLACE_MODULE ? 0 : 10,
|
|
106
122
|
`const ${dep.identifier}`
|
|
107
123
|
)
|
|
108
124
|
);
|
|
109
125
|
|
|
110
126
|
if (typeof dep.range === "number") {
|
|
111
127
|
source.insert(dep.range, dep.identifier);
|
|
112
|
-
|
|
113
|
-
|
|
128
|
+
} else if (dep.range !== null) {
|
|
129
|
+
source.replace(dep.range[0], dep.range[1] - 1, dep.identifier);
|
|
114
130
|
}
|
|
115
|
-
|
|
116
|
-
source.replace(dep.range[0], dep.range[1] - 1, dep.identifier);
|
|
117
131
|
}
|
|
118
132
|
};
|
|
119
133
|
|
|
@@ -19,7 +19,7 @@ class CommonJsRequireContextDependency extends ContextDependency {
|
|
|
19
19
|
* @param {ContextDependencyOptions} options options for the context module
|
|
20
20
|
* @param {Range} range location in source code
|
|
21
21
|
* @param {Range | undefined} valueRange location of the require call
|
|
22
|
-
* @param {boolean | string
|
|
22
|
+
* @param {boolean | string} inShorthand true or name
|
|
23
23
|
* @param {string=} context context
|
|
24
24
|
*/
|
|
25
25
|
constructor(options, range, valueRange, inShorthand, context) {
|
|
@@ -42,14 +42,14 @@ const splitContextFromPrefix = (prefix) => {
|
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
/** @typedef {Partial<Omit<ContextDependencyOptions, "resource">>} PartialContextDependencyOptions */
|
|
45
|
-
/** @typedef {{ new(options: ContextDependencyOptions, range: Range, valueRange: Range, ...args:
|
|
45
|
+
/** @typedef {{ new(options: ContextDependencyOptions, range: Range, valueRange: Range, ...args: EXPECTED_ANY[]): ContextDependency }} ContextDependencyConstructor */
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* @param {ContextDependencyConstructor} Dep the Dependency class
|
|
49
49
|
* @param {Range} range source range
|
|
50
50
|
* @param {BasicEvaluatedExpression} param context param
|
|
51
51
|
* @param {Expression} expr expr
|
|
52
|
-
* @param {Pick<JavascriptParserOptions, `${"expr"|"wrapped"}Context${"Critical"|"Recursive"|"RegExp"}` | "exprContextRequest">} options options for context creation
|
|
52
|
+
* @param {Pick<JavascriptParserOptions, `${"expr" | "wrapped"}Context${"Critical" | "Recursive" | "RegExp"}` | "exprContextRequest">} options options for context creation
|
|
53
53
|
* @param {PartialContextDependencyOptions} contextOptions options for the ContextModule
|
|
54
54
|
* @param {JavascriptParser} parser the parser
|
|
55
55
|
* @param {...EXPECTED_ANY} depArgs depArgs
|
|
@@ -12,7 +12,9 @@ const ContextDependency = require("./ContextDependency");
|
|
|
12
12
|
/** @typedef {import("../Dependency")} Dependency */
|
|
13
13
|
/** @typedef {import("../DependencyTemplate").DependencyTemplateContext} DependencyTemplateContext */
|
|
14
14
|
|
|
15
|
-
class ContextDependencyTemplateAsRequireCall
|
|
15
|
+
class ContextDependencyTemplateAsRequireCall
|
|
16
|
+
extends ContextDependency.Template
|
|
17
|
+
{
|
|
16
18
|
/**
|
|
17
19
|
* @param {Dependency} dependency the dependency for which the template should be applied
|
|
18
20
|
* @param {ReplaceSource} source the current replace source which can be modified
|