typescript 5.3.0-dev.20231029 → 5.3.0-dev.20231031

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.3";
21
- var version = `${versionMajorMinor}.0-dev.20231029`;
21
+ var version = `${versionMajorMinor}.0-dev.20231031`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -37200,8 +37200,7 @@ function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFil
37200
37200
  if (resolutionMode === 99 /* ESNext */ && (3 /* Node16 */ <= moduleResolution && moduleResolution <= 99 /* NodeNext */)) {
37201
37201
  features |= 32 /* EsmMode */;
37202
37202
  }
37203
- const useImportCondition = resolutionMode === 99 /* ESNext */ || (resolutionMode !== void 0 ? false : void 0);
37204
- const conditions = features & 8 /* Exports */ ? getConditions(options, useImportCondition) : [];
37203
+ const conditions = features & 8 /* Exports */ ? getConditions(options, resolutionMode) : [];
37205
37204
  const diagnostics = [];
37206
37205
  const moduleResolutionState = {
37207
37206
  compilerOptions: options,
@@ -37369,16 +37368,16 @@ function getNodeResolutionFeatures(options) {
37369
37368
  }
37370
37369
  return features;
37371
37370
  }
37372
- function getConditions(options, esmMode) {
37371
+ function getConditions(options, resolutionMode) {
37373
37372
  const moduleResolution = getEmitModuleResolutionKind(options);
37374
- if (esmMode === void 0) {
37373
+ if (resolutionMode === void 0) {
37375
37374
  if (moduleResolution === 100 /* Bundler */) {
37376
- esmMode ?? (esmMode = moduleResolution === 100 /* Bundler */);
37375
+ resolutionMode = 99 /* ESNext */;
37377
37376
  } else if (moduleResolution === 2 /* Node10 */) {
37378
37377
  return [];
37379
37378
  }
37380
37379
  }
37381
- const conditions = esmMode ? ["import"] : ["require"];
37380
+ const conditions = resolutionMode === 99 /* ESNext */ ? ["import"] : ["require"];
37382
37381
  if (!options.noDtsResolution) {
37383
37382
  conditions.push("types");
37384
37383
  }
@@ -37802,13 +37801,13 @@ function resolveModuleName(moduleName, containingFile, compilerOptions, host, ca
37802
37801
  result = nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
37803
37802
  break;
37804
37803
  case 2 /* Node10 */:
37805
- result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode === 99 /* ESNext */) : void 0);
37804
+ result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode) : void 0);
37806
37805
  break;
37807
37806
  case 1 /* Classic */:
37808
37807
  result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference);
37809
37808
  break;
37810
37809
  case 100 /* Bundler */:
37811
- result = bundlerModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode === 99 /* ESNext */) : void 0);
37810
+ result = bundlerModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode) : void 0);
37812
37811
  break;
37813
37812
  default:
37814
37813
  return Debug.fail(`Unexpected moduleResolution: ${moduleResolution}`);
@@ -38073,7 +38072,7 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory,
38073
38072
  const moduleResolution = getEmitModuleResolutionKind(compilerOptions);
38074
38073
  conditions ?? (conditions = getConditions(
38075
38074
  compilerOptions,
38076
- moduleResolution === 100 /* Bundler */ || moduleResolution === 2 /* Node10 */ ? void 0 : !!(features & 32 /* EsmMode */)
38075
+ moduleResolution === 100 /* Bundler */ || moduleResolution === 2 /* Node10 */ ? void 0 : features & 32 /* EsmMode */ ? 99 /* ESNext */ : 1 /* CommonJS */
38077
38076
  ));
38078
38077
  const diagnostics = [];
38079
38078
  const state = {
@@ -42920,7 +42919,7 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa
42920
42919
  if (getResolvePackageJsonExports(options)) {
42921
42920
  const nodeModulesDirectoryName2 = packageRootPath.substring(parts.topLevelPackageNameIndex + 1);
42922
42921
  const packageName2 = getPackageNameFromTypesPackageName(nodeModulesDirectoryName2);
42923
- const conditions = getConditions(options, importMode === 99 /* ESNext */);
42922
+ const conditions = getConditions(options, importMode);
42924
42923
  const fromExports = packageJsonContent.exports ? tryGetModuleNameFromExports(options, path, packageRootPath, packageName2, packageJsonContent.exports, conditions) : void 0;
42925
42924
  if (fromExports) {
42926
42925
  const withJsExtension = !hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) };
@@ -77749,7 +77748,7 @@ function createTypeChecker(host) {
77749
77748
  }
77750
77749
  forEach(node.name.elements, checkSourceElement);
77751
77750
  }
77752
- if (isParameter(node) && node.initializer && nodeIsMissing(getContainingFunction(node).body)) {
77751
+ if (node.initializer && isParameterDeclaration(node) && nodeIsMissing(getContainingFunction(node).body)) {
77753
77752
  error(node, Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);
77754
77753
  return;
77755
77754
  }
package/lib/tsserver.js CHANGED
@@ -2328,7 +2328,7 @@ module.exports = __toCommonJS(server_exports);
2328
2328
 
2329
2329
  // src/compiler/corePublic.ts
2330
2330
  var versionMajorMinor = "5.3";
2331
- var version = `${versionMajorMinor}.0-dev.20231029`;
2331
+ var version = `${versionMajorMinor}.0-dev.20231031`;
2332
2332
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2333
2333
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2334
2334
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -41689,8 +41689,7 @@ function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFil
41689
41689
  if (resolutionMode === 99 /* ESNext */ && (3 /* Node16 */ <= moduleResolution && moduleResolution <= 99 /* NodeNext */)) {
41690
41690
  features |= 32 /* EsmMode */;
41691
41691
  }
41692
- const useImportCondition = resolutionMode === 99 /* ESNext */ || (resolutionMode !== void 0 ? false : void 0);
41693
- const conditions = features & 8 /* Exports */ ? getConditions(options, useImportCondition) : [];
41692
+ const conditions = features & 8 /* Exports */ ? getConditions(options, resolutionMode) : [];
41694
41693
  const diagnostics = [];
41695
41694
  const moduleResolutionState = {
41696
41695
  compilerOptions: options,
@@ -41858,16 +41857,16 @@ function getNodeResolutionFeatures(options) {
41858
41857
  }
41859
41858
  return features;
41860
41859
  }
41861
- function getConditions(options, esmMode) {
41860
+ function getConditions(options, resolutionMode) {
41862
41861
  const moduleResolution = getEmitModuleResolutionKind(options);
41863
- if (esmMode === void 0) {
41862
+ if (resolutionMode === void 0) {
41864
41863
  if (moduleResolution === 100 /* Bundler */) {
41865
- esmMode ?? (esmMode = moduleResolution === 100 /* Bundler */);
41864
+ resolutionMode = 99 /* ESNext */;
41866
41865
  } else if (moduleResolution === 2 /* Node10 */) {
41867
41866
  return [];
41868
41867
  }
41869
41868
  }
41870
- const conditions = esmMode ? ["import"] : ["require"];
41869
+ const conditions = resolutionMode === 99 /* ESNext */ ? ["import"] : ["require"];
41871
41870
  if (!options.noDtsResolution) {
41872
41871
  conditions.push("types");
41873
41872
  }
@@ -42316,13 +42315,13 @@ function resolveModuleName(moduleName, containingFile, compilerOptions, host, ca
42316
42315
  result = nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
42317
42316
  break;
42318
42317
  case 2 /* Node10 */:
42319
- result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode === 99 /* ESNext */) : void 0);
42318
+ result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode) : void 0);
42320
42319
  break;
42321
42320
  case 1 /* Classic */:
42322
42321
  result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference);
42323
42322
  break;
42324
42323
  case 100 /* Bundler */:
42325
- result = bundlerModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode === 99 /* ESNext */) : void 0);
42324
+ result = bundlerModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode) : void 0);
42326
42325
  break;
42327
42326
  default:
42328
42327
  return Debug.fail(`Unexpected moduleResolution: ${moduleResolution}`);
@@ -42600,7 +42599,7 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory,
42600
42599
  const moduleResolution = getEmitModuleResolutionKind(compilerOptions);
42601
42600
  conditions ?? (conditions = getConditions(
42602
42601
  compilerOptions,
42603
- moduleResolution === 100 /* Bundler */ || moduleResolution === 2 /* Node10 */ ? void 0 : !!(features & 32 /* EsmMode */)
42602
+ moduleResolution === 100 /* Bundler */ || moduleResolution === 2 /* Node10 */ ? void 0 : features & 32 /* EsmMode */ ? 99 /* ESNext */ : 1 /* CommonJS */
42604
42603
  ));
42605
42604
  const diagnostics = [];
42606
42605
  const state = {
@@ -42911,15 +42910,7 @@ function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache
42911
42910
  entrypoints = append(entrypoints, mainResolution == null ? void 0 : mainResolution.path);
42912
42911
  if (features & 8 /* Exports */ && packageJsonInfo.contents.packageJsonContent.exports) {
42913
42912
  const conditionSets = deduplicate(
42914
- [getConditions(
42915
- options,
42916
- /*esmMode*/
42917
- true
42918
- ), getConditions(
42919
- options,
42920
- /*esmMode*/
42921
- false
42922
- )],
42913
+ [getConditions(options, 99 /* ESNext */), getConditions(options, 1 /* CommonJS */)],
42923
42914
  arrayIsEqualTo
42924
42915
  );
42925
42916
  for (const conditions of conditionSets) {
@@ -47632,7 +47623,7 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }, { getCanonicalFileNa
47632
47623
  if (getResolvePackageJsonExports(options)) {
47633
47624
  const nodeModulesDirectoryName2 = packageRootPath.substring(parts.topLevelPackageNameIndex + 1);
47634
47625
  const packageName2 = getPackageNameFromTypesPackageName(nodeModulesDirectoryName2);
47635
- const conditions = getConditions(options, importMode === 99 /* ESNext */);
47626
+ const conditions = getConditions(options, importMode);
47636
47627
  const fromExports = packageJsonContent.exports ? tryGetModuleNameFromExports(options, path, packageRootPath, packageName2, packageJsonContent.exports, conditions) : void 0;
47637
47628
  if (fromExports) {
47638
47629
  const withJsExtension = !hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) };
@@ -82461,7 +82452,7 @@ function createTypeChecker(host) {
82461
82452
  }
82462
82453
  forEach(node.name.elements, checkSourceElement);
82463
82454
  }
82464
- if (isParameter(node) && node.initializer && nodeIsMissing(getContainingFunction(node).body)) {
82455
+ if (node.initializer && isParameterDeclaration(node) && nodeIsMissing(getContainingFunction(node).body)) {
82465
82456
  error2(node, Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);
82466
82457
  return;
82467
82458
  }
@@ -139449,14 +139440,13 @@ function error(notApplicableReason) {
139449
139440
  }
139450
139441
  function doChange4(context, oldFile, targetFile, program, toMove, changes, host, preferences) {
139451
139442
  const checker = program.getTypeChecker();
139452
- const usage = getUsageInfo(oldFile, toMove.all, checker);
139453
139443
  if (!host.fileExists(targetFile)) {
139454
- changes.createNewFile(oldFile, targetFile, getNewStatementsAndRemoveFromOldFile2(oldFile, targetFile, usage, changes, toMove, program, host, preferences));
139444
+ changes.createNewFile(oldFile, targetFile, getNewStatementsAndRemoveFromOldFile2(oldFile, targetFile, getUsageInfo(oldFile, toMove.all, checker), changes, toMove, program, host, preferences));
139455
139445
  addNewFileToTsconfig(program, changes, oldFile.fileName, targetFile, hostGetCanonicalFileName(host));
139456
139446
  } else {
139457
139447
  const targetSourceFile = Debug.checkDefined(program.getSourceFile(targetFile));
139458
139448
  const importAdder = ts_codefix_exports.createImportAdder(targetSourceFile, context.program, context.preferences, context.host);
139459
- getNewStatementsAndRemoveFromOldFile2(oldFile, targetSourceFile, usage, changes, toMove, program, host, preferences, importAdder);
139449
+ getNewStatementsAndRemoveFromOldFile2(oldFile, targetSourceFile, getUsageInfo(oldFile, toMove.all, checker, getExistingImports(targetSourceFile, checker)), changes, toMove, program, host, preferences, importAdder);
139460
139450
  }
139461
139451
  }
139462
139452
  function getNewStatementsAndRemoveFromOldFile2(oldFile, targetFile, usage, changes, toMove, program, host, preferences, importAdder) {
@@ -140122,7 +140112,7 @@ function isPureImport(node) {
140122
140112
  return false;
140123
140113
  }
140124
140114
  }
140125
- function getUsageInfo(oldFile, toMove, checker) {
140115
+ function getUsageInfo(oldFile, toMove, checker, existingTargetImports = /* @__PURE__ */ new Set()) {
140126
140116
  const movedSymbols = /* @__PURE__ */ new Set();
140127
140117
  const oldImportsNeededByTargetFile = /* @__PURE__ */ new Map();
140128
140118
  const targetFileImportsFromOldFile = /* @__PURE__ */ new Set();
@@ -140136,10 +140126,16 @@ function getUsageInfo(oldFile, toMove, checker) {
140136
140126
  movedSymbols.add(Debug.checkDefined(isExpressionStatement(decl) ? checker.getSymbolAtLocation(decl.expression.left) : decl.symbol, "Need a symbol here"));
140137
140127
  });
140138
140128
  }
140129
+ const unusedImportsFromOldFile = /* @__PURE__ */ new Set();
140139
140130
  for (const statement of toMove) {
140140
140131
  forEachReference(statement, checker, (symbol, isValidTypeOnlyUseSite) => {
140141
- if (!symbol.declarations)
140132
+ if (!symbol.declarations) {
140133
+ return;
140134
+ }
140135
+ if (existingTargetImports.has(skipAlias(symbol, checker))) {
140136
+ unusedImportsFromOldFile.add(symbol);
140142
140137
  return;
140138
+ }
140143
140139
  for (const decl of symbol.declarations) {
140144
140140
  if (isInImport(decl)) {
140145
140141
  const prevIsTypeOnly = oldImportsNeededByTargetFile.get(symbol);
@@ -140150,7 +140146,9 @@ function getUsageInfo(oldFile, toMove, checker) {
140150
140146
  }
140151
140147
  });
140152
140148
  }
140153
- const unusedImportsFromOldFile = new Set(oldImportsNeededByTargetFile.keys());
140149
+ for (const unusedImport of oldImportsNeededByTargetFile.keys()) {
140150
+ unusedImportsFromOldFile.add(unusedImport);
140151
+ }
140154
140152
  const oldFileImportsFromTargetFile = /* @__PURE__ */ new Set();
140155
140153
  for (const statement of oldFile.statements) {
140156
140154
  if (contains(toMove, statement))
@@ -140336,6 +140334,29 @@ function getOverloadRangeToMove(sourceFile, statement) {
140336
140334
  }
140337
140335
  return void 0;
140338
140336
  }
140337
+ function getExistingImports(sourceFile, checker) {
140338
+ const imports = /* @__PURE__ */ new Set();
140339
+ for (const moduleSpecifier of sourceFile.imports) {
140340
+ const declaration = importFromModuleSpecifier(moduleSpecifier);
140341
+ if (isImportDeclaration(declaration) && declaration.importClause && declaration.importClause.namedBindings && isNamedImports(declaration.importClause.namedBindings)) {
140342
+ for (const e of declaration.importClause.namedBindings.elements) {
140343
+ const symbol = checker.getSymbolAtLocation(e.propertyName || e.name);
140344
+ if (symbol) {
140345
+ imports.add(skipAlias(symbol, checker));
140346
+ }
140347
+ }
140348
+ }
140349
+ if (isVariableDeclarationInitializedToRequire(declaration.parent) && isObjectBindingPattern(declaration.parent.name)) {
140350
+ for (const e of declaration.parent.name.elements) {
140351
+ const symbol = checker.getSymbolAtLocation(e.propertyName || e.name);
140352
+ if (symbol) {
140353
+ imports.add(skipAlias(symbol, checker));
140354
+ }
140355
+ }
140356
+ }
140357
+ }
140358
+ return imports;
140359
+ }
140339
140360
 
140340
140361
  // src/services/_namespaces/ts.refactor.addOrRemoveBracesToArrowFunction.ts
140341
140362
  var ts_refactor_addOrRemoveBracesToArrowFunction_exports = {};
@@ -161549,7 +161570,7 @@ function getCompletionEntriesForNonRelativeModules(fragment, scriptPath, mode, c
161549
161570
  }
161550
161571
  const keys = getOwnKeys(exports);
161551
161572
  const fragmentSubpath = components.join("/") + (components.length && hasTrailingDirectorySeparator(fragment) ? "/" : "");
161552
- const conditions = getConditions(compilerOptions, mode === 99 /* ESNext */);
161573
+ const conditions = getConditions(compilerOptions, mode);
161553
161574
  addCompletionEntriesFromPathsOrExports(
161554
161575
  result,
161555
161576
  fragmentSubpath,
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-dev.20231029`;
38
+ version = `${versionMajorMinor}.0-dev.20231031`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -39547,8 +39547,7 @@ ${lanes.join("\n")}
39547
39547
  if (resolutionMode === 99 /* ESNext */ && (3 /* Node16 */ <= moduleResolution && moduleResolution <= 99 /* NodeNext */)) {
39548
39548
  features |= 32 /* EsmMode */;
39549
39549
  }
39550
- const useImportCondition = resolutionMode === 99 /* ESNext */ || (resolutionMode !== void 0 ? false : void 0);
39551
- const conditions = features & 8 /* Exports */ ? getConditions(options, useImportCondition) : [];
39550
+ const conditions = features & 8 /* Exports */ ? getConditions(options, resolutionMode) : [];
39552
39551
  const diagnostics = [];
39553
39552
  const moduleResolutionState = {
39554
39553
  compilerOptions: options,
@@ -39716,16 +39715,16 @@ ${lanes.join("\n")}
39716
39715
  }
39717
39716
  return features;
39718
39717
  }
39719
- function getConditions(options, esmMode) {
39718
+ function getConditions(options, resolutionMode) {
39720
39719
  const moduleResolution = getEmitModuleResolutionKind(options);
39721
- if (esmMode === void 0) {
39720
+ if (resolutionMode === void 0) {
39722
39721
  if (moduleResolution === 100 /* Bundler */) {
39723
- esmMode ?? (esmMode = moduleResolution === 100 /* Bundler */);
39722
+ resolutionMode = 99 /* ESNext */;
39724
39723
  } else if (moduleResolution === 2 /* Node10 */) {
39725
39724
  return [];
39726
39725
  }
39727
39726
  }
39728
- const conditions = esmMode ? ["import"] : ["require"];
39727
+ const conditions = resolutionMode === 99 /* ESNext */ ? ["import"] : ["require"];
39729
39728
  if (!options.noDtsResolution) {
39730
39729
  conditions.push("types");
39731
39730
  }
@@ -40174,13 +40173,13 @@ ${lanes.join("\n")}
40174
40173
  result = nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
40175
40174
  break;
40176
40175
  case 2 /* Node10 */:
40177
- result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode === 99 /* ESNext */) : void 0);
40176
+ result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode) : void 0);
40178
40177
  break;
40179
40178
  case 1 /* Classic */:
40180
40179
  result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference);
40181
40180
  break;
40182
40181
  case 100 /* Bundler */:
40183
- result = bundlerModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode === 99 /* ESNext */) : void 0);
40182
+ result = bundlerModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode) : void 0);
40184
40183
  break;
40185
40184
  default:
40186
40185
  return Debug.fail(`Unexpected moduleResolution: ${moduleResolution}`);
@@ -40445,7 +40444,7 @@ ${lanes.join("\n")}
40445
40444
  const moduleResolution = getEmitModuleResolutionKind(compilerOptions);
40446
40445
  conditions ?? (conditions = getConditions(
40447
40446
  compilerOptions,
40448
- moduleResolution === 100 /* Bundler */ || moduleResolution === 2 /* Node10 */ ? void 0 : !!(features & 32 /* EsmMode */)
40447
+ moduleResolution === 100 /* Bundler */ || moduleResolution === 2 /* Node10 */ ? void 0 : features & 32 /* EsmMode */ ? 99 /* ESNext */ : 1 /* CommonJS */
40449
40448
  ));
40450
40449
  const diagnostics = [];
40451
40450
  const state = {
@@ -40755,15 +40754,7 @@ ${lanes.join("\n")}
40755
40754
  entrypoints = append(entrypoints, mainResolution == null ? void 0 : mainResolution.path);
40756
40755
  if (features & 8 /* Exports */ && packageJsonInfo.contents.packageJsonContent.exports) {
40757
40756
  const conditionSets = deduplicate(
40758
- [getConditions(
40759
- options,
40760
- /*esmMode*/
40761
- true
40762
- ), getConditions(
40763
- options,
40764
- /*esmMode*/
40765
- false
40766
- )],
40757
+ [getConditions(options, 99 /* ESNext */), getConditions(options, 1 /* CommonJS */)],
40767
40758
  arrayIsEqualTo
40768
40759
  );
40769
40760
  for (const conditions of conditionSets) {
@@ -45497,7 +45488,7 @@ ${lanes.join("\n")}
45497
45488
  if (getResolvePackageJsonExports(options)) {
45498
45489
  const nodeModulesDirectoryName2 = packageRootPath.substring(parts.topLevelPackageNameIndex + 1);
45499
45490
  const packageName2 = getPackageNameFromTypesPackageName(nodeModulesDirectoryName2);
45500
- const conditions = getConditions(options, importMode === 99 /* ESNext */);
45491
+ const conditions = getConditions(options, importMode);
45501
45492
  const fromExports = packageJsonContent.exports ? tryGetModuleNameFromExports(options, path, packageRootPath, packageName2, packageJsonContent.exports, conditions) : void 0;
45502
45493
  if (fromExports) {
45503
45494
  const withJsExtension = !hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) };
@@ -80228,7 +80219,7 @@ ${lanes.join("\n")}
80228
80219
  }
80229
80220
  forEach(node.name.elements, checkSourceElement);
80230
80221
  }
80231
- if (isParameter(node) && node.initializer && nodeIsMissing(getContainingFunction(node).body)) {
80222
+ if (node.initializer && isParameterDeclaration(node) && nodeIsMissing(getContainingFunction(node).body)) {
80232
80223
  error2(node, Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation);
80233
80224
  return;
80234
80225
  }
@@ -137828,14 +137819,13 @@ ${lanes.join("\n")}
137828
137819
  }
137829
137820
  function doChange4(context, oldFile, targetFile, program, toMove, changes, host, preferences) {
137830
137821
  const checker = program.getTypeChecker();
137831
- const usage = getUsageInfo(oldFile, toMove.all, checker);
137832
137822
  if (!host.fileExists(targetFile)) {
137833
- changes.createNewFile(oldFile, targetFile, getNewStatementsAndRemoveFromOldFile2(oldFile, targetFile, usage, changes, toMove, program, host, preferences));
137823
+ changes.createNewFile(oldFile, targetFile, getNewStatementsAndRemoveFromOldFile2(oldFile, targetFile, getUsageInfo(oldFile, toMove.all, checker), changes, toMove, program, host, preferences));
137834
137824
  addNewFileToTsconfig(program, changes, oldFile.fileName, targetFile, hostGetCanonicalFileName(host));
137835
137825
  } else {
137836
137826
  const targetSourceFile = Debug.checkDefined(program.getSourceFile(targetFile));
137837
137827
  const importAdder = ts_codefix_exports.createImportAdder(targetSourceFile, context.program, context.preferences, context.host);
137838
- getNewStatementsAndRemoveFromOldFile2(oldFile, targetSourceFile, usage, changes, toMove, program, host, preferences, importAdder);
137828
+ getNewStatementsAndRemoveFromOldFile2(oldFile, targetSourceFile, getUsageInfo(oldFile, toMove.all, checker, getExistingImports(targetSourceFile, checker)), changes, toMove, program, host, preferences, importAdder);
137839
137829
  }
137840
137830
  }
137841
137831
  function getNewStatementsAndRemoveFromOldFile2(oldFile, targetFile, usage, changes, toMove, program, host, preferences, importAdder) {
@@ -138501,7 +138491,7 @@ ${lanes.join("\n")}
138501
138491
  return false;
138502
138492
  }
138503
138493
  }
138504
- function getUsageInfo(oldFile, toMove, checker) {
138494
+ function getUsageInfo(oldFile, toMove, checker, existingTargetImports = /* @__PURE__ */ new Set()) {
138505
138495
  const movedSymbols = /* @__PURE__ */ new Set();
138506
138496
  const oldImportsNeededByTargetFile = /* @__PURE__ */ new Map();
138507
138497
  const targetFileImportsFromOldFile = /* @__PURE__ */ new Set();
@@ -138515,10 +138505,16 @@ ${lanes.join("\n")}
138515
138505
  movedSymbols.add(Debug.checkDefined(isExpressionStatement(decl) ? checker.getSymbolAtLocation(decl.expression.left) : decl.symbol, "Need a symbol here"));
138516
138506
  });
138517
138507
  }
138508
+ const unusedImportsFromOldFile = /* @__PURE__ */ new Set();
138518
138509
  for (const statement of toMove) {
138519
138510
  forEachReference(statement, checker, (symbol, isValidTypeOnlyUseSite) => {
138520
- if (!symbol.declarations)
138511
+ if (!symbol.declarations) {
138512
+ return;
138513
+ }
138514
+ if (existingTargetImports.has(skipAlias(symbol, checker))) {
138515
+ unusedImportsFromOldFile.add(symbol);
138521
138516
  return;
138517
+ }
138522
138518
  for (const decl of symbol.declarations) {
138523
138519
  if (isInImport(decl)) {
138524
138520
  const prevIsTypeOnly = oldImportsNeededByTargetFile.get(symbol);
@@ -138529,7 +138525,9 @@ ${lanes.join("\n")}
138529
138525
  }
138530
138526
  });
138531
138527
  }
138532
- const unusedImportsFromOldFile = new Set(oldImportsNeededByTargetFile.keys());
138528
+ for (const unusedImport of oldImportsNeededByTargetFile.keys()) {
138529
+ unusedImportsFromOldFile.add(unusedImport);
138530
+ }
138533
138531
  const oldFileImportsFromTargetFile = /* @__PURE__ */ new Set();
138534
138532
  for (const statement of oldFile.statements) {
138535
138533
  if (contains(toMove, statement))
@@ -138715,6 +138713,29 @@ ${lanes.join("\n")}
138715
138713
  }
138716
138714
  return void 0;
138717
138715
  }
138716
+ function getExistingImports(sourceFile, checker) {
138717
+ const imports = /* @__PURE__ */ new Set();
138718
+ for (const moduleSpecifier of sourceFile.imports) {
138719
+ const declaration = importFromModuleSpecifier(moduleSpecifier);
138720
+ if (isImportDeclaration(declaration) && declaration.importClause && declaration.importClause.namedBindings && isNamedImports(declaration.importClause.namedBindings)) {
138721
+ for (const e of declaration.importClause.namedBindings.elements) {
138722
+ const symbol = checker.getSymbolAtLocation(e.propertyName || e.name);
138723
+ if (symbol) {
138724
+ imports.add(skipAlias(symbol, checker));
138725
+ }
138726
+ }
138727
+ }
138728
+ if (isVariableDeclarationInitializedToRequire(declaration.parent) && isObjectBindingPattern(declaration.parent.name)) {
138729
+ for (const e of declaration.parent.name.elements) {
138730
+ const symbol = checker.getSymbolAtLocation(e.propertyName || e.name);
138731
+ if (symbol) {
138732
+ imports.add(skipAlias(symbol, checker));
138733
+ }
138734
+ }
138735
+ }
138736
+ }
138737
+ return imports;
138738
+ }
138718
138739
  var refactorNameForMoveToFile, description2, moveToFileAction;
138719
138740
  var init_moveToFile = __esm({
138720
138741
  "src/services/refactors/moveToFile.ts"() {
@@ -160818,7 +160839,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
160818
160839
  }
160819
160840
  const keys = getOwnKeys(exports);
160820
160841
  const fragmentSubpath = components.join("/") + (components.length && hasTrailingDirectorySeparator(fragment) ? "/" : "");
160821
- const conditions = getConditions(compilerOptions, mode === 99 /* ESNext */);
160842
+ const conditions = getConditions(compilerOptions, mode);
160822
160843
  addCompletionEntriesFromPathsOrExports(
160823
160844
  result,
160824
160845
  fragmentSubpath,
@@ -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-dev.20231029`;
57
+ var version = `${versionMajorMinor}.0-dev.20231031`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
@@ -27615,16 +27615,16 @@ function getNodeResolutionFeatures(options) {
27615
27615
  }
27616
27616
  return features;
27617
27617
  }
27618
- function getConditions(options, esmMode) {
27618
+ function getConditions(options, resolutionMode) {
27619
27619
  const moduleResolution = getEmitModuleResolutionKind(options);
27620
- if (esmMode === void 0) {
27620
+ if (resolutionMode === void 0) {
27621
27621
  if (moduleResolution === 100 /* Bundler */) {
27622
- esmMode ?? (esmMode = moduleResolution === 100 /* Bundler */);
27622
+ resolutionMode = 99 /* ESNext */;
27623
27623
  } else if (moduleResolution === 2 /* Node10 */) {
27624
27624
  return [];
27625
27625
  }
27626
27626
  }
27627
- const conditions = esmMode ? ["import"] : ["require"];
27627
+ const conditions = resolutionMode === 99 /* ESNext */ ? ["import"] : ["require"];
27628
27628
  if (!options.noDtsResolution) {
27629
27629
  conditions.push("types");
27630
27630
  }
@@ -27685,13 +27685,13 @@ function resolveModuleName(moduleName, containingFile, compilerOptions, host, ca
27685
27685
  result = nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
27686
27686
  break;
27687
27687
  case 2 /* Node10 */:
27688
- result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode === 99 /* ESNext */) : void 0);
27688
+ result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode) : void 0);
27689
27689
  break;
27690
27690
  case 1 /* Classic */:
27691
27691
  result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference);
27692
27692
  break;
27693
27693
  case 100 /* Bundler */:
27694
- result = bundlerModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode === 99 /* ESNext */) : void 0);
27694
+ result = bundlerModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode ? getConditions(compilerOptions, resolutionMode) : void 0);
27695
27695
  break;
27696
27696
  default:
27697
27697
  return Debug.fail(`Unexpected moduleResolution: ${moduleResolution}`);
@@ -27938,7 +27938,7 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory,
27938
27938
  const moduleResolution = getEmitModuleResolutionKind(compilerOptions);
27939
27939
  conditions ?? (conditions = getConditions(
27940
27940
  compilerOptions,
27941
- moduleResolution === 100 /* Bundler */ || moduleResolution === 2 /* Node10 */ ? void 0 : !!(features & 32 /* EsmMode */)
27941
+ moduleResolution === 100 /* Bundler */ || moduleResolution === 2 /* Node10 */ ? void 0 : features & 32 /* EsmMode */ ? 99 /* ESNext */ : 1 /* CommonJS */
27942
27942
  ));
27943
27943
  const diagnostics = [];
27944
27944
  const state = {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "typescript",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "5.3.0-dev.20231029",
5
+ "version": "5.3.0-dev.20231031",
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": "f0374ce2a9c465e27a15b7fa4a347e2bd9079450"
117
+ "gitHead": "42d0e5100fcec4a50ca581a9198468b953aee587"
118
118
  }