typescript 5.6.0-dev.20240815 → 5.6.0-dev.20240816

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.
@@ -62,6 +62,7 @@
62
62
  "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433": "Eine Namespacedeklaration darf sich nicht in einer anderen Datei als die Klasse oder Funktion befinden, mit der sie zusammengeführt wird.",
63
63
  "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434": "Eine Namespacedeklaration darf nicht vor der Klasse oder Funktion positioniert werden, mit der sie zusammengeführt wird.",
64
64
  "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235": "Eine Namespacedeklaration ist nur auf der obersten Ebene eines Namespaces oder Moduls zulässig.",
65
+ "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540": "Eine Namespace-Deklaration darf nicht mit dem Schlüsselwort \"module\" deklariert werden. Verwenden Sie stattdessen das Schlüsselwort \"namespace\".",
65
66
  "A_non_dry_build_would_build_project_0_6357": "Bei einem Build ohne das Flag \"-dry\" würde das Projekt \"{0}\" erstellt.",
66
67
  "A_non_dry_build_would_delete_the_following_files_Colon_0_6356": "Bei einem Build ohne das Flag \"-dry\" würden die folgenden Dateien gelöscht: {0}",
67
68
  "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374": "Ein Build ohne das Flag \"-dry\" würde die Zeitstempel der Ausgabe von Projekt \"{0}\" aktualisieren.",
@@ -62,6 +62,7 @@
62
62
  "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433": "Una declaración de espacio de nombres no puede estar en un archivo distinto de una clase o función con la que se combina.",
63
63
  "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434": "Una declaración de espacio de nombres no se puede situar antes que una clase o función con la que se combina.",
64
64
  "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235": "Una declaración de espacio de nombres solo se permite en el nivel superior de un espacio de nombres o módulo.",
65
+ "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540": "Una declaración \"namespace\" no debe declararse con la palabra clave \"module\". Use la palabra clave \"namespace\" en su lugar.",
65
66
  "A_non_dry_build_would_build_project_0_6357": "Una compilación no -dry compilaría el proyecto \"{0}\"",
66
67
  "A_non_dry_build_would_delete_the_following_files_Colon_0_6356": "Una compilación no -dry eliminaría los archivos siguientes: {0}",
67
68
  "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374": "Una compilación no -dry actualizaría las marcas de tiempo para la salida del proyecto \"{0}\".",
@@ -62,6 +62,7 @@
62
62
  "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433": "Une déclaration d'espace de noms ne peut pas se trouver dans un autre fichier que celui d'une classe ou d'une fonction avec laquelle elle est fusionnée.",
63
63
  "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434": "Une déclaration d'espace de noms ne peut pas se trouver avant une classe ou une fonction avec laquelle elle est fusionnée.",
64
64
  "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235": "Une déclaration d’espace de noms n’est autorisée qu’au niveau supérieur d’un espace de noms ou d’un module.",
65
+ "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540": "Une déclaration d’« espace de noms » ne doit pas être déclarée à l’aide du mot clé « module ». Utilisez plutôt le mot clé « espace de noms ».",
65
66
  "A_non_dry_build_would_build_project_0_6357": "Une build non-dry va générer le projet '{0}'",
66
67
  "A_non_dry_build_would_delete_the_following_files_Colon_0_6356": "Une build non-dry va supprimer les fichiers suivants : {0}",
67
68
  "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374": "Une build non-dry va mettre à jour les horodatages de la sortie du projet '{0}'",
@@ -62,6 +62,7 @@
62
62
  "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433": "Una dichiarazione di spazio dei nomi non può essere presente in un file diverso rispetto a una classe o funzione con cui è stato eseguito il merge.",
63
63
  "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434": "Una dichiarazione di spazio dei nomi non può essere specificata prima di una classe o funzione con cui è stato eseguito il merge.",
64
64
  "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235": "Una dichiarazione di spazio dei nomi è consentita solo al livello superiore di uno spazio dei nomi o di un modulo.",
65
+ "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540": "Una dichiarazione 'namespace' non deve essere dichiarata usando la parola chiave 'module'. Usare invece la parola chiave 'namespace'.",
65
66
  "A_non_dry_build_would_build_project_0_6357": "Se si esegue una compilazione senza flag -dry, verrà compilato il progetto '{0}'",
66
67
  "A_non_dry_build_would_delete_the_following_files_Colon_0_6356": "Se si esegue una compilazione senza flag -dry, i file seguenti verranno eliminati: {0}",
67
68
  "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374": "Se si esegue una compilazione non di prova, i timestamp dell'output del progetto '{0}' verranno aggiornati",
@@ -62,6 +62,7 @@
62
62
  "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433": "名前空間宣言は、それとマージするクラスや関数と異なるファイルに配置できません。",
63
63
  "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434": "名前空間宣言は、それとマージするクラスや関数より前に配置できません。",
64
64
  "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235": "名前空間宣言は、名前空間またはモジュールの最上位レベルでのみ許可されます。",
65
+ "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540": "'namespace' 宣言を 'module' キーワードを使用して宣言することはできません。代わりに 'namespace' キーワードを使用してください。",
65
66
  "A_non_dry_build_would_build_project_0_6357": "非 -dry ビルドを実行した場合、プロジェクト '{0}' がビルドされます",
66
67
  "A_non_dry_build_would_delete_the_following_files_Colon_0_6356": "非 -dry ビルドを実行した場合、次のファイルが削除されます: {0}",
67
68
  "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374": "non-dry build では、プロジェクト '{0}' の出力のタイムスタンプが更新されます",
@@ -62,6 +62,7 @@
62
62
  "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433": "네임스페이스 선언은 해당 선언이 병합된 클래스나 함수와 다른 파일에 있을 수 없습니다,",
63
63
  "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434": "네임스페이스 선언은 해당 선언이 병합된 클래스나 함수 앞에 있을 수 없습니다.",
64
64
  "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235": "네임스페이스 선언은 네임스페이스 또는 모듈의 최상위 수준에서만 허용됩니다.",
65
+ "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540": "'module' 키워드를 사용하여 'namespace' 선언을 선언하면 안 됩니다. 대신 'namespace' 키워드를 사용하세요.",
65
66
  "A_non_dry_build_would_build_project_0_6357": "-dry가 아닌 빌드는 프로젝트 '{0}'을(를) 빌드합니다.",
66
67
  "A_non_dry_build_would_delete_the_following_files_Colon_0_6356": "-dry가 아닌 빌드는 다음 파일을 삭제합니다. {0}",
67
68
  "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374": "DRY가 아닌 빌드는 '{0}' 프로젝트의 출력 타임스탬프를 업데이트합니다.",
@@ -62,6 +62,7 @@
62
62
  "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433": "Uma declaração de namespace não pode estar em um arquivo diferente de uma classe ou função com a qual ela é mesclada.",
63
63
  "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434": "Uma declaração de namespace não pode estar localizada antes de uma classe ou função com a qual ela é mesclada.",
64
64
  "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235": "Uma declaração de namespace só é permitida no nível superior de um namespace ou módulo.",
65
+ "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540": "Uma declaração \"namespace\" não deve ser declarada usando a palavra-chave \"module\". Use a palavra-chave \"namespace\".",
65
66
  "A_non_dry_build_would_build_project_0_6357": "Um build não -dry criaria o projeto '{0}'",
66
67
  "A_non_dry_build_would_delete_the_following_files_Colon_0_6356": "Um build não -dry excluiria os seguintes arquivos: {0}",
67
68
  "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374": "Um build não -dry atualizaria carimbos de data/hora para a saída do projeto '{0}'",
@@ -62,6 +62,7 @@
62
62
  "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433": "Объявление пространства имен и класс или функция, с которыми оно объединено, не могут находится в разных файлах.",
63
63
  "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434": "Объявление пространства имен не может располагаться раньше класса или функции, с которыми оно объединено.",
64
64
  "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235": "Объявление пространства имен разрешено только на верхнем уровне пространства имен или модуля.",
65
+ "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540": "Объявление \"namespace\" с использованием ключевого слова \"module\" недопустимо. Вместо него используйте ключевое слово \"namespace\".",
65
66
  "A_non_dry_build_would_build_project_0_6357": "При сборке без флага -dry будет собран проект \"{0}\"",
66
67
  "A_non_dry_build_would_delete_the_following_files_Colon_0_6356": "При сборке без флага -dry будут удалены следующие файлы: {0}",
67
68
  "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374": "Сборка без флага -dry обновит метки времени для выходных данных проекта \"{0}\"",
@@ -62,6 +62,7 @@
62
62
  "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433": "Bir ad alanı bildirimi, birleştirildiği sınıf veya işlevden farklı bir dosyada olamaz.",
63
63
  "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434": "Bir ad alanı bildirimi, birleştirildiği sınıf veya işlevden önce gelemez.",
64
64
  "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235": "Ad alanı bildirimine yalnızca bir ad alanının veya modülün en üst düzeyinde izin verilir.",
65
+ "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540": "'module' anahtar sözcüğü kullanılarak 'namespace' bildirimi bildirilmez. Lütfen bunun yerine 'namespace' anahtar sözcüğünü kullanın.",
65
66
  "A_non_dry_build_would_build_project_0_6357": "-dry bayrağı kullanılmayan bir derleme '{0}' projesini derler",
66
67
  "A_non_dry_build_would_delete_the_following_files_Colon_0_6356": "-dry bayrağı kullanılmayan bir derleme şu dosyaları siler: {0}",
67
68
  "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374": "DRY dışı bir derleme, '{0}' projesinin çıkışı için zaman damgalarını güncelleştirir",
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.6";
21
- var version = `${versionMajorMinor}.0-dev.20240815`;
21
+ var version = `${versionMajorMinor}.0-dev.20240816`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -35840,7 +35840,6 @@ var commonOptionsWithBuild = [
35840
35840
  name: "generateTrace",
35841
35841
  type: "string",
35842
35842
  isFilePath: true,
35843
- isCommandLineOnly: true,
35844
35843
  paramType: Diagnostics.DIRECTORY,
35845
35844
  category: Diagnostics.Compiler_Diagnostics,
35846
35845
  description: Diagnostics.Generates_an_event_trace_and_a_list_of_types
@@ -46692,7 +46691,7 @@ function createTypeChecker(host) {
46692
46691
  }
46693
46692
  if (source.exports) {
46694
46693
  if (!target.exports) target.exports = createSymbolTable();
46695
- mergeSymbolTable(target.exports, source.exports, unidirectional);
46694
+ mergeSymbolTable(target.exports, source.exports, unidirectional, target);
46696
46695
  }
46697
46696
  if (!unidirectional) {
46698
46697
  recordMergedSymbol(target, source);
@@ -46772,10 +46771,14 @@ function createTypeChecker(host) {
46772
46771
  mergeSymbolTable(combined, second);
46773
46772
  return combined;
46774
46773
  }
46775
- function mergeSymbolTable(target, source, unidirectional = false) {
46774
+ function mergeSymbolTable(target, source, unidirectional = false, mergedParent) {
46776
46775
  source.forEach((sourceSymbol, id) => {
46777
46776
  const targetSymbol = target.get(id);
46778
- target.set(id, targetSymbol ? mergeSymbol(targetSymbol, sourceSymbol, unidirectional) : getMergedSymbol(sourceSymbol));
46777
+ const merged = targetSymbol ? mergeSymbol(targetSymbol, sourceSymbol, unidirectional) : getMergedSymbol(sourceSymbol);
46778
+ if (mergedParent && targetSymbol) {
46779
+ merged.parent = mergedParent;
46780
+ }
46781
+ target.set(id, merged);
46779
46782
  });
46780
46783
  }
46781
46784
  function mergeModuleAugmentation(moduleName) {
package/lib/typescript.js CHANGED
@@ -541,6 +541,7 @@ __export(typescript_exports, {
541
541
  extensionsNotSupportingExtensionlessResolution: () => extensionsNotSupportingExtensionlessResolution,
542
542
  externalHelpersModuleNameText: () => externalHelpersModuleNameText,
543
543
  factory: () => factory,
544
+ fileContainsPackageImport: () => fileContainsPackageImport,
544
545
  fileExtensionIs: () => fileExtensionIs,
545
546
  fileExtensionIsOneOf: () => fileExtensionIsOneOf,
546
547
  fileIncludeReasonToDiagnostics: () => fileIncludeReasonToDiagnostics,
@@ -2262,7 +2263,7 @@ module.exports = __toCommonJS(typescript_exports);
2262
2263
 
2263
2264
  // src/compiler/corePublic.ts
2264
2265
  var versionMajorMinor = "5.6";
2265
- var version = `${versionMajorMinor}.0-dev.20240815`;
2266
+ var version = `${versionMajorMinor}.0-dev.20240816`;
2266
2267
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2267
2268
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2268
2269
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -40110,7 +40111,6 @@ var commonOptionsWithBuild = [
40110
40111
  name: "generateTrace",
40111
40112
  type: "string",
40112
40113
  isFilePath: true,
40113
- isCommandLineOnly: true,
40114
40114
  paramType: Diagnostics.DIRECTORY,
40115
40115
  category: Diagnostics.Compiler_Diagnostics,
40116
40116
  description: Diagnostics.Generates_an_event_trace_and_a_list_of_types
@@ -51311,7 +51311,7 @@ function createTypeChecker(host) {
51311
51311
  }
51312
51312
  if (source.exports) {
51313
51313
  if (!target.exports) target.exports = createSymbolTable();
51314
- mergeSymbolTable(target.exports, source.exports, unidirectional);
51314
+ mergeSymbolTable(target.exports, source.exports, unidirectional, target);
51315
51315
  }
51316
51316
  if (!unidirectional) {
51317
51317
  recordMergedSymbol(target, source);
@@ -51391,10 +51391,14 @@ function createTypeChecker(host) {
51391
51391
  mergeSymbolTable(combined, second);
51392
51392
  return combined;
51393
51393
  }
51394
- function mergeSymbolTable(target, source, unidirectional = false) {
51394
+ function mergeSymbolTable(target, source, unidirectional = false, mergedParent) {
51395
51395
  source.forEach((sourceSymbol, id) => {
51396
51396
  const targetSymbol = target.get(id);
51397
- target.set(id, targetSymbol ? mergeSymbol(targetSymbol, sourceSymbol, unidirectional) : getMergedSymbol(sourceSymbol));
51397
+ const merged = targetSymbol ? mergeSymbol(targetSymbol, sourceSymbol, unidirectional) : getMergedSymbol(sourceSymbol);
51398
+ if (mergedParent && targetSymbol) {
51399
+ merged.parent = mergedParent;
51400
+ }
51401
+ target.set(id, merged);
51398
51402
  });
51399
51403
  }
51400
51404
  function mergeModuleAugmentation(moduleName) {
@@ -138717,7 +138721,7 @@ function createPackageJsonImportFilter(fromFile, preferences, host) {
138717
138721
  let sourceFileCache;
138718
138722
  return {
138719
138723
  allowsImportingAmbientModule,
138720
- allowsImportingSourceFile,
138724
+ getSourceFileInfo,
138721
138725
  allowsImportingSpecifier
138722
138726
  };
138723
138727
  function moduleSpecifierIsCoveredByPackageJson(specifier) {
@@ -138756,9 +138760,9 @@ function createPackageJsonImportFilter(fromFile, preferences, host) {
138756
138760
  ambientModuleCache.set(moduleSymbol, result);
138757
138761
  return result;
138758
138762
  }
138759
- function allowsImportingSourceFile(sourceFile, moduleSpecifierResolutionHost) {
138763
+ function getSourceFileInfo(sourceFile, moduleSpecifierResolutionHost) {
138760
138764
  if (!packageJsons.length) {
138761
- return true;
138765
+ return { importable: true, packageName: void 0 };
138762
138766
  }
138763
138767
  if (!sourceFileCache) {
138764
138768
  sourceFileCache = /* @__PURE__ */ new Map();
@@ -138768,12 +138772,14 @@ function createPackageJsonImportFilter(fromFile, preferences, host) {
138768
138772
  return cached;
138769
138773
  }
138770
138774
  }
138771
- const moduleSpecifier = getNodeModulesPackageNameFromFileName(sourceFile.fileName, moduleSpecifierResolutionHost);
138772
- if (!moduleSpecifier) {
138773
- sourceFileCache.set(sourceFile, true);
138774
- return true;
138775
+ const packageName = getNodeModulesPackageNameFromFileName(sourceFile.fileName, moduleSpecifierResolutionHost);
138776
+ if (!packageName) {
138777
+ const result2 = { importable: true, packageName };
138778
+ sourceFileCache.set(sourceFile, result2);
138779
+ return result2;
138775
138780
  }
138776
- const result = moduleSpecifierIsCoveredByPackageJson(moduleSpecifier);
138781
+ const importable = moduleSpecifierIsCoveredByPackageJson(packageName);
138782
+ const result = { importable, packageName };
138777
138783
  sourceFileCache.set(sourceFile, result);
138778
138784
  return result;
138779
138785
  }
@@ -139319,7 +139325,7 @@ function isImportableFile(program, from, to, preferences, packageJsonFilter, mod
139319
139325
  if (from === to) return false;
139320
139326
  const cachedResult = moduleSpecifierCache == null ? void 0 : moduleSpecifierCache.get(from.path, to.path, preferences, {});
139321
139327
  if ((cachedResult == null ? void 0 : cachedResult.isBlockedByPackageJsonDependencies) !== void 0) {
139322
- return !cachedResult.isBlockedByPackageJsonDependencies;
139328
+ return !cachedResult.isBlockedByPackageJsonDependencies || !!cachedResult.packageName && fileContainsPackageImport(from, cachedResult.packageName);
139323
139329
  }
139324
139330
  const getCanonicalFileName = hostGetCanonicalFileName(moduleSpecifierResolutionHost);
139325
139331
  const globalTypingsCache = (_a = moduleSpecifierResolutionHost.getGlobalTypingsCacheLocation) == null ? void 0 : _a.call(moduleSpecifierResolutionHost);
@@ -139335,12 +139341,15 @@ function isImportableFile(program, from, to, preferences, packageJsonFilter, mod
139335
139341
  }
139336
139342
  );
139337
139343
  if (packageJsonFilter) {
139338
- const isAutoImportable = hasImportablePath && packageJsonFilter.allowsImportingSourceFile(to, moduleSpecifierResolutionHost);
139339
- moduleSpecifierCache == null ? void 0 : moduleSpecifierCache.setBlockedByPackageJsonDependencies(from.path, to.path, preferences, {}, !isAutoImportable);
139340
- return isAutoImportable;
139344
+ const importInfo = hasImportablePath ? packageJsonFilter.getSourceFileInfo(to, moduleSpecifierResolutionHost) : void 0;
139345
+ moduleSpecifierCache == null ? void 0 : moduleSpecifierCache.setBlockedByPackageJsonDependencies(from.path, to.path, preferences, {}, importInfo == null ? void 0 : importInfo.packageName, !(importInfo == null ? void 0 : importInfo.importable));
139346
+ return !!(importInfo == null ? void 0 : importInfo.importable) || !!(importInfo == null ? void 0 : importInfo.packageName) && fileContainsPackageImport(from, importInfo.packageName);
139341
139347
  }
139342
139348
  return hasImportablePath;
139343
139349
  }
139350
+ function fileContainsPackageImport(sourceFile, packageName) {
139351
+ return sourceFile.imports && sourceFile.imports.some((i) => i.text === packageName || i.text.startsWith(packageName + "/"));
139352
+ }
139344
139353
  function isImportablePath(fromPath, toPath3, getCanonicalFileName, globalCachePath) {
139345
139354
  const toNodeModules = forEachAncestorDirectory(toPath3, (ancestor) => getBaseFileName(ancestor) === "node_modules" ? ancestor : void 0);
139346
139355
  const toNodeModulesParent = toNodeModules && getDirectoryPath(getCanonicalFileName(toNodeModules));
@@ -142338,6 +142347,7 @@ function transpileWorker(input, transpileOptions, declaration) {
142338
142347
  options.isolatedDeclarations = true;
142339
142348
  } else {
142340
142349
  options.declaration = false;
142350
+ options.declarationMap = false;
142341
142351
  }
142342
142352
  const newLine = getNewLineCharacter(options);
142343
142353
  const compilerHost = {
@@ -145117,7 +145127,12 @@ registerRefactor(refactorName4, {
145117
145127
  const { references, declaration, replacement } = info;
145118
145128
  const edits = ts_textChanges_exports.ChangeTracker.with(context, (tracker) => {
145119
145129
  for (const node of references) {
145120
- tracker.replaceNode(file, node, getReplacementExpression(node, replacement));
145130
+ const closestStringIdentifierParent = isStringLiteral(replacement) && isIdentifier(node) && walkUpParenthesizedExpressions(node.parent);
145131
+ if (closestStringIdentifierParent && isTemplateSpan(closestStringIdentifierParent) && !isTaggedTemplateExpression(closestStringIdentifierParent.parent.parent)) {
145132
+ replaceTemplateStringVariableWithLiteral(tracker, file, closestStringIdentifierParent, replacement);
145133
+ } else {
145134
+ tracker.replaceNode(file, node, getReplacementExpression(node, replacement));
145135
+ }
145121
145136
  }
145122
145137
  tracker.delete(file, declaration);
145123
145138
  });
@@ -145206,6 +145221,19 @@ function getReplacementExpression(reference, replacement) {
145206
145221
  }
145207
145222
  return replacement;
145208
145223
  }
145224
+ function replaceTemplateStringVariableWithLiteral(tracker, sourceFile, reference, replacement) {
145225
+ const templateExpression = reference.parent;
145226
+ const index = templateExpression.templateSpans.indexOf(reference);
145227
+ const prevNode = index === 0 ? templateExpression.head : templateExpression.templateSpans[index - 1];
145228
+ tracker.replaceRangeWithText(
145229
+ sourceFile,
145230
+ {
145231
+ pos: prevNode.getEnd() - 2,
145232
+ end: reference.literal.getStart() + 1
145233
+ },
145234
+ replacement.text.replace(/\\/g, "\\\\").replace(/`/g, "\\`")
145235
+ );
145236
+ }
145209
145237
 
145210
145238
  // src/services/refactors/moveToNewFile.ts
145211
145239
  var refactorName5 = "Move to a new file";
@@ -156144,7 +156172,7 @@ function getExportInfos(symbolName2, isJsxTagName, currentTokenMeaning, cancella
156144
156172
  });
156145
156173
  function addSymbol(moduleSymbol, toFile, exportedSymbol, exportKind, program2, isFromPackageJson) {
156146
156174
  const moduleSpecifierResolutionHost = getModuleSpecifierResolutionHost(isFromPackageJson);
156147
- if (toFile && isImportableFile(program2, fromFile, toFile, preferences, packageJsonFilter, moduleSpecifierResolutionHost, moduleSpecifierCache) || !toFile && packageJsonFilter.allowsImportingAmbientModule(moduleSymbol, moduleSpecifierResolutionHost)) {
156175
+ if (toFile && isImportableFile(program2, fromFile, toFile, preferences, packageJsonFilter, moduleSpecifierResolutionHost, moduleSpecifierCache) || (!toFile && packageJsonFilter.allowsImportingAmbientModule(moduleSymbol, moduleSpecifierResolutionHost) || fileContainsPackageImport(fromFile, stripQuotes(moduleSymbol.name)))) {
156148
156176
  const checker = program2.getTypeChecker();
156149
156177
  originalSymbolToExportInfos.add(getUniqueSymbolId(exportedSymbol, checker).toString(), { symbol: exportedSymbol, moduleSymbol, moduleFileName: toFile == null ? void 0 : toFile.fileName, exportKind, targetFlags: skipAlias(exportedSymbol, checker).flags, isFromPackageJson });
156150
156178
  }
@@ -166115,7 +166143,7 @@ function getCompletionData(program, log, sourceFile, compilerOptions, position,
166115
166143
  if (ts_JsTyping_exports.nodeCoreModules.has(moduleName) && startsWith(moduleName, "node:") !== shouldUseUriStyleNodeCoreModules(sourceFile, program)) {
166116
166144
  return false;
166117
166145
  }
166118
- return packageJsonFilter ? packageJsonFilter.allowsImportingAmbientModule(info.moduleSymbol, getModuleSpecifierResolutionHost(info.isFromPackageJson)) : true;
166146
+ return ((packageJsonFilter == null ? void 0 : packageJsonFilter.allowsImportingAmbientModule(info.moduleSymbol, getModuleSpecifierResolutionHost(info.isFromPackageJson))) ?? true) || fileContainsPackageImport(sourceFile, moduleName);
166119
166147
  }
166120
166148
  return isImportableFile(
166121
166149
  info.isFromPackageJson ? packageJsonAutoImportProvider : program,
@@ -179896,6 +179924,7 @@ __export(ts_exports2, {
179896
179924
  extensionsNotSupportingExtensionlessResolution: () => extensionsNotSupportingExtensionlessResolution,
179897
179925
  externalHelpersModuleNameText: () => externalHelpersModuleNameText,
179898
179926
  factory: () => factory,
179927
+ fileContainsPackageImport: () => fileContainsPackageImport,
179899
179928
  fileExtensionIs: () => fileExtensionIs,
179900
179929
  fileExtensionIsOneOf: () => fileExtensionIsOneOf,
179901
179930
  fileIncludeReasonToDiagnostics: () => fileIncludeReasonToDiagnostics,
@@ -185667,23 +185696,8 @@ var nullTypingsInstaller = {
185667
185696
  };
185668
185697
  var noopConfigFileWatcher = { close: noop };
185669
185698
  function getConfigFileNameFromCache(info, cache) {
185670
- if (!cache) return void 0;
185671
- const configFileForOpenFile = cache.get(info.path);
185672
- if (configFileForOpenFile === void 0) return void 0;
185673
- if (!isAncestorConfigFileInfo(info)) {
185674
- return isString(configFileForOpenFile) || !configFileForOpenFile ? configFileForOpenFile : (
185675
- // direct result
185676
- configFileForOpenFile.get(
185677
- /*key*/
185678
- false
185679
- )
185680
- );
185681
- } else {
185682
- return configFileForOpenFile && !isString(configFileForOpenFile) ? (
185683
- // Map with fileName as key
185684
- configFileForOpenFile.get(info.fileName)
185685
- ) : void 0;
185686
- }
185699
+ if (!cache || isAncestorConfigFileInfo(info)) return void 0;
185700
+ return cache.get(info.path);
185687
185701
  }
185688
185702
  function isOpenScriptInfo(infoOrFileNameOrConfig) {
185689
185703
  return !!infoOrFileNameOrConfig.containingProjects;
@@ -185697,17 +185711,13 @@ var ConfiguredProjectLoadKind = /* @__PURE__ */ ((ConfiguredProjectLoadKind2) =>
185697
185711
  ConfiguredProjectLoadKind2[ConfiguredProjectLoadKind2["Reload"] = 2] = "Reload";
185698
185712
  return ConfiguredProjectLoadKind2;
185699
185713
  })(ConfiguredProjectLoadKind || {});
185700
- function forEachAncestorProject(info, project, cb, kind, reason, allowDeferredClosed, reloadedProjects, searchOnlyPotentialSolution, delayReloadedConfiguredProjects) {
185714
+ function forEachAncestorProject(info, project, cb, kind, reason, allowDeferredClosed, reloadedProjects, delayReloadedConfiguredProjects) {
185701
185715
  while (true) {
185702
- if (!project.isInitialLoadPending() && (searchOnlyPotentialSolution && !project.getCompilerOptions().composite || // Currently disableSolutionSearching is shared for finding solution/project when
185703
- // - loading solution for find all references
185704
- // - trying to find default project
185705
- project.getCompilerOptions().disableSolutionSearching)) return;
185716
+ if (!project.isInitialLoadPending() && (!project.getCompilerOptions().composite || project.getCompilerOptions().disableSolutionSearching)) return;
185706
185717
  const configFileName = project.projectService.getConfigFileNameForFile({
185707
185718
  fileName: project.getConfigFilePath(),
185708
185719
  path: info.path,
185709
- configFileInfo: true,
185710
- isForDefaultProject: !searchOnlyPotentialSolution
185720
+ configFileInfo: true
185711
185721
  }, kind === 0 /* Find */);
185712
185722
  if (!configFileName) return;
185713
185723
  const ancestor = project.projectService.findCreateOrReloadConfiguredProject(
@@ -185715,11 +185725,11 @@ function forEachAncestorProject(info, project, cb, kind, reason, allowDeferredCl
185715
185725
  kind,
185716
185726
  reason,
185717
185727
  allowDeferredClosed,
185718
- !searchOnlyPotentialSolution ? info.fileName : void 0,
185719
- // Config Diag event for project if its for default project
185728
+ /*triggerFile*/
185729
+ void 0,
185720
185730
  reloadedProjects,
185721
- searchOnlyPotentialSolution,
185722
- // Delay load if we are searching for solution
185731
+ /*delayLoad*/
185732
+ true,
185723
185733
  delayReloadedConfiguredProjects
185724
185734
  );
185725
185735
  if (!ancestor) return;
@@ -186830,7 +186840,7 @@ var _ProjectService = class _ProjectService {
186830
186840
  configFileExists(configFileName, canonicalConfigFilePath, info) {
186831
186841
  const configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath);
186832
186842
  let openFilesImpactedByConfigFile;
186833
- if (this.openFiles.has(info.path) && (!isAncestorConfigFileInfo(info) || info.isForDefaultProject)) {
186843
+ if (this.openFiles.has(info.path) && !isAncestorConfigFileInfo(info)) {
186834
186844
  if (configFileExistenceInfo) (configFileExistenceInfo.openFilesImpactedByConfigFile ?? (configFileExistenceInfo.openFilesImpactedByConfigFile = /* @__PURE__ */ new Set())).add(info.path);
186835
186845
  else (openFilesImpactedByConfigFile = /* @__PURE__ */ new Set()).add(info.path);
186836
186846
  }
@@ -186957,31 +186967,24 @@ var _ProjectService = class _ProjectService {
186957
186967
  let searchPath = asNormalizedPath(getDirectoryPath(info.fileName));
186958
186968
  const isSearchPathInProjectRoot = () => containsPath(projectRootPath, searchPath, this.currentDirectory, !this.host.useCaseSensitiveFileNames);
186959
186969
  const anySearchPathOk = !projectRootPath || !isSearchPathInProjectRoot();
186960
- let searchTsconfig = true;
186961
- let searchJsconfig = true;
186962
- if (isAncestorConfigFileInfo(info)) {
186963
- if (endsWith(info.fileName, "tsconfig.json")) searchTsconfig = false;
186964
- else searchTsconfig = searchJsconfig = false;
186965
- }
186970
+ let searchInDirectory = !isAncestorConfigFileInfo(info);
186966
186971
  do {
186967
- const canonicalSearchPath = normalizedPathToPath(searchPath, this.currentDirectory, this.toCanonicalFileName);
186968
- if (searchTsconfig) {
186972
+ if (searchInDirectory) {
186973
+ const canonicalSearchPath = normalizedPathToPath(searchPath, this.currentDirectory, this.toCanonicalFileName);
186969
186974
  const tsconfigFileName = asNormalizedPath(combinePaths(searchPath, "tsconfig.json"));
186970
- const result = action(combinePaths(canonicalSearchPath, "tsconfig.json"), tsconfigFileName);
186975
+ let result = action(combinePaths(canonicalSearchPath, "tsconfig.json"), tsconfigFileName);
186971
186976
  if (result) return tsconfigFileName;
186972
- }
186973
- if (searchJsconfig) {
186974
186977
  const jsconfigFileName = asNormalizedPath(combinePaths(searchPath, "jsconfig.json"));
186975
- const result = action(combinePaths(canonicalSearchPath, "jsconfig.json"), jsconfigFileName);
186978
+ result = action(combinePaths(canonicalSearchPath, "jsconfig.json"), jsconfigFileName);
186976
186979
  if (result) return jsconfigFileName;
186977
- }
186978
- if (isNodeModulesDirectory(canonicalSearchPath)) {
186979
- break;
186980
+ if (isNodeModulesDirectory(canonicalSearchPath)) {
186981
+ break;
186982
+ }
186980
186983
  }
186981
186984
  const parentPath = asNormalizedPath(getDirectoryPath(searchPath));
186982
186985
  if (parentPath === searchPath) break;
186983
186986
  searchPath = parentPath;
186984
- searchTsconfig = searchJsconfig = true;
186987
+ searchInDirectory = true;
186985
186988
  } while (anySearchPathOk || isSearchPathInProjectRoot());
186986
186989
  return void 0;
186987
186990
  }
@@ -187004,19 +187007,8 @@ var _ProjectService = class _ProjectService {
187004
187007
  /** Caches the configFilename for script info or ancestor of open script info */
187005
187008
  setConfigFileNameForFileInCache(info, configFileName) {
187006
187009
  if (!this.openFiles.has(info.path)) return;
187007
- const config = configFileName || false;
187008
- if (!isAncestorConfigFileInfo(info)) {
187009
- this.configFileForOpenFiles.set(info.path, config);
187010
- } else {
187011
- let configFileForOpenFile = this.configFileForOpenFiles.get(info.path);
187012
- if (!configFileForOpenFile || isString(configFileForOpenFile)) {
187013
- this.configFileForOpenFiles.set(
187014
- info.path,
187015
- configFileForOpenFile = (/* @__PURE__ */ new Map()).set(false, configFileForOpenFile)
187016
- );
187017
- }
187018
- configFileForOpenFile.set(info.fileName, config);
187019
- }
187010
+ if (isAncestorConfigFileInfo(info)) return;
187011
+ this.configFileForOpenFiles.set(info.path, configFileName || false);
187020
187012
  }
187021
187013
  /**
187022
187014
  * This function tries to search for a tsconfig.json for the given file.
@@ -188402,7 +188394,7 @@ Dynamic files must always be opened with service's current directory or service
188402
188394
  seenProjects
188403
188395
  };
188404
188396
  function tryFindDefaultConfiguredProject(project) {
188405
- return isDefaultProject(project) ? defaultProject : tryFindDefaultConfiguredProjectFromReferences(project) ?? tryFindDefaultConfiguredProjectFromAncestor(project);
188397
+ return isDefaultProject(project) ? defaultProject : tryFindDefaultConfiguredProjectFromReferences(project);
188406
188398
  }
188407
188399
  function isDefaultProject(project) {
188408
188400
  if (!tryAddToSet(seenProjects, project)) return;
@@ -188425,20 +188417,6 @@ Dynamic files must always be opened with service's current directory or service
188425
188417
  reloadedProjects
188426
188418
  );
188427
188419
  }
188428
- function tryFindDefaultConfiguredProjectFromAncestor(project) {
188429
- return forEachAncestorProject(
188430
- // If not in referenced projects, try ancestors and its references
188431
- info,
188432
- project,
188433
- tryFindDefaultConfiguredProject,
188434
- kind,
188435
- `Creating possible configured project for ${info.fileName} to open`,
188436
- allowDeferredClosed,
188437
- reloadedProjects,
188438
- /*searchOnlyPotentialSolution*/
188439
- false
188440
- );
188441
- }
188442
188420
  }
188443
188421
  tryFindDefaultConfiguredProjectAndLoadAncestorsForOpenScriptInfo(info, kind, reloadedProjects, delayReloadedConfiguredProjects) {
188444
188422
  const allowDeferredClosed = kind === 0 /* Find */;
@@ -188461,8 +188439,6 @@ Dynamic files must always be opened with service's current directory or service
188461
188439
  `Creating project possibly referencing default composite project ${defaultProject.getProjectName()} of open file ${info.fileName}`,
188462
188440
  allowDeferredClosed,
188463
188441
  reloadedProjects,
188464
- /*searchOnlyPotentialSolution*/
188465
- true,
188466
188442
  delayReloadedConfiguredProjects
188467
188443
  );
188468
188444
  }
@@ -189234,6 +189210,8 @@ function createModuleSpecifierCache(host) {
189234
189210
  kind,
189235
189211
  modulePaths,
189236
189212
  moduleSpecifiers,
189213
+ /*packageName*/
189214
+ void 0,
189237
189215
  /*isBlockedByPackageJsonDependencies*/
189238
189216
  false
189239
189217
  ));
@@ -189264,16 +189242,19 @@ function createModuleSpecifierCache(host) {
189264
189242
  modulePaths,
189265
189243
  /*moduleSpecifiers*/
189266
189244
  void 0,
189245
+ /*packageName*/
189246
+ void 0,
189267
189247
  /*isBlockedByPackageJsonDependencies*/
189268
189248
  void 0
189269
189249
  ));
189270
189250
  }
189271
189251
  },
189272
- setBlockedByPackageJsonDependencies(fromFileName, toFileName2, preferences, options, isBlockedByPackageJsonDependencies) {
189252
+ setBlockedByPackageJsonDependencies(fromFileName, toFileName2, preferences, options, packageName, isBlockedByPackageJsonDependencies) {
189273
189253
  const cache2 = ensureCache(fromFileName, preferences, options);
189274
189254
  const info = cache2.get(toFileName2);
189275
189255
  if (info) {
189276
189256
  info.isBlockedByPackageJsonDependencies = isBlockedByPackageJsonDependencies;
189257
+ info.packageName = packageName;
189277
189258
  } else {
189278
189259
  cache2.set(toFileName2, createInfo(
189279
189260
  /*kind*/
@@ -189282,6 +189263,7 @@ function createModuleSpecifierCache(host) {
189282
189263
  void 0,
189283
189264
  /*moduleSpecifiers*/
189284
189265
  void 0,
189266
+ packageName,
189285
189267
  isBlockedByPackageJsonDependencies
189286
189268
  ));
189287
189269
  }
@@ -189311,8 +189293,8 @@ function createModuleSpecifierCache(host) {
189311
189293
  function key(fromFileName, preferences, options) {
189312
189294
  return `${fromFileName},${preferences.importModuleSpecifierEnding},${preferences.importModuleSpecifierPreference},${options.overrideImportMode}`;
189313
189295
  }
189314
- function createInfo(kind, modulePaths, moduleSpecifiers, isBlockedByPackageJsonDependencies) {
189315
- return { kind, modulePaths, moduleSpecifiers, isBlockedByPackageJsonDependencies };
189296
+ function createInfo(kind, modulePaths, moduleSpecifiers, packageName, isBlockedByPackageJsonDependencies) {
189297
+ return { kind, modulePaths, moduleSpecifiers, packageName, isBlockedByPackageJsonDependencies };
189316
189298
  }
189317
189299
  }
189318
189300
 
@@ -194300,6 +194282,7 @@ if (typeof console !== "undefined") {
194300
194282
  extensionsNotSupportingExtensionlessResolution,
194301
194283
  externalHelpersModuleNameText,
194302
194284
  factory,
194285
+ fileContainsPackageImport,
194303
194286
  fileExtensionIs,
194304
194287
  fileExtensionIsOneOf,
194305
194288
  fileIncludeReasonToDiagnostics,
@@ -62,6 +62,7 @@
62
62
  "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433": "命名空間宣告的所在檔案位置,不得與其要合併的類別或函式不同。",
63
63
  "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434": "命名空間宣告的位置不得先於其要合併的類別或函式。",
64
64
  "A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235": "命名空間宣告只允許在命名空間或模組的頂層。",
65
+ "A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540": "不應該使用 'module' 關鍵字宣告 'namespace' 宣告。請改為使用 'namespace' 關鍵字。",
65
66
  "A_non_dry_build_would_build_project_0_6357": "非 -dry 組建會建置專案 '{0}'",
66
67
  "A_non_dry_build_would_delete_the_following_files_Colon_0_6356": "非 -dry 組建會刪除下列檔案: {0}",
67
68
  "A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374": "非 DRY 組建將會更新專案 '{0}' 輸出的時間戳記",
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.6.0-dev.20240815",
5
+ "version": "5.6.0-dev.20240816",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -117,5 +117,5 @@
117
117
  "node": "20.1.0",
118
118
  "npm": "8.19.4"
119
119
  },
120
- "gitHead": "3ed2e8ed34419890228935f0cd59df80e7a10f1f"
120
+ "gitHead": "52395892e0c4ee8a22b4fa6190bad46d81e66651"
121
121
  }