@typescript-deploys/pr-build 5.4.0-pr-55842-26 → 5.4.0-pr-57362-11

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.4";
21
- var version = `${versionMajorMinor}.0-insiders.20240214`;
21
+ var version = `${versionMajorMinor}.0-insiders.20240216`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -58408,9 +58408,6 @@ function createTypeChecker(host) {
58408
58408
  if (objectType.flags & (1 /* Any */ | 131072 /* Never */)) {
58409
58409
  return objectType;
58410
58410
  }
58411
- if (indexType === neverType) {
58412
- return neverType;
58413
- }
58414
58411
  const indexInfo = getApplicableIndexInfo(objectType, indexType) || getIndexInfoOfType(objectType, stringType);
58415
58412
  if (indexInfo) {
58416
58413
  if (accessFlags & 2 /* NoIndexSignatures */ && indexInfo.keyType !== numberType) {
@@ -58434,6 +58431,9 @@ function createTypeChecker(host) {
58434
58431
  }
58435
58432
  return indexInfo.type;
58436
58433
  }
58434
+ if (indexType.flags & 131072 /* Never */) {
58435
+ return neverType;
58436
+ }
58437
58437
  if (isJSLiteralType(objectType)) {
58438
58438
  return anyType;
58439
58439
  }
@@ -58761,10 +58761,6 @@ function createTypeChecker(host) {
58761
58761
  }
58762
58762
  return type;
58763
58763
  }
58764
- function maybeCloneTypeParameter(p) {
58765
- const constraint = getConstraintOfTypeParameter(p);
58766
- return constraint && (isGenericObjectType(constraint) || isGenericIndexType(constraint)) ? cloneTypeParameter(p) : p;
58767
- }
58768
58764
  function isSimpleTupleType(node) {
58769
58765
  return isTupleTypeNode(node) && length(node.elements) > 0 && !some(node.elements, (e) => isOptionalTypeNode(e) || isRestTypeNode(e) || isNamedTupleMember(e) && !!(e.questionToken || e.dotDotDotToken));
58770
58766
  }
@@ -58794,27 +58790,19 @@ function createTypeChecker(host) {
58794
58790
  const checkTypeDeferred = isDeferredType(checkType, checkTuples);
58795
58791
  let combinedMapper;
58796
58792
  if (root.inferTypeParameters) {
58797
- const freshParams = sameMap(root.inferTypeParameters, maybeCloneTypeParameter);
58798
- const freshMapper = freshParams !== root.inferTypeParameters ? createTypeMapper(root.inferTypeParameters, freshParams) : void 0;
58799
58793
  const context = createInferenceContext(
58800
- freshParams,
58794
+ root.inferTypeParameters,
58801
58795
  /*signature*/
58802
58796
  void 0,
58803
58797
  0 /* None */
58804
58798
  );
58805
- if (freshMapper) {
58806
- const freshCombinedMapper = combineTypeMappers(mapper, freshMapper);
58807
- for (let i = 0; i < freshParams.length; i++) {
58808
- if (freshParams[i] !== root.inferTypeParameters[i]) {
58809
- freshParams[i].mapper = freshCombinedMapper;
58810
- }
58811
- }
58799
+ if (mapper) {
58800
+ context.nonFixingMapper = combineTypeMappers(context.nonFixingMapper, mapper);
58812
58801
  }
58813
58802
  if (!checkTypeDeferred) {
58814
- inferTypes(context.inferences, checkType, instantiateType(extendsType, freshMapper), 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
58803
+ inferTypes(context.inferences, checkType, extendsType, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
58815
58804
  }
58816
- const innerMapper = combineTypeMappers(freshMapper, context.mapper);
58817
- combinedMapper = mapper ? combineTypeMappers(innerMapper, mapper) : innerMapper;
58805
+ combinedMapper = mapper ? combineTypeMappers(context.mapper, mapper) : context.mapper;
58818
58806
  }
58819
58807
  const inferredExtendsType = combinedMapper ? instantiateType(root.extendsType, combinedMapper) : extendsType;
58820
58808
  if (!checkTypeDeferred && !isDeferredType(inferredExtendsType, checkTuples)) {
@@ -115286,7 +115274,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
115286
115274
  return getLiteralTextOfNode(textSourceNode, neverAsciiEscape, jsxAttributeEscape);
115287
115275
  }
115288
115276
  }
115289
- const flags = (neverAsciiEscape ? 1 /* NeverAsciiEscape */ : 0) | (jsxAttributeEscape ? 2 /* JsxAttributeEscape */ : 0) | (printerOptions.terminateUnterminatedLiterals ? 4 /* TerminateUnterminatedLiterals */ : 0) | (printerOptions.target && printerOptions.target === 99 /* ESNext */ ? 8 /* AllowNumericSeparator */ : 0);
115277
+ const flags = (neverAsciiEscape ? 1 /* NeverAsciiEscape */ : 0) | (jsxAttributeEscape ? 2 /* JsxAttributeEscape */ : 0) | (printerOptions.terminateUnterminatedLiterals ? 4 /* TerminateUnterminatedLiterals */ : 0) | (printerOptions.target && printerOptions.target >= 8 /* ES2021 */ ? 8 /* AllowNumericSeparator */ : 0);
115290
115278
  return getLiteralText(node, currentSourceFile, flags);
115291
115279
  }
115292
115280
  function pushNameGenerationScope(node) {
package/lib/tsserver.js CHANGED
@@ -2340,7 +2340,7 @@ module.exports = __toCommonJS(server_exports);
2340
2340
 
2341
2341
  // src/compiler/corePublic.ts
2342
2342
  var versionMajorMinor = "5.4";
2343
- var version = `${versionMajorMinor}.0-insiders.20240214`;
2343
+ var version = `${versionMajorMinor}.0-insiders.20240216`;
2344
2344
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2345
2345
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2346
2346
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -63152,9 +63152,6 @@ function createTypeChecker(host) {
63152
63152
  if (objectType.flags & (1 /* Any */ | 131072 /* Never */)) {
63153
63153
  return objectType;
63154
63154
  }
63155
- if (indexType === neverType) {
63156
- return neverType;
63157
- }
63158
63155
  const indexInfo = getApplicableIndexInfo(objectType, indexType) || getIndexInfoOfType(objectType, stringType);
63159
63156
  if (indexInfo) {
63160
63157
  if (accessFlags & 2 /* NoIndexSignatures */ && indexInfo.keyType !== numberType) {
@@ -63178,6 +63175,9 @@ function createTypeChecker(host) {
63178
63175
  }
63179
63176
  return indexInfo.type;
63180
63177
  }
63178
+ if (indexType.flags & 131072 /* Never */) {
63179
+ return neverType;
63180
+ }
63181
63181
  if (isJSLiteralType(objectType)) {
63182
63182
  return anyType;
63183
63183
  }
@@ -63505,10 +63505,6 @@ function createTypeChecker(host) {
63505
63505
  }
63506
63506
  return type;
63507
63507
  }
63508
- function maybeCloneTypeParameter(p) {
63509
- const constraint = getConstraintOfTypeParameter(p);
63510
- return constraint && (isGenericObjectType(constraint) || isGenericIndexType(constraint)) ? cloneTypeParameter(p) : p;
63511
- }
63512
63508
  function isSimpleTupleType(node) {
63513
63509
  return isTupleTypeNode(node) && length(node.elements) > 0 && !some(node.elements, (e) => isOptionalTypeNode(e) || isRestTypeNode(e) || isNamedTupleMember(e) && !!(e.questionToken || e.dotDotDotToken));
63514
63510
  }
@@ -63538,27 +63534,19 @@ function createTypeChecker(host) {
63538
63534
  const checkTypeDeferred = isDeferredType(checkType, checkTuples);
63539
63535
  let combinedMapper;
63540
63536
  if (root.inferTypeParameters) {
63541
- const freshParams = sameMap(root.inferTypeParameters, maybeCloneTypeParameter);
63542
- const freshMapper = freshParams !== root.inferTypeParameters ? createTypeMapper(root.inferTypeParameters, freshParams) : void 0;
63543
63537
  const context = createInferenceContext(
63544
- freshParams,
63538
+ root.inferTypeParameters,
63545
63539
  /*signature*/
63546
63540
  void 0,
63547
63541
  0 /* None */
63548
63542
  );
63549
- if (freshMapper) {
63550
- const freshCombinedMapper = combineTypeMappers(mapper, freshMapper);
63551
- for (let i = 0; i < freshParams.length; i++) {
63552
- if (freshParams[i] !== root.inferTypeParameters[i]) {
63553
- freshParams[i].mapper = freshCombinedMapper;
63554
- }
63555
- }
63543
+ if (mapper) {
63544
+ context.nonFixingMapper = combineTypeMappers(context.nonFixingMapper, mapper);
63556
63545
  }
63557
63546
  if (!checkTypeDeferred) {
63558
- inferTypes(context.inferences, checkType, instantiateType(extendsType, freshMapper), 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
63547
+ inferTypes(context.inferences, checkType, extendsType, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
63559
63548
  }
63560
- const innerMapper = combineTypeMappers(freshMapper, context.mapper);
63561
- combinedMapper = mapper ? combineTypeMappers(innerMapper, mapper) : innerMapper;
63549
+ combinedMapper = mapper ? combineTypeMappers(context.mapper, mapper) : context.mapper;
63562
63550
  }
63563
63551
  const inferredExtendsType = combinedMapper ? instantiateType(root.extendsType, combinedMapper) : extendsType;
63564
63552
  if (!checkTypeDeferred && !isDeferredType(inferredExtendsType, checkTuples)) {
@@ -120212,7 +120200,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
120212
120200
  return getLiteralTextOfNode(textSourceNode, neverAsciiEscape, jsxAttributeEscape);
120213
120201
  }
120214
120202
  }
120215
- const flags = (neverAsciiEscape ? 1 /* NeverAsciiEscape */ : 0) | (jsxAttributeEscape ? 2 /* JsxAttributeEscape */ : 0) | (printerOptions.terminateUnterminatedLiterals ? 4 /* TerminateUnterminatedLiterals */ : 0) | (printerOptions.target && printerOptions.target === 99 /* ESNext */ ? 8 /* AllowNumericSeparator */ : 0);
120203
+ const flags = (neverAsciiEscape ? 1 /* NeverAsciiEscape */ : 0) | (jsxAttributeEscape ? 2 /* JsxAttributeEscape */ : 0) | (printerOptions.terminateUnterminatedLiterals ? 4 /* TerminateUnterminatedLiterals */ : 0) | (printerOptions.target && printerOptions.target >= 8 /* ES2021 */ ? 8 /* AllowNumericSeparator */ : 0);
120216
120204
  return getLiteralText(node, currentSourceFile, flags);
120217
120205
  }
120218
120206
  function pushNameGenerationScope(node) {
@@ -139662,6 +139650,7 @@ __export(ts_refactor_exports, {
139662
139650
  addExports: () => addExports,
139663
139651
  addNewFileToTsconfig: () => addNewFileToTsconfig,
139664
139652
  addOrRemoveBracesToArrowFunction: () => ts_refactor_addOrRemoveBracesToArrowFunction_exports,
139653
+ containsJsx: () => containsJsx,
139665
139654
  convertArrowFunctionOrFunctionExpression: () => ts_refactor_convertArrowFunctionOrFunctionExpression_exports,
139666
139655
  convertParamsToDestructuredObject: () => ts_refactor_convertParamsToDestructuredObject_exports,
139667
139656
  convertStringOrTemplateLiteral: () => ts_refactor_convertStringOrTemplateLiteral_exports,
@@ -140722,14 +140711,14 @@ registerRefactor(refactorName5, {
140722
140711
  getEditsForAction: function getRefactorEditsToMoveToNewFile(context, actionName2) {
140723
140712
  Debug.assert(actionName2 === refactorName5, "Wrong refactor invoked");
140724
140713
  const statements = Debug.checkDefined(getStatementsToMove(context));
140725
- const edits = ts_textChanges_exports.ChangeTracker.with(context, (t) => doChange3(context.file, context.program, statements, t, context.host, context.preferences, context));
140714
+ const edits = ts_textChanges_exports.ChangeTracker.with(context, (t) => doChange3(context.file, context.program, statements, t, context.host, context.preferences));
140726
140715
  return { edits, renameFilename: void 0, renameLocation: void 0 };
140727
140716
  }
140728
140717
  });
140729
- function doChange3(oldFile, program, toMove, changes, host, preferences, context) {
140718
+ function doChange3(oldFile, program, toMove, changes, host, preferences) {
140730
140719
  const checker = program.getTypeChecker();
140731
140720
  const usage = getUsageInfo(oldFile, toMove.all, checker);
140732
- const newFilename = createNewFileName(oldFile, program, context, host);
140721
+ const newFilename = createNewFileName(oldFile, program, host, toMove);
140733
140722
  changes.createNewFile(oldFile, newFilename, getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, host, newFilename, preferences));
140734
140723
  addNewFileToTsconfig(program, changes, oldFile.fileName, newFilename, hostGetCanonicalFileName(host));
140735
140724
  }
@@ -141442,12 +141431,10 @@ function addExportToChanges(sourceFile, decl, name, changes, useEs6Exports) {
141442
141431
  changes.insertNodesAfter(sourceFile, decl, names.map(createExportAssignment));
141443
141432
  }
141444
141433
  }
141445
- function createNewFileName(oldFile, program, context, host) {
141434
+ function createNewFileName(oldFile, program, host, toMove) {
141446
141435
  const checker = program.getTypeChecker();
141447
- const toMove = getStatementsToMove(context);
141448
- let usage;
141449
141436
  if (toMove) {
141450
- usage = getUsageInfo(oldFile, toMove.all, checker);
141437
+ const usage = getUsageInfo(oldFile, toMove.all, checker);
141451
141438
  const currentDirectory = getDirectoryPath(oldFile.fileName);
141452
141439
  const extension = extensionFromPath(oldFile.fileName);
141453
141440
  const newFileName = combinePaths(
@@ -141505,6 +141492,9 @@ function getStatementsToMove(context) {
141505
141492
  });
141506
141493
  return all.length === 0 ? void 0 : { all, ranges };
141507
141494
  }
141495
+ function containsJsx(statements) {
141496
+ return find(statements, (statement) => !!(statement.transformFlags & 2 /* ContainsJsx */));
141497
+ }
141508
141498
  function isAllowedStatementToMove(statement) {
141509
141499
  return !isPureImport(statement) && !isPrologueDirective(statement);
141510
141500
  }
@@ -141528,8 +141518,7 @@ function getUsageInfo(oldFile, toMove, checker, existingTargetLocals = /* @__PUR
141528
141518
  const movedSymbols = /* @__PURE__ */ new Set();
141529
141519
  const oldImportsNeededByTargetFile = /* @__PURE__ */ new Map();
141530
141520
  const targetFileImportsFromOldFile = /* @__PURE__ */ new Set();
141531
- const containsJsx = find(toMove, (statement) => !!(statement.transformFlags & 2 /* ContainsJsx */));
141532
- const jsxNamespaceSymbol = getJsxNamespaceSymbol(containsJsx);
141521
+ const jsxNamespaceSymbol = getJsxNamespaceSymbol(containsJsx(toMove));
141533
141522
  if (jsxNamespaceSymbol) {
141534
141523
  oldImportsNeededByTargetFile.set(jsxNamespaceSymbol, false);
141535
141524
  }
@@ -147257,9 +147246,14 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h
147257
147246
  const sourceFile = getValidSourceFile(fileName);
147258
147247
  const allFiles = Debug.checkDefined(program.getSourceFiles());
147259
147248
  const extension = extensionFromPath(fileName);
147260
- const files = mapDefined(allFiles, (file) => !(program == null ? void 0 : program.isSourceFileFromExternalLibrary(sourceFile)) && !(sourceFile === getValidSourceFile(file.fileName) || extension === ".ts" /* Ts */ && extensionFromPath(file.fileName) === ".d.ts" /* Dts */ || extension === ".d.ts" /* Dts */ && startsWith(getBaseFileName(file.fileName), "lib.") && extensionFromPath(file.fileName) === ".d.ts" /* Dts */) && extension === extensionFromPath(file.fileName) ? file.fileName : void 0);
147261
- const newFileName = createNewFileName(sourceFile, program, getRefactorContext(sourceFile, positionOrRange, preferences, emptyOptions), host);
147262
- return { newFileName, files };
147249
+ const toMove = getStatementsToMove(getRefactorContext(sourceFile, positionOrRange, preferences, emptyOptions));
147250
+ const toMoveContainsJsx = containsJsx(toMove == null ? void 0 : toMove.all);
147251
+ const files = mapDefined(allFiles, (file) => {
147252
+ const fileNameExtension = extensionFromPath(file.fileName);
147253
+ const isValidSourceFile = !(program == null ? void 0 : program.isSourceFileFromExternalLibrary(sourceFile)) && !(sourceFile === getValidSourceFile(file.fileName) || extension === ".ts" /* Ts */ && fileNameExtension === ".d.ts" /* Dts */ || extension === ".d.ts" /* Dts */ && startsWith(getBaseFileName(file.fileName), "lib.") && fileNameExtension === ".d.ts" /* Dts */);
147254
+ return isValidSourceFile && (extension === fileNameExtension || (extension === ".tsx" /* Tsx */ && fileNameExtension === ".ts" /* Ts */ || extension === ".jsx" /* Jsx */ && fileNameExtension === ".js" /* Js */) && !toMoveContainsJsx) ? file.fileName : void 0;
147255
+ });
147256
+ return { newFileName: createNewFileName(sourceFile, program, host, toMove), files };
147263
147257
  }
147264
147258
  function getEditsForRefactor2(fileName, formatOptions, positionOrRange, refactorName14, actionName2, preferences = emptyOptions, interactiveRefactorArguments) {
147265
147259
  synchronizeHostData();
@@ -153803,7 +153797,7 @@ registerCodeFix({
153803
153797
  return createCombinedCodeActions(ts_textChanges_exports.ChangeTracker.with(context, (changes) => {
153804
153798
  eachDiagnostic(context, errorCodes27, (diag2) => {
153805
153799
  const info = getInfo10(diag2.file, diag2.start, diag2.code, checker, context.program);
153806
- if (!info || !addToSeen(seen, getNodeId(info.parentDeclaration) + "#" + info.token.text)) {
153800
+ if (!info || !addToSeen(seen, getNodeId(info.parentDeclaration) + "#" + (info.kind === 3 /* ObjectLiteral */ ? info.identifier : info.token.text))) {
153807
153801
  return;
153808
153802
  }
153809
153803
  if (fixId52 === fixMissingFunctionDeclaration && (info.kind === 2 /* Function */ || info.kind === 5 /* Signature */)) {
@@ -153875,7 +153869,22 @@ function getInfo10(sourceFile, tokenPos, errorCode, checker, program) {
153875
153869
  ));
153876
153870
  if (!length(properties))
153877
153871
  return void 0;
153878
- return { kind: 3 /* ObjectLiteral */, token: param.name, properties, parentDeclaration: parent2 };
153872
+ return { kind: 3 /* ObjectLiteral */, token: param.name, identifier: param.name.text, properties, parentDeclaration: parent2 };
153873
+ }
153874
+ if (token.kind === 19 /* OpenBraceToken */ && isObjectLiteralExpression(parent2)) {
153875
+ const targetType = checker.getContextualType(parent2) || checker.getTypeAtLocation(parent2);
153876
+ const properties = arrayFrom(checker.getUnmatchedProperties(
153877
+ checker.getTypeAtLocation(parent2),
153878
+ targetType,
153879
+ /*requireOptionalProperties*/
153880
+ false,
153881
+ /*matchDiscriminantProperties*/
153882
+ false
153883
+ ));
153884
+ if (!length(properties))
153885
+ return void 0;
153886
+ const identifier = "";
153887
+ return { kind: 3 /* ObjectLiteral */, token: parent2, identifier, properties, parentDeclaration: parent2 };
153879
153888
  }
153880
153889
  if (!isMemberName(token))
153881
153890
  return void 0;
@@ -153891,7 +153900,7 @@ function getInfo10(sourceFile, tokenPos, errorCode, checker, program) {
153891
153900
  ));
153892
153901
  if (!length(properties))
153893
153902
  return void 0;
153894
- return { kind: 3 /* ObjectLiteral */, token, properties, parentDeclaration: parent2.initializer };
153903
+ return { kind: 3 /* ObjectLiteral */, token, identifier: token.text, properties, parentDeclaration: parent2.initializer };
153895
153904
  }
153896
153905
  if (isIdentifier(token) && isJsxOpeningLikeElement(token.parent)) {
153897
153906
  const target = getEmitScriptTarget(program.getCompilerOptions());
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.4";
38
- version = `${versionMajorMinor}.0-insiders.20240214`;
38
+ version = `${versionMajorMinor}.0-insiders.20240216`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -60907,9 +60907,6 @@ ${lanes.join("\n")}
60907
60907
  if (objectType.flags & (1 /* Any */ | 131072 /* Never */)) {
60908
60908
  return objectType;
60909
60909
  }
60910
- if (indexType === neverType) {
60911
- return neverType;
60912
- }
60913
60910
  const indexInfo = getApplicableIndexInfo(objectType, indexType) || getIndexInfoOfType(objectType, stringType);
60914
60911
  if (indexInfo) {
60915
60912
  if (accessFlags & 2 /* NoIndexSignatures */ && indexInfo.keyType !== numberType) {
@@ -60933,6 +60930,9 @@ ${lanes.join("\n")}
60933
60930
  }
60934
60931
  return indexInfo.type;
60935
60932
  }
60933
+ if (indexType.flags & 131072 /* Never */) {
60934
+ return neverType;
60935
+ }
60936
60936
  if (isJSLiteralType(objectType)) {
60937
60937
  return anyType;
60938
60938
  }
@@ -61260,10 +61260,6 @@ ${lanes.join("\n")}
61260
61260
  }
61261
61261
  return type;
61262
61262
  }
61263
- function maybeCloneTypeParameter(p) {
61264
- const constraint = getConstraintOfTypeParameter(p);
61265
- return constraint && (isGenericObjectType(constraint) || isGenericIndexType(constraint)) ? cloneTypeParameter(p) : p;
61266
- }
61267
61263
  function isSimpleTupleType(node) {
61268
61264
  return isTupleTypeNode(node) && length(node.elements) > 0 && !some(node.elements, (e) => isOptionalTypeNode(e) || isRestTypeNode(e) || isNamedTupleMember(e) && !!(e.questionToken || e.dotDotDotToken));
61269
61265
  }
@@ -61293,27 +61289,19 @@ ${lanes.join("\n")}
61293
61289
  const checkTypeDeferred = isDeferredType(checkType, checkTuples);
61294
61290
  let combinedMapper;
61295
61291
  if (root.inferTypeParameters) {
61296
- const freshParams = sameMap(root.inferTypeParameters, maybeCloneTypeParameter);
61297
- const freshMapper = freshParams !== root.inferTypeParameters ? createTypeMapper(root.inferTypeParameters, freshParams) : void 0;
61298
61292
  const context = createInferenceContext(
61299
- freshParams,
61293
+ root.inferTypeParameters,
61300
61294
  /*signature*/
61301
61295
  void 0,
61302
61296
  0 /* None */
61303
61297
  );
61304
- if (freshMapper) {
61305
- const freshCombinedMapper = combineTypeMappers(mapper, freshMapper);
61306
- for (let i = 0; i < freshParams.length; i++) {
61307
- if (freshParams[i] !== root.inferTypeParameters[i]) {
61308
- freshParams[i].mapper = freshCombinedMapper;
61309
- }
61310
- }
61298
+ if (mapper) {
61299
+ context.nonFixingMapper = combineTypeMappers(context.nonFixingMapper, mapper);
61311
61300
  }
61312
61301
  if (!checkTypeDeferred) {
61313
- inferTypes(context.inferences, checkType, instantiateType(extendsType, freshMapper), 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
61302
+ inferTypes(context.inferences, checkType, extendsType, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
61314
61303
  }
61315
- const innerMapper = combineTypeMappers(freshMapper, context.mapper);
61316
- combinedMapper = mapper ? combineTypeMappers(innerMapper, mapper) : innerMapper;
61304
+ combinedMapper = mapper ? combineTypeMappers(context.mapper, mapper) : context.mapper;
61317
61305
  }
61318
61306
  const inferredExtendsType = combinedMapper ? instantiateType(root.extendsType, combinedMapper) : extendsType;
61319
61307
  if (!checkTypeDeferred && !isDeferredType(inferredExtendsType, checkTuples)) {
@@ -118244,7 +118232,7 @@ ${lanes.join("\n")}
118244
118232
  return getLiteralTextOfNode(textSourceNode, neverAsciiEscape, jsxAttributeEscape);
118245
118233
  }
118246
118234
  }
118247
- const flags = (neverAsciiEscape ? 1 /* NeverAsciiEscape */ : 0) | (jsxAttributeEscape ? 2 /* JsxAttributeEscape */ : 0) | (printerOptions.terminateUnterminatedLiterals ? 4 /* TerminateUnterminatedLiterals */ : 0) | (printerOptions.target && printerOptions.target === 99 /* ESNext */ ? 8 /* AllowNumericSeparator */ : 0);
118235
+ const flags = (neverAsciiEscape ? 1 /* NeverAsciiEscape */ : 0) | (jsxAttributeEscape ? 2 /* JsxAttributeEscape */ : 0) | (printerOptions.terminateUnterminatedLiterals ? 4 /* TerminateUnterminatedLiterals */ : 0) | (printerOptions.target && printerOptions.target >= 8 /* ES2021 */ ? 8 /* AllowNumericSeparator */ : 0);
118248
118236
  return getLiteralText(node, currentSourceFile, flags);
118249
118237
  }
118250
118238
  function pushNameGenerationScope(node) {
@@ -139098,10 +139086,10 @@ ${lanes.join("\n")}
139098
139086
  });
139099
139087
 
139100
139088
  // src/services/refactors/moveToNewFile.ts
139101
- function doChange3(oldFile, program, toMove, changes, host, preferences, context) {
139089
+ function doChange3(oldFile, program, toMove, changes, host, preferences) {
139102
139090
  const checker = program.getTypeChecker();
139103
139091
  const usage = getUsageInfo(oldFile, toMove.all, checker);
139104
- const newFilename = createNewFileName(oldFile, program, context, host);
139092
+ const newFilename = createNewFileName(oldFile, program, host, toMove);
139105
139093
  changes.createNewFile(oldFile, newFilename, getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, host, newFilename, preferences));
139106
139094
  addNewFileToTsconfig(program, changes, oldFile.fileName, newFilename, hostGetCanonicalFileName(host));
139107
139095
  }
@@ -139206,7 +139194,7 @@ ${lanes.join("\n")}
139206
139194
  getEditsForAction: function getRefactorEditsToMoveToNewFile(context, actionName2) {
139207
139195
  Debug.assert(actionName2 === refactorName5, "Wrong refactor invoked");
139208
139196
  const statements = Debug.checkDefined(getStatementsToMove(context));
139209
- const edits = ts_textChanges_exports.ChangeTracker.with(context, (t) => doChange3(context.file, context.program, statements, t, context.host, context.preferences, context));
139197
+ const edits = ts_textChanges_exports.ChangeTracker.with(context, (t) => doChange3(context.file, context.program, statements, t, context.host, context.preferences));
139210
139198
  return { edits, renameFilename: void 0, renameLocation: void 0 };
139211
139199
  }
139212
139200
  });
@@ -139810,12 +139798,10 @@ ${lanes.join("\n")}
139810
139798
  changes.insertNodesAfter(sourceFile, decl, names.map(createExportAssignment));
139811
139799
  }
139812
139800
  }
139813
- function createNewFileName(oldFile, program, context, host) {
139801
+ function createNewFileName(oldFile, program, host, toMove) {
139814
139802
  const checker = program.getTypeChecker();
139815
- const toMove = getStatementsToMove(context);
139816
- let usage;
139817
139803
  if (toMove) {
139818
- usage = getUsageInfo(oldFile, toMove.all, checker);
139804
+ const usage = getUsageInfo(oldFile, toMove.all, checker);
139819
139805
  const currentDirectory = getDirectoryPath(oldFile.fileName);
139820
139806
  const extension = extensionFromPath(oldFile.fileName);
139821
139807
  const newFileName = combinePaths(
@@ -139873,6 +139859,9 @@ ${lanes.join("\n")}
139873
139859
  });
139874
139860
  return all.length === 0 ? void 0 : { all, ranges };
139875
139861
  }
139862
+ function containsJsx(statements) {
139863
+ return find(statements, (statement) => !!(statement.transformFlags & 2 /* ContainsJsx */));
139864
+ }
139876
139865
  function isAllowedStatementToMove(statement) {
139877
139866
  return !isPureImport(statement) && !isPrologueDirective(statement);
139878
139867
  }
@@ -139896,8 +139885,7 @@ ${lanes.join("\n")}
139896
139885
  const movedSymbols = /* @__PURE__ */ new Set();
139897
139886
  const oldImportsNeededByTargetFile = /* @__PURE__ */ new Map();
139898
139887
  const targetFileImportsFromOldFile = /* @__PURE__ */ new Set();
139899
- const containsJsx = find(toMove, (statement) => !!(statement.transformFlags & 2 /* ContainsJsx */));
139900
- const jsxNamespaceSymbol = getJsxNamespaceSymbol(containsJsx);
139888
+ const jsxNamespaceSymbol = getJsxNamespaceSymbol(containsJsx(toMove));
139901
139889
  if (jsxNamespaceSymbol) {
139902
139890
  oldImportsNeededByTargetFile.set(jsxNamespaceSymbol, false);
139903
139891
  }
@@ -143614,6 +143602,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
143614
143602
  addExports: () => addExports,
143615
143603
  addNewFileToTsconfig: () => addNewFileToTsconfig,
143616
143604
  addOrRemoveBracesToArrowFunction: () => ts_refactor_addOrRemoveBracesToArrowFunction_exports,
143605
+ containsJsx: () => containsJsx,
143617
143606
  convertArrowFunctionOrFunctionExpression: () => ts_refactor_convertArrowFunctionOrFunctionExpression_exports,
143618
143607
  convertParamsToDestructuredObject: () => ts_refactor_convertParamsToDestructuredObject_exports,
143619
143608
  convertStringOrTemplateLiteral: () => ts_refactor_convertStringOrTemplateLiteral_exports,
@@ -145189,9 +145178,14 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
145189
145178
  const sourceFile = getValidSourceFile(fileName);
145190
145179
  const allFiles = Debug.checkDefined(program.getSourceFiles());
145191
145180
  const extension = extensionFromPath(fileName);
145192
- const files = mapDefined(allFiles, (file) => !(program == null ? void 0 : program.isSourceFileFromExternalLibrary(sourceFile)) && !(sourceFile === getValidSourceFile(file.fileName) || extension === ".ts" /* Ts */ && extensionFromPath(file.fileName) === ".d.ts" /* Dts */ || extension === ".d.ts" /* Dts */ && startsWith(getBaseFileName(file.fileName), "lib.") && extensionFromPath(file.fileName) === ".d.ts" /* Dts */) && extension === extensionFromPath(file.fileName) ? file.fileName : void 0);
145193
- const newFileName = createNewFileName(sourceFile, program, getRefactorContext(sourceFile, positionOrRange, preferences, emptyOptions), host);
145194
- return { newFileName, files };
145181
+ const toMove = getStatementsToMove(getRefactorContext(sourceFile, positionOrRange, preferences, emptyOptions));
145182
+ const toMoveContainsJsx = containsJsx(toMove == null ? void 0 : toMove.all);
145183
+ const files = mapDefined(allFiles, (file) => {
145184
+ const fileNameExtension = extensionFromPath(file.fileName);
145185
+ const isValidSourceFile = !(program == null ? void 0 : program.isSourceFileFromExternalLibrary(sourceFile)) && !(sourceFile === getValidSourceFile(file.fileName) || extension === ".ts" /* Ts */ && fileNameExtension === ".d.ts" /* Dts */ || extension === ".d.ts" /* Dts */ && startsWith(getBaseFileName(file.fileName), "lib.") && fileNameExtension === ".d.ts" /* Dts */);
145186
+ return isValidSourceFile && (extension === fileNameExtension || (extension === ".tsx" /* Tsx */ && fileNameExtension === ".ts" /* Ts */ || extension === ".jsx" /* Jsx */ && fileNameExtension === ".js" /* Js */) && !toMoveContainsJsx) ? file.fileName : void 0;
145187
+ });
145188
+ return { newFileName: createNewFileName(sourceFile, program, host, toMove), files };
145195
145189
  }
145196
145190
  function getEditsForRefactor2(fileName, formatOptions, positionOrRange, refactorName14, actionName2, preferences = emptyOptions, interactiveRefactorArguments) {
145197
145191
  synchronizeHostData();
@@ -152618,7 +152612,22 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
152618
152612
  ));
152619
152613
  if (!length(properties))
152620
152614
  return void 0;
152621
- return { kind: 3 /* ObjectLiteral */, token: param.name, properties, parentDeclaration: parent2 };
152615
+ return { kind: 3 /* ObjectLiteral */, token: param.name, identifier: param.name.text, properties, parentDeclaration: parent2 };
152616
+ }
152617
+ if (token.kind === 19 /* OpenBraceToken */ && isObjectLiteralExpression(parent2)) {
152618
+ const targetType = checker.getContextualType(parent2) || checker.getTypeAtLocation(parent2);
152619
+ const properties = arrayFrom(checker.getUnmatchedProperties(
152620
+ checker.getTypeAtLocation(parent2),
152621
+ targetType,
152622
+ /*requireOptionalProperties*/
152623
+ false,
152624
+ /*matchDiscriminantProperties*/
152625
+ false
152626
+ ));
152627
+ if (!length(properties))
152628
+ return void 0;
152629
+ const identifier = "";
152630
+ return { kind: 3 /* ObjectLiteral */, token: parent2, identifier, properties, parentDeclaration: parent2 };
152622
152631
  }
152623
152632
  if (!isMemberName(token))
152624
152633
  return void 0;
@@ -152634,7 +152643,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
152634
152643
  ));
152635
152644
  if (!length(properties))
152636
152645
  return void 0;
152637
- return { kind: 3 /* ObjectLiteral */, token, properties, parentDeclaration: parent2.initializer };
152646
+ return { kind: 3 /* ObjectLiteral */, token, identifier: token.text, properties, parentDeclaration: parent2.initializer };
152638
152647
  }
152639
152648
  if (isIdentifier(token) && isJsxOpeningLikeElement(token.parent)) {
152640
152649
  const target = getEmitScriptTarget(program.getCompilerOptions());
@@ -153181,7 +153190,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
153181
153190
  return createCombinedCodeActions(ts_textChanges_exports.ChangeTracker.with(context, (changes) => {
153182
153191
  eachDiagnostic(context, errorCodes27, (diag2) => {
153183
153192
  const info = getInfo10(diag2.file, diag2.start, diag2.code, checker, context.program);
153184
- if (!info || !addToSeen(seen, getNodeId(info.parentDeclaration) + "#" + info.token.text)) {
153193
+ if (!info || !addToSeen(seen, getNodeId(info.parentDeclaration) + "#" + (info.kind === 3 /* ObjectLiteral */ ? info.identifier : info.token.text))) {
153185
153194
  return;
153186
153195
  }
153187
153196
  if (fixId52 === fixMissingFunctionDeclaration && (info.kind === 2 /* Function */ || info.kind === 5 /* Signature */)) {
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.4";
57
- var version = `${versionMajorMinor}.0-insiders.20240214`;
57
+ var version = `${versionMajorMinor}.0-insiders.20240216`;
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.4.0-pr-55842-26",
5
+ "version": "5.4.0-pr-57362-11",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -114,5 +114,5 @@
114
114
  "node": "20.1.0",
115
115
  "npm": "8.19.4"
116
116
  },
117
- "gitHead": "48898f2f820ea4a404e1f6ffc6e28e279d3ad869"
117
+ "gitHead": "6a042d1d41406f745adc233dbbf58577345334b4"
118
118
  }