@typescript-deploys/pr-build 5.2.0-pr-49218-24 → 5.2.0-pr-55004-3

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 CHANGED
@@ -18,7 +18,7 @@ and limitations under the License.
18
18
 
19
19
  // src/compiler/corePublic.ts
20
20
  var versionMajorMinor = "5.2";
21
- var version = `${versionMajorMinor}.0-insiders.20230710`;
21
+ var version = `${versionMajorMinor}.0-insiders.20230713`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -27818,6 +27818,9 @@ var Parser;
27818
27818
  break;
27819
27819
  }
27820
27820
  parseExpected(28 /* CommaToken */, getExpectedCommaDiagnostic(kind));
27821
+ if (!(contextFlags & 134217728 /* JsonFile */) && token() === 19 /* OpenBraceToken */) {
27822
+ break;
27823
+ }
27821
27824
  if (considerSemicolonAsDelimiter && token() === 27 /* SemicolonToken */ && !scanner.hasPrecedingLineBreak()) {
27822
27825
  nextToken();
27823
27826
  }
@@ -59467,37 +59470,7 @@ function createTypeChecker(host) {
59467
59470
  const restIndex = sourceRestType || targetRestType ? paramCount - 1 : -1;
59468
59471
  for (let i = 0; i < paramCount; i++) {
59469
59472
  const sourceType = i === restIndex ? getRestTypeAtPosition(source, i) : tryGetTypeAtPosition(source, i);
59470
- let targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
59471
- if (i === restIndex && targetType && sourceType && isTupleType(sourceType)) {
59472
- targetType = mapType(targetType, (t) => {
59473
- if (!isTupleType(t) || // When both sides are tuples of the same structure, we don't want to "propagate" types from elements of variable positions
59474
- // to the following positions as that would disallow signatures of the exact same structures when trailing fixed elements are involved:
59475
- //
59476
- // let fn: (...rest: [...string[], number]) => void = (...rest: [...string[], number]) => {}; // ok
59477
- //
59478
- // Since we want to allow contextual types to flow into paremeters, we don't need to differentiate between rest and variadic elements
59479
- // as that doesn't affect the contextual type of the parameter
59480
- isTupleTypeStructureMatching(sourceType, t, 2 /* MatchVariable */)) {
59481
- return t;
59482
- }
59483
- const elementTypes = [];
59484
- const elementFlags = [];
59485
- const sourceArity = getTypeReferenceArity(sourceType);
59486
- const targetArity = getTypeReferenceArity(t);
59487
- for (let i2 = 0; i2 < sourceArity; i2++) {
59488
- if (i2 >= targetArity) {
59489
- if (sourceType.target.elementFlags[i2] & 3 /* Fixed */) {
59490
- elementTypes.push(undefinedType);
59491
- elementFlags.push(sourceType.target.elementFlags[i2]);
59492
- }
59493
- continue;
59494
- }
59495
- elementTypes.push(getTupleElementType(t, i2));
59496
- elementFlags.push(sourceType.target.elementFlags[i2]);
59497
- }
59498
- return createTupleType(elementTypes, elementFlags);
59499
- });
59500
- }
59473
+ const targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
59501
59474
  if (sourceType && targetType) {
59502
59475
  const sourceSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
59503
59476
  const targetSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
@@ -62680,11 +62653,8 @@ function createTypeChecker(host) {
62680
62653
  }
62681
62654
  return void 0;
62682
62655
  }
62683
- function isTupleTypeStructureMatching(t1, t2, tupleStructureComparisonKind) {
62684
- return getTypeReferenceArity(t1) === getTypeReferenceArity(t2) && every(t1.target.elementFlags, (f1, i) => {
62685
- const f2 = t2.target.elementFlags[i];
62686
- return f1 === f2 || !!(tupleStructureComparisonKind & 1 /* MatchFixed */ && f1 & 3 /* Fixed */ && f2 & 3 /* Fixed */) || !!(tupleStructureComparisonKind & 2 /* MatchVariable */ && f1 & 12 /* Variable */ && f2 & 12 /* Variable */);
62687
- });
62656
+ function isTupleTypeStructureMatching(t1, t2) {
62657
+ return getTypeReferenceArity(t1) === getTypeReferenceArity(t2) && every(t1.target.elementFlags, (f, i) => (f & 12 /* Variable */) === (t2.target.elementFlags[i] & 12 /* Variable */));
62688
62658
  }
62689
62659
  function isZeroBigInt({ value }) {
62690
62660
  return value.base10Value === "0";
@@ -63880,7 +63850,7 @@ function createTypeChecker(host) {
63880
63850
  const targetArity = getTypeReferenceArity(target);
63881
63851
  const elementTypes = getTypeArguments(target);
63882
63852
  const elementFlags = target.target.elementFlags;
63883
- if (isTupleType(source) && isTupleTypeStructureMatching(source, target, 1 /* MatchFixed */)) {
63853
+ if (isTupleType(source) && isTupleTypeStructureMatching(source, target)) {
63884
63854
  for (let i = 0; i < targetArity; i++) {
63885
63855
  inferFromTypes(getTypeArguments(source)[i], elementTypes[i]);
63886
63856
  }
@@ -76386,6 +76356,7 @@ function createTypeChecker(host) {
76386
76356
  for (const parameter of containingSignature.parameters) {
76387
76357
  markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter));
76388
76358
  }
76359
+ markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveReturnTypeNode(containingSignature));
76389
76360
  break;
76390
76361
  }
76391
76362
  }
@@ -96814,10 +96785,10 @@ function transformJsx(context) {
96814
96785
  for (const prop of attr.expression.properties) {
96815
96786
  if (isSpreadAssignment(prop)) {
96816
96787
  finishObjectLiteralIfNeeded();
96817
- expressions.push(prop.expression);
96788
+ expressions.push(Debug.checkDefined(visitNode(prop.expression, visitor, isExpression)));
96818
96789
  continue;
96819
96790
  }
96820
- properties.push(prop);
96791
+ properties.push(Debug.checkDefined(visitNode(prop, visitor)));
96821
96792
  }
96822
96793
  continue;
96823
96794
  }
@@ -118453,6 +118424,9 @@ function parseConfigHostFromCompilerHostLike(host, directoryStructureHost = host
118453
118424
  return directoryStructureHost.readDirectory(root, extensions, excludes, includes, depth);
118454
118425
  },
118455
118426
  readFile: (f) => directoryStructureHost.readFile(f),
118427
+ directoryExists: maybeBind(directoryStructureHost, directoryStructureHost.directoryExists),
118428
+ getDirectories: maybeBind(directoryStructureHost, directoryStructureHost.getDirectories),
118429
+ realpath: maybeBind(directoryStructureHost, directoryStructureHost.realpath),
118456
118430
  useCaseSensitiveFileNames: host.useCaseSensitiveFileNames(),
118457
118431
  getCurrentDirectory: () => host.getCurrentDirectory(),
118458
118432
  onUnRecoverableConfigFileDiagnostic: host.onUnRecoverableConfigFileDiagnostic || returnUndefined,
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.2";
2330
- var version = `${versionMajorMinor}.0-insiders.20230710`;
2330
+ var version = `${versionMajorMinor}.0-insiders.20230713`;
2331
2331
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2332
2332
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2333
2333
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -32216,6 +32216,9 @@ var Parser;
32216
32216
  break;
32217
32217
  }
32218
32218
  parseExpected(28 /* CommaToken */, getExpectedCommaDiagnostic(kind));
32219
+ if (!(contextFlags & 134217728 /* JsonFile */) && token() === 19 /* OpenBraceToken */) {
32220
+ break;
32221
+ }
32219
32222
  if (considerSemicolonAsDelimiter && token() === 27 /* SemicolonToken */ && !scanner2.hasPrecedingLineBreak()) {
32220
32223
  nextToken();
32221
32224
  }
@@ -64174,37 +64177,7 @@ function createTypeChecker(host) {
64174
64177
  const restIndex = sourceRestType || targetRestType ? paramCount - 1 : -1;
64175
64178
  for (let i = 0; i < paramCount; i++) {
64176
64179
  const sourceType = i === restIndex ? getRestTypeAtPosition(source, i) : tryGetTypeAtPosition(source, i);
64177
- let targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
64178
- if (i === restIndex && targetType && sourceType && isTupleType(sourceType)) {
64179
- targetType = mapType(targetType, (t) => {
64180
- if (!isTupleType(t) || // When both sides are tuples of the same structure, we don't want to "propagate" types from elements of variable positions
64181
- // to the following positions as that would disallow signatures of the exact same structures when trailing fixed elements are involved:
64182
- //
64183
- // let fn: (...rest: [...string[], number]) => void = (...rest: [...string[], number]) => {}; // ok
64184
- //
64185
- // Since we want to allow contextual types to flow into paremeters, we don't need to differentiate between rest and variadic elements
64186
- // as that doesn't affect the contextual type of the parameter
64187
- isTupleTypeStructureMatching(sourceType, t, 2 /* MatchVariable */)) {
64188
- return t;
64189
- }
64190
- const elementTypes = [];
64191
- const elementFlags = [];
64192
- const sourceArity = getTypeReferenceArity(sourceType);
64193
- const targetArity = getTypeReferenceArity(t);
64194
- for (let i2 = 0; i2 < sourceArity; i2++) {
64195
- if (i2 >= targetArity) {
64196
- if (sourceType.target.elementFlags[i2] & 3 /* Fixed */) {
64197
- elementTypes.push(undefinedType);
64198
- elementFlags.push(sourceType.target.elementFlags[i2]);
64199
- }
64200
- continue;
64201
- }
64202
- elementTypes.push(getTupleElementType(t, i2));
64203
- elementFlags.push(sourceType.target.elementFlags[i2]);
64204
- }
64205
- return createTupleType(elementTypes, elementFlags);
64206
- });
64207
- }
64180
+ const targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
64208
64181
  if (sourceType && targetType) {
64209
64182
  const sourceSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
64210
64183
  const targetSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
@@ -67387,11 +67360,8 @@ function createTypeChecker(host) {
67387
67360
  }
67388
67361
  return void 0;
67389
67362
  }
67390
- function isTupleTypeStructureMatching(t1, t2, tupleStructureComparisonKind) {
67391
- return getTypeReferenceArity(t1) === getTypeReferenceArity(t2) && every(t1.target.elementFlags, (f1, i) => {
67392
- const f2 = t2.target.elementFlags[i];
67393
- return f1 === f2 || !!(tupleStructureComparisonKind & 1 /* MatchFixed */ && f1 & 3 /* Fixed */ && f2 & 3 /* Fixed */) || !!(tupleStructureComparisonKind & 2 /* MatchVariable */ && f1 & 12 /* Variable */ && f2 & 12 /* Variable */);
67394
- });
67363
+ function isTupleTypeStructureMatching(t1, t2) {
67364
+ return getTypeReferenceArity(t1) === getTypeReferenceArity(t2) && every(t1.target.elementFlags, (f, i) => (f & 12 /* Variable */) === (t2.target.elementFlags[i] & 12 /* Variable */));
67395
67365
  }
67396
67366
  function isZeroBigInt({ value }) {
67397
67367
  return value.base10Value === "0";
@@ -68587,7 +68557,7 @@ function createTypeChecker(host) {
68587
68557
  const targetArity = getTypeReferenceArity(target);
68588
68558
  const elementTypes = getTypeArguments(target);
68589
68559
  const elementFlags = target.target.elementFlags;
68590
- if (isTupleType(source) && isTupleTypeStructureMatching(source, target, 1 /* MatchFixed */)) {
68560
+ if (isTupleType(source) && isTupleTypeStructureMatching(source, target)) {
68591
68561
  for (let i = 0; i < targetArity; i++) {
68592
68562
  inferFromTypes(getTypeArguments(source)[i], elementTypes[i]);
68593
68563
  }
@@ -81093,6 +81063,7 @@ function createTypeChecker(host) {
81093
81063
  for (const parameter of containingSignature.parameters) {
81094
81064
  markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter));
81095
81065
  }
81066
+ markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveReturnTypeNode(containingSignature));
81096
81067
  break;
81097
81068
  }
81098
81069
  }
@@ -101692,10 +101663,10 @@ function transformJsx(context) {
101692
101663
  for (const prop of attr.expression.properties) {
101693
101664
  if (isSpreadAssignment(prop)) {
101694
101665
  finishObjectLiteralIfNeeded();
101695
- expressions.push(prop.expression);
101666
+ expressions.push(Debug.checkDefined(visitNode(prop.expression, visitor, isExpression)));
101696
101667
  continue;
101697
101668
  }
101698
- properties.push(prop);
101669
+ properties.push(Debug.checkDefined(visitNode(prop, visitor)));
101699
101670
  }
101700
101671
  continue;
101701
101672
  }
@@ -123396,6 +123367,9 @@ function parseConfigHostFromCompilerHostLike(host, directoryStructureHost = host
123396
123367
  return directoryStructureHost.readDirectory(root, extensions, excludes, includes, depth);
123397
123368
  },
123398
123369
  readFile: (f) => directoryStructureHost.readFile(f),
123370
+ directoryExists: maybeBind(directoryStructureHost, directoryStructureHost.directoryExists),
123371
+ getDirectories: maybeBind(directoryStructureHost, directoryStructureHost.getDirectories),
123372
+ realpath: maybeBind(directoryStructureHost, directoryStructureHost.realpath),
123399
123373
  useCaseSensitiveFileNames: host.useCaseSensitiveFileNames(),
123400
123374
  getCurrentDirectory: () => host.getCurrentDirectory(),
123401
123375
  onUnRecoverableConfigFileDiagnostic: host.onUnRecoverableConfigFileDiagnostic || returnUndefined,
@@ -138382,7 +138356,7 @@ function getNewStatementsAndRemoveFromOldFile2(oldFile, targetFile, usage, chang
138382
138356
  }
138383
138357
  }
138384
138358
  if (importAdder) {
138385
- importAdder.writeFixes(changes);
138359
+ importAdder.writeFixes(changes, quotePreference);
138386
138360
  }
138387
138361
  if (imports.length && body.length) {
138388
138362
  return [
@@ -143778,6 +143752,9 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h
143778
143752
  useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
143779
143753
  fileExists: (fileName) => compilerHost.fileExists(fileName),
143780
143754
  readFile: (fileName) => compilerHost.readFile(fileName),
143755
+ directoryExists: (f) => compilerHost.directoryExists(f),
143756
+ getDirectories: (f) => compilerHost.getDirectories(f),
143757
+ realpath: compilerHost.realpath,
143781
143758
  readDirectory: (...args) => compilerHost.readDirectory(...args),
143782
143759
  trace: compilerHost.trace,
143783
143760
  getCurrentDirectory: compilerHost.getCurrentDirectory,
@@ -150072,8 +150049,13 @@ function createImportAdderWorker(sourceFile, program, useAutoImportProvider, pre
150072
150049
  return `${topLevelTypeOnly ? 1 : 0}|${moduleSpecifier}`;
150073
150050
  }
150074
150051
  }
150075
- function writeFixes(changeTracker) {
150076
- const quotePreference = getQuotePreference(sourceFile, preferences);
150052
+ function writeFixes(changeTracker, oldFileQuotePreference) {
150053
+ let quotePreference;
150054
+ if (sourceFile.imports.length === 0 && oldFileQuotePreference !== void 0) {
150055
+ quotePreference = oldFileQuotePreference;
150056
+ } else {
150057
+ quotePreference = getQuotePreference(sourceFile, preferences);
150058
+ }
150077
150059
  for (const fix of addToNamespace) {
150078
150060
  addNamespaceQualifier(changeTracker, sourceFile, fix);
150079
150061
  }
@@ -6274,7 +6274,7 @@ declare namespace ts {
6274
6274
  getSourceFileByPath(path: Path): SourceFile | undefined;
6275
6275
  getCurrentDirectory(): string;
6276
6276
  }
6277
- interface ParseConfigHost {
6277
+ interface ParseConfigHost extends ModuleResolutionHost {
6278
6278
  useCaseSensitiveFileNames: boolean;
6279
6279
  readDirectory(rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[], depth?: number): readonly string[];
6280
6280
  /**
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.2";
38
- version = `${versionMajorMinor}.0-insiders.20230710`;
38
+ version = `${versionMajorMinor}.0-insiders.20230713`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -30289,6 +30289,9 @@ ${lanes.join("\n")}
30289
30289
  break;
30290
30290
  }
30291
30291
  parseExpected(28 /* CommaToken */, getExpectedCommaDiagnostic(kind));
30292
+ if (!(contextFlags & 134217728 /* JsonFile */) && token() === 19 /* OpenBraceToken */) {
30293
+ break;
30294
+ }
30292
30295
  if (considerSemicolonAsDelimiter && token() === 27 /* SemicolonToken */ && !scanner2.hasPrecedingLineBreak()) {
30293
30296
  nextToken();
30294
30297
  }
@@ -61941,37 +61944,7 @@ ${lanes.join("\n")}
61941
61944
  const restIndex = sourceRestType || targetRestType ? paramCount - 1 : -1;
61942
61945
  for (let i = 0; i < paramCount; i++) {
61943
61946
  const sourceType = i === restIndex ? getRestTypeAtPosition(source, i) : tryGetTypeAtPosition(source, i);
61944
- let targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
61945
- if (i === restIndex && targetType && sourceType && isTupleType(sourceType)) {
61946
- targetType = mapType(targetType, (t) => {
61947
- if (!isTupleType(t) || // When both sides are tuples of the same structure, we don't want to "propagate" types from elements of variable positions
61948
- // to the following positions as that would disallow signatures of the exact same structures when trailing fixed elements are involved:
61949
- //
61950
- // let fn: (...rest: [...string[], number]) => void = (...rest: [...string[], number]) => {}; // ok
61951
- //
61952
- // Since we want to allow contextual types to flow into paremeters, we don't need to differentiate between rest and variadic elements
61953
- // as that doesn't affect the contextual type of the parameter
61954
- isTupleTypeStructureMatching(sourceType, t, 2 /* MatchVariable */)) {
61955
- return t;
61956
- }
61957
- const elementTypes = [];
61958
- const elementFlags = [];
61959
- const sourceArity = getTypeReferenceArity(sourceType);
61960
- const targetArity = getTypeReferenceArity(t);
61961
- for (let i2 = 0; i2 < sourceArity; i2++) {
61962
- if (i2 >= targetArity) {
61963
- if (sourceType.target.elementFlags[i2] & 3 /* Fixed */) {
61964
- elementTypes.push(undefinedType);
61965
- elementFlags.push(sourceType.target.elementFlags[i2]);
61966
- }
61967
- continue;
61968
- }
61969
- elementTypes.push(getTupleElementType(t, i2));
61970
- elementFlags.push(sourceType.target.elementFlags[i2]);
61971
- }
61972
- return createTupleType(elementTypes, elementFlags);
61973
- });
61974
- }
61947
+ const targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
61975
61948
  if (sourceType && targetType) {
61976
61949
  const sourceSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
61977
61950
  const targetSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
@@ -65154,11 +65127,8 @@ ${lanes.join("\n")}
65154
65127
  }
65155
65128
  return void 0;
65156
65129
  }
65157
- function isTupleTypeStructureMatching(t1, t2, tupleStructureComparisonKind) {
65158
- return getTypeReferenceArity(t1) === getTypeReferenceArity(t2) && every(t1.target.elementFlags, (f1, i) => {
65159
- const f2 = t2.target.elementFlags[i];
65160
- return f1 === f2 || !!(tupleStructureComparisonKind & 1 /* MatchFixed */ && f1 & 3 /* Fixed */ && f2 & 3 /* Fixed */) || !!(tupleStructureComparisonKind & 2 /* MatchVariable */ && f1 & 12 /* Variable */ && f2 & 12 /* Variable */);
65161
- });
65130
+ function isTupleTypeStructureMatching(t1, t2) {
65131
+ return getTypeReferenceArity(t1) === getTypeReferenceArity(t2) && every(t1.target.elementFlags, (f, i) => (f & 12 /* Variable */) === (t2.target.elementFlags[i] & 12 /* Variable */));
65162
65132
  }
65163
65133
  function isZeroBigInt({ value }) {
65164
65134
  return value.base10Value === "0";
@@ -66354,7 +66324,7 @@ ${lanes.join("\n")}
66354
66324
  const targetArity = getTypeReferenceArity(target);
66355
66325
  const elementTypes = getTypeArguments(target);
66356
66326
  const elementFlags = target.target.elementFlags;
66357
- if (isTupleType(source) && isTupleTypeStructureMatching(source, target, 1 /* MatchFixed */)) {
66327
+ if (isTupleType(source) && isTupleTypeStructureMatching(source, target)) {
66358
66328
  for (let i = 0; i < targetArity; i++) {
66359
66329
  inferFromTypes(getTypeArguments(source)[i], elementTypes[i]);
66360
66330
  }
@@ -78860,6 +78830,7 @@ ${lanes.join("\n")}
78860
78830
  for (const parameter of containingSignature.parameters) {
78861
78831
  markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter));
78862
78832
  }
78833
+ markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveReturnTypeNode(containingSignature));
78863
78834
  break;
78864
78835
  }
78865
78836
  }
@@ -99708,10 +99679,10 @@ ${lanes.join("\n")}
99708
99679
  for (const prop of attr.expression.properties) {
99709
99680
  if (isSpreadAssignment(prop)) {
99710
99681
  finishObjectLiteralIfNeeded();
99711
- expressions.push(prop.expression);
99682
+ expressions.push(Debug.checkDefined(visitNode(prop.expression, visitor, isExpression)));
99712
99683
  continue;
99713
99684
  }
99714
- properties.push(prop);
99685
+ properties.push(Debug.checkDefined(visitNode(prop, visitor)));
99715
99686
  }
99716
99687
  continue;
99717
99688
  }
@@ -121381,6 +121352,9 @@ ${lanes.join("\n")}
121381
121352
  return directoryStructureHost.readDirectory(root, extensions, excludes, includes, depth);
121382
121353
  },
121383
121354
  readFile: (f) => directoryStructureHost.readFile(f),
121355
+ directoryExists: maybeBind(directoryStructureHost, directoryStructureHost.directoryExists),
121356
+ getDirectories: maybeBind(directoryStructureHost, directoryStructureHost.getDirectories),
121357
+ realpath: maybeBind(directoryStructureHost, directoryStructureHost.realpath),
121384
121358
  useCaseSensitiveFileNames: host.useCaseSensitiveFileNames(),
121385
121359
  getCurrentDirectory: () => host.getCurrentDirectory(),
121386
121360
  onUnRecoverableConfigFileDiagnostic: host.onUnRecoverableConfigFileDiagnostic || returnUndefined,
@@ -136757,7 +136731,7 @@ ${lanes.join("\n")}
136757
136731
  }
136758
136732
  }
136759
136733
  if (importAdder) {
136760
- importAdder.writeFixes(changes);
136734
+ importAdder.writeFixes(changes, quotePreference);
136761
136735
  }
136762
136736
  if (imports.length && body.length) {
136763
136737
  return [
@@ -141723,6 +141697,9 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
141723
141697
  useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
141724
141698
  fileExists: (fileName) => compilerHost.fileExists(fileName),
141725
141699
  readFile: (fileName) => compilerHost.readFile(fileName),
141700
+ directoryExists: (f) => compilerHost.directoryExists(f),
141701
+ getDirectories: (f) => compilerHost.getDirectories(f),
141702
+ realpath: compilerHost.realpath,
141726
141703
  readDirectory: (...args) => compilerHost.readDirectory(...args),
141727
141704
  trace: compilerHost.trace,
141728
141705
  getCurrentDirectory: compilerHost.getCurrentDirectory,
@@ -148802,8 +148779,13 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
148802
148779
  return `${topLevelTypeOnly ? 1 : 0}|${moduleSpecifier}`;
148803
148780
  }
148804
148781
  }
148805
- function writeFixes(changeTracker) {
148806
- const quotePreference = getQuotePreference(sourceFile, preferences);
148782
+ function writeFixes(changeTracker, oldFileQuotePreference) {
148783
+ let quotePreference;
148784
+ if (sourceFile.imports.length === 0 && oldFileQuotePreference !== void 0) {
148785
+ quotePreference = oldFileQuotePreference;
148786
+ } else {
148787
+ quotePreference = getQuotePreference(sourceFile, preferences);
148788
+ }
148807
148789
  for (const fix of addToNamespace) {
148808
148790
  addNamespaceQualifier(changeTracker, sourceFile, fix);
148809
148791
  }
@@ -2221,7 +2221,7 @@ declare namespace ts {
2221
2221
  getSourceFileByPath(path: Path): SourceFile | undefined;
2222
2222
  getCurrentDirectory(): string;
2223
2223
  }
2224
- interface ParseConfigHost {
2224
+ interface ParseConfigHost extends ModuleResolutionHost {
2225
2225
  useCaseSensitiveFileNames: boolean;
2226
2226
  readDirectory(rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[], depth?: number): readonly string[];
2227
2227
  /**
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.2";
38
- version = `${versionMajorMinor}.0-insiders.20230710`;
38
+ version = `${versionMajorMinor}.0-insiders.20230713`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -30289,6 +30289,9 @@ ${lanes.join("\n")}
30289
30289
  break;
30290
30290
  }
30291
30291
  parseExpected(28 /* CommaToken */, getExpectedCommaDiagnostic(kind));
30292
+ if (!(contextFlags & 134217728 /* JsonFile */) && token() === 19 /* OpenBraceToken */) {
30293
+ break;
30294
+ }
30292
30295
  if (considerSemicolonAsDelimiter && token() === 27 /* SemicolonToken */ && !scanner2.hasPrecedingLineBreak()) {
30293
30296
  nextToken();
30294
30297
  }
@@ -61941,37 +61944,7 @@ ${lanes.join("\n")}
61941
61944
  const restIndex = sourceRestType || targetRestType ? paramCount - 1 : -1;
61942
61945
  for (let i = 0; i < paramCount; i++) {
61943
61946
  const sourceType = i === restIndex ? getRestTypeAtPosition(source, i) : tryGetTypeAtPosition(source, i);
61944
- let targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
61945
- if (i === restIndex && targetType && sourceType && isTupleType(sourceType)) {
61946
- targetType = mapType(targetType, (t) => {
61947
- if (!isTupleType(t) || // When both sides are tuples of the same structure, we don't want to "propagate" types from elements of variable positions
61948
- // to the following positions as that would disallow signatures of the exact same structures when trailing fixed elements are involved:
61949
- //
61950
- // let fn: (...rest: [...string[], number]) => void = (...rest: [...string[], number]) => {}; // ok
61951
- //
61952
- // Since we want to allow contextual types to flow into paremeters, we don't need to differentiate between rest and variadic elements
61953
- // as that doesn't affect the contextual type of the parameter
61954
- isTupleTypeStructureMatching(sourceType, t, 2 /* MatchVariable */)) {
61955
- return t;
61956
- }
61957
- const elementTypes = [];
61958
- const elementFlags = [];
61959
- const sourceArity = getTypeReferenceArity(sourceType);
61960
- const targetArity = getTypeReferenceArity(t);
61961
- for (let i2 = 0; i2 < sourceArity; i2++) {
61962
- if (i2 >= targetArity) {
61963
- if (sourceType.target.elementFlags[i2] & 3 /* Fixed */) {
61964
- elementTypes.push(undefinedType);
61965
- elementFlags.push(sourceType.target.elementFlags[i2]);
61966
- }
61967
- continue;
61968
- }
61969
- elementTypes.push(getTupleElementType(t, i2));
61970
- elementFlags.push(sourceType.target.elementFlags[i2]);
61971
- }
61972
- return createTupleType(elementTypes, elementFlags);
61973
- });
61974
- }
61947
+ const targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
61975
61948
  if (sourceType && targetType) {
61976
61949
  const sourceSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
61977
61950
  const targetSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(targetType));
@@ -65154,11 +65127,8 @@ ${lanes.join("\n")}
65154
65127
  }
65155
65128
  return void 0;
65156
65129
  }
65157
- function isTupleTypeStructureMatching(t1, t2, tupleStructureComparisonKind) {
65158
- return getTypeReferenceArity(t1) === getTypeReferenceArity(t2) && every(t1.target.elementFlags, (f1, i) => {
65159
- const f2 = t2.target.elementFlags[i];
65160
- return f1 === f2 || !!(tupleStructureComparisonKind & 1 /* MatchFixed */ && f1 & 3 /* Fixed */ && f2 & 3 /* Fixed */) || !!(tupleStructureComparisonKind & 2 /* MatchVariable */ && f1 & 12 /* Variable */ && f2 & 12 /* Variable */);
65161
- });
65130
+ function isTupleTypeStructureMatching(t1, t2) {
65131
+ return getTypeReferenceArity(t1) === getTypeReferenceArity(t2) && every(t1.target.elementFlags, (f, i) => (f & 12 /* Variable */) === (t2.target.elementFlags[i] & 12 /* Variable */));
65162
65132
  }
65163
65133
  function isZeroBigInt({ value }) {
65164
65134
  return value.base10Value === "0";
@@ -66354,7 +66324,7 @@ ${lanes.join("\n")}
66354
66324
  const targetArity = getTypeReferenceArity(target);
66355
66325
  const elementTypes = getTypeArguments(target);
66356
66326
  const elementFlags = target.target.elementFlags;
66357
- if (isTupleType(source) && isTupleTypeStructureMatching(source, target, 1 /* MatchFixed */)) {
66327
+ if (isTupleType(source) && isTupleTypeStructureMatching(source, target)) {
66358
66328
  for (let i = 0; i < targetArity; i++) {
66359
66329
  inferFromTypes(getTypeArguments(source)[i], elementTypes[i]);
66360
66330
  }
@@ -78860,6 +78830,7 @@ ${lanes.join("\n")}
78860
78830
  for (const parameter of containingSignature.parameters) {
78861
78831
  markDecoratorMedataDataTypeNodeAsReferenced(getParameterTypeNodeForDecoratorCheck(parameter));
78862
78832
  }
78833
+ markDecoratorMedataDataTypeNodeAsReferenced(getEffectiveReturnTypeNode(containingSignature));
78863
78834
  break;
78864
78835
  }
78865
78836
  }
@@ -99708,10 +99679,10 @@ ${lanes.join("\n")}
99708
99679
  for (const prop of attr.expression.properties) {
99709
99680
  if (isSpreadAssignment(prop)) {
99710
99681
  finishObjectLiteralIfNeeded();
99711
- expressions.push(prop.expression);
99682
+ expressions.push(Debug.checkDefined(visitNode(prop.expression, visitor, isExpression)));
99712
99683
  continue;
99713
99684
  }
99714
- properties.push(prop);
99685
+ properties.push(Debug.checkDefined(visitNode(prop, visitor)));
99715
99686
  }
99716
99687
  continue;
99717
99688
  }
@@ -121381,6 +121352,9 @@ ${lanes.join("\n")}
121381
121352
  return directoryStructureHost.readDirectory(root, extensions, excludes, includes, depth);
121382
121353
  },
121383
121354
  readFile: (f) => directoryStructureHost.readFile(f),
121355
+ directoryExists: maybeBind(directoryStructureHost, directoryStructureHost.directoryExists),
121356
+ getDirectories: maybeBind(directoryStructureHost, directoryStructureHost.getDirectories),
121357
+ realpath: maybeBind(directoryStructureHost, directoryStructureHost.realpath),
121384
121358
  useCaseSensitiveFileNames: host.useCaseSensitiveFileNames(),
121385
121359
  getCurrentDirectory: () => host.getCurrentDirectory(),
121386
121360
  onUnRecoverableConfigFileDiagnostic: host.onUnRecoverableConfigFileDiagnostic || returnUndefined,
@@ -136772,7 +136746,7 @@ ${lanes.join("\n")}
136772
136746
  }
136773
136747
  }
136774
136748
  if (importAdder) {
136775
- importAdder.writeFixes(changes);
136749
+ importAdder.writeFixes(changes, quotePreference);
136776
136750
  }
136777
136751
  if (imports.length && body.length) {
136778
136752
  return [
@@ -141738,6 +141712,9 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
141738
141712
  useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
141739
141713
  fileExists: (fileName) => compilerHost.fileExists(fileName),
141740
141714
  readFile: (fileName) => compilerHost.readFile(fileName),
141715
+ directoryExists: (f) => compilerHost.directoryExists(f),
141716
+ getDirectories: (f) => compilerHost.getDirectories(f),
141717
+ realpath: compilerHost.realpath,
141741
141718
  readDirectory: (...args) => compilerHost.readDirectory(...args),
141742
141719
  trace: compilerHost.trace,
141743
141720
  getCurrentDirectory: compilerHost.getCurrentDirectory,
@@ -148817,8 +148794,13 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
148817
148794
  return `${topLevelTypeOnly ? 1 : 0}|${moduleSpecifier}`;
148818
148795
  }
148819
148796
  }
148820
- function writeFixes(changeTracker) {
148821
- const quotePreference = getQuotePreference(sourceFile, preferences);
148797
+ function writeFixes(changeTracker, oldFileQuotePreference) {
148798
+ let quotePreference;
148799
+ if (sourceFile.imports.length === 0 && oldFileQuotePreference !== void 0) {
148800
+ quotePreference = oldFileQuotePreference;
148801
+ } else {
148802
+ quotePreference = getQuotePreference(sourceFile, preferences);
148803
+ }
148822
148804
  for (const fix of addToNamespace) {
148823
148805
  addNamespaceQualifier(changeTracker, sourceFile, fix);
148824
148806
  }
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.2";
57
- var version = `${versionMajorMinor}.0-insiders.20230710`;
57
+ var version = `${versionMajorMinor}.0-insiders.20230713`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
@@ -19725,6 +19725,9 @@ var Parser;
19725
19725
  break;
19726
19726
  }
19727
19727
  parseExpected(28 /* CommaToken */, getExpectedCommaDiagnostic(kind));
19728
+ if (!(contextFlags & 134217728 /* JsonFile */) && token() === 19 /* OpenBraceToken */) {
19729
+ break;
19730
+ }
19728
19731
  if (considerSemicolonAsDelimiter && token() === 27 /* SemicolonToken */ && !scanner.hasPrecedingLineBreak()) {
19729
19732
  nextToken();
19730
19733
  }
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.2.0-pr-49218-24",
5
+ "version": "5.2.0-pr-55004-3",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -40,7 +40,7 @@
40
40
  ],
41
41
  "devDependencies": {
42
42
  "@esfx/canceltoken": "^1.0.0",
43
- "@octokit/rest": "latest",
43
+ "@octokit/rest": "^19.0.13",
44
44
  "@types/chai": "^4.3.4",
45
45
  "@types/fs-extra": "^9.0.13",
46
46
  "@types/glob": "^8.1.0",
@@ -115,5 +115,5 @@
115
115
  "node": "20.1.0",
116
116
  "npm": "8.19.4"
117
117
  },
118
- "gitHead": "f606b3c7639589dc74f8db612faba767e394c163"
118
+ "gitHead": "c76e5f102e31c130e9f15ba27457912c84d17823"
119
119
  }