tsc-ts 0.0.4 → 0.0.5

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 +33 -1
  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 +2350 -0
  5. package/dist/api/compiler/ast.js +11206 -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 +1240 -0
  10. package/dist/api/compiler/binder.d.ts +33 -0
  11. package/dist/api/compiler/binder.js +2358 -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 +1640 -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 +356 -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 +787 -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 +315 -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 +290 -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 +579 -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 +2573 -0
  54. package/dist/api/compiler/checker-heritage.d.ts +28 -0
  55. package/dist/api/compiler/checker-heritage.js +900 -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 +441 -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 +198 -0
  69. package/dist/api/compiler/checker-members.js +2126 -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 +479 -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 +270 -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 +788 -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 +67 -0
  93. package/dist/api/compiler/checker-symbol-types.js +1885 -0
  94. package/dist/api/compiler/checker-symbols.d.ts +181 -0
  95. package/dist/api/compiler/checker-symbols.js +1782 -0
  96. package/dist/api/compiler/checker-type-factory.d.ts +142 -0
  97. package/dist/api/compiler/checker-type-factory.js +2501 -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 +1027 -0
  103. package/dist/api/compiler/checker-types.js +1697 -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 +491 -0
  109. package/dist/api/compiler/checker.js +912 -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 +167 -0
  119. package/dist/api/compiler/diagnostics.js +820 -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 +117 -0
  123. package/dist/api/compiler/file-include.js +536 -0
  124. package/dist/api/compiler/file-loader.d.ts +261 -0
  125. package/dist/api/compiler/file-loader.js +1257 -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 +799 -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 +36 -0
  135. package/dist/api/compiler/link-tables.js +83 -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 +744 -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 +219 -0
  191. package/dist/api/compiler/parallel-parse.js +537 -0
  192. package/dist/api/compiler/parser.d.ts +587 -0
  193. package/dist/api/compiler/parser.js +6407 -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 +154 -0
  203. package/dist/api/compiler/printer/emit-context.js +576 -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 +526 -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 +1011 -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 +894 -0
  244. package/dist/api/compiler/symbol.d.ts +240 -0
  245. package/dist/api/compiler/symbol.js +228 -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 +676 -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 +538 -0
  268. package/dist/api/compiler/transformers/declarations-pseudo.d.ts +160 -0
  269. package/dist/api/compiler/transformers/declarations-pseudo.js +797 -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 +197 -0
  276. package/dist/api/compiler/transformers/declarations.d.ts +175 -0
  277. package/dist/api/compiler/transformers/declarations.js +2380 -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 +128 -0
  321. package/dist/api/compiler/transformers/reference-resolver.js +1155 -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 +9 -0
  325. package/dist/api/compiler/transformers/subtree-facts.js +203 -0
  326. package/dist/api/compiler/transformers/syntax-facts.d.ts +51 -0
  327. package/dist/api/compiler/transformers/syntax-facts.js +254 -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 +12862 -0
  382. package/src/compiler/astnav.ts +799 -0
  383. package/src/compiler/binder-utilities.ts +1392 -0
  384. package/src/compiler/binder.ts +2703 -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 +1194 -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 +359 -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 +3584 -0
  407. package/src/compiler/checker-heritage.ts +1233 -0
  408. package/src/compiler/checker-inference.ts +2576 -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 +1924 -0
  413. package/src/compiler/checker-literals.ts +61 -0
  414. package/src/compiler/checker-members.ts +2436 -0
  415. package/src/compiler/checker-modules.ts +2886 -0
  416. package/src/compiler/checker-narrowing.ts +3230 -0
  417. package/src/compiler/checker-object-literals.ts +575 -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 +2107 -0
  427. package/src/compiler/checker-symbols.ts +2150 -0
  428. package/src/compiler/checker-type-factory.ts +2579 -0
  429. package/src/compiler/checker-type-nodes.ts +1033 -0
  430. package/src/compiler/checker-type-operators.ts +2502 -0
  431. package/src/compiler/checker-types.ts +2340 -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 +1116 -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 +897 -0
  441. package/src/compiler/emitter.ts +434 -0
  442. package/src/compiler/encoder.ts +1945 -0
  443. package/src/compiler/file-include.ts +673 -0
  444. package/src/compiler/file-loader.ts +1528 -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 +2784 -0
  449. package/src/compiler/init.ts +141 -0
  450. package/src/compiler/instantiation.ts +894 -0
  451. package/src/compiler/jsdoc.ts +1386 -0
  452. package/src/compiler/link-tables.ts +98 -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 +1069 -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 +3425 -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 +1951 -0
  481. package/src/compiler/parallel-parse.ts +590 -0
  482. package/src/compiler/parse-thread.ts +140 -0
  483. package/src/compiler/parser.ts +7716 -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 +679 -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 +592 -0
  498. package/src/compiler/program-utilities.ts +435 -0
  499. package/src/compiler/program.ts +1419 -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 +1071 -0
  510. package/src/compiler/symbol.ts +439 -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 +832 -0
  523. package/src/compiler/transformers/declarations-pseudo.ts +966 -0
  524. package/src/compiler/transformers/declarations-resolver.ts +249 -0
  525. package/src/compiler/transformers/declarations-syntactic.ts +1859 -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 +1201 -0
  550. package/src/compiler/transformers/runtime-syntax.ts +942 -0
  551. package/src/compiler/transformers/subtree-facts.ts +245 -0
  552. package/src/compiler/transformers/syntax-facts.ts +353 -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 +1418 -0
  562. package/src/compiler/tsc-cli.ts +666 -0
  563. package/src/compiler/tsc-compile.ts +437 -0
  564. package/src/compiler/tsc-watch.ts +854 -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,42 @@
1
+ /**
2
+ * Where emit writes the outputs of a source file.
3
+ */
4
+ import type { CompilerOptions, JsxEmit } from './options.js';
5
+ /** What output paths depend on besides options. */
6
+ export interface OutputPathsHost {
7
+ /** With a trailing `/`, or `''`. */
8
+ commonSourceDirectory(): string;
9
+ readonly currentDirectory: string;
10
+ readonly useCaseSensitiveFileNames: boolean;
11
+ }
12
+ /** The files emitted for one source file; `''` for those not emitted. */
13
+ export declare class OutputPaths {
14
+ readonly jsFilePath: string;
15
+ readonly sourceMapFilePath: string;
16
+ readonly declarationFilePath: string;
17
+ readonly declarationMapPath: string;
18
+ constructor(jsFilePath: string, sourceMapFilePath: string, declarationFilePath: string, declarationMapPath: string);
19
+ }
20
+ export declare function getOutputPathsFor(fileName: string, isJson: boolean, options: CompilerOptions, host: OutputPathsHost, forceDtsEmit: boolean): OutputPaths;
21
+ export declare function getOutputExtension(fileName: string, jsx: JsxEmit | undefined): string;
22
+ /** The extension of declarations emitted for `path`. */
23
+ export declare function getDeclarationEmitExtensionForPath(path: string): string;
24
+ /** The declaration output of `inputFileName`, as a referenced project lays it out. */
25
+ export declare function getOutputDeclarationFileName(inputFileName: string, options: CompilerOptions, host: OutputPathsHost): string;
26
+ export declare function getOutputJSFileName(inputFileName: string, options: CompilerOptions, host: OutputPathsHost): string;
27
+ /** The JavaScript output of `inputFileName`, whatever the file kind and emit options. */
28
+ export declare function getOutputJSFileNameWorker(inputFileName: string, options: CompilerOptions, host: OutputPathsHost): string;
29
+ /** The declaration output of `inputFileName`. */
30
+ export declare function getOutputDeclarationFileNameWorker(inputFileName: string, options: CompilerOptions, host: OutputPathsHost): string;
31
+ /** Like `getSourceFilePathInNewDir`, but with a case-folded prefix check. */
32
+ export declare function getSourceFilePathInNewDirWorker(fileName: string, newDirectory: string, currentDirectory: string, commonSourceDirectory: string, useCaseSensitiveFileNames: boolean): string;
33
+ export declare function getSourceMapFilePath(jsFilePath: string, options: CompilerOptions): string;
34
+ /** The `.tsbuildinfo` file of an incremental build, or `''`. */
35
+ export declare function getBuildInfoFileName(options: CompilerOptions, currentDirectory: string, useCaseSensitiveFileNames: boolean): string;
36
+ /**
37
+ * The common source directory with a trailing `/`: `rootDir`, else the config file's directory, else the deepest
38
+ * directory containing `files()`. `checkRoot` reports files outside an explicit or config root.
39
+ */
40
+ export declare function getCommonSourceDirectory(options: CompilerOptions, files: () => readonly string[], currentDirectory: string, useCaseSensitiveFileNames: boolean, checkRoot: ((files: readonly string[], root: string) => void) | undefined): string;
41
+ /** Like `getCommonSourceDirectory` for emitted files only, ignoring `rootDir` and the config file. */
42
+ export declare function getComputedCommonSourceDirectory(emittedFiles: readonly string[], currentDirectory: string, useCaseSensitiveFileNames: boolean): string;
@@ -0,0 +1,195 @@
1
+ import { changeExtension, combinePaths, comparePaths, containsPath, ensureTrailingDirectorySeparator, fileExtensionIs, fileExtensionIsOneOf, getAnyExtensionFromPath, getBaseFileName, getCanonicalFileName, getDirectoryPath, getNormalizedAbsolutePath, getPathComponents, getPathComponentsRelativeTo, getPathFromPathComponents, reducePathComponents, removeFileExtension, resolvePath, } from './path.js';
2
+ /** The files emitted for one source file; `''` for those not emitted. */
3
+ export class OutputPaths {
4
+ jsFilePath;
5
+ sourceMapFilePath;
6
+ declarationFilePath;
7
+ declarationMapPath;
8
+ constructor(jsFilePath, sourceMapFilePath, declarationFilePath, declarationMapPath) {
9
+ this.jsFilePath = jsFilePath;
10
+ this.sourceMapFilePath = sourceMapFilePath;
11
+ this.declarationFilePath = declarationFilePath;
12
+ this.declarationMapPath = declarationMapPath;
13
+ }
14
+ }
15
+ export function getOutputPathsFor(fileName, isJson, options, host, forceDtsEmit) {
16
+ const ownOutputFilePath = getOwnEmitOutputFilePath(fileName, options, host, getOutputExtension(fileName, options.jsx));
17
+ // A JSON file emitted onto itself is skipped.
18
+ const isJsonEmittedToSameLocation = isJson && comparePaths(fileName, ownOutputFilePath, host.useCaseSensitiveFileNames, host.currentDirectory) === 0;
19
+ let jsFilePath = '';
20
+ let sourceMapFilePath = '';
21
+ if (options.emitDeclarationOnly !== true && !isJsonEmittedToSameLocation) {
22
+ jsFilePath = ownOutputFilePath;
23
+ if (!isJson)
24
+ sourceMapFilePath = getSourceMapFilePath(jsFilePath, options);
25
+ }
26
+ let declarationFilePath = '';
27
+ let declarationMapPath = '';
28
+ if (forceDtsEmit || (getEmitDeclarations(options) && !isJson)) {
29
+ declarationFilePath = getDeclarationEmitOutputFilePath(fileName, options, host);
30
+ if (options.declarationMap === true && getEmitDeclarations(options))
31
+ declarationMapPath = declarationFilePath + '.map';
32
+ }
33
+ return new OutputPaths(jsFilePath, sourceMapFilePath, declarationFilePath, declarationMapPath);
34
+ }
35
+ function getEmitDeclarations(options) {
36
+ return options.declaration === true || options.composite === true;
37
+ }
38
+ export function getOutputExtension(fileName, jsx) {
39
+ if (fileExtensionIs(fileName, '.json'))
40
+ return '.json';
41
+ if (jsx === 1 /* JsxEmit.Preserve */ && fileExtensionIsOneOf(fileName, ['.jsx', '.tsx']))
42
+ return '.jsx';
43
+ if (fileExtensionIsOneOf(fileName, ['.mts', '.mjs']))
44
+ return '.mjs';
45
+ if (fileExtensionIsOneOf(fileName, ['.cts', '.cjs']))
46
+ return '.cjs';
47
+ return '.js';
48
+ }
49
+ /** The extension of declarations emitted for `path`. */
50
+ export function getDeclarationEmitExtensionForPath(path) {
51
+ if (fileExtensionIsOneOf(path, ['.mjs', '.mts']))
52
+ return '.d.mts';
53
+ if (fileExtensionIsOneOf(path, ['.cjs', '.cts']))
54
+ return '.d.cts';
55
+ if (fileExtensionIsOneOf(path, ['.ts', '.tsx', '.js', '.jsx']))
56
+ return '.d.ts';
57
+ const extension = getAnyExtensionFromPath(path);
58
+ return extension !== '' ? '.d' + extension + '.ts' : '.d.ts';
59
+ }
60
+ /** The declaration output of `inputFileName`, as a referenced project lays it out. */
61
+ export function getOutputDeclarationFileName(inputFileName, options, host) {
62
+ const directory = options.declarationDir ?? options.outDir ?? '';
63
+ return changeExtension(getOutputPathWithoutChangingExtension(inputFileName, directory, host), getDeclarationEmitExtensionForPath(inputFileName));
64
+ }
65
+ export function getOutputJSFileName(inputFileName, options, host) {
66
+ if (options.emitDeclarationOnly === true)
67
+ return '';
68
+ const outputFileName = changeExtension(getOutputPathWithoutChangingExtension(inputFileName, options.outDir ?? '', host), getOutputExtension(inputFileName, options.jsx));
69
+ if (!fileExtensionIs(outputFileName, '.json') ||
70
+ comparePaths(inputFileName, outputFileName, host.useCaseSensitiveFileNames, host.currentDirectory) !== 0) {
71
+ return outputFileName;
72
+ }
73
+ return '';
74
+ }
75
+ /** The JavaScript output of `inputFileName`, whatever the file kind and emit options. */
76
+ export function getOutputJSFileNameWorker(inputFileName, options, host) {
77
+ return changeExtension(getOutputPathWithoutChangingExtension(inputFileName, options.outDir ?? '', host), getOutputExtension(inputFileName, options.jsx));
78
+ }
79
+ /** The declaration output of `inputFileName`. */
80
+ export function getOutputDeclarationFileNameWorker(inputFileName, options, host) {
81
+ const directory = options.declarationDir !== undefined && options.declarationDir !== ''
82
+ ? options.declarationDir
83
+ : (options.outDir ?? '');
84
+ return changeExtension(getOutputPathWithoutChangingExtension(inputFileName, directory, host), getDeclarationEmitExtensionForPath(inputFileName));
85
+ }
86
+ function getOutputPathWithoutChangingExtension(inputFileName, outputDirectory, host) {
87
+ if (outputDirectory === '')
88
+ return inputFileName;
89
+ const relative = getPathFromPathComponents(getPathComponentsRelativeTo(host.commonSourceDirectory(), inputFileName, host.useCaseSensitiveFileNames, host.currentDirectory));
90
+ return resolvePath(outputDirectory, relative);
91
+ }
92
+ function getDeclarationEmitOutputFilePath(file, options, host) {
93
+ const outputDirectory = options.declarationDir ?? options.outDir;
94
+ const path = outputDirectory === undefined
95
+ ? file
96
+ : getSourceFilePathInNewDirWorker(file, outputDirectory, host.currentDirectory, host.commonSourceDirectory(), host.useCaseSensitiveFileNames);
97
+ return removeFileExtension(path) + getDeclarationEmitExtensionForPath(path);
98
+ }
99
+ function getSourceFilePathInNewDir(fileName, newDirectory, currentDirectory, commonSourceDirectory, useCaseSensitiveFileNames) {
100
+ let sourceFilePath = getNormalizedAbsolutePath(fileName, currentDirectory);
101
+ const common = ensureTrailingDirectorySeparator(commonSourceDirectory);
102
+ if (containsPath(common, sourceFilePath, useCaseSensitiveFileNames, currentDirectory)) {
103
+ sourceFilePath = sourceFilePath.slice(common.length);
104
+ }
105
+ return combinePaths(newDirectory, sourceFilePath);
106
+ }
107
+ /** Like `getSourceFilePathInNewDir`, but with a case-folded prefix check. */
108
+ export function getSourceFilePathInNewDirWorker(fileName, newDirectory, currentDirectory, commonSourceDirectory, useCaseSensitiveFileNames) {
109
+ let sourceFilePath = getNormalizedAbsolutePath(fileName, currentDirectory);
110
+ const common = getCanonicalFileName(commonSourceDirectory, useCaseSensitiveFileNames);
111
+ if (getCanonicalFileName(sourceFilePath, useCaseSensitiveFileNames).startsWith(common)) {
112
+ sourceFilePath = sourceFilePath.slice(commonSourceDirectory.length);
113
+ }
114
+ return combinePaths(newDirectory, sourceFilePath);
115
+ }
116
+ function getOwnEmitOutputFilePath(fileName, options, host, extension) {
117
+ const withoutExtension = options.outDir === undefined
118
+ ? removeFileExtension(fileName)
119
+ : removeFileExtension(getSourceFilePathInNewDir(fileName, options.outDir, host.currentDirectory, host.commonSourceDirectory(), host.useCaseSensitiveFileNames));
120
+ return withoutExtension + extension;
121
+ }
122
+ export function getSourceMapFilePath(jsFilePath, options) {
123
+ return options.sourceMap === true && options.inlineSourceMap !== true ? jsFilePath + '.map' : '';
124
+ }
125
+ /** The `.tsbuildinfo` file of an incremental build, or `''`. */
126
+ export function getBuildInfoFileName(options, currentDirectory, useCaseSensitiveFileNames) {
127
+ if (options.incremental !== true && options.composite !== true && options.build !== true)
128
+ return '';
129
+ if (options.tsBuildInfoFile !== undefined)
130
+ return options.tsBuildInfoFile;
131
+ if (options.configFilePath === undefined)
132
+ return '';
133
+ const configWithoutExtension = removeFileExtension(options.configFilePath);
134
+ let buildInfoWithoutExtension = configWithoutExtension;
135
+ if (options.outDir !== undefined) {
136
+ buildInfoWithoutExtension =
137
+ options.rootDir !== undefined
138
+ ? resolvePath(options.outDir, getPathFromPathComponents(getPathComponentsRelativeTo(options.rootDir, configWithoutExtension, useCaseSensitiveFileNames, currentDirectory)))
139
+ : combinePaths(options.outDir, getBaseFileName(configWithoutExtension));
140
+ }
141
+ return buildInfoWithoutExtension + '.tsbuildinfo';
142
+ }
143
+ /**
144
+ * The common source directory with a trailing `/`: `rootDir`, else the config file's directory, else the deepest
145
+ * directory containing `files()`. `checkRoot` reports files outside an explicit or config root.
146
+ */
147
+ export function getCommonSourceDirectory(options, files, currentDirectory, useCaseSensitiveFileNames, checkRoot) {
148
+ let directory;
149
+ if (options.rootDir !== undefined) {
150
+ directory = options.rootDir;
151
+ if (checkRoot !== undefined)
152
+ checkRoot(files(), directory);
153
+ }
154
+ else if (options.configFilePath !== undefined) {
155
+ directory = getDirectoryPath(options.configFilePath);
156
+ if (checkRoot !== undefined)
157
+ checkRoot(files(), directory);
158
+ }
159
+ else {
160
+ directory = computeCommonSourceDirectoryOfFilenames(files(), currentDirectory, useCaseSensitiveFileNames);
161
+ }
162
+ return directory === '' ? '' : ensureTrailingDirectorySeparator(directory);
163
+ }
164
+ /** Like `getCommonSourceDirectory` for emitted files only, ignoring `rootDir` and the config file. */
165
+ export function getComputedCommonSourceDirectory(emittedFiles, currentDirectory, useCaseSensitiveFileNames) {
166
+ const directory = computeCommonSourceDirectoryOfFilenames(emittedFiles, currentDirectory, useCaseSensitiveFileNames);
167
+ return directory === '' ? '' : ensureTrailingDirectorySeparator(directory);
168
+ }
169
+ /** The deepest directory containing every file; `''` if they share no root, `currentDirectory` if there are none. */
170
+ function computeCommonSourceDirectoryOfFilenames(fileNames, currentDirectory, useCaseSensitiveFileNames) {
171
+ let common;
172
+ for (const fileName of fileNames) {
173
+ const components = reducePathComponents(getPathComponents(fileName, currentDirectory));
174
+ components.pop();
175
+ if (common === undefined) {
176
+ common = components;
177
+ continue;
178
+ }
179
+ const shared = Math.min(common.length, components.length);
180
+ for (let i = 0; i < shared; i++) {
181
+ if (getCanonicalFileName(common[i], useCaseSensitiveFileNames) !==
182
+ getCanonicalFileName(components[i], useCaseSensitiveFileNames)) {
183
+ if (i === 0)
184
+ return '';
185
+ common.length = i;
186
+ break;
187
+ }
188
+ }
189
+ if (components.length < common.length)
190
+ common.length = components.length;
191
+ }
192
+ if (common === undefined || common.length === 0)
193
+ return currentDirectory;
194
+ return getPathFromPathComponents(common);
195
+ }
@@ -0,0 +1,175 @@
1
+ /**
2
+ * `package.json` as module resolution reads it.
3
+ *
4
+ * Fields keep the JSON type they were written with, so resolution can trace
5
+ * "Expected type of 'main' field in 'package.json' to be 'string', got 'number'".
6
+ */
7
+ import { type MessageWithArgs } from './diagnostics.js';
8
+ export declare const typeScriptVersion = "7.0.2";
9
+ export declare const typeScriptVersionMajorMinor = "7.0";
10
+ export type JsonType = 'null' | 'boolean' | 'number' | 'string' | 'array' | 'object';
11
+ /** How an object in `exports` or `imports` is interpreted, from the first character of its keys. */
12
+ export declare const enum JsonObjectKind {
13
+ /** No key starts with `.` or `#` (also used for empty objects). */
14
+ Conditions = 0,
15
+ /** Keys start with `.`. */
16
+ Subpaths = 1,
17
+ /** Keys start with `#`. */
18
+ Imports = 2,
19
+ /** Keys mix `.`/`#` with other keys. */
20
+ Invalid = 3
21
+ }
22
+ export interface JsonNull {
23
+ readonly type: 'null';
24
+ }
25
+ export interface JsonBoolean {
26
+ readonly type: 'boolean';
27
+ readonly value: boolean;
28
+ }
29
+ export interface JsonNumber {
30
+ readonly type: 'number';
31
+ readonly value: number;
32
+ }
33
+ export interface JsonString {
34
+ readonly type: 'string';
35
+ readonly value: string;
36
+ }
37
+ export interface JsonArray {
38
+ readonly type: 'array';
39
+ readonly items: readonly JsonValue[];
40
+ }
41
+ export interface JsonObject {
42
+ readonly type: 'object';
43
+ /** Entries in source order; a repeated key keeps its first position and its last value. */
44
+ readonly entries: ReadonlyMap<string, JsonValue>;
45
+ readonly kind: JsonObjectKind;
46
+ }
47
+ export type JsonValue = JsonNull | JsonBoolean | JsonNumber | JsonString | JsonArray | JsonObject;
48
+ /**
49
+ * JavaScript-style falsiness as tsgo checks it for `exports`.
50
+ * Numbers are never falsy there, matching tsgo.
51
+ */
52
+ export declare function isFalsyJson(value: JsonValue | undefined): boolean;
53
+ /** Strict RFC 8259 parser. Any error makes the whole document unparseable. */
54
+ export declare class JsonParser {
55
+ readonly text: string;
56
+ pos: number;
57
+ constructor(text: string);
58
+ skipWhitespace(): void;
59
+ /** Consumes `literal` if it is next. */
60
+ eat(literal: string): boolean;
61
+ peek(): number;
62
+ /** Parses the value at `pos` (after whitespace); `undefined` on error. */
63
+ value(): JsonValue | undefined;
64
+ literal(text: string, value: JsonValue): JsonValue | undefined;
65
+ object(): JsonObject | undefined;
66
+ array(): JsonArray | undefined;
67
+ /** Reads `"key":`, leaving `pos` after the colon. */
68
+ key(): string | undefined;
69
+ /** After a member: consumes `,` (requiring another member) or stops before `close`. */
70
+ endOfMember(close: number): boolean;
71
+ /** Validates a value without building it. */
72
+ skip(): boolean;
73
+ string(): string | undefined;
74
+ number(): number | undefined;
75
+ }
76
+ /** Parses a JSON document; `undefined` if it is not valid JSON. */
77
+ export declare function parseJson(text: string): JsonValue | undefined;
78
+ /** A field read with an expected JSON type. */
79
+ export interface Expected<T> {
80
+ /** JSON type as written, or `undefined` when absent. */
81
+ readonly actualType: JsonType | undefined;
82
+ /** The value, if it ever had the expected type. */
83
+ readonly value: T | undefined;
84
+ readonly isNull: boolean;
85
+ }
86
+ /** `typesVersions` paths for the entry matching the compiler version. */
87
+ export interface VersionPaths {
88
+ /** The matching `typesVersions` key. */
89
+ readonly version: string;
90
+ /** Values are never `undefined`; the type matches compiler options' `paths`. */
91
+ readonly paths: ReadonlyMap<string, readonly string[] | undefined>;
92
+ }
93
+ export declare class PackageJson {
94
+ name: Expected<string>;
95
+ version: Expected<string>;
96
+ type: Expected<string>;
97
+ tsconfig: Expected<string>;
98
+ main: Expected<string>;
99
+ types: Expected<string>;
100
+ typings: Expected<string>;
101
+ dependencies: Expected<ReadonlyMap<string, string>>;
102
+ peerDependencies: Expected<ReadonlyMap<string, string>>;
103
+ optionalDependencies: Expected<ReadonlyMap<string, string>>;
104
+ typesVersions: JsonValue | undefined;
105
+ imports: JsonValue | undefined;
106
+ exports: JsonValue | undefined;
107
+ /** False when the text was not valid JSON; all fields are then absent. */
108
+ parseable: boolean;
109
+ private versionPathsRead;
110
+ private versionPaths;
111
+ private readonly versionTraces;
112
+ /** Names in `dependencies`, `peerDependencies` and `optionalDependencies`. */
113
+ getRuntimeDependencyNames(): Set<string>;
114
+ /** The `typesVersions` paths for this compiler version, appending what was checked to `traces`. */
115
+ getVersionPaths(traces: MessageWithArgs[] | undefined): VersionPaths | undefined;
116
+ private readVersionPaths;
117
+ }
118
+ /** Parses `package.json` text. Invalid JSON yields a `PackageJson` with every field absent. */
119
+ export declare function parsePackageJson(text: string): PackageJson;
120
+ /** A `package.json` lookup: the directory searched and, if the file exists, its contents. */
121
+ export interface PackageJsonInfo {
122
+ readonly packageDirectory: string;
123
+ readonly directoryExists: boolean;
124
+ readonly contents: PackageJson | undefined;
125
+ }
126
+ /**
127
+ * A `package.json` lookup as build info records it: the directory searched, whether the file exists,
128
+ * and whether the directory does.
129
+ */
130
+ export declare class PackageJsonLookup {
131
+ readonly packageDirectory: string;
132
+ readonly exists: boolean;
133
+ readonly directoryExists: boolean;
134
+ constructor(packageDirectory: string, exists: boolean, directoryExists: boolean);
135
+ }
136
+ /** `info` with `packageDirectory` spelled as the caller looked it up. */
137
+ export declare function withPackageDirectory(info: PackageJsonInfo, packageDirectory: string): PackageJsonInfo;
138
+ export declare class PackageJsonInfoCache {
139
+ readonly currentDirectory: string;
140
+ readonly useCaseSensitiveFileNames: boolean;
141
+ private readonly cache;
142
+ private shared;
143
+ constructor(currentDirectory: string, useCaseSensitiveFileNames: boolean);
144
+ /**
145
+ * Called before the cache is shared with other threads, which makes it immutable: from then on,
146
+ * each thread keeps the lookups it adds in a table of its own.
147
+ */
148
+ prepareForSharing(): void;
149
+ get(packageJsonPath: string): PackageJsonInfo | undefined;
150
+ set(packageJsonPath: string, info: PackageJsonInfo): PackageJsonInfo;
151
+ private lookup;
152
+ /** The lookups made, in order (on this thread, once shared). */
153
+ infos(): PackageJsonInfo[];
154
+ }
155
+ interface Version {
156
+ readonly major: number;
157
+ readonly minor: number;
158
+ readonly patch: number;
159
+ readonly prerelease: readonly string[];
160
+ }
161
+ type Operator = '<' | '<=' | '=' | '>=' | '>';
162
+ interface Comparator {
163
+ readonly operator: Operator;
164
+ readonly operand: Version;
165
+ }
166
+ /** Alternatives (`||`) of comparator sets that must all hold. */
167
+ export type VersionRange = readonly (readonly Comparator[])[];
168
+ /** Parses an npm-style range such as `>=4.1`, `^3.0.0 || 5.x` or `1 - 2`; `undefined` if invalid. */
169
+ export declare function parseVersionRange(text: string): VersionRange | undefined;
170
+ export declare function versionRangeMatches(range: VersionRange, version: Version): boolean;
171
+ /** Whether a `typesVersions` key or `types@<range>` condition range includes this compiler's version. */
172
+ export declare function versionRangeIncludesTypeScript(text: string): boolean;
173
+ /** Whether `key` is `types@<range>` with a range including this compiler's version. */
174
+ export declare function isApplicableVersionedTypesKey(key: string): boolean;
175
+ export {};