tsc-ts 0.0.4 → 0.0.6

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.
Files changed (584) hide show
  1. package/README.md +34 -2
  2. package/dist/api/compiler/ast-utilities.d.ts +82 -0
  3. package/dist/api/compiler/ast-utilities.js +462 -0
  4. package/dist/api/compiler/ast.d.ts +2351 -0
  5. package/dist/api/compiler/ast.js +11212 -0
  6. package/dist/api/compiler/astnav.d.ts +37 -0
  7. package/dist/api/compiler/astnav.js +767 -0
  8. package/dist/api/compiler/binder-utilities.d.ts +182 -0
  9. package/dist/api/compiler/binder-utilities.js +1241 -0
  10. package/dist/api/compiler/binder.d.ts +33 -0
  11. package/dist/api/compiler/binder.js +2359 -0
  12. package/dist/api/compiler/character-codes.d.ts +161 -0
  13. package/dist/api/compiler/character-codes.js +160 -0
  14. package/dist/api/compiler/checker-calls.d.ts +46 -0
  15. package/dist/api/compiler/checker-calls.js +1641 -0
  16. package/dist/api/compiler/checker-classes.d.ts +30 -0
  17. package/dist/api/compiler/checker-classes.js +582 -0
  18. package/dist/api/compiler/checker-contextual.d.ts +77 -0
  19. package/dist/api/compiler/checker-contextual.js +1136 -0
  20. package/dist/api/compiler/checker-declaration-order.d.ts +12 -0
  21. package/dist/api/compiler/checker-declaration-order.js +357 -0
  22. package/dist/api/compiler/checker-declarations.d.ts +33 -0
  23. package/dist/api/compiler/checker-declarations.js +888 -0
  24. package/dist/api/compiler/checker-declared-types.d.ts +48 -0
  25. package/dist/api/compiler/checker-declared-types.js +788 -0
  26. package/dist/api/compiler/checker-decorators.d.ts +26 -0
  27. package/dist/api/compiler/checker-decorators.js +562 -0
  28. package/dist/api/compiler/checker-deprecation.d.ts +33 -0
  29. package/dist/api/compiler/checker-deprecation.js +314 -0
  30. package/dist/api/compiler/checker-destructuring.d.ts +34 -0
  31. package/dist/api/compiler/checker-destructuring.js +584 -0
  32. package/dist/api/compiler/checker-elaboration.d.ts +15 -0
  33. package/dist/api/compiler/checker-elaboration.js +291 -0
  34. package/dist/api/compiler/checker-emit-helpers.d.ts +58 -0
  35. package/dist/api/compiler/checker-emit-helpers.js +154 -0
  36. package/dist/api/compiler/checker-emit-resolver.d.ts +75 -0
  37. package/dist/api/compiler/checker-emit-resolver.js +580 -0
  38. package/dist/api/compiler/checker-evaluator.d.ts +27 -0
  39. package/dist/api/compiler/checker-evaluator.js +188 -0
  40. package/dist/api/compiler/checker-expressions.d.ts +67 -0
  41. package/dist/api/compiler/checker-expressions.js +1351 -0
  42. package/dist/api/compiler/checker-features.d.ts +6 -0
  43. package/dist/api/compiler/checker-features.js +354 -0
  44. package/dist/api/compiler/checker-flow.d.ts +86 -0
  45. package/dist/api/compiler/checker-flow.js +169 -0
  46. package/dist/api/compiler/checker-functions.d.ts +43 -0
  47. package/dist/api/compiler/checker-functions.js +1002 -0
  48. package/dist/api/compiler/checker-generated-code.d.ts +25 -0
  49. package/dist/api/compiler/checker-generated-code.js +168 -0
  50. package/dist/api/compiler/checker-globals.d.ts +14 -0
  51. package/dist/api/compiler/checker-globals.js +37 -0
  52. package/dist/api/compiler/checker-grammar.d.ts +35 -0
  53. package/dist/api/compiler/checker-grammar.js +2587 -0
  54. package/dist/api/compiler/checker-heritage.d.ts +28 -0
  55. package/dist/api/compiler/checker-heritage.js +901 -0
  56. package/dist/api/compiler/checker-inference.d.ts +179 -0
  57. package/dist/api/compiler/checker-inference.js +2105 -0
  58. package/dist/api/compiler/checker-iteration.d.ts +115 -0
  59. package/dist/api/compiler/checker-iteration.js +857 -0
  60. package/dist/api/compiler/checker-javascript.d.ts +42 -0
  61. package/dist/api/compiler/checker-javascript.js +442 -0
  62. package/dist/api/compiler/checker-jsdoc.d.ts +30 -0
  63. package/dist/api/compiler/checker-jsdoc.js +320 -0
  64. package/dist/api/compiler/checker-jsx.d.ts +94 -0
  65. package/dist/api/compiler/checker-jsx.js +1433 -0
  66. package/dist/api/compiler/checker-literals.d.ts +6 -0
  67. package/dist/api/compiler/checker-literals.js +43 -0
  68. package/dist/api/compiler/checker-members.d.ts +200 -0
  69. package/dist/api/compiler/checker-members.js +2148 -0
  70. package/dist/api/compiler/checker-modules.d.ts +85 -0
  71. package/dist/api/compiler/checker-modules.js +2141 -0
  72. package/dist/api/compiler/checker-narrowing.d.ts +120 -0
  73. package/dist/api/compiler/checker-narrowing.js +2797 -0
  74. package/dist/api/compiler/checker-object-literals.d.ts +14 -0
  75. package/dist/api/compiler/checker-object-literals.js +483 -0
  76. package/dist/api/compiler/checker-operators.d.ts +33 -0
  77. package/dist/api/compiler/checker-operators.js +1040 -0
  78. package/dist/api/compiler/checker-overloads.d.ts +7 -0
  79. package/dist/api/compiler/checker-overloads.js +271 -0
  80. package/dist/api/compiler/checker-property-access.d.ts +34 -0
  81. package/dist/api/compiler/checker-property-access.js +672 -0
  82. package/dist/api/compiler/checker-services.d.ts +49 -0
  83. package/dist/api/compiler/checker-services.js +995 -0
  84. package/dist/api/compiler/checker-signatures.d.ts +55 -0
  85. package/dist/api/compiler/checker-signatures.js +789 -0
  86. package/dist/api/compiler/checker-source-file.d.ts +27 -0
  87. package/dist/api/compiler/checker-source-file.js +619 -0
  88. package/dist/api/compiler/checker-statements.d.ts +18 -0
  89. package/dist/api/compiler/checker-statements.js +226 -0
  90. package/dist/api/compiler/checker-super.d.ts +13 -0
  91. package/dist/api/compiler/checker-super.js +241 -0
  92. package/dist/api/compiler/checker-symbol-types.d.ts +51 -0
  93. package/dist/api/compiler/checker-symbol-types.js +955 -0
  94. package/dist/api/compiler/checker-symbols.d.ts +181 -0
  95. package/dist/api/compiler/checker-symbols.js +1784 -0
  96. package/dist/api/compiler/checker-type-factory.d.ts +142 -0
  97. package/dist/api/compiler/checker-type-factory.js +2542 -0
  98. package/dist/api/compiler/checker-type-nodes.d.ts +26 -0
  99. package/dist/api/compiler/checker-type-nodes.js +828 -0
  100. package/dist/api/compiler/checker-type-operators.d.ts +109 -0
  101. package/dist/api/compiler/checker-type-operators.js +1842 -0
  102. package/dist/api/compiler/checker-types.d.ts +1093 -0
  103. package/dist/api/compiler/checker-types.js +1874 -0
  104. package/dist/api/compiler/checker-unused.d.ts +19 -0
  105. package/dist/api/compiler/checker-unused.js +524 -0
  106. package/dist/api/compiler/checker-utilities.d.ts +33 -0
  107. package/dist/api/compiler/checker-utilities.js +141 -0
  108. package/dist/api/compiler/checker.d.ts +512 -0
  109. package/dist/api/compiler/checker.js +932 -0
  110. package/dist/api/compiler/command-line.d.ts +32 -0
  111. package/dist/api/compiler/command-line.js +383 -0
  112. package/dist/api/compiler/compile-program.d.ts +118 -0
  113. package/dist/api/compiler/compile-program.js +384 -0
  114. package/dist/api/compiler/diagnostic-locales.d.ts +22 -0
  115. package/dist/api/compiler/diagnostic-locales.js +64 -0
  116. package/dist/api/compiler/diagnostic-messages.d.ts +2166 -0
  117. package/dist/api/compiler/diagnostic-messages.js +184 -0
  118. package/dist/api/compiler/diagnostics.d.ts +161 -0
  119. package/dist/api/compiler/diagnostics.js +784 -0
  120. package/dist/api/compiler/emitter.d.ts +71 -0
  121. package/dist/api/compiler/emitter.js +327 -0
  122. package/dist/api/compiler/file-include.d.ts +144 -0
  123. package/dist/api/compiler/file-include.js +599 -0
  124. package/dist/api/compiler/file-loader.d.ts +290 -0
  125. package/dist/api/compiler/file-loader.js +1323 -0
  126. package/dist/api/compiler/file-system.d.ts +51 -0
  127. package/dist/api/compiler/file-system.js +132 -0
  128. package/dist/api/compiler/flow.d.ts +60 -0
  129. package/dist/api/compiler/flow.js +45 -0
  130. package/dist/api/compiler/instantiation.d.ts +74 -0
  131. package/dist/api/compiler/instantiation.js +835 -0
  132. package/dist/api/compiler/jsdoc.d.ts +75 -0
  133. package/dist/api/compiler/jsdoc.js +1229 -0
  134. package/dist/api/compiler/link-tables.d.ts +105 -0
  135. package/dist/api/compiler/link-tables.js +319 -0
  136. package/dist/api/compiler/locale-data.d.ts +24 -0
  137. package/dist/api/compiler/locale-data.js +183 -0
  138. package/dist/api/compiler/locale.d.ts +4 -0
  139. package/dist/api/compiler/locale.js +317 -0
  140. package/dist/api/compiler/locales/cs-CZ.d.ts +2 -0
  141. package/dist/api/compiler/locales/cs-CZ.js +3 -0
  142. package/dist/api/compiler/locales/de-DE.d.ts +2 -0
  143. package/dist/api/compiler/locales/de-DE.js +3 -0
  144. package/dist/api/compiler/locales/es-ES.d.ts +2 -0
  145. package/dist/api/compiler/locales/es-ES.js +3 -0
  146. package/dist/api/compiler/locales/fr-FR.d.ts +2 -0
  147. package/dist/api/compiler/locales/fr-FR.js +3 -0
  148. package/dist/api/compiler/locales/it-IT.d.ts +2 -0
  149. package/dist/api/compiler/locales/it-IT.js +3 -0
  150. package/dist/api/compiler/locales/ja-JP.d.ts +2 -0
  151. package/dist/api/compiler/locales/ja-JP.js +3 -0
  152. package/dist/api/compiler/locales/ko-KR.d.ts +2 -0
  153. package/dist/api/compiler/locales/ko-KR.js +3 -0
  154. package/dist/api/compiler/locales/pl-PL.d.ts +2 -0
  155. package/dist/api/compiler/locales/pl-PL.js +3 -0
  156. package/dist/api/compiler/locales/pt-BR.d.ts +2 -0
  157. package/dist/api/compiler/locales/pt-BR.js +3 -0
  158. package/dist/api/compiler/locales/ru-RU.d.ts +2 -0
  159. package/dist/api/compiler/locales/ru-RU.js +3 -0
  160. package/dist/api/compiler/locales/tr-TR.d.ts +2 -0
  161. package/dist/api/compiler/locales/tr-TR.js +3 -0
  162. package/dist/api/compiler/locales/zh-CN.d.ts +2 -0
  163. package/dist/api/compiler/locales/zh-CN.js +3 -0
  164. package/dist/api/compiler/locales/zh-TW.d.ts +2 -0
  165. package/dist/api/compiler/locales/zh-TW.js +3 -0
  166. package/dist/api/compiler/module-resolution-types.d.ts +83 -0
  167. package/dist/api/compiler/module-resolution-types.js +176 -0
  168. package/dist/api/compiler/module-resolution.d.ts +71 -0
  169. package/dist/api/compiler/module-resolution.js +1598 -0
  170. package/dist/api/compiler/module-specifiers.d.ts +64 -0
  171. package/dist/api/compiler/module-specifiers.js +1101 -0
  172. package/dist/api/compiler/name-resolver.d.ts +43 -0
  173. package/dist/api/compiler/name-resolver.js +509 -0
  174. package/dist/api/compiler/node-builder-names.d.ts +32 -0
  175. package/dist/api/compiler/node-builder-names.js +854 -0
  176. package/dist/api/compiler/node-builder-pseudo.d.ts +36 -0
  177. package/dist/api/compiler/node-builder-pseudo.js +745 -0
  178. package/dist/api/compiler/node-builder-reuse.d.ts +4 -0
  179. package/dist/api/compiler/node-builder-reuse.js +647 -0
  180. package/dist/api/compiler/node-builder.d.ts +270 -0
  181. package/dist/api/compiler/node-builder.js +2645 -0
  182. package/dist/api/compiler/option-declarations.d.ts +90 -0
  183. package/dist/api/compiler/option-declarations.js +1460 -0
  184. package/dist/api/compiler/options.d.ts +289 -0
  185. package/dist/api/compiler/options.js +1197 -0
  186. package/dist/api/compiler/output-paths.d.ts +42 -0
  187. package/dist/api/compiler/output-paths.js +195 -0
  188. package/dist/api/compiler/package-json.d.ts +175 -0
  189. package/dist/api/compiler/package-json.js +1015 -0
  190. package/dist/api/compiler/parallel-parse.d.ts +221 -0
  191. package/dist/api/compiler/parallel-parse.js +541 -0
  192. package/dist/api/compiler/parser.d.ts +604 -0
  193. package/dist/api/compiler/parser.js +6426 -0
  194. package/dist/api/compiler/path.d.ts +91 -0
  195. package/dist/api/compiler/path.js +705 -0
  196. package/dist/api/compiler/printer/async-helpers.d.ts +22 -0
  197. package/dist/api/compiler/printer/async-helpers.js +91 -0
  198. package/dist/api/compiler/printer/auto-generate.d.ts +13 -0
  199. package/dist/api/compiler/printer/auto-generate.js +20 -0
  200. package/dist/api/compiler/printer/decorator-helpers.d.ts +24 -0
  201. package/dist/api/compiler/printer/decorator-helpers.js +118 -0
  202. package/dist/api/compiler/printer/emit-context.d.ts +157 -0
  203. package/dist/api/compiler/printer/emit-context.js +582 -0
  204. package/dist/api/compiler/printer/emit-flags.d.ts +60 -0
  205. package/dist/api/compiler/printer/emit-flags.js +2 -0
  206. package/dist/api/compiler/printer/factory-base.d.ts +171 -0
  207. package/dist/api/compiler/printer/factory-base.js +1505 -0
  208. package/dist/api/compiler/printer/factory.d.ts +147 -0
  209. package/dist/api/compiler/printer/factory.js +542 -0
  210. package/dist/api/compiler/printer/helpers.d.ts +27 -0
  211. package/dist/api/compiler/printer/helpers.js +164 -0
  212. package/dist/api/compiler/printer/name-generator.d.ts +41 -0
  213. package/dist/api/compiler/printer/name-generator.js +283 -0
  214. package/dist/api/compiler/printer/printer.d.ts +411 -0
  215. package/dist/api/compiler/printer/printer.js +4517 -0
  216. package/dist/api/compiler/printer/text-writer.d.ts +46 -0
  217. package/dist/api/compiler/printer/text-writer.js +172 -0
  218. package/dist/api/compiler/printer/utilities.d.ts +82 -0
  219. package/dist/api/compiler/printer/utilities.js +817 -0
  220. package/dist/api/compiler/program-checker.d.ts +156 -0
  221. package/dist/api/compiler/program-checker.js +529 -0
  222. package/dist/api/compiler/program-utilities.d.ts +52 -0
  223. package/dist/api/compiler/program-utilities.js +365 -0
  224. package/dist/api/compiler/program.d.ts +180 -0
  225. package/dist/api/compiler/program.js +1019 -0
  226. package/dist/api/compiler/pseudo-bigint.d.ts +5 -0
  227. package/dist/api/compiler/pseudo-bigint.js +61 -0
  228. package/dist/api/compiler/regexp-checker.d.ts +38 -0
  229. package/dist/api/compiler/regexp-checker.js +942 -0
  230. package/dist/api/compiler/relations.d.ts +263 -0
  231. package/dist/api/compiler/relations.js +4002 -0
  232. package/dist/api/compiler/reparser.d.ts +48 -0
  233. package/dist/api/compiler/reparser.js +1323 -0
  234. package/dist/api/compiler/scanner.d.ts +256 -0
  235. package/dist/api/compiler/scanner.js +2853 -0
  236. package/dist/api/compiler/side-state.d.ts +16 -0
  237. package/dist/api/compiler/side-state.js +89 -0
  238. package/dist/api/compiler/sourcemap.d.ts +55 -0
  239. package/dist/api/compiler/sourcemap.js +340 -0
  240. package/dist/api/compiler/spelling.d.ts +14 -0
  241. package/dist/api/compiler/spelling.js +128 -0
  242. package/dist/api/compiler/symbol-accessibility.d.ts +57 -0
  243. package/dist/api/compiler/symbol-accessibility.js +991 -0
  244. package/dist/api/compiler/symbol.d.ts +282 -0
  245. package/dist/api/compiler/symbol.js +339 -0
  246. package/dist/api/compiler/symlinks.d.ts +32 -0
  247. package/dist/api/compiler/symlinks.js +114 -0
  248. package/dist/api/compiler/syntax-kind.d.ts +389 -0
  249. package/dist/api/compiler/syntax-kind.js +2 -0
  250. package/dist/api/compiler/timeline.d.ts +9 -0
  251. package/dist/api/compiler/timeline.js +54 -0
  252. package/dist/api/compiler/transformers/alias-references.d.ts +39 -0
  253. package/dist/api/compiler/transformers/alias-references.js +677 -0
  254. package/dist/api/compiler/transformers/async-utilities.d.ts +51 -0
  255. package/dist/api/compiler/transformers/async-utilities.js +260 -0
  256. package/dist/api/compiler/transformers/async.d.ts +53 -0
  257. package/dist/api/compiler/transformers/async.js +645 -0
  258. package/dist/api/compiler/transformers/class-fields.d.ts +206 -0
  259. package/dist/api/compiler/transformers/class-fields.js +2418 -0
  260. package/dist/api/compiler/transformers/class-utilities.d.ts +46 -0
  261. package/dist/api/compiler/transformers/class-utilities.js +261 -0
  262. package/dist/api/compiler/transformers/commonjs-module.d.ts +103 -0
  263. package/dist/api/compiler/transformers/commonjs-module.js +1180 -0
  264. package/dist/api/compiler/transformers/const-enum-inliner.d.ts +11 -0
  265. package/dist/api/compiler/transformers/const-enum-inliner.js +36 -0
  266. package/dist/api/compiler/transformers/declarations-diagnostics.d.ts +52 -0
  267. package/dist/api/compiler/transformers/declarations-diagnostics.js +539 -0
  268. package/dist/api/compiler/transformers/declarations-pseudo.d.ts +160 -0
  269. package/dist/api/compiler/transformers/declarations-pseudo.js +799 -0
  270. package/dist/api/compiler/transformers/declarations-resolver.d.ts +152 -0
  271. package/dist/api/compiler/transformers/declarations-resolver.js +35 -0
  272. package/dist/api/compiler/transformers/declarations-syntactic.d.ts +119 -0
  273. package/dist/api/compiler/transformers/declarations-syntactic.js +1582 -0
  274. package/dist/api/compiler/transformers/declarations-tracker.d.ts +46 -0
  275. package/dist/api/compiler/transformers/declarations-tracker.js +198 -0
  276. package/dist/api/compiler/transformers/declarations.d.ts +175 -0
  277. package/dist/api/compiler/transformers/declarations.js +2381 -0
  278. package/dist/api/compiler/transformers/decorator-metadata.d.ts +54 -0
  279. package/dist/api/compiler/transformers/decorator-metadata.js +554 -0
  280. package/dist/api/compiler/transformers/decorator-utilities.d.ts +38 -0
  281. package/dist/api/compiler/transformers/decorator-utilities.js +238 -0
  282. package/dist/api/compiler/transformers/destructuring.d.ts +25 -0
  283. package/dist/api/compiler/transformers/destructuring.js +626 -0
  284. package/dist/api/compiler/transformers/downlevel.d.ts +6 -0
  285. package/dist/api/compiler/transformers/downlevel.js +45 -0
  286. package/dist/api/compiler/transformers/emit-resolver.d.ts +61 -0
  287. package/dist/api/compiler/transformers/emit-resolver.js +197 -0
  288. package/dist/api/compiler/transformers/es-decorators.d.ts +118 -0
  289. package/dist/api/compiler/transformers/es-decorators.js +1901 -0
  290. package/dist/api/compiler/transformers/exponentiation.d.ts +11 -0
  291. package/dist/api/compiler/transformers/exponentiation.js +76 -0
  292. package/dist/api/compiler/transformers/external-module-info.d.ts +35 -0
  293. package/dist/api/compiler/transformers/external-module-info.js +351 -0
  294. package/dist/api/compiler/transformers/for-await.d.ts +43 -0
  295. package/dist/api/compiler/transformers/for-await.js +469 -0
  296. package/dist/api/compiler/transformers/import-elision.d.ts +16 -0
  297. package/dist/api/compiler/transformers/import-elision.js +124 -0
  298. package/dist/api/compiler/transformers/jsx-entities.d.ts +1 -0
  299. package/dist/api/compiler/transformers/jsx-entities.js +256 -0
  300. package/dist/api/compiler/transformers/jsx.d.ts +71 -0
  301. package/dist/api/compiler/transformers/jsx.js +700 -0
  302. package/dist/api/compiler/transformers/legacy-decorators.d.ts +56 -0
  303. package/dist/api/compiler/transformers/legacy-decorators.js +564 -0
  304. package/dist/api/compiler/transformers/logical-assignment.d.ts +14 -0
  305. package/dist/api/compiler/transformers/logical-assignment.js +62 -0
  306. package/dist/api/compiler/transformers/module-utilities.d.ts +9 -0
  307. package/dist/api/compiler/transformers/module-utilities.js +36 -0
  308. package/dist/api/compiler/transformers/module.d.ts +49 -0
  309. package/dist/api/compiler/transformers/module.js +296 -0
  310. package/dist/api/compiler/transformers/named-evaluation.d.ts +26 -0
  311. package/dist/api/compiler/transformers/named-evaluation.js +266 -0
  312. package/dist/api/compiler/transformers/nullish-coalescing.d.ts +9 -0
  313. package/dist/api/compiler/transformers/nullish-coalescing.js +26 -0
  314. package/dist/api/compiler/transformers/object-rest-spread.d.ts +34 -0
  315. package/dist/api/compiler/transformers/object-rest-spread.js +411 -0
  316. package/dist/api/compiler/transformers/optional-catch.d.ts +9 -0
  317. package/dist/api/compiler/transformers/optional-catch.js +20 -0
  318. package/dist/api/compiler/transformers/optional-chain.d.ts +14 -0
  319. package/dist/api/compiler/transformers/optional-chain.js +188 -0
  320. package/dist/api/compiler/transformers/reference-resolver.d.ts +129 -0
  321. package/dist/api/compiler/transformers/reference-resolver.js +1157 -0
  322. package/dist/api/compiler/transformers/runtime-syntax.d.ts +71 -0
  323. package/dist/api/compiler/transformers/runtime-syntax.js +753 -0
  324. package/dist/api/compiler/transformers/subtree-facts.d.ts +10 -0
  325. package/dist/api/compiler/transformers/subtree-facts.js +205 -0
  326. package/dist/api/compiler/transformers/syntax-facts.d.ts +52 -0
  327. package/dist/api/compiler/transformers/syntax-facts.js +258 -0
  328. package/dist/api/compiler/transformers/tagged-template.d.ts +17 -0
  329. package/dist/api/compiler/transformers/tagged-template.js +148 -0
  330. package/dist/api/compiler/transformers/transformer.d.ts +17 -0
  331. package/dist/api/compiler/transformers/transformer.js +54 -0
  332. package/dist/api/compiler/transformers/type-eraser.d.ts +21 -0
  333. package/dist/api/compiler/transformers/type-eraser.js +346 -0
  334. package/dist/api/compiler/transformers/type-serialization.d.ts +20 -0
  335. package/dist/api/compiler/transformers/type-serialization.js +347 -0
  336. package/dist/api/compiler/transformers/using.d.ts +56 -0
  337. package/dist/api/compiler/transformers/using.js +453 -0
  338. package/dist/api/compiler/transformers/utilities.d.ts +50 -0
  339. package/dist/api/compiler/transformers/utilities.js +347 -0
  340. package/dist/api/compiler/transformers/visitor-base.d.ts +6 -0
  341. package/dist/api/compiler/transformers/visitor-base.js +817 -0
  342. package/dist/api/compiler/transformers/visitor-hooks.d.ts +29 -0
  343. package/dist/api/compiler/transformers/visitor-hooks.js +189 -0
  344. package/dist/api/compiler/tsconfig.d.ts +177 -0
  345. package/dist/api/compiler/tsconfig.js +1311 -0
  346. package/dist/api/compiler/type-printer.d.ts +15 -0
  347. package/dist/api/compiler/type-printer.js +74 -0
  348. package/dist/api/compiler/types.d.ts +87 -0
  349. package/dist/api/compiler/types.js +23 -0
  350. package/dist/api/compiler/unicode-identifiers.d.ts +2 -0
  351. package/dist/api/compiler/unicode-identifiers.js +209 -0
  352. package/dist/api/compiler/unicode-properties.d.ts +8 -0
  353. package/dist/api/compiler/unicode-properties.js +531 -0
  354. package/dist/api/compiler/vfs-match.d.ts +24 -0
  355. package/dist/api/compiler/vfs-match.js +587 -0
  356. package/dist/api/library/ast.d.ts +3 -2
  357. package/dist/api/library/ast.generated.d.ts +127 -139
  358. package/dist/api/library/checker.d.ts +51 -0
  359. package/dist/api/library/checker.js +318 -0
  360. package/dist/api/library/diagnostics.d.ts +13 -0
  361. package/dist/api/library/diagnostics.js +50 -0
  362. package/dist/api/library/disk.d.ts +13 -0
  363. package/dist/api/library/disk.js +66 -0
  364. package/dist/api/library/errors.d.ts +13 -0
  365. package/dist/api/library/errors.js +24 -0
  366. package/dist/api/library/host.d.ts +24 -0
  367. package/dist/api/library/host.js +52 -0
  368. package/dist/api/library/index.d.ts +5 -1
  369. package/dist/api/library/index.js +4 -0
  370. package/dist/api/library/nodes.d.ts +51 -0
  371. package/dist/api/library/nodes.js +196 -0
  372. package/dist/api/library/options.d.ts +144 -0
  373. package/dist/api/library/options.js +308 -0
  374. package/dist/api/library/parse.d.ts +19 -0
  375. package/dist/api/library/parse.js +41 -0
  376. package/dist/api/library/program.d.ts +21 -0
  377. package/dist/api/library/program.js +234 -0
  378. package/dist/api/library/types.d.ts +14 -1
  379. package/package.json +12 -8
  380. package/src/compiler/ast-utilities.ts +548 -0
  381. package/src/compiler/ast.ts +12870 -0
  382. package/src/compiler/astnav.ts +799 -0
  383. package/src/compiler/binder-utilities.ts +1392 -0
  384. package/src/compiler/binder.ts +2707 -0
  385. package/src/compiler/build-info.ts +1197 -0
  386. package/src/compiler/character-codes.ts +323 -0
  387. package/src/compiler/checker-calls.ts +2155 -0
  388. package/src/compiler/checker-classes.ts +706 -0
  389. package/src/compiler/checker-contextual.ts +1457 -0
  390. package/src/compiler/checker-declaration-order.ts +438 -0
  391. package/src/compiler/checker-declarations.ts +1201 -0
  392. package/src/compiler/checker-declared-types.ts +919 -0
  393. package/src/compiler/checker-decorators.ts +694 -0
  394. package/src/compiler/checker-deprecation.ts +355 -0
  395. package/src/compiler/checker-destructuring.ts +805 -0
  396. package/src/compiler/checker-elaboration.ts +477 -0
  397. package/src/compiler/checker-emit-helpers.ts +224 -0
  398. package/src/compiler/checker-emit-resolver.ts +769 -0
  399. package/src/compiler/checker-evaluator.ts +243 -0
  400. package/src/compiler/checker-expressions.ts +1831 -0
  401. package/src/compiler/checker-features.ts +361 -0
  402. package/src/compiler/checker-flow.ts +394 -0
  403. package/src/compiler/checker-functions.ts +1296 -0
  404. package/src/compiler/checker-generated-code.ts +227 -0
  405. package/src/compiler/checker-globals.ts +52 -0
  406. package/src/compiler/checker-grammar.ts +3596 -0
  407. package/src/compiler/checker-heritage.ts +1240 -0
  408. package/src/compiler/checker-inference.ts +2584 -0
  409. package/src/compiler/checker-iteration.ts +1206 -0
  410. package/src/compiler/checker-javascript.ts +502 -0
  411. package/src/compiler/checker-jsdoc.ts +360 -0
  412. package/src/compiler/checker-jsx.ts +1928 -0
  413. package/src/compiler/checker-literals.ts +61 -0
  414. package/src/compiler/checker-members.ts +2480 -0
  415. package/src/compiler/checker-modules.ts +2896 -0
  416. package/src/compiler/checker-narrowing.ts +3230 -0
  417. package/src/compiler/checker-object-literals.ts +591 -0
  418. package/src/compiler/checker-operators.ts +1422 -0
  419. package/src/compiler/checker-overloads.ts +328 -0
  420. package/src/compiler/checker-property-access.ts +906 -0
  421. package/src/compiler/checker-services.ts +1149 -0
  422. package/src/compiler/checker-signatures.ts +1032 -0
  423. package/src/compiler/checker-source-file.ts +732 -0
  424. package/src/compiler/checker-statements.ts +292 -0
  425. package/src/compiler/checker-super.ts +261 -0
  426. package/src/compiler/checker-symbol-types.ts +1187 -0
  427. package/src/compiler/checker-symbols.ts +2157 -0
  428. package/src/compiler/checker-type-factory.ts +2616 -0
  429. package/src/compiler/checker-type-nodes.ts +1033 -0
  430. package/src/compiler/checker-type-operators.ts +2510 -0
  431. package/src/compiler/checker-types.ts +2520 -0
  432. package/src/compiler/checker-unused.ts +642 -0
  433. package/src/compiler/checker-utilities.ts +161 -0
  434. package/src/compiler/checker.ts +1138 -0
  435. package/src/compiler/command-line.ts +436 -0
  436. package/src/compiler/compile-program.ts +439 -0
  437. package/src/compiler/decoder.ts +1209 -0
  438. package/src/compiler/diagnostic-locales.ts +86 -0
  439. package/src/compiler/diagnostic-messages.ts +2349 -0
  440. package/src/compiler/diagnostics.ts +858 -0
  441. package/src/compiler/emitter.ts +434 -0
  442. package/src/compiler/encoder.ts +1945 -0
  443. package/src/compiler/file-include.ts +741 -0
  444. package/src/compiler/file-loader.ts +1597 -0
  445. package/src/compiler/file-system.ts +143 -0
  446. package/src/compiler/flow.ts +89 -0
  447. package/src/compiler/help.ts +473 -0
  448. package/src/compiler/incremental.ts +2818 -0
  449. package/src/compiler/init.ts +141 -0
  450. package/src/compiler/instantiation.ts +938 -0
  451. package/src/compiler/jsdoc.ts +1386 -0
  452. package/src/compiler/link-tables.ts +343 -0
  453. package/src/compiler/locale-data.ts +203 -0
  454. package/src/compiler/locale.ts +307 -0
  455. package/src/compiler/locales/cs-CZ.ts +5 -0
  456. package/src/compiler/locales/de-DE.ts +5 -0
  457. package/src/compiler/locales/es-ES.ts +5 -0
  458. package/src/compiler/locales/fr-FR.ts +5 -0
  459. package/src/compiler/locales/it-IT.ts +5 -0
  460. package/src/compiler/locales/ja-JP.ts +5 -0
  461. package/src/compiler/locales/ko-KR.ts +5 -0
  462. package/src/compiler/locales/pl-PL.ts +5 -0
  463. package/src/compiler/locales/pt-BR.ts +5 -0
  464. package/src/compiler/locales/ru-RU.ts +5 -0
  465. package/src/compiler/locales/tr-TR.ts +5 -0
  466. package/src/compiler/locales/zh-CN.ts +5 -0
  467. package/src/compiler/locales/zh-TW.ts +5 -0
  468. package/src/compiler/module-resolution-types.ts +243 -0
  469. package/src/compiler/module-resolution.ts +2072 -0
  470. package/src/compiler/module-specifiers.ts +1491 -0
  471. package/src/compiler/name-resolver.ts +646 -0
  472. package/src/compiler/node-builder-names.ts +1071 -0
  473. package/src/compiler/node-builder-pseudo.ts +892 -0
  474. package/src/compiler/node-builder-reuse.ts +764 -0
  475. package/src/compiler/node-builder.ts +3433 -0
  476. package/src/compiler/option-declarations.ts +1560 -0
  477. package/src/compiler/options.ts +1576 -0
  478. package/src/compiler/output-paths.ts +334 -0
  479. package/src/compiler/package-json.ts +1083 -0
  480. package/src/compiler/parallel-check.ts +1954 -0
  481. package/src/compiler/parallel-parse.ts +595 -0
  482. package/src/compiler/parse-thread.ts +136 -0
  483. package/src/compiler/parser.ts +7766 -0
  484. package/src/compiler/path.ts +717 -0
  485. package/src/compiler/printer/async-helpers.ts +183 -0
  486. package/src/compiler/printer/auto-generate.ts +27 -0
  487. package/src/compiler/printer/decorator-helpers.ts +218 -0
  488. package/src/compiler/printer/emit-context.ts +684 -0
  489. package/src/compiler/printer/emit-flags.ts +64 -0
  490. package/src/compiler/printer/factory-base.ts +2577 -0
  491. package/src/compiler/printer/factory.ts +764 -0
  492. package/src/compiler/printer/helpers.ts +291 -0
  493. package/src/compiler/printer/name-generator.ts +372 -0
  494. package/src/compiler/printer/printer.ts +5072 -0
  495. package/src/compiler/printer/text-writer.ts +183 -0
  496. package/src/compiler/printer/utilities.ts +884 -0
  497. package/src/compiler/program-checker.ts +594 -0
  498. package/src/compiler/program-utilities.ts +435 -0
  499. package/src/compiler/program.ts +1426 -0
  500. package/src/compiler/pseudo-bigint.ts +62 -0
  501. package/src/compiler/regexp-checker.ts +1142 -0
  502. package/src/compiler/relations.ts +5149 -0
  503. package/src/compiler/reparser.ts +1566 -0
  504. package/src/compiler/scanner.ts +2951 -0
  505. package/src/compiler/show-config.ts +239 -0
  506. package/src/compiler/side-state.ts +125 -0
  507. package/src/compiler/sourcemap.ts +366 -0
  508. package/src/compiler/spelling.ts +122 -0
  509. package/src/compiler/symbol-accessibility.ts +1166 -0
  510. package/src/compiler/symbol.ts +557 -0
  511. package/src/compiler/symlinks.ts +137 -0
  512. package/src/compiler/syntax-kind.ts +391 -0
  513. package/src/compiler/thread-entry.ts +191 -0
  514. package/src/compiler/timeline.ts +53 -0
  515. package/src/compiler/transformers/alias-references.ts +757 -0
  516. package/src/compiler/transformers/async-utilities.ts +335 -0
  517. package/src/compiler/transformers/async.ts +838 -0
  518. package/src/compiler/transformers/class-fields.ts +2967 -0
  519. package/src/compiler/transformers/class-utilities.ts +324 -0
  520. package/src/compiler/transformers/commonjs-module.ts +1621 -0
  521. package/src/compiler/transformers/const-enum-inliner.ts +50 -0
  522. package/src/compiler/transformers/declarations-diagnostics.ts +833 -0
  523. package/src/compiler/transformers/declarations-pseudo.ts +969 -0
  524. package/src/compiler/transformers/declarations-resolver.ts +249 -0
  525. package/src/compiler/transformers/declarations-syntactic.ts +1867 -0
  526. package/src/compiler/transformers/declarations-tracker.ts +269 -0
  527. package/src/compiler/transformers/declarations.ts +3120 -0
  528. package/src/compiler/transformers/decorator-metadata.ts +697 -0
  529. package/src/compiler/transformers/decorator-utilities.ts +283 -0
  530. package/src/compiler/transformers/destructuring.ts +708 -0
  531. package/src/compiler/transformers/downlevel.ts +50 -0
  532. package/src/compiler/transformers/emit-resolver.ts +258 -0
  533. package/src/compiler/transformers/es-decorators.ts +2682 -0
  534. package/src/compiler/transformers/exponentiation.ts +80 -0
  535. package/src/compiler/transformers/external-module-info.ts +412 -0
  536. package/src/compiler/transformers/for-await.ts +687 -0
  537. package/src/compiler/transformers/import-elision.ts +152 -0
  538. package/src/compiler/transformers/jsx-entities.ts +256 -0
  539. package/src/compiler/transformers/jsx.ts +824 -0
  540. package/src/compiler/transformers/legacy-decorators.ts +726 -0
  541. package/src/compiler/transformers/logical-assignment.ts +75 -0
  542. package/src/compiler/transformers/module-utilities.ts +42 -0
  543. package/src/compiler/transformers/module.ts +474 -0
  544. package/src/compiler/transformers/named-evaluation.ts +389 -0
  545. package/src/compiler/transformers/nullish-coalescing.ts +35 -0
  546. package/src/compiler/transformers/object-rest-spread.ts +577 -0
  547. package/src/compiler/transformers/optional-catch.ts +29 -0
  548. package/src/compiler/transformers/optional-chain.ts +246 -0
  549. package/src/compiler/transformers/reference-resolver.ts +1213 -0
  550. package/src/compiler/transformers/runtime-syntax.ts +942 -0
  551. package/src/compiler/transformers/subtree-facts.ts +253 -0
  552. package/src/compiler/transformers/syntax-facts.ts +358 -0
  553. package/src/compiler/transformers/tagged-template.ts +167 -0
  554. package/src/compiler/transformers/transformer.ts +56 -0
  555. package/src/compiler/transformers/type-eraser.ts +520 -0
  556. package/src/compiler/transformers/type-serialization.ts +374 -0
  557. package/src/compiler/transformers/using.ts +613 -0
  558. package/src/compiler/transformers/utilities.ts +419 -0
  559. package/src/compiler/transformers/visitor-base.ts +1601 -0
  560. package/src/compiler/transformers/visitor-hooks.ts +252 -0
  561. package/src/compiler/tsc-build.ts +1422 -0
  562. package/src/compiler/tsc-cli.ts +669 -0
  563. package/src/compiler/tsc-compile.ts +446 -0
  564. package/src/compiler/tsc-watch.ts +922 -0
  565. package/src/compiler/tsconfig.ts +1574 -0
  566. package/src/compiler/type-printer.ts +110 -0
  567. package/src/compiler/types.ts +115 -0
  568. package/src/compiler/unicode-identifiers.ts +212 -0
  569. package/src/compiler/unicode-properties.ts +537 -0
  570. package/src/compiler/vfs-match.ts +597 -0
  571. package/src/compiler/xxh3.ts +650 -0
  572. package/src/library/ast.generated.ts +141 -167
  573. package/src/library/ast.ts +4 -1
  574. package/src/library/checker.ts +384 -0
  575. package/src/library/diagnostics.ts +72 -0
  576. package/src/library/disk.ts +73 -0
  577. package/src/library/errors.ts +26 -0
  578. package/src/library/host.ts +63 -0
  579. package/src/library/index.ts +21 -0
  580. package/src/library/nodes.ts +232 -0
  581. package/src/library/options.ts +449 -0
  582. package/src/library/parse.ts +63 -0
  583. package/src/library/program.ts +293 -0
  584. package/src/library/types.ts +14 -1
@@ -0,0 +1,529 @@
1
+ import { Checker, CheckerHost, disposeChecker } from './checker.js';
2
+ import { createDiagnostic, messageCode } from './diagnostics.js';
3
+ import { ModuleSpecifierHost } from './module-specifiers.js';
4
+ import { sortAndDeduplicateDiagnostics } from './program.js';
5
+ import { getEmitModuleFormatOfFile, getEmitSyntaxForUsageLocation, isCheckJsEnabledForFile, } from './program-utilities.js';
6
+ import { bindSourceFile } from './binder.js';
7
+ import { computeLineOfPosition } from './scanner.js';
8
+ /** What the checker needs, answered by a program. */
9
+ export class ProgramCheckerHost extends CheckerHost {
10
+ program;
11
+ specifierHost = undefined;
12
+ constructor(program) {
13
+ super();
14
+ this.program = program;
15
+ }
16
+ getCompilerOptions() {
17
+ return this.program.options;
18
+ }
19
+ getSourceFiles() {
20
+ return this.program.getSourceFiles();
21
+ }
22
+ isSourceFileDefaultLibrary(file) {
23
+ return this.program.isSourceFileDefaultLibrary(file.path);
24
+ }
25
+ getResolvedModule(file, moduleName, mode) {
26
+ return this.program.getResolvedModule(file, moduleName, mode);
27
+ }
28
+ getSourceFileForResolvedModule(fileName) {
29
+ return this.program.getSourceFileForResolvedModule(fileName);
30
+ }
31
+ getModeForUsageLocation(file, location) {
32
+ return this.program.getModeForUsageLocation(file, location);
33
+ }
34
+ getDefaultResolutionModeForFile(file) {
35
+ return this.program.getDefaultResolutionModeForFile(file);
36
+ }
37
+ getPackagesMap() {
38
+ return this.program.getPackagesMap();
39
+ }
40
+ getProjectReferenceOutputDts(fileName) {
41
+ const program = this.program;
42
+ return program.getProjectReferenceFromSource(program.toPath(fileName))?.outputDts ?? '';
43
+ }
44
+ fileExists(path) {
45
+ return this.program.host.fs.fileExists(path);
46
+ }
47
+ getImportHelpersImportSpecifier(file) {
48
+ return this.program.importHelpersImportSpecifier(file.path);
49
+ }
50
+ getJSXRuntimeImportSpecifier(file) {
51
+ return this.program.jsxRuntimeImportSpecifier(file.path);
52
+ }
53
+ getMergedGlobals() {
54
+ return this.program.mergedGlobals;
55
+ }
56
+ getImpliedNodeFormatForEmit(file) {
57
+ return this.program.getImpliedNodeFormatForEmit(file);
58
+ }
59
+ getEmitSyntaxForUsageLocation(file, usage) {
60
+ const program = this.program;
61
+ return getEmitSyntaxForUsageLocation(file.fileName, program.sourceFileMetadata(file.path), usage, program.getCompilerOptionsForFile(file));
62
+ }
63
+ getSourceFileMetadata(file) {
64
+ return this.program.sourceFileMetadata(file.path);
65
+ }
66
+ getEmitModuleFormatOfFile(file) {
67
+ const program = this.program;
68
+ return getEmitModuleFormatOfFile(file.fileName, program.getCompilerOptionsForFile(file), program.sourceFileMetadata(file.path));
69
+ }
70
+ getModuleSpecifierHost() {
71
+ let host = this.specifierHost;
72
+ if (host === undefined) {
73
+ host = new ProgramModuleSpecifierHost(this.program);
74
+ this.specifierHost = host;
75
+ }
76
+ return host;
77
+ }
78
+ }
79
+ /** Module specifier generation over a program. */
80
+ export class ProgramModuleSpecifierHost extends ModuleSpecifierHost {
81
+ program;
82
+ constructor(program) {
83
+ super();
84
+ this.program = program;
85
+ }
86
+ getCurrentDirectory() {
87
+ return this.program.currentDirectory;
88
+ }
89
+ useCaseSensitiveFileNames() {
90
+ return this.program.useCaseSensitiveFileNames;
91
+ }
92
+ getSymlinkCache() {
93
+ return this.program.getSymlinkCache();
94
+ }
95
+ getGlobalTypingsCacheLocation() {
96
+ return this.program.getGlobalTypingsCacheLocation();
97
+ }
98
+ getProjectReferenceOutputDts(path) {
99
+ return this.program.getProjectReferenceFromSource(path)?.outputDts ?? '';
100
+ }
101
+ getRedirectTargets(path) {
102
+ return this.program.getRedirectTargets(path);
103
+ }
104
+ getSourceOfProjectReferenceIfOutputIncluded(file) {
105
+ return this.program.getSourceOfProjectReferenceIfOutputIncluded(file.path, file.fileName);
106
+ }
107
+ fileExists(path) {
108
+ return this.program.host.fs.fileExists(path);
109
+ }
110
+ getNearestAncestorDirectoryWithPackageJson(directory) {
111
+ return this.program.getNearestAncestorDirectoryWithPackageJson(directory);
112
+ }
113
+ getPackageJsonInfo(packageJsonPath) {
114
+ return this.program.getPackageJsonInfo(packageJsonPath);
115
+ }
116
+ getDefaultResolutionModeForFile(file) {
117
+ return this.program.getDefaultResolutionModeForFile(file);
118
+ }
119
+ getResolvedModuleFromModuleSpecifier(file, specifier) {
120
+ return this.program.getResolvedModuleFromModuleSpecifier(file, specifier);
121
+ }
122
+ getModeForUsageLocation(file, specifier) {
123
+ return this.program.getModeForUsageLocation(file, specifier);
124
+ }
125
+ getOutputPathsHost() {
126
+ return this.program;
127
+ }
128
+ }
129
+ /** Binds every file of `program`. */
130
+ export function bindProgram(program) {
131
+ for (const file of program.getSourceFiles())
132
+ bindSourceFile(file);
133
+ }
134
+ /**
135
+ * A bound program with the checker that reports its diagnostics. It checks every file, the default
136
+ * library files too, as tsgo's checker does with the files it is given.
137
+ */
138
+ export class CheckedProgram {
139
+ program;
140
+ reportingChecker = undefined;
141
+ constructor(program) {
142
+ this.program = program;
143
+ bindProgram(program);
144
+ }
145
+ /**
146
+ * The checker that reports diagnostics, created on first use: with `--checkers`, after the checker
147
+ * threads are started (parallel-check.ts), so creating it (merging the globals) is not on the way to
148
+ * checking.
149
+ */
150
+ get checker() {
151
+ let checker = this.reportingChecker;
152
+ if (checker === undefined) {
153
+ checker = new Checker(new ProgramCheckerHost(this.program));
154
+ this.reportingChecker = checker;
155
+ }
156
+ return checker;
157
+ }
158
+ /** A new checker for the program, independent of the one reporting diagnostics. */
159
+ createChecker() {
160
+ return new Checker(new ProgramCheckerHost(this.program));
161
+ }
162
+ /** Frees the checker that reports the program's diagnostics (`disposeChecker`). */
163
+ disposeCheckers() {
164
+ if (this.reportingChecker !== undefined)
165
+ disposeChecker(this.reportingChecker);
166
+ this.reportingChecker = undefined;
167
+ }
168
+ getBindDiagnostics(file) {
169
+ return this.collect(file, (f) => f.bindDiagnostics);
170
+ }
171
+ /**
172
+ * Diagnostics of checker threads (parallel-check.ts): the semantic diagnostics of each file by file
173
+ * index, before `noEmit` filtering (`unfilteredDiagnosticsOfFile`), and their global diagnostics. Set
174
+ * once every file is checked.
175
+ */
176
+ checkedInParallel = undefined;
177
+ /**
178
+ * The files checker threads check, where only some are (the affected files of an incremental
179
+ * program's rebuild); `undefined` for every file. The others are checked on this thread when asked.
180
+ */
181
+ checkOnly = undefined;
182
+ /** Whether the program is shared with checker threads (`shareWithCheckers`, parallel-check.ts). */
183
+ sharedWithCheckers = false;
184
+ /**
185
+ * The number of threads, this one included, that compare the references of the files of an incremental
186
+ * program with its old state where the program is shared with checker threads (`compareReferencesOnThreads`,
187
+ * incremental.ts); 1 compares on this thread.
188
+ */
189
+ referenceThreads = 1;
190
+ parallelGlobalDiagnostics = [];
191
+ /**
192
+ * The declaration diagnostics checker threads computed under `noEmit` (PlainProgram,
193
+ * IncrementalProgram), by file index; `undefined` for files they did not. Set once every file is
194
+ * checked.
195
+ */
196
+ declarationsInParallel = undefined;
197
+ /**
198
+ * What checker threads emitted (PlainProgram), by file index; `undefined` for files they did not
199
+ * emit. Set once every file is checked, when checker threads emit (parallel-check.ts).
200
+ */
201
+ emittedInParallel = undefined;
202
+ /**
203
+ * The global diagnostics of this thread's checker before it emitted files while checker threads
204
+ * checked (`emitUncheckedFiles`), reported instead of its current ones.
205
+ */
206
+ ownGlobalDiagnostics = undefined;
207
+ getSemanticDiagnostics(file) {
208
+ const parallel = this.checkedInParallel;
209
+ if (file === undefined && parallel !== undefined) {
210
+ const noEmit = this.program.options.noEmit === true;
211
+ const result = [];
212
+ for (const diagnostics of parallel)
213
+ if (diagnostics !== undefined)
214
+ for (const d of diagnostics)
215
+ if (!noEmit || !d.skippedOnNoEmit)
216
+ result.push(d);
217
+ return sortAndDeduplicateDiagnostics(result);
218
+ }
219
+ return this.collectChecked(file, (f) => this.semanticDiagnosticsOfFile(f));
220
+ }
221
+ /** The semantic diagnostics of `file`, unsorted. */
222
+ semanticDiagnosticsOfFile(file) {
223
+ const diagnostics = this.unfilteredDiagnosticsOfFile(file);
224
+ if (this.program.options.noEmit !== true)
225
+ return diagnostics;
226
+ const result = [];
227
+ for (const d of diagnostics)
228
+ if (!d.skippedOnNoEmit)
229
+ result.push(d);
230
+ return result;
231
+ }
232
+ /**
233
+ * The semantic diagnostics of `file`, unsorted, before `noEmit` filtering: the bind and check
234
+ * diagnostics, then the include errors. Checker threads report these (parallel-check.ts), so that an
235
+ * incremental program keeps them unfiltered under `noEmit` too.
236
+ */
237
+ unfilteredDiagnosticsOfFile(file) {
238
+ const result = this.getBindAndCheckDiagnostics(file);
239
+ for (const d of this.getIncludeProcessorDiagnostics(file))
240
+ result.push(d);
241
+ return result;
242
+ }
243
+ /**
244
+ * The bind and check diagnostics of `file` before `noEmit` filtering and without include errors.
245
+ * Once checker threads checked the program, they come from the threads' diagnostics of the file,
246
+ * without the include errors added last.
247
+ */
248
+ getSemanticDiagnosticsWithoutNoEmitFiltering(file) {
249
+ if (this.skipTypeChecking(file))
250
+ return [];
251
+ const parallel = this.checkedInParallel;
252
+ const diagnostics = parallel === undefined ? undefined : parallel[this.indexOfFile(file)];
253
+ if (diagnostics !== undefined) {
254
+ const count = diagnostics.length - this.getIncludeProcessorDiagnostics(file).length;
255
+ return sortAndDeduplicateDiagnostics(diagnostics.slice(0, count));
256
+ }
257
+ return sortAndDeduplicateDiagnostics(this.getBindAndCheckDiagnostics(file));
258
+ }
259
+ /** The declaration diagnostics checker threads computed for `file` (`declarationsInParallel`), if any. */
260
+ declarationDiagnosticsInParallel(file) {
261
+ const parallel = this.declarationsInParallel;
262
+ return parallel === undefined ? undefined : parallel[this.indexOfFile(file)];
263
+ }
264
+ fileIndexes = undefined;
265
+ /** The index of `file` in the program's files. */
266
+ indexOfFile(file) {
267
+ let indexes = this.fileIndexes;
268
+ if (indexes === undefined) {
269
+ indexes = new Map();
270
+ const files = this.program.getSourceFiles();
271
+ for (let i = 0; i < files.length; i++)
272
+ indexes.set(files[i], i);
273
+ this.fileIndexes = indexes;
274
+ }
275
+ return indexes.get(file);
276
+ }
277
+ getSuggestionDiagnostics(file) {
278
+ return this.collectChecked(file, (f) => this.checker.getSuggestionDiagnostics(f));
279
+ }
280
+ /**
281
+ * Diagnostics without a file, once every file is checked. Without `withCheckerThreads`, those of the
282
+ * reporting checkers only, as before checking: checker threads (parallel-check.ts) also report
283
+ * those they found checking files.
284
+ */
285
+ getGlobalDiagnostics(withCheckerThreads = true) {
286
+ if (this.program.getSourceFiles().length === 0)
287
+ return [];
288
+ const parallel = withCheckerThreads ? this.parallelGlobalDiagnostics : [];
289
+ const own = this.ownGlobalDiagnostics ?? this.checker.getGlobalDiagnostics();
290
+ if (parallel.length === 0)
291
+ return own;
292
+ return sortAndDeduplicateDiagnostics([...own, ...parallel]);
293
+ }
294
+ /** Whether `file`'s bind and check diagnostics are reported. */
295
+ skipTypeChecking(file) {
296
+ const options = this.program.options;
297
+ return (options.noCheck === true ||
298
+ (options.skipLibCheck === true && file.isDeclarationFile) ||
299
+ (options.skipDefaultLibCheck === true && this.program.isSourceFileDefaultLibrary(file.path)) ||
300
+ this.program.getProjectReferenceFromSource(file.path) !== undefined ||
301
+ !canIncludeBindAndCheckDiagnostics(file, options));
302
+ }
303
+ collect(file, get) {
304
+ if (file !== undefined)
305
+ return sortAndDeduplicateDiagnostics(get(file));
306
+ const result = [];
307
+ for (const f of this.program.getSourceFiles())
308
+ for (const d of get(f))
309
+ result.push(d);
310
+ return sortAndDeduplicateDiagnostics(result);
311
+ }
312
+ collectChecked(file, get) {
313
+ if (file !== undefined)
314
+ return this.skipTypeChecking(file) ? [] : sortAndDeduplicateDiagnostics(get(file));
315
+ const result = [];
316
+ for (const f of this.program.getSourceFiles()) {
317
+ if (this.skipTypeChecking(f))
318
+ continue;
319
+ for (const d of get(f))
320
+ result.push(d);
321
+ }
322
+ return sortAndDeduplicateDiagnostics(result);
323
+ }
324
+ getBindAndCheckDiagnostics(file) {
325
+ const options = this.program.options;
326
+ const diagnostics = file.bindDiagnostics.slice();
327
+ for (const d of this.checker.getDiagnostics(file))
328
+ diagnostics.push(d);
329
+ if (isPlainJSFile(file, options)) {
330
+ const result = [];
331
+ for (const d of diagnostics)
332
+ if (plainJSErrors.has(d.code))
333
+ result.push(d);
334
+ return result;
335
+ }
336
+ if (isJSFile(file) && isCheckJsEnabledForFile(file, options)) {
337
+ for (const d of file.jsDocDiagnostics)
338
+ diagnostics.push(d);
339
+ }
340
+ const directives = new Directives(file);
341
+ const filtered = directives.filter(diagnostics);
342
+ for (const directive of directives.unused()) {
343
+ filtered.push(createDiagnostic(file.diagnosticFile(), directive.pos, directive.end, 729 /* Diagnostics.Unused_ts_expect_error_directive */));
344
+ }
345
+ return filtered;
346
+ }
347
+ getIncludeProcessorDiagnostics(file) {
348
+ if (this.skipTypeChecking(file))
349
+ return [];
350
+ const diagnostics = this.program.getIncludeProcessorDiagnostics(file);
351
+ return diagnostics.length === 0 ? diagnostics : new Directives(file).filter(diagnostics);
352
+ }
353
+ }
354
+ /** The `@ts-ignore` and `@ts-expect-error` comments of a file, by line. */
355
+ class Directives {
356
+ file;
357
+ byLine = new Map();
358
+ constructor(file) {
359
+ this.file = file;
360
+ // Most files have no directives, and need no line starts.
361
+ if (file.commentDirectives.length === 0)
362
+ return;
363
+ const lineStarts = file.diagnosticFile().getLineStarts();
364
+ for (const directive of file.commentDirectives) {
365
+ const line = computeLineOfPosition(lineStarts, directive.pos);
366
+ this.byLine.set(line, { pos: directive.pos, end: directive.end, kind: directive.kind });
367
+ }
368
+ }
369
+ /** The diagnostics no directive suppresses; a suppressing `@ts-expect-error` counts as used. */
370
+ filter(diagnostics) {
371
+ if (this.byLine.size === 0)
372
+ return diagnostics.slice();
373
+ const text = this.file.text;
374
+ const lineStarts = this.file.diagnosticFile().getLineStarts();
375
+ const result = [];
376
+ for (const diagnostic of diagnostics) {
377
+ let ignored = false;
378
+ for (let line = computeLineOfPosition(lineStarts, diagnostic.pos) - 1; line >= 0; line--) {
379
+ const directive = this.byLine.get(line);
380
+ if (directive !== undefined) {
381
+ ignored = true;
382
+ directive.kind = 2 /* CommentDirectiveKind.Ignore */;
383
+ break;
384
+ }
385
+ if (!isCommentOrBlankLine(text, lineStarts[line]))
386
+ break;
387
+ }
388
+ if (!ignored)
389
+ result.push(diagnostic);
390
+ }
391
+ return result;
392
+ }
393
+ /** `@ts-expect-error` comments that suppressed nothing. */
394
+ unused() {
395
+ const result = [];
396
+ for (const directive of this.byLine.values()) {
397
+ if (directive.kind === 1 /* CommentDirectiveKind.ExpectError */)
398
+ result.push(directive);
399
+ }
400
+ return result;
401
+ }
402
+ }
403
+ function isCommentOrBlankLine(text, lineStart) {
404
+ let pos = lineStart;
405
+ while (pos < text.length && (text.charCodeAt(pos) === 0x20 || text.charCodeAt(pos) === 0x09))
406
+ pos += 1;
407
+ if (pos === text.length)
408
+ return true;
409
+ const ch = text.charCodeAt(pos);
410
+ if (ch === 0x0d || ch === 0x0a)
411
+ return true;
412
+ return pos + 1 < text.length && ch === 0x2f && text.charCodeAt(pos + 1) === 0x2f;
413
+ }
414
+ function isJSFile(file) {
415
+ return file.scriptKind === 1 /* ScriptKind.JS */ || file.scriptKind === 2 /* ScriptKind.JSX */;
416
+ }
417
+ /** A JavaScript file without `@ts-check` or `@ts-nocheck` when `checkJs` is unset. */
418
+ function isPlainJSFile(file, options) {
419
+ return isJSFile(file) && file.checkJsDirective === undefined && options.checkJs === undefined;
420
+ }
421
+ function canIncludeBindAndCheckDiagnostics(file, options) {
422
+ if (file.checkJsDirective !== undefined && !file.checkJsDirective.enabled)
423
+ return false;
424
+ const kind = file.scriptKind;
425
+ if (kind === 3 /* ScriptKind.TS */ || kind === 4 /* ScriptKind.TSX */ || kind === 5 /* ScriptKind.External */)
426
+ return true;
427
+ const isCheckJS = isJSFile(file) && isCheckJsEnabledForFile(file, options);
428
+ return isPlainJSFile(file, options) || isCheckJS || kind === 7 /* ScriptKind.Deferred */;
429
+ }
430
+ /** The errors reported in JavaScript files that aren't type checked. */
431
+ const plainJSErrors = codesOf([
432
+ 619 /* Diagnostics.Cannot_redeclare_block_scoped_variable_0 */,
433
+ 686 /* Diagnostics.A_module_cannot_have_multiple_default_exports */,
434
+ 885 /* Diagnostics.Another_export_default_is_here */,
435
+ 884 /* Diagnostics.The_first_export_default_is_here */,
436
+ 211 /* Diagnostics.Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module */,
437
+ 167 /* Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode */,
438
+ 293 /* Diagnostics.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here */,
439
+ 1834 /* Diagnostics.X_constructor_is_a_reserved_word */,
440
+ 71 /* Diagnostics.X_delete_cannot_be_called_on_an_identifier_in_strict_mode */,
441
+ 163 /* Diagnostics.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode */,
442
+ 168 /* Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode */,
443
+ 69 /* Diagnostics.Invalid_use_of_0_in_strict_mode */,
444
+ 278 /* Diagnostics.A_label_is_not_allowed_here */,
445
+ 70 /* Diagnostics.X_with_statements_are_not_allowed_in_strict_mode */,
446
+ 74 /* Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement */,
447
+ 84 /* Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement */,
448
+ 164 /* Diagnostics.A_class_declaration_without_the_default_modifier_must_have_a_name */,
449
+ 198 /* Diagnostics.A_class_member_cannot_have_the_0_keyword */,
450
+ 127 /* Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name */,
451
+ 73 /* Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement */,
452
+ 83 /* Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement */,
453
+ 81 /* Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement */,
454
+ 207 /* Diagnostics.A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration */,
455
+ 205 /* Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context */,
456
+ 138 /* Diagnostics.A_destructuring_declaration_must_have_an_initializer */,
457
+ 40 /* Diagnostics.A_get_accessor_cannot_have_parameters */,
458
+ 661 /* Diagnostics.A_rest_element_cannot_contain_a_binding_pattern */,
459
+ 720 /* Diagnostics.A_rest_element_cannot_have_a_property_name */,
460
+ 142 /* Diagnostics.A_rest_element_cannot_have_an_initializer */,
461
+ 628 /* Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern */,
462
+ 35 /* Diagnostics.A_rest_parameter_cannot_have_an_initializer */,
463
+ 10 /* Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list */,
464
+ 9 /* Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma */,
465
+ 1857 /* Diagnostics.A_return_statement_cannot_be_used_inside_a_class_static_block */,
466
+ 39 /* Diagnostics.A_set_accessor_cannot_have_rest_parameter */,
467
+ 36 /* Diagnostics.A_set_accessor_must_have_exactly_one_parameter */,
468
+ 389 /* Diagnostics.An_export_declaration_can_only_be_used_at_the_top_level_of_a_module */,
469
+ 149 /* Diagnostics.An_export_declaration_cannot_have_modifiers */,
470
+ 388 /* Diagnostics.An_import_declaration_can_only_be_used_at_the_top_level_of_a_module */,
471
+ 147 /* Diagnostics.An_import_declaration_cannot_have_modifiers */,
472
+ 119 /* Diagnostics.An_object_member_cannot_be_declared_optional */,
473
+ 261 /* Diagnostics.Argument_of_dynamic_import_cannot_be_spread_element */,
474
+ 935 /* Diagnostics.Cannot_assign_to_private_method_0_Private_methods_are_not_writable */,
475
+ 652 /* Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause */,
476
+ 153 /* Diagnostics.Catch_clause_variable_cannot_have_an_initializer */,
477
+ 1853 /* Diagnostics.Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator */,
478
+ 130 /* Diagnostics.Classes_can_only_extend_a_single_class */,
479
+ 1829 /* Diagnostics.Classes_may_not_have_a_field_named_constructor */,
480
+ 248 /* Diagnostics.Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern */,
481
+ 82 /* Diagnostics.Duplicate_label_0 */,
482
+ 372 /* Diagnostics.Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments */,
483
+ 1855 /* Diagnostics.X_for_await_loops_cannot_be_used_inside_a_class_static_block */,
484
+ 1804 /* Diagnostics.JSX_attributes_must_only_be_assigned_a_non_empty_expression */,
485
+ 1805 /* Diagnostics.JSX_elements_cannot_have_multiple_attributes_with_the_same_name */,
486
+ 1830 /* Diagnostics.JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array */,
487
+ 776 /* Diagnostics.JSX_property_access_expressions_cannot_include_JSX_namespace_names */,
488
+ 76 /* Diagnostics.Jump_target_cannot_cross_function_boundary */,
489
+ 156 /* Diagnostics.Line_terminator_not_permitted_before_arrow */,
490
+ 140 /* Diagnostics.Modifiers_cannot_appear_here */,
491
+ 60 /* Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement */,
492
+ 144 /* Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement */,
493
+ 1838 /* Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies */,
494
+ 373 /* Diagnostics.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression */,
495
+ 1835 /* Diagnostics.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier */,
496
+ 292 /* Diagnostics.Tagged_template_expressions_are_not_permitted_in_an_optional_chain */,
497
+ 75 /* Diagnostics.The_left_hand_side_of_a_for_of_statement_may_not_be_async */,
498
+ 145 /* Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer */,
499
+ 146 /* Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer */,
500
+ 5 /* Diagnostics.Trailing_comma_not_allowed */,
501
+ 90 /* Diagnostics.Variable_declaration_list_cannot_be_empty */,
502
+ 1151 /* Diagnostics.X_0_and_1_operations_cannot_be_mixed_without_parentheses */,
503
+ 2 /* Diagnostics.X_0_expected */,
504
+ 1815 /* Diagnostics.X_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2 */,
505
+ 66 /* Diagnostics.X_0_list_cannot_be_empty */,
506
+ 23 /* Diagnostics.X_0_modifier_already_seen */,
507
+ 58 /* Diagnostics.X_0_modifier_cannot_appear_on_a_constructor_declaration */,
508
+ 32 /* Diagnostics.X_0_modifier_cannot_appear_on_a_module_or_namespace_element */,
509
+ 59 /* Diagnostics.X_0_modifier_cannot_appear_on_a_parameter */,
510
+ 24 /* Diagnostics.X_0_modifier_cannot_appear_on_class_elements_of_this_kind */,
511
+ 31 /* Diagnostics.X_0_modifier_cannot_be_used_here */,
512
+ 22 /* Diagnostics.X_0_modifier_must_precede_1_modifier */,
513
+ 116 /* Diagnostics.X_0_declarations_can_only_be_declared_inside_a_block */,
514
+ 115 /* Diagnostics.X_0_declarations_must_be_initialized */,
515
+ 128 /* Diagnostics.X_extends_clause_already_seen */,
516
+ 643 /* Diagnostics.X_let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations */,
517
+ 302 /* Diagnostics.Class_constructor_may_not_be_a_generator */,
518
+ 276 /* Diagnostics.Class_constructor_may_not_be_an_accessor */,
519
+ 246 /* Diagnostics.X_await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules */,
520
+ 972 /* Diagnostics.X_await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules */,
521
+ 80 /* Diagnostics.Private_field_0_must_be_declared_in_an_enclosing_class */,
522
+ 961 /* Diagnostics.This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value */,
523
+ ]);
524
+ function codesOf(messages) {
525
+ const codes = new Set();
526
+ for (const message of messages)
527
+ codes.add(messageCode(message));
528
+ return codes;
529
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Option and syntax queries of program construction: libraries, module formats and resolution modes.
3
+ */
4
+ import { ExternalModuleIndicatorOptions, ImportAttributes, type Node, type SourceFile } from './ast.js';
5
+ import { JsxEmit, ModuleKind, ScriptTarget, type CompilerOptions } from './options.js';
6
+ /** `--lib` names in declaration order. */
7
+ export declare const libNames: readonly string[];
8
+ /** The bundled file of a `lib` name or file name, or `''`. */
9
+ export declare function getLibFileName(name: string): string;
10
+ /** The library included by default for the target. */
11
+ export declare function getDefaultLibFileName(options: CompilerOptions): string;
12
+ export declare function scriptTargetName(target: ScriptTarget): string;
13
+ export declare function moduleKindName(kind: ModuleKind): string;
14
+ export declare function jsxEmitName(jsx: JsxEmit): string;
15
+ /** What a file's nearest `package.json` says about its module format. */
16
+ export declare class SourceFileMetadata {
17
+ /** `type` of the nearest `package.json`, where it applies; `''` otherwise. */
18
+ readonly packageJsonType: string;
19
+ /** Directory of the nearest `package.json`, or `''`. */
20
+ readonly packageJsonDirectory: string;
21
+ /** `ESNext`, `CommonJS` or `None` (formats other than JavaScript and TypeScript). */
22
+ readonly impliedNodeFormat: ModuleKind;
23
+ constructor(
24
+ /** `type` of the nearest `package.json`, where it applies; `''` otherwise. */
25
+ packageJsonType: string,
26
+ /** Directory of the nearest `package.json`, or `''`. */
27
+ packageJsonDirectory: string,
28
+ /** `ESNext`, `CommonJS` or `None` (formats other than JavaScript and TypeScript). */
29
+ impliedNodeFormat: ModuleKind);
30
+ }
31
+ export declare const libFileMetadata: SourceFileMetadata;
32
+ export declare function getImpliedNodeFormatForFile(path: string, packageJsonType: string): ModuleKind;
33
+ /** The format a file is emitted in when it differs from `module`, else `None`. */
34
+ export declare function getImpliedNodeFormatForEmit(fileName: string, emitModuleKind: ModuleKind, metadata: SourceFileMetadata): ModuleKind;
35
+ export declare function getEmitModuleFormatOfFile(fileName: string, options: CompilerOptions, metadata: SourceFileMetadata): ModuleKind;
36
+ /** What makes a file a module, besides imports and exports. */
37
+ export declare function getExternalModuleIndicatorOptions(fileName: string, options: CompilerOptions, metadata: SourceFileMetadata): ExternalModuleIndicatorOptions;
38
+ export declare function isExternalModule(file: SourceFile): boolean;
39
+ export declare function isExternalOrCommonJSModule(file: SourceFile): boolean;
40
+ export declare function isSourceFileJS(file: SourceFile): boolean;
41
+ export declare function isCheckJsEnabledForFile(file: SourceFile, options: CompilerOptions): boolean;
42
+ /** The package providing the JSX runtime, or `''` when JSX compiles to factory calls. */
43
+ export declare function getJSXImplicitImportBase(options: CompilerOptions, file: SourceFile): string;
44
+ export declare function getJSXRuntimeImport(base: string, options: CompilerOptions): string;
45
+ /** The `resolution-mode` of `import type` attributes, or `None`. */
46
+ export declare function getResolutionModeOverride(attributes: ImportAttributes | undefined): ModuleKind;
47
+ /** Whether `import` syntax decides how a specifier resolves: Node16-style resolution or `exports`/`imports`. */
48
+ export declare function importSyntaxAffectsModuleResolution(options: CompilerOptions): boolean;
49
+ /** The mode a module specifier resolves in: from attributes, the import syntax, or the file's format. */
50
+ export declare function getModeForUsageLocation(fileName: string, metadata: SourceFileMetadata, usage: Node, options: CompilerOptions): ModuleKind;
51
+ export declare function getEmitSyntaxForUsageLocation(fileName: string, metadata: SourceFileMetadata, usage: Node, options: CompilerOptions): ModuleKind;
52
+ export declare function getDefaultResolutionModeForFile(fileName: string, metadata: SourceFileMetadata, options: CompilerOptions): ModuleKind;