@typescript-deploys/pr-build 5.3.0-pr-55696-3 → 5.3.0-pr-55727-2
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/lib/tsc.js +63 -113
- package/lib/tsserver.js +73 -116
- package/lib/typescript.js +73 -116
- package/lib/typingsInstaller.js +1 -1
- package/package.json +3 -3
package/lib/tsc.js
CHANGED
|
@@ -18,7 +18,7 @@ and limitations under the License.
|
|
|
18
18
|
|
|
19
19
|
// src/compiler/corePublic.ts
|
|
20
20
|
var versionMajorMinor = "5.3";
|
|
21
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
21
|
+
var version = `${versionMajorMinor}.0-insiders.20230913`;
|
|
22
22
|
|
|
23
23
|
// src/compiler/core.ts
|
|
24
24
|
var emptyArray = [];
|
|
@@ -36691,7 +36691,7 @@ function hasFileWithHigherPriorityExtension(file, literalFiles, wildcardFiles, e
|
|
|
36691
36691
|
return false;
|
|
36692
36692
|
}
|
|
36693
36693
|
for (const ext of extensionGroup) {
|
|
36694
|
-
if (fileExtensionIs(file, ext)) {
|
|
36694
|
+
if (fileExtensionIs(file, ext) && (ext !== ".ts" /* Ts */ || !fileExtensionIs(file, ".d.ts" /* Dts */))) {
|
|
36695
36695
|
return false;
|
|
36696
36696
|
}
|
|
36697
36697
|
const higherPriorityPath = keyMapper(changeExtension(file, ext));
|
|
@@ -56266,8 +56266,7 @@ function createTypeChecker(host) {
|
|
|
56266
56266
|
if (elementFlags.length === 1 && elementFlags[0] & 4 /* Rest */) {
|
|
56267
56267
|
return readonly ? globalReadonlyArrayType : globalArrayType;
|
|
56268
56268
|
}
|
|
56269
|
-
const
|
|
56270
|
-
const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (memberIds.length ? "," + memberIds.join(",") : "");
|
|
56269
|
+
const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (some(namedMemberDeclarations, (node) => !!node) ? "," + map(namedMemberDeclarations, (node) => node ? getNodeId(node) : "_").join(",") : "");
|
|
56271
56270
|
let type = tupleTypes.get(key);
|
|
56272
56271
|
if (!type) {
|
|
56273
56272
|
tupleTypes.set(key, type = createTupleTargetType(elementFlags, readonly, namedMemberDeclarations));
|
|
@@ -79199,19 +79198,14 @@ function createTypeChecker(host) {
|
|
|
79199
79198
|
function computeConstantValue(member) {
|
|
79200
79199
|
const isConstEnum = isEnumConst(member.parent);
|
|
79201
79200
|
const initializer = member.initializer;
|
|
79202
|
-
const
|
|
79203
|
-
if (
|
|
79204
|
-
const { value } = evaluated;
|
|
79201
|
+
const value = evaluate(initializer, member);
|
|
79202
|
+
if (value !== void 0) {
|
|
79205
79203
|
if (isConstEnum && typeof value === "number" && !isFinite(value)) {
|
|
79206
79204
|
error(
|
|
79207
79205
|
initializer,
|
|
79208
79206
|
isNaN(value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value
|
|
79209
79207
|
);
|
|
79210
|
-
} else if (typeof value !== "string" && typeof value !== "number") {
|
|
79211
|
-
checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
|
|
79212
|
-
return void 0;
|
|
79213
79208
|
}
|
|
79214
|
-
return value;
|
|
79215
79209
|
} else if (isConstEnum) {
|
|
79216
79210
|
error(initializer, Diagnostics.const_enum_member_initializers_must_be_constant_expressions);
|
|
79217
79211
|
} else if (member.parent.flags & 33554432 /* Ambient */) {
|
|
@@ -79219,113 +79213,65 @@ function createTypeChecker(host) {
|
|
|
79219
79213
|
} else {
|
|
79220
79214
|
checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
|
|
79221
79215
|
}
|
|
79222
|
-
return
|
|
79216
|
+
return value;
|
|
79223
79217
|
}
|
|
79224
79218
|
function evaluate(expr, location) {
|
|
79225
79219
|
switch (expr.kind) {
|
|
79226
|
-
case 224 /* PrefixUnaryExpression */:
|
|
79227
|
-
const
|
|
79228
|
-
if (!evaluated) {
|
|
79229
|
-
break;
|
|
79230
|
-
}
|
|
79231
|
-
const { value } = evaluated;
|
|
79220
|
+
case 224 /* PrefixUnaryExpression */:
|
|
79221
|
+
const value = evaluate(expr.operand, location);
|
|
79232
79222
|
if (typeof value === "number") {
|
|
79233
79223
|
switch (expr.operator) {
|
|
79234
79224
|
case 40 /* PlusToken */:
|
|
79235
|
-
return
|
|
79225
|
+
return value;
|
|
79236
79226
|
case 41 /* MinusToken */:
|
|
79237
|
-
return
|
|
79227
|
+
return -value;
|
|
79238
79228
|
case 55 /* TildeToken */:
|
|
79239
|
-
return
|
|
79229
|
+
return ~value;
|
|
79240
79230
|
}
|
|
79241
79231
|
}
|
|
79242
|
-
if (typeof value === "boolean" && expr.operator === 54 /* ExclamationToken */) {
|
|
79243
|
-
return { value: !value };
|
|
79244
|
-
}
|
|
79245
79232
|
break;
|
|
79246
|
-
|
|
79247
|
-
|
|
79248
|
-
const
|
|
79249
|
-
if (!evaluatedLeft) {
|
|
79250
|
-
break;
|
|
79251
|
-
}
|
|
79252
|
-
const evaluatedRight = evaluate(expr.right, location);
|
|
79253
|
-
if (!evaluatedRight) {
|
|
79254
|
-
break;
|
|
79255
|
-
}
|
|
79256
|
-
const left = evaluatedLeft.value;
|
|
79257
|
-
const right = evaluatedRight.value;
|
|
79233
|
+
case 226 /* BinaryExpression */:
|
|
79234
|
+
const left = evaluate(expr.left, location);
|
|
79235
|
+
const right = evaluate(expr.right, location);
|
|
79258
79236
|
if (typeof left === "number" && typeof right === "number") {
|
|
79259
79237
|
switch (expr.operatorToken.kind) {
|
|
79260
79238
|
case 52 /* BarToken */:
|
|
79261
|
-
return
|
|
79239
|
+
return left | right;
|
|
79262
79240
|
case 51 /* AmpersandToken */:
|
|
79263
|
-
return
|
|
79241
|
+
return left & right;
|
|
79264
79242
|
case 49 /* GreaterThanGreaterThanToken */:
|
|
79265
|
-
return
|
|
79243
|
+
return left >> right;
|
|
79266
79244
|
case 50 /* GreaterThanGreaterThanGreaterThanToken */:
|
|
79267
|
-
return
|
|
79268
|
-
case 48 /* LessThanLessThanToken */:
|
|
79269
|
-
return { value: left << right };
|
|
79270
|
-
case 53 /* CaretToken */:
|
|
79271
|
-
return { value: left ^ right };
|
|
79272
|
-
case 42 /* AsteriskToken */:
|
|
79273
|
-
return { value: left * right };
|
|
79274
|
-
case 44 /* SlashToken */:
|
|
79275
|
-
return { value: left / right };
|
|
79276
|
-
case 40 /* PlusToken */:
|
|
79277
|
-
return { value: left + right };
|
|
79278
|
-
case 41 /* MinusToken */:
|
|
79279
|
-
return { value: left - right };
|
|
79280
|
-
case 45 /* PercentToken */:
|
|
79281
|
-
return { value: left % right };
|
|
79282
|
-
case 43 /* AsteriskAsteriskToken */:
|
|
79283
|
-
return { value: left ** right };
|
|
79284
|
-
}
|
|
79285
|
-
} else if (typeof left === "bigint" && typeof right === "bigint") {
|
|
79286
|
-
switch (expr.operatorToken.kind) {
|
|
79287
|
-
case 52 /* BarToken */:
|
|
79288
|
-
return { value: left | right };
|
|
79289
|
-
case 51 /* AmpersandToken */:
|
|
79290
|
-
return { value: left & right };
|
|
79291
|
-
case 49 /* GreaterThanGreaterThanToken */:
|
|
79292
|
-
return { value: left >> right };
|
|
79245
|
+
return left >>> right;
|
|
79293
79246
|
case 48 /* LessThanLessThanToken */:
|
|
79294
|
-
return
|
|
79247
|
+
return left << right;
|
|
79295
79248
|
case 53 /* CaretToken */:
|
|
79296
|
-
return
|
|
79249
|
+
return left ^ right;
|
|
79297
79250
|
case 42 /* AsteriskToken */:
|
|
79298
|
-
return
|
|
79251
|
+
return left * right;
|
|
79299
79252
|
case 44 /* SlashToken */:
|
|
79300
|
-
return
|
|
79253
|
+
return left / right;
|
|
79301
79254
|
case 40 /* PlusToken */:
|
|
79302
|
-
return
|
|
79255
|
+
return left + right;
|
|
79303
79256
|
case 41 /* MinusToken */:
|
|
79304
|
-
return
|
|
79257
|
+
return left - right;
|
|
79305
79258
|
case 45 /* PercentToken */:
|
|
79306
|
-
return
|
|
79259
|
+
return left % right;
|
|
79307
79260
|
case 43 /* AsteriskAsteriskToken */:
|
|
79308
|
-
return
|
|
79261
|
+
return left ** right;
|
|
79309
79262
|
}
|
|
79310
|
-
} else if ((typeof left === "string" || typeof right === "string") && expr.operatorToken.kind === 40 /* PlusToken */) {
|
|
79311
|
-
return
|
|
79263
|
+
} else if ((typeof left === "string" || typeof left === "number") && (typeof right === "string" || typeof right === "number") && expr.operatorToken.kind === 40 /* PlusToken */) {
|
|
79264
|
+
return "" + left + right;
|
|
79312
79265
|
}
|
|
79313
79266
|
break;
|
|
79314
|
-
}
|
|
79315
79267
|
case 11 /* StringLiteral */:
|
|
79316
79268
|
case 15 /* NoSubstitutionTemplateLiteral */:
|
|
79317
|
-
return
|
|
79318
|
-
case 228 /* TemplateExpression */:
|
|
79319
|
-
|
|
79320
|
-
if (typeof value === "undefined") {
|
|
79321
|
-
break;
|
|
79322
|
-
}
|
|
79323
|
-
return { value };
|
|
79324
|
-
}
|
|
79269
|
+
return expr.text;
|
|
79270
|
+
case 228 /* TemplateExpression */:
|
|
79271
|
+
return evaluateTemplateExpression(expr, location);
|
|
79325
79272
|
case 9 /* NumericLiteral */:
|
|
79326
|
-
|
|
79327
|
-
|
|
79328
|
-
return { value: BigInt(expr.text) };
|
|
79273
|
+
checkGrammarNumericLiteral(expr);
|
|
79274
|
+
return +expr.text;
|
|
79329
79275
|
case 217 /* ParenthesizedExpression */:
|
|
79330
79276
|
return evaluate(expr.expression, location);
|
|
79331
79277
|
case 80 /* Identifier */: {
|
|
@@ -79341,7 +79287,7 @@ function createTypeChecker(host) {
|
|
|
79341
79287
|
/*diagnostic*/
|
|
79342
79288
|
void 0
|
|
79343
79289
|
)) {
|
|
79344
|
-
return
|
|
79290
|
+
return +identifier.escapedText;
|
|
79345
79291
|
}
|
|
79346
79292
|
}
|
|
79347
79293
|
case 211 /* PropertyAccessExpression */:
|
|
@@ -79354,11 +79300,7 @@ function createTypeChecker(host) {
|
|
|
79354
79300
|
);
|
|
79355
79301
|
if (symbol) {
|
|
79356
79302
|
if (symbol.flags & 8 /* EnumMember */) {
|
|
79357
|
-
|
|
79358
|
-
if (typeof value === "undefined") {
|
|
79359
|
-
break;
|
|
79360
|
-
}
|
|
79361
|
-
return { value };
|
|
79303
|
+
return location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration);
|
|
79362
79304
|
}
|
|
79363
79305
|
if (isConstantVariable(symbol)) {
|
|
79364
79306
|
const declaration = symbol.valueDeclaration;
|
|
@@ -79382,23 +79324,11 @@ function createTypeChecker(host) {
|
|
|
79382
79324
|
const name = escapeLeadingUnderscores(expr.argumentExpression.text);
|
|
79383
79325
|
const member = rootSymbol.exports.get(name);
|
|
79384
79326
|
if (member) {
|
|
79385
|
-
|
|
79386
|
-
if (typeof value === "undefined") {
|
|
79387
|
-
break;
|
|
79388
|
-
}
|
|
79389
|
-
return { value };
|
|
79327
|
+
return location ? evaluateEnumMember(expr, member, location) : getEnumMemberValue(member.valueDeclaration);
|
|
79390
79328
|
}
|
|
79391
79329
|
}
|
|
79392
79330
|
}
|
|
79393
79331
|
break;
|
|
79394
|
-
case 112 /* TrueKeyword */:
|
|
79395
|
-
return { value: true };
|
|
79396
|
-
case 97 /* FalseKeyword */:
|
|
79397
|
-
return { value: false };
|
|
79398
|
-
case 106 /* NullKeyword */:
|
|
79399
|
-
return { value: null };
|
|
79400
|
-
case 157 /* UndefinedKeyword */:
|
|
79401
|
-
return { value: void 0 };
|
|
79402
79332
|
}
|
|
79403
79333
|
return void 0;
|
|
79404
79334
|
}
|
|
@@ -79417,11 +79347,11 @@ function createTypeChecker(host) {
|
|
|
79417
79347
|
function evaluateTemplateExpression(expr, location) {
|
|
79418
79348
|
let result = expr.head.text;
|
|
79419
79349
|
for (const span of expr.templateSpans) {
|
|
79420
|
-
const
|
|
79421
|
-
if (
|
|
79350
|
+
const value = evaluate(span.expression, location);
|
|
79351
|
+
if (value === void 0) {
|
|
79422
79352
|
return void 0;
|
|
79423
79353
|
}
|
|
79424
|
-
result +=
|
|
79354
|
+
result += value;
|
|
79425
79355
|
result += span.literal.text;
|
|
79426
79356
|
}
|
|
79427
79357
|
return result;
|
|
@@ -82024,11 +81954,11 @@ function createTypeChecker(host) {
|
|
|
82024
81954
|
if (fileToDirective.has(file.path))
|
|
82025
81955
|
return;
|
|
82026
81956
|
fileToDirective.set(file.path, [key, mode]);
|
|
82027
|
-
for (const { fileName
|
|
81957
|
+
for (const { fileName } of file.referencedFiles) {
|
|
82028
81958
|
const resolvedFile = resolveTripleslashReference(fileName, file.fileName);
|
|
82029
81959
|
const referencedFile = host.getSourceFile(resolvedFile);
|
|
82030
81960
|
if (referencedFile) {
|
|
82031
|
-
addReferencedFilesToTypeDirective(referencedFile, key,
|
|
81961
|
+
addReferencedFilesToTypeDirective(referencedFile, key, mode || file.impliedNodeFormat);
|
|
82032
81962
|
}
|
|
82033
81963
|
}
|
|
82034
81964
|
}
|
|
@@ -114538,7 +114468,8 @@ function isIgnoredFileFromWildCardWatching({
|
|
|
114538
114468
|
currentDirectory,
|
|
114539
114469
|
useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
|
|
114540
114470
|
writeLog,
|
|
114541
|
-
toPath: toPath3
|
|
114471
|
+
toPath: toPath3,
|
|
114472
|
+
getScriptKind
|
|
114542
114473
|
}) {
|
|
114543
114474
|
const newPath = removeIgnoredPath(fileOrDirectoryPath);
|
|
114544
114475
|
if (!newPath) {
|
|
@@ -114548,7 +114479,7 @@ function isIgnoredFileFromWildCardWatching({
|
|
|
114548
114479
|
fileOrDirectoryPath = newPath;
|
|
114549
114480
|
if (fileOrDirectoryPath === watchedDirPath)
|
|
114550
114481
|
return false;
|
|
114551
|
-
if (hasExtension(fileOrDirectoryPath) && !isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions)) {
|
|
114482
|
+
if (hasExtension(fileOrDirectoryPath) && !(isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions) || isSupportedScriptKind())) {
|
|
114552
114483
|
writeLog(`Project: ${configFileName} Detected file add/remove of non supported extension: ${fileOrDirectory}`);
|
|
114553
114484
|
return true;
|
|
114554
114485
|
}
|
|
@@ -114577,6 +114508,25 @@ function isIgnoredFileFromWildCardWatching({
|
|
|
114577
114508
|
function hasSourceFile(file) {
|
|
114578
114509
|
return realProgram ? !!realProgram.getSourceFileByPath(file) : builderProgram ? builderProgram.getState().fileInfos.has(file) : !!find(program, (rootFile) => toPath3(rootFile) === file);
|
|
114579
114510
|
}
|
|
114511
|
+
function isSupportedScriptKind() {
|
|
114512
|
+
if (!getScriptKind)
|
|
114513
|
+
return false;
|
|
114514
|
+
const scriptKind = getScriptKind(fileOrDirectory);
|
|
114515
|
+
switch (scriptKind) {
|
|
114516
|
+
case 3 /* TS */:
|
|
114517
|
+
case 4 /* TSX */:
|
|
114518
|
+
case 7 /* Deferred */:
|
|
114519
|
+
case 5 /* External */:
|
|
114520
|
+
return true;
|
|
114521
|
+
case 1 /* JS */:
|
|
114522
|
+
case 2 /* JSX */:
|
|
114523
|
+
return getAllowJSCompilerOption(options);
|
|
114524
|
+
case 6 /* JSON */:
|
|
114525
|
+
return getResolveJsonModule(options);
|
|
114526
|
+
case 0 /* Unknown */:
|
|
114527
|
+
return false;
|
|
114528
|
+
}
|
|
114529
|
+
}
|
|
114580
114530
|
}
|
|
114581
114531
|
function isBuilderProgram(program) {
|
|
114582
114532
|
return !!program.getState;
|
package/lib/tsserver.js
CHANGED
|
@@ -2327,7 +2327,7 @@ module.exports = __toCommonJS(server_exports);
|
|
|
2327
2327
|
|
|
2328
2328
|
// src/compiler/corePublic.ts
|
|
2329
2329
|
var versionMajorMinor = "5.3";
|
|
2330
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
2330
|
+
var version = `${versionMajorMinor}.0-insiders.20230913`;
|
|
2331
2331
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
2332
2332
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
2333
2333
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -41122,7 +41122,7 @@ function hasFileWithHigherPriorityExtension(file, literalFiles, wildcardFiles, e
|
|
|
41122
41122
|
return false;
|
|
41123
41123
|
}
|
|
41124
41124
|
for (const ext of extensionGroup) {
|
|
41125
|
-
if (fileExtensionIs(file, ext)) {
|
|
41125
|
+
if (fileExtensionIs(file, ext) && (ext !== ".ts" /* Ts */ || !fileExtensionIs(file, ".d.ts" /* Dts */))) {
|
|
41126
41126
|
return false;
|
|
41127
41127
|
}
|
|
41128
41128
|
const higherPriorityPath = keyMapper(changeExtension(file, ext));
|
|
@@ -60968,8 +60968,7 @@ function createTypeChecker(host) {
|
|
|
60968
60968
|
if (elementFlags.length === 1 && elementFlags[0] & 4 /* Rest */) {
|
|
60969
60969
|
return readonly ? globalReadonlyArrayType : globalArrayType;
|
|
60970
60970
|
}
|
|
60971
|
-
const
|
|
60972
|
-
const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (memberIds.length ? "," + memberIds.join(",") : "");
|
|
60971
|
+
const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (some(namedMemberDeclarations, (node) => !!node) ? "," + map(namedMemberDeclarations, (node) => node ? getNodeId(node) : "_").join(",") : "");
|
|
60973
60972
|
let type = tupleTypes.get(key);
|
|
60974
60973
|
if (!type) {
|
|
60975
60974
|
tupleTypes.set(key, type = createTupleTargetType(elementFlags, readonly, namedMemberDeclarations));
|
|
@@ -83901,19 +83900,14 @@ function createTypeChecker(host) {
|
|
|
83901
83900
|
function computeConstantValue(member) {
|
|
83902
83901
|
const isConstEnum = isEnumConst(member.parent);
|
|
83903
83902
|
const initializer = member.initializer;
|
|
83904
|
-
const
|
|
83905
|
-
if (
|
|
83906
|
-
const { value } = evaluated;
|
|
83903
|
+
const value = evaluate(initializer, member);
|
|
83904
|
+
if (value !== void 0) {
|
|
83907
83905
|
if (isConstEnum && typeof value === "number" && !isFinite(value)) {
|
|
83908
83906
|
error2(
|
|
83909
83907
|
initializer,
|
|
83910
83908
|
isNaN(value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value
|
|
83911
83909
|
);
|
|
83912
|
-
} else if (typeof value !== "string" && typeof value !== "number") {
|
|
83913
|
-
checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
|
|
83914
|
-
return void 0;
|
|
83915
83910
|
}
|
|
83916
|
-
return value;
|
|
83917
83911
|
} else if (isConstEnum) {
|
|
83918
83912
|
error2(initializer, Diagnostics.const_enum_member_initializers_must_be_constant_expressions);
|
|
83919
83913
|
} else if (member.parent.flags & 33554432 /* Ambient */) {
|
|
@@ -83921,113 +83915,65 @@ function createTypeChecker(host) {
|
|
|
83921
83915
|
} else {
|
|
83922
83916
|
checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
|
|
83923
83917
|
}
|
|
83924
|
-
return
|
|
83918
|
+
return value;
|
|
83925
83919
|
}
|
|
83926
83920
|
function evaluate(expr, location) {
|
|
83927
83921
|
switch (expr.kind) {
|
|
83928
|
-
case 224 /* PrefixUnaryExpression */:
|
|
83929
|
-
const
|
|
83930
|
-
if (!evaluated) {
|
|
83931
|
-
break;
|
|
83932
|
-
}
|
|
83933
|
-
const { value } = evaluated;
|
|
83922
|
+
case 224 /* PrefixUnaryExpression */:
|
|
83923
|
+
const value = evaluate(expr.operand, location);
|
|
83934
83924
|
if (typeof value === "number") {
|
|
83935
83925
|
switch (expr.operator) {
|
|
83936
83926
|
case 40 /* PlusToken */:
|
|
83937
|
-
return
|
|
83927
|
+
return value;
|
|
83938
83928
|
case 41 /* MinusToken */:
|
|
83939
|
-
return
|
|
83929
|
+
return -value;
|
|
83940
83930
|
case 55 /* TildeToken */:
|
|
83941
|
-
return
|
|
83931
|
+
return ~value;
|
|
83942
83932
|
}
|
|
83943
83933
|
}
|
|
83944
|
-
if (typeof value === "boolean" && expr.operator === 54 /* ExclamationToken */) {
|
|
83945
|
-
return { value: !value };
|
|
83946
|
-
}
|
|
83947
83934
|
break;
|
|
83948
|
-
|
|
83949
|
-
|
|
83950
|
-
const
|
|
83951
|
-
if (!evaluatedLeft) {
|
|
83952
|
-
break;
|
|
83953
|
-
}
|
|
83954
|
-
const evaluatedRight = evaluate(expr.right, location);
|
|
83955
|
-
if (!evaluatedRight) {
|
|
83956
|
-
break;
|
|
83957
|
-
}
|
|
83958
|
-
const left = evaluatedLeft.value;
|
|
83959
|
-
const right = evaluatedRight.value;
|
|
83935
|
+
case 226 /* BinaryExpression */:
|
|
83936
|
+
const left = evaluate(expr.left, location);
|
|
83937
|
+
const right = evaluate(expr.right, location);
|
|
83960
83938
|
if (typeof left === "number" && typeof right === "number") {
|
|
83961
83939
|
switch (expr.operatorToken.kind) {
|
|
83962
83940
|
case 52 /* BarToken */:
|
|
83963
|
-
return
|
|
83941
|
+
return left | right;
|
|
83964
83942
|
case 51 /* AmpersandToken */:
|
|
83965
|
-
return
|
|
83943
|
+
return left & right;
|
|
83966
83944
|
case 49 /* GreaterThanGreaterThanToken */:
|
|
83967
|
-
return
|
|
83945
|
+
return left >> right;
|
|
83968
83946
|
case 50 /* GreaterThanGreaterThanGreaterThanToken */:
|
|
83969
|
-
return
|
|
83970
|
-
case 48 /* LessThanLessThanToken */:
|
|
83971
|
-
return { value: left << right };
|
|
83972
|
-
case 53 /* CaretToken */:
|
|
83973
|
-
return { value: left ^ right };
|
|
83974
|
-
case 42 /* AsteriskToken */:
|
|
83975
|
-
return { value: left * right };
|
|
83976
|
-
case 44 /* SlashToken */:
|
|
83977
|
-
return { value: left / right };
|
|
83978
|
-
case 40 /* PlusToken */:
|
|
83979
|
-
return { value: left + right };
|
|
83980
|
-
case 41 /* MinusToken */:
|
|
83981
|
-
return { value: left - right };
|
|
83982
|
-
case 45 /* PercentToken */:
|
|
83983
|
-
return { value: left % right };
|
|
83984
|
-
case 43 /* AsteriskAsteriskToken */:
|
|
83985
|
-
return { value: left ** right };
|
|
83986
|
-
}
|
|
83987
|
-
} else if (typeof left === "bigint" && typeof right === "bigint") {
|
|
83988
|
-
switch (expr.operatorToken.kind) {
|
|
83989
|
-
case 52 /* BarToken */:
|
|
83990
|
-
return { value: left | right };
|
|
83991
|
-
case 51 /* AmpersandToken */:
|
|
83992
|
-
return { value: left & right };
|
|
83993
|
-
case 49 /* GreaterThanGreaterThanToken */:
|
|
83994
|
-
return { value: left >> right };
|
|
83947
|
+
return left >>> right;
|
|
83995
83948
|
case 48 /* LessThanLessThanToken */:
|
|
83996
|
-
return
|
|
83949
|
+
return left << right;
|
|
83997
83950
|
case 53 /* CaretToken */:
|
|
83998
|
-
return
|
|
83951
|
+
return left ^ right;
|
|
83999
83952
|
case 42 /* AsteriskToken */:
|
|
84000
|
-
return
|
|
83953
|
+
return left * right;
|
|
84001
83954
|
case 44 /* SlashToken */:
|
|
84002
|
-
return
|
|
83955
|
+
return left / right;
|
|
84003
83956
|
case 40 /* PlusToken */:
|
|
84004
|
-
return
|
|
83957
|
+
return left + right;
|
|
84005
83958
|
case 41 /* MinusToken */:
|
|
84006
|
-
return
|
|
83959
|
+
return left - right;
|
|
84007
83960
|
case 45 /* PercentToken */:
|
|
84008
|
-
return
|
|
83961
|
+
return left % right;
|
|
84009
83962
|
case 43 /* AsteriskAsteriskToken */:
|
|
84010
|
-
return
|
|
83963
|
+
return left ** right;
|
|
84011
83964
|
}
|
|
84012
|
-
} else if ((typeof left === "string" || typeof right === "string") && expr.operatorToken.kind === 40 /* PlusToken */) {
|
|
84013
|
-
return
|
|
83965
|
+
} else if ((typeof left === "string" || typeof left === "number") && (typeof right === "string" || typeof right === "number") && expr.operatorToken.kind === 40 /* PlusToken */) {
|
|
83966
|
+
return "" + left + right;
|
|
84014
83967
|
}
|
|
84015
83968
|
break;
|
|
84016
|
-
}
|
|
84017
83969
|
case 11 /* StringLiteral */:
|
|
84018
83970
|
case 15 /* NoSubstitutionTemplateLiteral */:
|
|
84019
|
-
return
|
|
84020
|
-
case 228 /* TemplateExpression */:
|
|
84021
|
-
|
|
84022
|
-
if (typeof value === "undefined") {
|
|
84023
|
-
break;
|
|
84024
|
-
}
|
|
84025
|
-
return { value };
|
|
84026
|
-
}
|
|
83971
|
+
return expr.text;
|
|
83972
|
+
case 228 /* TemplateExpression */:
|
|
83973
|
+
return evaluateTemplateExpression(expr, location);
|
|
84027
83974
|
case 9 /* NumericLiteral */:
|
|
84028
|
-
|
|
84029
|
-
|
|
84030
|
-
return { value: BigInt(expr.text) };
|
|
83975
|
+
checkGrammarNumericLiteral(expr);
|
|
83976
|
+
return +expr.text;
|
|
84031
83977
|
case 217 /* ParenthesizedExpression */:
|
|
84032
83978
|
return evaluate(expr.expression, location);
|
|
84033
83979
|
case 80 /* Identifier */: {
|
|
@@ -84043,7 +83989,7 @@ function createTypeChecker(host) {
|
|
|
84043
83989
|
/*diagnostic*/
|
|
84044
83990
|
void 0
|
|
84045
83991
|
)) {
|
|
84046
|
-
return
|
|
83992
|
+
return +identifier.escapedText;
|
|
84047
83993
|
}
|
|
84048
83994
|
}
|
|
84049
83995
|
case 211 /* PropertyAccessExpression */:
|
|
@@ -84056,11 +84002,7 @@ function createTypeChecker(host) {
|
|
|
84056
84002
|
);
|
|
84057
84003
|
if (symbol) {
|
|
84058
84004
|
if (symbol.flags & 8 /* EnumMember */) {
|
|
84059
|
-
|
|
84060
|
-
if (typeof value === "undefined") {
|
|
84061
|
-
break;
|
|
84062
|
-
}
|
|
84063
|
-
return { value };
|
|
84005
|
+
return location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration);
|
|
84064
84006
|
}
|
|
84065
84007
|
if (isConstantVariable(symbol)) {
|
|
84066
84008
|
const declaration = symbol.valueDeclaration;
|
|
@@ -84084,23 +84026,11 @@ function createTypeChecker(host) {
|
|
|
84084
84026
|
const name = escapeLeadingUnderscores(expr.argumentExpression.text);
|
|
84085
84027
|
const member = rootSymbol.exports.get(name);
|
|
84086
84028
|
if (member) {
|
|
84087
|
-
|
|
84088
|
-
if (typeof value === "undefined") {
|
|
84089
|
-
break;
|
|
84090
|
-
}
|
|
84091
|
-
return { value };
|
|
84029
|
+
return location ? evaluateEnumMember(expr, member, location) : getEnumMemberValue(member.valueDeclaration);
|
|
84092
84030
|
}
|
|
84093
84031
|
}
|
|
84094
84032
|
}
|
|
84095
84033
|
break;
|
|
84096
|
-
case 112 /* TrueKeyword */:
|
|
84097
|
-
return { value: true };
|
|
84098
|
-
case 97 /* FalseKeyword */:
|
|
84099
|
-
return { value: false };
|
|
84100
|
-
case 106 /* NullKeyword */:
|
|
84101
|
-
return { value: null };
|
|
84102
|
-
case 157 /* UndefinedKeyword */:
|
|
84103
|
-
return { value: void 0 };
|
|
84104
84034
|
}
|
|
84105
84035
|
return void 0;
|
|
84106
84036
|
}
|
|
@@ -84119,11 +84049,11 @@ function createTypeChecker(host) {
|
|
|
84119
84049
|
function evaluateTemplateExpression(expr, location) {
|
|
84120
84050
|
let result = expr.head.text;
|
|
84121
84051
|
for (const span of expr.templateSpans) {
|
|
84122
|
-
const
|
|
84123
|
-
if (
|
|
84052
|
+
const value = evaluate(span.expression, location);
|
|
84053
|
+
if (value === void 0) {
|
|
84124
84054
|
return void 0;
|
|
84125
84055
|
}
|
|
84126
|
-
result +=
|
|
84056
|
+
result += value;
|
|
84127
84057
|
result += span.literal.text;
|
|
84128
84058
|
}
|
|
84129
84059
|
return result;
|
|
@@ -86726,11 +86656,11 @@ function createTypeChecker(host) {
|
|
|
86726
86656
|
if (fileToDirective.has(file.path))
|
|
86727
86657
|
return;
|
|
86728
86658
|
fileToDirective.set(file.path, [key, mode]);
|
|
86729
|
-
for (const { fileName
|
|
86659
|
+
for (const { fileName } of file.referencedFiles) {
|
|
86730
86660
|
const resolvedFile = resolveTripleslashReference(fileName, file.fileName);
|
|
86731
86661
|
const referencedFile = host.getSourceFile(resolvedFile);
|
|
86732
86662
|
if (referencedFile) {
|
|
86733
|
-
addReferencedFilesToTypeDirective(referencedFile, key,
|
|
86663
|
+
addReferencedFilesToTypeDirective(referencedFile, key, mode || file.impliedNodeFormat);
|
|
86734
86664
|
}
|
|
86735
86665
|
}
|
|
86736
86666
|
}
|
|
@@ -119439,7 +119369,8 @@ function isIgnoredFileFromWildCardWatching({
|
|
|
119439
119369
|
currentDirectory,
|
|
119440
119370
|
useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
|
|
119441
119371
|
writeLog,
|
|
119442
|
-
toPath: toPath3
|
|
119372
|
+
toPath: toPath3,
|
|
119373
|
+
getScriptKind: getScriptKind2
|
|
119443
119374
|
}) {
|
|
119444
119375
|
const newPath = removeIgnoredPath(fileOrDirectoryPath);
|
|
119445
119376
|
if (!newPath) {
|
|
@@ -119449,7 +119380,7 @@ function isIgnoredFileFromWildCardWatching({
|
|
|
119449
119380
|
fileOrDirectoryPath = newPath;
|
|
119450
119381
|
if (fileOrDirectoryPath === watchedDirPath)
|
|
119451
119382
|
return false;
|
|
119452
|
-
if (hasExtension(fileOrDirectoryPath) && !isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions)) {
|
|
119383
|
+
if (hasExtension(fileOrDirectoryPath) && !(isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions) || isSupportedScriptKind())) {
|
|
119453
119384
|
writeLog(`Project: ${configFileName} Detected file add/remove of non supported extension: ${fileOrDirectory}`);
|
|
119454
119385
|
return true;
|
|
119455
119386
|
}
|
|
@@ -119478,6 +119409,25 @@ function isIgnoredFileFromWildCardWatching({
|
|
|
119478
119409
|
function hasSourceFile(file) {
|
|
119479
119410
|
return realProgram ? !!realProgram.getSourceFileByPath(file) : builderProgram ? builderProgram.getState().fileInfos.has(file) : !!find(program, (rootFile) => toPath3(rootFile) === file);
|
|
119480
119411
|
}
|
|
119412
|
+
function isSupportedScriptKind() {
|
|
119413
|
+
if (!getScriptKind2)
|
|
119414
|
+
return false;
|
|
119415
|
+
const scriptKind = getScriptKind2(fileOrDirectory);
|
|
119416
|
+
switch (scriptKind) {
|
|
119417
|
+
case 3 /* TS */:
|
|
119418
|
+
case 4 /* TSX */:
|
|
119419
|
+
case 7 /* Deferred */:
|
|
119420
|
+
case 5 /* External */:
|
|
119421
|
+
return true;
|
|
119422
|
+
case 1 /* JS */:
|
|
119423
|
+
case 2 /* JSX */:
|
|
119424
|
+
return getAllowJSCompilerOption(options);
|
|
119425
|
+
case 6 /* JSON */:
|
|
119426
|
+
return getResolveJsonModule(options);
|
|
119427
|
+
case 0 /* Unknown */:
|
|
119428
|
+
return false;
|
|
119429
|
+
}
|
|
119430
|
+
}
|
|
119481
119431
|
}
|
|
119482
119432
|
function isBuilderProgram(program) {
|
|
119483
119433
|
return !!program.getState;
|
|
@@ -169764,7 +169714,7 @@ function getAllRules() {
|
|
|
169764
169714
|
// insert space after '?' only when it is used in conditional operator
|
|
169765
169715
|
rule("SpaceAfterQuestionMarkInConditionalOperator", 58 /* QuestionToken */, anyToken, [isNonJsxSameLineTokenContext, isConditionalOperatorContext], 4 /* InsertSpace */),
|
|
169766
169716
|
// in other cases there should be no space between '?' and next token
|
|
169767
|
-
rule("NoSpaceAfterQuestionMark", 58 /* QuestionToken */, anyToken, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */),
|
|
169717
|
+
rule("NoSpaceAfterQuestionMark", 58 /* QuestionToken */, anyToken, [isNonJsxSameLineTokenContext, isNonOptionalPropertyContext], 16 /* DeleteSpace */),
|
|
169768
169718
|
rule("NoSpaceBeforeDot", anyToken, [25 /* DotToken */, 29 /* QuestionDotToken */], [isNonJsxSameLineTokenContext, isNotPropertyAccessOnIntegerLiteral], 16 /* DeleteSpace */),
|
|
169769
169719
|
rule("NoSpaceAfterDot", [25 /* DotToken */, 29 /* QuestionDotToken */], anyToken, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */),
|
|
169770
169720
|
rule("NoSpaceBetweenImportParenInImportType", 102 /* ImportKeyword */, 21 /* OpenParenToken */, [isNonJsxSameLineTokenContext, isImportTypeContext], 16 /* DeleteSpace */),
|
|
@@ -170109,6 +170059,12 @@ function isTypeAnnotationContext(context) {
|
|
|
170109
170059
|
const contextKind = context.contextNode.kind;
|
|
170110
170060
|
return contextKind === 172 /* PropertyDeclaration */ || contextKind === 171 /* PropertySignature */ || contextKind === 169 /* Parameter */ || contextKind === 260 /* VariableDeclaration */ || isFunctionLikeKind(contextKind);
|
|
170111
170061
|
}
|
|
170062
|
+
function isOptionalPropertyContext(context) {
|
|
170063
|
+
return isPropertyDeclaration(context.contextNode) && context.contextNode.questionToken;
|
|
170064
|
+
}
|
|
170065
|
+
function isNonOptionalPropertyContext(context) {
|
|
170066
|
+
return !isOptionalPropertyContext(context);
|
|
170067
|
+
}
|
|
170112
170068
|
function isConditionalOperatorContext(context) {
|
|
170113
170069
|
return context.contextNode.kind === 227 /* ConditionalExpression */ || context.contextNode.kind === 194 /* ConditionalType */;
|
|
170114
170070
|
}
|
|
@@ -176256,7 +176212,7 @@ var Project3 = class _Project {
|
|
|
176256
176212
|
return scriptInfo;
|
|
176257
176213
|
}
|
|
176258
176214
|
getScriptKind(fileName) {
|
|
176259
|
-
const info = this.
|
|
176215
|
+
const info = this.projectService.getScriptInfoForPath(this.toPath(fileName));
|
|
176260
176216
|
return info && info.scriptKind;
|
|
176261
176217
|
}
|
|
176262
176218
|
getScriptVersion(filename) {
|
|
@@ -179073,7 +179029,8 @@ var _ProjectService = class _ProjectService {
|
|
|
179073
179029
|
program: (configuredProjectForConfig == null ? void 0 : configuredProjectForConfig.getCurrentProgram()) || config.parsedCommandLine.fileNames,
|
|
179074
179030
|
useCaseSensitiveFileNames: this.host.useCaseSensitiveFileNames,
|
|
179075
179031
|
writeLog: (s) => this.logger.info(s),
|
|
179076
|
-
toPath: (s) => this.toPath(s)
|
|
179032
|
+
toPath: (s) => this.toPath(s),
|
|
179033
|
+
getScriptKind: configuredProjectForConfig ? (fileName) => configuredProjectForConfig.getScriptKind(fileName) : void 0
|
|
179077
179034
|
}))
|
|
179078
179035
|
return;
|
|
179079
179036
|
if (config.reloadLevel !== 2 /* Full */)
|
package/lib/typescript.js
CHANGED
|
@@ -35,7 +35,7 @@ var ts = (() => {
|
|
|
35
35
|
"src/compiler/corePublic.ts"() {
|
|
36
36
|
"use strict";
|
|
37
37
|
versionMajorMinor = "5.3";
|
|
38
|
-
version = `${versionMajorMinor}.0-insiders.
|
|
38
|
+
version = `${versionMajorMinor}.0-insiders.20230913`;
|
|
39
39
|
Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
40
40
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
41
41
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -37443,7 +37443,7 @@ ${lanes.join("\n")}
|
|
|
37443
37443
|
return false;
|
|
37444
37444
|
}
|
|
37445
37445
|
for (const ext of extensionGroup) {
|
|
37446
|
-
if (fileExtensionIs(file, ext)) {
|
|
37446
|
+
if (fileExtensionIs(file, ext) && (ext !== ".ts" /* Ts */ || !fileExtensionIs(file, ".d.ts" /* Dts */))) {
|
|
37447
37447
|
return false;
|
|
37448
37448
|
}
|
|
37449
37449
|
const higherPriorityPath = keyMapper(changeExtension(file, ext));
|
|
@@ -58735,8 +58735,7 @@ ${lanes.join("\n")}
|
|
|
58735
58735
|
if (elementFlags.length === 1 && elementFlags[0] & 4 /* Rest */) {
|
|
58736
58736
|
return readonly ? globalReadonlyArrayType : globalArrayType;
|
|
58737
58737
|
}
|
|
58738
|
-
const
|
|
58739
|
-
const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (memberIds.length ? "," + memberIds.join(",") : "");
|
|
58738
|
+
const key = map(elementFlags, (f) => f & 1 /* Required */ ? "#" : f & 2 /* Optional */ ? "?" : f & 4 /* Rest */ ? "." : "*").join() + (readonly ? "R" : "") + (some(namedMemberDeclarations, (node) => !!node) ? "," + map(namedMemberDeclarations, (node) => node ? getNodeId(node) : "_").join(",") : "");
|
|
58740
58739
|
let type = tupleTypes.get(key);
|
|
58741
58740
|
if (!type) {
|
|
58742
58741
|
tupleTypes.set(key, type = createTupleTargetType(elementFlags, readonly, namedMemberDeclarations));
|
|
@@ -81668,19 +81667,14 @@ ${lanes.join("\n")}
|
|
|
81668
81667
|
function computeConstantValue(member) {
|
|
81669
81668
|
const isConstEnum = isEnumConst(member.parent);
|
|
81670
81669
|
const initializer = member.initializer;
|
|
81671
|
-
const
|
|
81672
|
-
if (
|
|
81673
|
-
const { value } = evaluated;
|
|
81670
|
+
const value = evaluate(initializer, member);
|
|
81671
|
+
if (value !== void 0) {
|
|
81674
81672
|
if (isConstEnum && typeof value === "number" && !isFinite(value)) {
|
|
81675
81673
|
error2(
|
|
81676
81674
|
initializer,
|
|
81677
81675
|
isNaN(value) ? Diagnostics.const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : Diagnostics.const_enum_member_initializer_was_evaluated_to_a_non_finite_value
|
|
81678
81676
|
);
|
|
81679
|
-
} else if (typeof value !== "string" && typeof value !== "number") {
|
|
81680
|
-
checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
|
|
81681
|
-
return void 0;
|
|
81682
81677
|
}
|
|
81683
|
-
return value;
|
|
81684
81678
|
} else if (isConstEnum) {
|
|
81685
81679
|
error2(initializer, Diagnostics.const_enum_member_initializers_must_be_constant_expressions);
|
|
81686
81680
|
} else if (member.parent.flags & 33554432 /* Ambient */) {
|
|
@@ -81688,113 +81682,65 @@ ${lanes.join("\n")}
|
|
|
81688
81682
|
} else {
|
|
81689
81683
|
checkTypeAssignableTo(checkExpression(initializer), numberType, initializer, Diagnostics.Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values);
|
|
81690
81684
|
}
|
|
81691
|
-
return
|
|
81685
|
+
return value;
|
|
81692
81686
|
}
|
|
81693
81687
|
function evaluate(expr, location) {
|
|
81694
81688
|
switch (expr.kind) {
|
|
81695
|
-
case 224 /* PrefixUnaryExpression */:
|
|
81696
|
-
const
|
|
81697
|
-
if (!evaluated) {
|
|
81698
|
-
break;
|
|
81699
|
-
}
|
|
81700
|
-
const { value } = evaluated;
|
|
81689
|
+
case 224 /* PrefixUnaryExpression */:
|
|
81690
|
+
const value = evaluate(expr.operand, location);
|
|
81701
81691
|
if (typeof value === "number") {
|
|
81702
81692
|
switch (expr.operator) {
|
|
81703
81693
|
case 40 /* PlusToken */:
|
|
81704
|
-
return
|
|
81694
|
+
return value;
|
|
81705
81695
|
case 41 /* MinusToken */:
|
|
81706
|
-
return
|
|
81696
|
+
return -value;
|
|
81707
81697
|
case 55 /* TildeToken */:
|
|
81708
|
-
return
|
|
81698
|
+
return ~value;
|
|
81709
81699
|
}
|
|
81710
81700
|
}
|
|
81711
|
-
if (typeof value === "boolean" && expr.operator === 54 /* ExclamationToken */) {
|
|
81712
|
-
return { value: !value };
|
|
81713
|
-
}
|
|
81714
81701
|
break;
|
|
81715
|
-
|
|
81716
|
-
|
|
81717
|
-
const
|
|
81718
|
-
if (!evaluatedLeft) {
|
|
81719
|
-
break;
|
|
81720
|
-
}
|
|
81721
|
-
const evaluatedRight = evaluate(expr.right, location);
|
|
81722
|
-
if (!evaluatedRight) {
|
|
81723
|
-
break;
|
|
81724
|
-
}
|
|
81725
|
-
const left = evaluatedLeft.value;
|
|
81726
|
-
const right = evaluatedRight.value;
|
|
81702
|
+
case 226 /* BinaryExpression */:
|
|
81703
|
+
const left = evaluate(expr.left, location);
|
|
81704
|
+
const right = evaluate(expr.right, location);
|
|
81727
81705
|
if (typeof left === "number" && typeof right === "number") {
|
|
81728
81706
|
switch (expr.operatorToken.kind) {
|
|
81729
81707
|
case 52 /* BarToken */:
|
|
81730
|
-
return
|
|
81708
|
+
return left | right;
|
|
81731
81709
|
case 51 /* AmpersandToken */:
|
|
81732
|
-
return
|
|
81710
|
+
return left & right;
|
|
81733
81711
|
case 49 /* GreaterThanGreaterThanToken */:
|
|
81734
|
-
return
|
|
81712
|
+
return left >> right;
|
|
81735
81713
|
case 50 /* GreaterThanGreaterThanGreaterThanToken */:
|
|
81736
|
-
return
|
|
81714
|
+
return left >>> right;
|
|
81737
81715
|
case 48 /* LessThanLessThanToken */:
|
|
81738
|
-
return
|
|
81716
|
+
return left << right;
|
|
81739
81717
|
case 53 /* CaretToken */:
|
|
81740
|
-
return
|
|
81718
|
+
return left ^ right;
|
|
81741
81719
|
case 42 /* AsteriskToken */:
|
|
81742
|
-
return
|
|
81720
|
+
return left * right;
|
|
81743
81721
|
case 44 /* SlashToken */:
|
|
81744
|
-
return
|
|
81722
|
+
return left / right;
|
|
81745
81723
|
case 40 /* PlusToken */:
|
|
81746
|
-
return
|
|
81724
|
+
return left + right;
|
|
81747
81725
|
case 41 /* MinusToken */:
|
|
81748
|
-
return
|
|
81726
|
+
return left - right;
|
|
81749
81727
|
case 45 /* PercentToken */:
|
|
81750
|
-
return
|
|
81728
|
+
return left % right;
|
|
81751
81729
|
case 43 /* AsteriskAsteriskToken */:
|
|
81752
|
-
return
|
|
81730
|
+
return left ** right;
|
|
81753
81731
|
}
|
|
81754
|
-
} else if (typeof left === "
|
|
81755
|
-
|
|
81756
|
-
case 52 /* BarToken */:
|
|
81757
|
-
return { value: left | right };
|
|
81758
|
-
case 51 /* AmpersandToken */:
|
|
81759
|
-
return { value: left & right };
|
|
81760
|
-
case 49 /* GreaterThanGreaterThanToken */:
|
|
81761
|
-
return { value: left >> right };
|
|
81762
|
-
case 48 /* LessThanLessThanToken */:
|
|
81763
|
-
return { value: left << right };
|
|
81764
|
-
case 53 /* CaretToken */:
|
|
81765
|
-
return { value: left ^ right };
|
|
81766
|
-
case 42 /* AsteriskToken */:
|
|
81767
|
-
return { value: left * right };
|
|
81768
|
-
case 44 /* SlashToken */:
|
|
81769
|
-
return { value: left / right };
|
|
81770
|
-
case 40 /* PlusToken */:
|
|
81771
|
-
return { value: left + right };
|
|
81772
|
-
case 41 /* MinusToken */:
|
|
81773
|
-
return { value: left - right };
|
|
81774
|
-
case 45 /* PercentToken */:
|
|
81775
|
-
return { value: left % right };
|
|
81776
|
-
case 43 /* AsteriskAsteriskToken */:
|
|
81777
|
-
return { value: left ** right };
|
|
81778
|
-
}
|
|
81779
|
-
} else if ((typeof left === "string" || typeof right === "string") && expr.operatorToken.kind === 40 /* PlusToken */) {
|
|
81780
|
-
return { value: "" + left + right };
|
|
81732
|
+
} else if ((typeof left === "string" || typeof left === "number") && (typeof right === "string" || typeof right === "number") && expr.operatorToken.kind === 40 /* PlusToken */) {
|
|
81733
|
+
return "" + left + right;
|
|
81781
81734
|
}
|
|
81782
81735
|
break;
|
|
81783
|
-
}
|
|
81784
81736
|
case 11 /* StringLiteral */:
|
|
81785
81737
|
case 15 /* NoSubstitutionTemplateLiteral */:
|
|
81786
|
-
return
|
|
81787
|
-
case 228 /* TemplateExpression */:
|
|
81788
|
-
|
|
81789
|
-
if (typeof value === "undefined") {
|
|
81790
|
-
break;
|
|
81791
|
-
}
|
|
81792
|
-
return { value };
|
|
81793
|
-
}
|
|
81738
|
+
return expr.text;
|
|
81739
|
+
case 228 /* TemplateExpression */:
|
|
81740
|
+
return evaluateTemplateExpression(expr, location);
|
|
81794
81741
|
case 9 /* NumericLiteral */:
|
|
81795
|
-
|
|
81796
|
-
|
|
81797
|
-
return { value: BigInt(expr.text) };
|
|
81742
|
+
checkGrammarNumericLiteral(expr);
|
|
81743
|
+
return +expr.text;
|
|
81798
81744
|
case 217 /* ParenthesizedExpression */:
|
|
81799
81745
|
return evaluate(expr.expression, location);
|
|
81800
81746
|
case 80 /* Identifier */: {
|
|
@@ -81810,7 +81756,7 @@ ${lanes.join("\n")}
|
|
|
81810
81756
|
/*diagnostic*/
|
|
81811
81757
|
void 0
|
|
81812
81758
|
)) {
|
|
81813
|
-
return
|
|
81759
|
+
return +identifier.escapedText;
|
|
81814
81760
|
}
|
|
81815
81761
|
}
|
|
81816
81762
|
case 211 /* PropertyAccessExpression */:
|
|
@@ -81823,11 +81769,7 @@ ${lanes.join("\n")}
|
|
|
81823
81769
|
);
|
|
81824
81770
|
if (symbol) {
|
|
81825
81771
|
if (symbol.flags & 8 /* EnumMember */) {
|
|
81826
|
-
|
|
81827
|
-
if (typeof value === "undefined") {
|
|
81828
|
-
break;
|
|
81829
|
-
}
|
|
81830
|
-
return { value };
|
|
81772
|
+
return location ? evaluateEnumMember(expr, symbol, location) : getEnumMemberValue(symbol.valueDeclaration);
|
|
81831
81773
|
}
|
|
81832
81774
|
if (isConstantVariable(symbol)) {
|
|
81833
81775
|
const declaration = symbol.valueDeclaration;
|
|
@@ -81851,23 +81793,11 @@ ${lanes.join("\n")}
|
|
|
81851
81793
|
const name = escapeLeadingUnderscores(expr.argumentExpression.text);
|
|
81852
81794
|
const member = rootSymbol.exports.get(name);
|
|
81853
81795
|
if (member) {
|
|
81854
|
-
|
|
81855
|
-
if (typeof value === "undefined") {
|
|
81856
|
-
break;
|
|
81857
|
-
}
|
|
81858
|
-
return { value };
|
|
81796
|
+
return location ? evaluateEnumMember(expr, member, location) : getEnumMemberValue(member.valueDeclaration);
|
|
81859
81797
|
}
|
|
81860
81798
|
}
|
|
81861
81799
|
}
|
|
81862
81800
|
break;
|
|
81863
|
-
case 112 /* TrueKeyword */:
|
|
81864
|
-
return { value: true };
|
|
81865
|
-
case 97 /* FalseKeyword */:
|
|
81866
|
-
return { value: false };
|
|
81867
|
-
case 106 /* NullKeyword */:
|
|
81868
|
-
return { value: null };
|
|
81869
|
-
case 157 /* UndefinedKeyword */:
|
|
81870
|
-
return { value: void 0 };
|
|
81871
81801
|
}
|
|
81872
81802
|
return void 0;
|
|
81873
81803
|
}
|
|
@@ -81886,11 +81816,11 @@ ${lanes.join("\n")}
|
|
|
81886
81816
|
function evaluateTemplateExpression(expr, location) {
|
|
81887
81817
|
let result = expr.head.text;
|
|
81888
81818
|
for (const span of expr.templateSpans) {
|
|
81889
|
-
const
|
|
81890
|
-
if (
|
|
81819
|
+
const value = evaluate(span.expression, location);
|
|
81820
|
+
if (value === void 0) {
|
|
81891
81821
|
return void 0;
|
|
81892
81822
|
}
|
|
81893
|
-
result +=
|
|
81823
|
+
result += value;
|
|
81894
81824
|
result += span.literal.text;
|
|
81895
81825
|
}
|
|
81896
81826
|
return result;
|
|
@@ -84493,11 +84423,11 @@ ${lanes.join("\n")}
|
|
|
84493
84423
|
if (fileToDirective.has(file.path))
|
|
84494
84424
|
return;
|
|
84495
84425
|
fileToDirective.set(file.path, [key, mode]);
|
|
84496
|
-
for (const { fileName
|
|
84426
|
+
for (const { fileName } of file.referencedFiles) {
|
|
84497
84427
|
const resolvedFile = resolveTripleslashReference(fileName, file.fileName);
|
|
84498
84428
|
const referencedFile = host.getSourceFile(resolvedFile);
|
|
84499
84429
|
if (referencedFile) {
|
|
84500
|
-
addReferencedFilesToTypeDirective(referencedFile, key,
|
|
84430
|
+
addReferencedFilesToTypeDirective(referencedFile, key, mode || file.impliedNodeFormat);
|
|
84501
84431
|
}
|
|
84502
84432
|
}
|
|
84503
84433
|
}
|
|
@@ -117536,7 +117466,8 @@ ${lanes.join("\n")}
|
|
|
117536
117466
|
currentDirectory,
|
|
117537
117467
|
useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
|
|
117538
117468
|
writeLog,
|
|
117539
|
-
toPath: toPath3
|
|
117469
|
+
toPath: toPath3,
|
|
117470
|
+
getScriptKind: getScriptKind2
|
|
117540
117471
|
}) {
|
|
117541
117472
|
const newPath = removeIgnoredPath(fileOrDirectoryPath);
|
|
117542
117473
|
if (!newPath) {
|
|
@@ -117546,7 +117477,7 @@ ${lanes.join("\n")}
|
|
|
117546
117477
|
fileOrDirectoryPath = newPath;
|
|
117547
117478
|
if (fileOrDirectoryPath === watchedDirPath)
|
|
117548
117479
|
return false;
|
|
117549
|
-
if (hasExtension(fileOrDirectoryPath) && !isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions)) {
|
|
117480
|
+
if (hasExtension(fileOrDirectoryPath) && !(isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions) || isSupportedScriptKind())) {
|
|
117550
117481
|
writeLog(`Project: ${configFileName} Detected file add/remove of non supported extension: ${fileOrDirectory}`);
|
|
117551
117482
|
return true;
|
|
117552
117483
|
}
|
|
@@ -117575,6 +117506,25 @@ ${lanes.join("\n")}
|
|
|
117575
117506
|
function hasSourceFile(file) {
|
|
117576
117507
|
return realProgram ? !!realProgram.getSourceFileByPath(file) : builderProgram ? builderProgram.getState().fileInfos.has(file) : !!find(program, (rootFile) => toPath3(rootFile) === file);
|
|
117577
117508
|
}
|
|
117509
|
+
function isSupportedScriptKind() {
|
|
117510
|
+
if (!getScriptKind2)
|
|
117511
|
+
return false;
|
|
117512
|
+
const scriptKind = getScriptKind2(fileOrDirectory);
|
|
117513
|
+
switch (scriptKind) {
|
|
117514
|
+
case 3 /* TS */:
|
|
117515
|
+
case 4 /* TSX */:
|
|
117516
|
+
case 7 /* Deferred */:
|
|
117517
|
+
case 5 /* External */:
|
|
117518
|
+
return true;
|
|
117519
|
+
case 1 /* JS */:
|
|
117520
|
+
case 2 /* JSX */:
|
|
117521
|
+
return getAllowJSCompilerOption(options);
|
|
117522
|
+
case 6 /* JSON */:
|
|
117523
|
+
return getResolveJsonModule(options);
|
|
117524
|
+
case 0 /* Unknown */:
|
|
117525
|
+
return false;
|
|
117526
|
+
}
|
|
117527
|
+
}
|
|
117578
117528
|
}
|
|
117579
117529
|
function isBuilderProgram(program) {
|
|
117580
117530
|
return !!program.getState;
|
|
@@ -169236,7 +169186,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
169236
169186
|
// insert space after '?' only when it is used in conditional operator
|
|
169237
169187
|
rule("SpaceAfterQuestionMarkInConditionalOperator", 58 /* QuestionToken */, anyToken, [isNonJsxSameLineTokenContext, isConditionalOperatorContext], 4 /* InsertSpace */),
|
|
169238
169188
|
// in other cases there should be no space between '?' and next token
|
|
169239
|
-
rule("NoSpaceAfterQuestionMark", 58 /* QuestionToken */, anyToken, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */),
|
|
169189
|
+
rule("NoSpaceAfterQuestionMark", 58 /* QuestionToken */, anyToken, [isNonJsxSameLineTokenContext, isNonOptionalPropertyContext], 16 /* DeleteSpace */),
|
|
169240
169190
|
rule("NoSpaceBeforeDot", anyToken, [25 /* DotToken */, 29 /* QuestionDotToken */], [isNonJsxSameLineTokenContext, isNotPropertyAccessOnIntegerLiteral], 16 /* DeleteSpace */),
|
|
169241
169191
|
rule("NoSpaceAfterDot", [25 /* DotToken */, 29 /* QuestionDotToken */], anyToken, [isNonJsxSameLineTokenContext], 16 /* DeleteSpace */),
|
|
169242
169192
|
rule("NoSpaceBetweenImportParenInImportType", 102 /* ImportKeyword */, 21 /* OpenParenToken */, [isNonJsxSameLineTokenContext, isImportTypeContext], 16 /* DeleteSpace */),
|
|
@@ -169581,6 +169531,12 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
169581
169531
|
const contextKind = context.contextNode.kind;
|
|
169582
169532
|
return contextKind === 172 /* PropertyDeclaration */ || contextKind === 171 /* PropertySignature */ || contextKind === 169 /* Parameter */ || contextKind === 260 /* VariableDeclaration */ || isFunctionLikeKind(contextKind);
|
|
169583
169533
|
}
|
|
169534
|
+
function isOptionalPropertyContext(context) {
|
|
169535
|
+
return isPropertyDeclaration(context.contextNode) && context.contextNode.questionToken;
|
|
169536
|
+
}
|
|
169537
|
+
function isNonOptionalPropertyContext(context) {
|
|
169538
|
+
return !isOptionalPropertyContext(context);
|
|
169539
|
+
}
|
|
169584
169540
|
function isConditionalOperatorContext(context) {
|
|
169585
169541
|
return context.contextNode.kind === 227 /* ConditionalExpression */ || context.contextNode.kind === 194 /* ConditionalType */;
|
|
169586
169542
|
}
|
|
@@ -173598,7 +173554,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
173598
173554
|
return scriptInfo;
|
|
173599
173555
|
}
|
|
173600
173556
|
getScriptKind(fileName) {
|
|
173601
|
-
const info = this.
|
|
173557
|
+
const info = this.projectService.getScriptInfoForPath(this.toPath(fileName));
|
|
173602
173558
|
return info && info.scriptKind;
|
|
173603
173559
|
}
|
|
173604
173560
|
getScriptVersion(filename) {
|
|
@@ -176419,7 +176375,8 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
176419
176375
|
program: (configuredProjectForConfig == null ? void 0 : configuredProjectForConfig.getCurrentProgram()) || config.parsedCommandLine.fileNames,
|
|
176420
176376
|
useCaseSensitiveFileNames: this.host.useCaseSensitiveFileNames,
|
|
176421
176377
|
writeLog: (s) => this.logger.info(s),
|
|
176422
|
-
toPath: (s) => this.toPath(s)
|
|
176378
|
+
toPath: (s) => this.toPath(s),
|
|
176379
|
+
getScriptKind: configuredProjectForConfig ? (fileName) => configuredProjectForConfig.getScriptKind(fileName) : void 0
|
|
176423
176380
|
}))
|
|
176424
176381
|
return;
|
|
176425
176382
|
if (config.reloadLevel !== 2 /* Full */)
|
package/lib/typingsInstaller.js
CHANGED
|
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
|
|
|
54
54
|
|
|
55
55
|
// src/compiler/corePublic.ts
|
|
56
56
|
var versionMajorMinor = "5.3";
|
|
57
|
-
var version = `${versionMajorMinor}.0-insiders.
|
|
57
|
+
var version = `${versionMajorMinor}.0-insiders.20230913`;
|
|
58
58
|
|
|
59
59
|
// src/compiler/core.ts
|
|
60
60
|
var emptyArray = [];
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@typescript-deploys/pr-build",
|
|
3
3
|
"author": "Microsoft Corp.",
|
|
4
4
|
"homepage": "https://www.typescriptlang.org/",
|
|
5
|
-
"version": "5.3.0-pr-
|
|
5
|
+
"version": "5.3.0-pr-55727-2",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"chalk": "^4.1.2",
|
|
60
60
|
"chokidar": "^3.5.3",
|
|
61
61
|
"diff": "^5.1.0",
|
|
62
|
-
"dprint": "^0.
|
|
62
|
+
"dprint": "^0.41.0",
|
|
63
63
|
"esbuild": "^0.19.0",
|
|
64
64
|
"eslint": "^8.22.0",
|
|
65
65
|
"eslint-formatter-autolinkable-stylish": "^1.2.0",
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
"node": "20.1.0",
|
|
114
114
|
"npm": "8.19.4"
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "93ec2799df89a9621eb6cc3c4bf2367d6b6c0436"
|
|
117
117
|
}
|