tsc-ts 0.0.9 → 0.1.0

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 (373) hide show
  1. package/README.md +2 -2
  2. package/bin/tsc-ts.js +70 -1
  3. package/dist/api/compiler/ast-utilities.d.ts +19 -1
  4. package/dist/api/compiler/ast-utilities.js +180 -95
  5. package/dist/api/compiler/ast.d.ts +22 -15
  6. package/dist/api/compiler/ast.js +1026 -995
  7. package/dist/api/compiler/astnav.js +15 -15
  8. package/dist/api/compiler/binder-utilities.js +186 -186
  9. package/dist/api/compiler/binder.js +290 -263
  10. package/dist/api/compiler/character-codes.js +2 -2
  11. package/dist/api/compiler/checker-calls.js +178 -124
  12. package/dist/api/compiler/checker-classes.d.ts +14 -3
  13. package/dist/api/compiler/checker-classes.js +134 -90
  14. package/dist/api/compiler/checker-contextual.js +64 -61
  15. package/dist/api/compiler/checker-declaration-order.js +79 -79
  16. package/dist/api/compiler/checker-declarations.d.ts +1 -0
  17. package/dist/api/compiler/checker-declarations.js +160 -136
  18. package/dist/api/compiler/checker-declared-types.js +67 -65
  19. package/dist/api/compiler/checker-decorators.js +77 -77
  20. package/dist/api/compiler/checker-deprecation.d.ts +8 -3
  21. package/dist/api/compiler/checker-deprecation.js +76 -55
  22. package/dist/api/compiler/checker-destructuring.js +47 -45
  23. package/dist/api/compiler/checker-elaboration.js +24 -24
  24. package/dist/api/compiler/checker-emit-helpers.js +4 -4
  25. package/dist/api/compiler/checker-emit-resolver.d.ts +4 -2
  26. package/dist/api/compiler/checker-emit-resolver.js +25 -13
  27. package/dist/api/compiler/checker-evaluator.js +9 -9
  28. package/dist/api/compiler/checker-expressions.js +244 -211
  29. package/dist/api/compiler/checker-functions.js +113 -107
  30. package/dist/api/compiler/checker-generated-code.d.ts +0 -11
  31. package/dist/api/compiler/checker-generated-code.js +28 -52
  32. package/dist/api/compiler/checker-grammar.d.ts +1 -0
  33. package/dist/api/compiler/checker-grammar.js +472 -440
  34. package/dist/api/compiler/checker-heritage.js +91 -93
  35. package/dist/api/compiler/checker-inference.d.ts +77 -5
  36. package/dist/api/compiler/checker-inference.js +487 -107
  37. package/dist/api/compiler/checker-iteration.d.ts +0 -10
  38. package/dist/api/compiler/checker-iteration.js +35 -52
  39. package/dist/api/compiler/checker-javascript.js +14 -14
  40. package/dist/api/compiler/checker-jsdoc.d.ts +8 -10
  41. package/dist/api/compiler/checker-jsdoc.js +67 -58
  42. package/dist/api/compiler/checker-jsx.js +105 -88
  43. package/dist/api/compiler/checker-members.d.ts +9 -2
  44. package/dist/api/compiler/checker-members.js +212 -75
  45. package/dist/api/compiler/checker-modules.d.ts +15 -6
  46. package/dist/api/compiler/checker-modules.js +469 -309
  47. package/dist/api/compiler/checker-narrowing.js +273 -189
  48. package/dist/api/compiler/checker-object-literals.js +25 -22
  49. package/dist/api/compiler/checker-operators.js +126 -118
  50. package/dist/api/compiler/checker-overloads.js +27 -27
  51. package/dist/api/compiler/checker-property-access.js +59 -55
  52. package/dist/api/compiler/checker-services.d.ts +1 -0
  53. package/dist/api/compiler/checker-services.js +222 -210
  54. package/dist/api/compiler/checker-signatures.js +65 -49
  55. package/dist/api/compiler/checker-source-file.d.ts +5 -0
  56. package/dist/api/compiler/checker-source-file.js +154 -130
  57. package/dist/api/compiler/checker-statements.js +33 -32
  58. package/dist/api/compiler/checker-super.js +50 -50
  59. package/dist/api/compiler/checker-symbol-types.js +109 -93
  60. package/dist/api/compiler/checker-symbols.d.ts +13 -1
  61. package/dist/api/compiler/checker-symbols.js +264 -149
  62. package/dist/api/compiler/checker-type-factory.d.ts +5 -0
  63. package/dist/api/compiler/checker-type-factory.js +145 -36
  64. package/dist/api/compiler/checker-type-nodes.d.ts +1 -0
  65. package/dist/api/compiler/checker-type-nodes.js +179 -141
  66. package/dist/api/compiler/checker-type-operators.d.ts +2 -0
  67. package/dist/api/compiler/checker-type-operators.js +110 -63
  68. package/dist/api/compiler/checker-types.d.ts +80 -3
  69. package/dist/api/compiler/checker-types.js +121 -2
  70. package/dist/api/compiler/checker-unused.js +114 -118
  71. package/dist/api/compiler/checker-utilities.js +11 -11
  72. package/dist/api/compiler/checker.d.ts +104 -31
  73. package/dist/api/compiler/checker.js +181 -33
  74. package/dist/api/compiler/command-line.d.ts +1 -3
  75. package/dist/api/compiler/command-line.js +47 -44
  76. package/dist/api/compiler/compile-program.d.ts +42 -3
  77. package/dist/api/compiler/compile-program.js +139 -27
  78. package/dist/api/compiler/diagnostic-messages.d.ts +1849 -1774
  79. package/dist/api/compiler/diagnostic-messages.js +128 -122
  80. package/dist/api/compiler/diagnostics.d.ts +22 -0
  81. package/dist/api/compiler/diagnostics.js +93 -11
  82. package/dist/api/compiler/emitter.d.ts +7 -1
  83. package/dist/api/compiler/emitter.js +53 -11
  84. package/dist/api/compiler/file-include.d.ts +2 -1
  85. package/dist/api/compiler/file-include.js +11 -7
  86. package/dist/api/compiler/file-loader.d.ts +21 -1
  87. package/dist/api/compiler/file-loader.js +201 -48
  88. package/dist/api/compiler/instantiation.d.ts +7 -0
  89. package/dist/api/compiler/instantiation.js +101 -49
  90. package/dist/api/compiler/jsdoc.js +23 -23
  91. package/dist/api/compiler/link-tables.d.ts +48 -18
  92. package/dist/api/compiler/link-tables.js +80 -37
  93. package/dist/api/compiler/locales/cs-CZ.d.ts +1 -1
  94. package/dist/api/compiler/locales/cs-CZ.js +1 -1
  95. package/dist/api/compiler/locales/de-DE.d.ts +1 -1
  96. package/dist/api/compiler/locales/de-DE.js +1 -1
  97. package/dist/api/compiler/locales/es-ES.d.ts +1 -1
  98. package/dist/api/compiler/locales/es-ES.js +1 -1
  99. package/dist/api/compiler/locales/fr-FR.d.ts +1 -1
  100. package/dist/api/compiler/locales/fr-FR.js +1 -1
  101. package/dist/api/compiler/locales/it-IT.d.ts +1 -1
  102. package/dist/api/compiler/locales/it-IT.js +1 -1
  103. package/dist/api/compiler/locales/ja-JP.d.ts +1 -1
  104. package/dist/api/compiler/locales/ja-JP.js +1 -1
  105. package/dist/api/compiler/locales/ko-KR.d.ts +1 -1
  106. package/dist/api/compiler/locales/ko-KR.js +1 -1
  107. package/dist/api/compiler/locales/pl-PL.d.ts +1 -1
  108. package/dist/api/compiler/locales/pl-PL.js +1 -1
  109. package/dist/api/compiler/locales/pt-BR.d.ts +1 -1
  110. package/dist/api/compiler/locales/pt-BR.js +1 -1
  111. package/dist/api/compiler/locales/ru-RU.d.ts +1 -1
  112. package/dist/api/compiler/locales/ru-RU.js +1 -1
  113. package/dist/api/compiler/locales/tr-TR.d.ts +1 -1
  114. package/dist/api/compiler/locales/tr-TR.js +1 -1
  115. package/dist/api/compiler/locales/zh-CN.d.ts +1 -1
  116. package/dist/api/compiler/locales/zh-CN.js +1 -1
  117. package/dist/api/compiler/locales/zh-TW.d.ts +1 -1
  118. package/dist/api/compiler/locales/zh-TW.js +1 -1
  119. package/dist/api/compiler/module-resolution-types.js +6 -6
  120. package/dist/api/compiler/module-resolution.d.ts +10 -1
  121. package/dist/api/compiler/module-resolution.js +115 -84
  122. package/dist/api/compiler/module-specifiers.d.ts +15 -0
  123. package/dist/api/compiler/module-specifiers.js +24 -18
  124. package/dist/api/compiler/name-resolver.js +74 -65
  125. package/dist/api/compiler/node-builder-names.d.ts +11 -3
  126. package/dist/api/compiler/node-builder-names.js +210 -90
  127. package/dist/api/compiler/node-builder-pseudo.js +29 -31
  128. package/dist/api/compiler/node-builder-reuse.js +23 -22
  129. package/dist/api/compiler/node-builder.d.ts +18 -1
  130. package/dist/api/compiler/node-builder.js +191 -102
  131. package/dist/api/compiler/option-declarations.d.ts +2 -6
  132. package/dist/api/compiler/option-declarations.js +315 -375
  133. package/dist/api/compiler/options.d.ts +15 -33
  134. package/dist/api/compiler/options.js +21 -54
  135. package/dist/api/compiler/output-paths.d.ts +4 -1
  136. package/dist/api/compiler/output-paths.js +6 -11
  137. package/dist/api/compiler/package-json.d.ts +3 -3
  138. package/dist/api/compiler/package-json.js +11 -10
  139. package/dist/api/compiler/parallel-parse.d.ts +3 -2
  140. package/dist/api/compiler/parallel-parse.js +17 -5
  141. package/dist/api/compiler/parser.d.ts +40 -19
  142. package/dist/api/compiler/parser.js +308 -216
  143. package/dist/api/compiler/path.d.ts +9 -0
  144. package/dist/api/compiler/path.js +20 -3
  145. package/dist/api/compiler/printer/emit-context.d.ts +5 -1
  146. package/dist/api/compiler/printer/emit-context.js +20 -1
  147. package/dist/api/compiler/printer/factory-base.d.ts +2 -2
  148. package/dist/api/compiler/printer/factory-base.js +7 -3
  149. package/dist/api/compiler/printer/factory.js +3 -1
  150. package/dist/api/compiler/printer/helpers.js +10 -1
  151. package/dist/api/compiler/printer/name-generator.d.ts +1 -1
  152. package/dist/api/compiler/printer/name-generator.js +35 -16
  153. package/dist/api/compiler/printer/printer.d.ts +49 -2
  154. package/dist/api/compiler/printer/printer.js +539 -293
  155. package/dist/api/compiler/printer/utilities.js +149 -147
  156. package/dist/api/compiler/program-checker.d.ts +12 -2
  157. package/dist/api/compiler/program-checker.js +88 -34
  158. package/dist/api/compiler/program-utilities.d.ts +3 -1
  159. package/dist/api/compiler/program-utilities.js +28 -15
  160. package/dist/api/compiler/program.d.ts +4 -6
  161. package/dist/api/compiler/program.js +74 -87
  162. package/dist/api/compiler/pseudo-bigint.d.ts +2 -0
  163. package/dist/api/compiler/pseudo-bigint.js +18 -0
  164. package/dist/api/compiler/regexp-checker.d.ts +1 -1
  165. package/dist/api/compiler/regexp-checker.js +93 -76
  166. package/dist/api/compiler/relations.d.ts +27 -4
  167. package/dist/api/compiler/relations.js +347 -180
  168. package/dist/api/compiler/reparser.js +60 -56
  169. package/dist/api/compiler/scanner.d.ts +19 -2
  170. package/dist/api/compiler/scanner.js +123 -108
  171. package/dist/api/compiler/shared-results.d.ts +463 -0
  172. package/dist/api/compiler/shared-results.js +2128 -0
  173. package/dist/api/compiler/sourcemap.js +2 -2
  174. package/dist/api/compiler/symbol-accessibility.js +87 -74
  175. package/dist/api/compiler/symbol.d.ts +23 -14
  176. package/dist/api/compiler/symbol.js +23 -11
  177. package/dist/api/compiler/syntax-kind.d.ts +198 -197
  178. package/dist/api/compiler/transformers/alias-references.js +247 -139
  179. package/dist/api/compiler/transformers/async-utilities.js +25 -25
  180. package/dist/api/compiler/transformers/async.d.ts +0 -1
  181. package/dist/api/compiler/transformers/async.js +64 -77
  182. package/dist/api/compiler/transformers/class-fields.d.ts +1 -0
  183. package/dist/api/compiler/transformers/class-fields.js +81 -78
  184. package/dist/api/compiler/transformers/commonjs-module.js +18 -15
  185. package/dist/api/compiler/transformers/const-enum-inliner.js +1 -1
  186. package/dist/api/compiler/transformers/declarations-diagnostics.js +247 -244
  187. package/dist/api/compiler/transformers/declarations-pseudo.js +100 -100
  188. package/dist/api/compiler/transformers/declarations-resolver.d.ts +0 -3
  189. package/dist/api/compiler/transformers/declarations-syntactic.d.ts +1 -2
  190. package/dist/api/compiler/transformers/declarations-syntactic.js +134 -156
  191. package/dist/api/compiler/transformers/declarations-tracker.js +18 -18
  192. package/dist/api/compiler/transformers/declarations.d.ts +4 -1
  193. package/dist/api/compiler/transformers/declarations.js +305 -238
  194. package/dist/api/compiler/transformers/decorator-metadata.d.ts +1 -1
  195. package/dist/api/compiler/transformers/decorator-metadata.js +53 -45
  196. package/dist/api/compiler/transformers/decorator-utilities.js +24 -24
  197. package/dist/api/compiler/transformers/destructuring.js +19 -18
  198. package/dist/api/compiler/transformers/emit-resolver.js +1 -1
  199. package/dist/api/compiler/transformers/es-decorators.js +55 -55
  200. package/dist/api/compiler/transformers/external-module-info.js +3 -3
  201. package/dist/api/compiler/transformers/for-await.js +25 -25
  202. package/dist/api/compiler/transformers/import-elision.js +14 -14
  203. package/dist/api/compiler/transformers/jsx.js +12 -12
  204. package/dist/api/compiler/transformers/legacy-decorators.js +17 -17
  205. package/dist/api/compiler/transformers/module.js +8 -8
  206. package/dist/api/compiler/transformers/named-evaluation.js +4 -4
  207. package/dist/api/compiler/transformers/object-rest-spread.js +20 -20
  208. package/dist/api/compiler/transformers/optional-chain.js +10 -10
  209. package/dist/api/compiler/transformers/reference-resolver.d.ts +12 -1
  210. package/dist/api/compiler/transformers/reference-resolver.js +131 -69
  211. package/dist/api/compiler/transformers/runtime-syntax.js +35 -31
  212. package/dist/api/compiler/transformers/subtree-facts.js +47 -47
  213. package/dist/api/compiler/transformers/syntax-facts.js +56 -58
  214. package/dist/api/compiler/transformers/type-eraser.js +73 -66
  215. package/dist/api/compiler/transformers/type-serialization.js +24 -24
  216. package/dist/api/compiler/transformers/using.js +12 -12
  217. package/dist/api/compiler/transformers/utilities.js +77 -77
  218. package/dist/api/compiler/transformers/visitor-base.js +172 -172
  219. package/dist/api/compiler/transformers/visitor-hooks.js +6 -2
  220. package/dist/api/compiler/tsconfig.d.ts +10 -2
  221. package/dist/api/compiler/tsconfig.js +136 -48
  222. package/dist/api/compiler/type-printer.js +40 -3
  223. package/dist/api/compiler/types.d.ts +2 -1
  224. package/dist/api/library/ast.generated.d.ts +42 -39
  225. package/dist/api/library/ast.generated.js +1 -1
  226. package/dist/api/library/compiler-options.generated.d.ts +111 -100
  227. package/dist/api/library/compiler-options.generated.js +1 -1
  228. package/dist/api/library/disk.js +12 -1
  229. package/dist/api/library/enums.generated.d.ts +206 -206
  230. package/dist/api/library/enums.generated.js +206 -206
  231. package/dist/api/library/nodes.js +26 -26
  232. package/package.json +9 -9
  233. package/src/compiler/ast-utilities.ts +99 -7
  234. package/src/compiler/ast.ts +58 -26
  235. package/src/compiler/binder.ts +39 -4
  236. package/src/compiler/character-codes.ts +2 -2
  237. package/src/compiler/checker-calls.ts +79 -9
  238. package/src/compiler/checker-classes.ts +78 -24
  239. package/src/compiler/checker-contextual.ts +6 -1
  240. package/src/compiler/checker-declarations.ts +31 -4
  241. package/src/compiler/checker-declared-types.ts +8 -5
  242. package/src/compiler/checker-decorators.ts +1 -1
  243. package/src/compiler/checker-deprecation.ts +29 -8
  244. package/src/compiler/checker-destructuring.ts +10 -3
  245. package/src/compiler/checker-emit-helpers.ts +1 -0
  246. package/src/compiler/checker-emit-resolver.ts +16 -6
  247. package/src/compiler/checker-expressions.ts +79 -46
  248. package/src/compiler/checker-functions.ts +21 -6
  249. package/src/compiler/checker-generated-code.ts +2 -22
  250. package/src/compiler/checker-grammar.ts +136 -62
  251. package/src/compiler/checker-heritage.ts +22 -21
  252. package/src/compiler/checker-inference.ts +514 -82
  253. package/src/compiler/checker-iteration.ts +18 -31
  254. package/src/compiler/checker-javascript.ts +1 -1
  255. package/src/compiler/checker-jsdoc.ts +50 -27
  256. package/src/compiler/checker-jsx.ts +26 -4
  257. package/src/compiler/checker-members.ts +200 -56
  258. package/src/compiler/checker-modules.ts +332 -65
  259. package/src/compiler/checker-narrowing.ts +98 -19
  260. package/src/compiler/checker-object-literals.ts +3 -0
  261. package/src/compiler/checker-operators.ts +11 -4
  262. package/src/compiler/checker-property-access.ts +7 -2
  263. package/src/compiler/checker-services.ts +39 -12
  264. package/src/compiler/checker-signatures.ts +15 -1
  265. package/src/compiler/checker-source-file.ts +39 -13
  266. package/src/compiler/checker-statements.ts +3 -2
  267. package/src/compiler/checker-symbol-types.ts +29 -6
  268. package/src/compiler/checker-symbols.ts +158 -15
  269. package/src/compiler/checker-type-factory.ts +124 -23
  270. package/src/compiler/checker-type-nodes.ts +46 -3
  271. package/src/compiler/checker-type-operators.ts +83 -26
  272. package/src/compiler/checker-types.ts +147 -4
  273. package/src/compiler/checker-unused.ts +9 -14
  274. package/src/compiler/checker.ts +203 -39
  275. package/src/compiler/command-line.ts +28 -28
  276. package/src/compiler/compile-program.ts +167 -27
  277. package/src/compiler/decoder.ts +13 -4
  278. package/src/compiler/diagnostic-messages.ts +1973 -1892
  279. package/src/compiler/diagnostics.ts +84 -3
  280. package/src/compiler/emitter.ts +57 -8
  281. package/src/compiler/encoder.ts +23 -8
  282. package/src/compiler/file-include.ts +9 -3
  283. package/src/compiler/file-loader.ts +197 -38
  284. package/src/compiler/help.ts +10 -14
  285. package/src/compiler/incremental.ts +165 -30
  286. package/src/compiler/init.ts +2 -7
  287. package/src/compiler/instantiation.ts +77 -22
  288. package/src/compiler/jsdoc.ts +3 -1
  289. package/src/compiler/link-tables.ts +82 -37
  290. package/src/compiler/locales/cs-CZ.ts +1 -1
  291. package/src/compiler/locales/de-DE.ts +1 -1
  292. package/src/compiler/locales/es-ES.ts +1 -1
  293. package/src/compiler/locales/fr-FR.ts +1 -1
  294. package/src/compiler/locales/it-IT.ts +1 -1
  295. package/src/compiler/locales/ja-JP.ts +1 -1
  296. package/src/compiler/locales/ko-KR.ts +1 -1
  297. package/src/compiler/locales/pl-PL.ts +1 -1
  298. package/src/compiler/locales/pt-BR.ts +1 -1
  299. package/src/compiler/locales/ru-RU.ts +1 -1
  300. package/src/compiler/locales/tr-TR.ts +1 -1
  301. package/src/compiler/locales/zh-CN.ts +1 -1
  302. package/src/compiler/locales/zh-TW.ts +1 -1
  303. package/src/compiler/module-resolution.ts +44 -8
  304. package/src/compiler/module-specifiers.ts +62 -20
  305. package/src/compiler/name-resolver.ts +9 -1
  306. package/src/compiler/node-builder-names.ts +236 -54
  307. package/src/compiler/node-builder-pseudo.ts +4 -7
  308. package/src/compiler/node-builder-reuse.ts +5 -4
  309. package/src/compiler/node-builder.ts +130 -31
  310. package/src/compiler/option-declarations.ts +33 -103
  311. package/src/compiler/options.ts +23 -62
  312. package/src/compiler/output-paths.ts +5 -18
  313. package/src/compiler/package-entrypoints.ts +345 -0
  314. package/src/compiler/package-json.ts +4 -4
  315. package/src/compiler/parallel-check.ts +326 -52
  316. package/src/compiler/parallel-emit.ts +320 -0
  317. package/src/compiler/parallel-parse.ts +16 -5
  318. package/src/compiler/parse-thread.ts +3 -0
  319. package/src/compiler/parser.ts +156 -39
  320. package/src/compiler/path.ts +22 -2
  321. package/src/compiler/printer/emit-context.ts +21 -0
  322. package/src/compiler/printer/factory-base.ts +10 -3
  323. package/src/compiler/printer/factory.ts +4 -1
  324. package/src/compiler/printer/helpers.ts +10 -1
  325. package/src/compiler/printer/name-generator.ts +24 -2
  326. package/src/compiler/printer/printer.ts +266 -30
  327. package/src/compiler/printer/utilities.ts +8 -2
  328. package/src/compiler/program-checker.ts +57 -5
  329. package/src/compiler/program-utilities.ts +23 -10
  330. package/src/compiler/program.ts +18 -26
  331. package/src/compiler/pseudo-bigint.ts +17 -0
  332. package/src/compiler/regexp-checker.ts +63 -30
  333. package/src/compiler/relations.ts +240 -77
  334. package/src/compiler/reparser.ts +7 -2
  335. package/src/compiler/scanner.ts +109 -79
  336. package/src/compiler/shared-results.ts +2414 -0
  337. package/src/compiler/show-config.ts +18 -1
  338. package/src/compiler/sourcemap.ts +2 -2
  339. package/src/compiler/symbol-accessibility.ts +26 -3
  340. package/src/compiler/symbol.ts +46 -24
  341. package/src/compiler/syntax-kind.ts +188 -187
  342. package/src/compiler/thread-entry.ts +64 -4
  343. package/src/compiler/transformers/alias-references.ts +123 -4
  344. package/src/compiler/transformers/async.ts +2 -17
  345. package/src/compiler/transformers/class-fields.ts +13 -12
  346. package/src/compiler/transformers/commonjs-module.ts +11 -7
  347. package/src/compiler/transformers/declarations-diagnostics.ts +5 -3
  348. package/src/compiler/transformers/declarations-pseudo.ts +2 -4
  349. package/src/compiler/transformers/declarations-resolver.ts +0 -3
  350. package/src/compiler/transformers/declarations-syntactic.ts +1 -21
  351. package/src/compiler/transformers/declarations.ts +134 -48
  352. package/src/compiler/transformers/decorator-metadata.ts +9 -1
  353. package/src/compiler/transformers/destructuring.ts +4 -3
  354. package/src/compiler/transformers/external-module-info.ts +1 -1
  355. package/src/compiler/transformers/jsx.ts +2 -1
  356. package/src/compiler/transformers/reference-resolver.ts +83 -19
  357. package/src/compiler/transformers/runtime-syntax.ts +6 -1
  358. package/src/compiler/transformers/syntax-facts.ts +2 -7
  359. package/src/compiler/transformers/type-eraser.ts +10 -1
  360. package/src/compiler/transformers/type-serialization.ts +3 -2
  361. package/src/compiler/transformers/visitor-base.ts +2 -1
  362. package/src/compiler/transformers/visitor-hooks.ts +9 -4
  363. package/src/compiler/tsc-build.ts +66 -9
  364. package/src/compiler/tsc-cli.ts +7 -0
  365. package/src/compiler/tsc-compile.ts +284 -4
  366. package/src/compiler/tsc-watch.ts +74 -45
  367. package/src/compiler/tsconfig.ts +176 -19
  368. package/src/compiler/type-printer.ts +36 -2
  369. package/src/compiler/types.ts +2 -1
  370. package/src/library/ast.generated.ts +57 -41
  371. package/src/library/compiler-options.generated.ts +117 -103
  372. package/src/library/disk.ts +10 -1
  373. package/src/library/enums.generated.ts +196 -196
@@ -1,4 +1,4 @@
1
- // Generated by scripts/generate-api.mjs from typescript-go _scripts/ast.json (TypeScript 7.0.2).
1
+ // Generated by scripts/generate-api.mjs from TypeScript tools/scripts/tsc/ast.json (TypeScript 7.1.0-beta).
2
2
  // TypeScript is Copyright Microsoft Corporation, licensed under Apache-2.0. Do not edit.
3
3
 
4
4
  import type { JsxTagNamePropertyAccess, ModifierList, Node, NodeList } from './ast.js';
@@ -166,7 +166,8 @@ export type KeywordSyntaxKind =
166
166
  | SyntaxKind.BigIntKeyword
167
167
  | SyntaxKind.OverrideKeyword
168
168
  | SyntaxKind.OfKeyword
169
- | SyntaxKind.DeferKeyword;
169
+ | SyntaxKind.DeferKeyword
170
+ | SyntaxKind.SourceKeyword;
170
171
  export type ModifierSyntaxKind =
171
172
  | SyntaxKind.AbstractKeyword
172
173
  | SyntaxKind.AccessorKeyword
@@ -370,7 +371,8 @@ export type TokenSyntaxKind =
370
371
  | SyntaxKind.BigIntKeyword
371
372
  | SyntaxKind.OverrideKeyword
372
373
  | SyntaxKind.OfKeyword
373
- | SyntaxKind.DeferKeyword;
374
+ | SyntaxKind.DeferKeyword
375
+ | SyntaxKind.SourceKeyword;
374
376
  export type JsxTokenSyntaxKind =
375
377
  | SyntaxKind.LessThanSlashToken
376
378
  | SyntaxKind.EndOfFile
@@ -416,7 +418,7 @@ export type JSDocNodeSyntaxKind =
416
418
  | SyntaxKind.JSDocThrowsTag
417
419
  | SyntaxKind.JSDocSatisfiesTag
418
420
  | SyntaxKind.JSDocImportTag;
419
- export type ImportPhaseModifierSyntaxKind = SyntaxKind.TypeKeyword | SyntaxKind.DeferKeyword;
421
+ export type ImportPhaseModifierSyntaxKind = SyntaxKind.TypeKeyword | SyntaxKind.DeferKeyword | SyntaxKind.SourceKeyword;
420
422
  export type PostfixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken;
421
423
  export type PrefixUnaryOperator =
422
424
  | SyntaxKind.PlusToken
@@ -503,7 +505,7 @@ export interface ModifiersBase extends Node {
503
505
  readonly modifiers?: ModifierList<ModifierLike> | undefined;
504
506
  readonly modifierFlags: ModifierFlags;
505
507
  }
506
- export interface FunctionLikeBase extends DeclarationBase {
508
+ export interface FunctionLikeBase extends Node {
507
509
  readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
508
510
  readonly parameters: NodeList<ParameterDeclaration>;
509
511
  readonly type?: TypeNode | undefined;
@@ -516,7 +518,7 @@ export interface BodyBase extends Node {
516
518
  export interface FunctionLikeWithBodyBase extends FunctionLikeBase, BodyBase {
517
519
  readonly body?: BlockOrExpression | undefined;
518
520
  }
519
- export interface ClassLikeBase extends DeclarationBase, ModifiersBase {
521
+ export interface ClassLikeBase extends ModifiersBase {
520
522
  readonly name?: Identifier | undefined;
521
523
  readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
522
524
  readonly heritageClauses?: NodeList<HeritageClause> | undefined;
@@ -526,18 +528,18 @@ export interface LiteralLikeNodeBase extends Node {
526
528
  readonly text: string;
527
529
  readonly tokenFlags: TokenFlags;
528
530
  }
529
- export interface LiteralExpressionBase extends LiteralLikeNodeBase, PrimaryExpressionBase {}
531
+ export interface LiteralExpressionBase extends PrimaryExpressionBase, LiteralLikeNodeBase {}
530
532
  export interface TemplateLiteralLikeNodeBase extends LiteralLikeNodeBase {
531
533
  readonly rawText?: string | undefined;
532
534
  readonly templateFlags: TokenFlags;
533
535
  }
534
- export interface TypeElementBase extends Node {}
535
- export interface ClassElementBase extends Node {}
536
- export interface NamedMemberBase extends DeclarationBase, ModifiersBase {
536
+ export interface TypeElementBase extends DeclarationBase {}
537
+ export interface ClassElementBase extends DeclarationBase {}
538
+ export interface NamedMemberBase extends ModifiersBase {
537
539
  readonly name: PropertyName;
538
540
  readonly postfixToken?: QuestionToken | ExclamationToken | undefined;
539
541
  }
540
- export interface ObjectLiteralElementBase extends Node {}
542
+ export interface ObjectLiteralElementBase extends DeclarationBase {}
541
543
  export interface UnionOrIntersectionTypeNodeBase extends TypeNodeBase {
542
544
  readonly types: NodeList<TypeNode>;
543
545
  }
@@ -563,7 +565,7 @@ export interface PrivateIdentifier extends PrimaryExpressionBase {
563
565
  export interface QualifiedName extends NodeBase {
564
566
  readonly kind: SyntaxKind.QualifiedName;
565
567
  readonly left: EntityName;
566
- readonly right: Identifier;
568
+ readonly right: MemberName;
567
569
  }
568
570
  export interface ComputedPropertyName extends NodeBase {
569
571
  readonly kind: SyntaxKind.ComputedPropertyName;
@@ -687,40 +689,40 @@ export interface BindingElement extends NodeBase, DeclarationBase {
687
689
  export interface MissingDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
688
690
  readonly kind: SyntaxKind.MissingDeclaration;
689
691
  }
690
- export interface FunctionDeclaration extends DeclarationBase, StatementBase, ModifiersBase, FunctionLikeWithBodyBase {
692
+ export interface FunctionDeclaration extends StatementBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase {
691
693
  readonly kind: SyntaxKind.FunctionDeclaration;
692
694
  readonly name?: Identifier | undefined;
693
695
  readonly body?: FunctionBody | undefined;
694
696
  }
695
- export interface ClassDeclaration extends DeclarationBase, StatementBase, ClassLikeBase {
697
+ export interface ClassDeclaration extends StatementBase, DeclarationBase, ClassLikeBase {
696
698
  readonly kind: SyntaxKind.ClassDeclaration;
697
699
  }
698
- export interface ClassExpression extends PrimaryExpressionBase, ClassLikeBase {
700
+ export interface ClassExpression extends PrimaryExpressionBase, DeclarationBase, ClassLikeBase {
699
701
  readonly kind: SyntaxKind.ClassExpression;
700
702
  }
701
703
  export interface HeritageClause extends NodeBase {
702
704
  readonly kind: SyntaxKind.HeritageClause;
703
705
  readonly token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword;
704
- readonly types: NodeList<ExpressionWithTypeArguments>;
706
+ readonly types: NodeList<HeritageClauseElement>;
705
707
  }
706
- export interface InterfaceDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
708
+ export interface InterfaceDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
707
709
  readonly kind: SyntaxKind.InterfaceDeclaration;
708
710
  readonly name: Identifier;
709
711
  readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
710
712
  readonly heritageClauses?: NodeList<HeritageClause> | undefined;
711
713
  readonly members: NodeList<TypeElement>;
712
714
  }
713
- export interface TypeAliasDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
715
+ export interface TypeAliasDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
714
716
  readonly kind: SyntaxKind.TypeAliasDeclaration;
715
717
  readonly name: Identifier;
716
718
  readonly typeParameters?: NodeList<TypeParameterDeclaration> | undefined;
717
719
  readonly type: TypeNode;
718
720
  }
719
- export interface EnumMember extends NodeBase, NamedMemberBase {
721
+ export interface EnumMember extends NodeBase, DeclarationBase, NamedMemberBase {
720
722
  readonly kind: SyntaxKind.EnumMember;
721
723
  readonly initializer?: Expression | undefined;
722
724
  }
723
- export interface EnumDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
725
+ export interface EnumDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
724
726
  readonly kind: SyntaxKind.EnumDeclaration;
725
727
  readonly name: Identifier;
726
728
  readonly members: NodeList<EnumMember>;
@@ -753,13 +755,13 @@ export interface NamedImports extends NodeBase {
753
755
  readonly kind: SyntaxKind.NamedImports;
754
756
  readonly elements: NodeList<ImportSpecifier>;
755
757
  }
756
- export interface ExportAssignment extends DeclarationBase, StatementBase, ModifiersBase {
758
+ export interface ExportAssignment extends StatementBase, DeclarationBase, ModifiersBase {
757
759
  readonly kind: SyntaxKind.ExportAssignment;
758
760
  readonly isExportEquals: boolean;
759
761
  readonly type?: TypeNode | undefined;
760
762
  readonly expression: Expression;
761
763
  }
762
- export interface NamespaceExportDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
764
+ export interface NamespaceExportDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
763
765
  readonly kind: SyntaxKind.NamespaceExportDeclaration;
764
766
  readonly name: Identifier;
765
767
  }
@@ -790,23 +792,25 @@ export interface ConstructorDeclaration
790
792
  }
791
793
  export interface GetAccessorDeclaration
792
794
  extends
795
+ NodeBase,
796
+ DeclarationBase,
793
797
  NamedMemberBase,
794
798
  FunctionLikeWithBodyBase,
795
799
  TypeElementBase,
796
800
  ClassElementBase,
797
- ObjectLiteralElementBase,
798
- NodeBase {
801
+ ObjectLiteralElementBase {
799
802
  readonly kind: SyntaxKind.GetAccessor;
800
803
  readonly body?: FunctionBody | undefined;
801
804
  }
802
805
  export interface SetAccessorDeclaration
803
806
  extends
807
+ NodeBase,
808
+ DeclarationBase,
804
809
  NamedMemberBase,
805
810
  FunctionLikeWithBodyBase,
806
811
  TypeElementBase,
807
812
  ClassElementBase,
808
- ObjectLiteralElementBase,
809
- NodeBase {
813
+ ObjectLiteralElementBase {
810
814
  readonly kind: SyntaxKind.SetAccessor;
811
815
  readonly body?: FunctionBody | undefined;
812
816
  }
@@ -815,20 +819,27 @@ export interface IndexSignatureDeclaration
815
819
  readonly kind: SyntaxKind.IndexSignature;
816
820
  readonly type?: TypeNode | undefined;
817
821
  }
818
- export interface MethodSignatureDeclaration extends NodeBase, NamedMemberBase, FunctionLikeBase, TypeElementBase {
822
+ export interface MethodSignatureDeclaration
823
+ extends NodeBase, DeclarationBase, NamedMemberBase, FunctionLikeBase, TypeElementBase {
819
824
  readonly kind: SyntaxKind.MethodSignature;
820
825
  }
821
826
  export interface MethodDeclaration
822
- extends NodeBase, NamedMemberBase, FunctionLikeWithBodyBase, ClassElementBase, ObjectLiteralElementBase {
827
+ extends
828
+ NodeBase,
829
+ DeclarationBase,
830
+ NamedMemberBase,
831
+ FunctionLikeWithBodyBase,
832
+ ClassElementBase,
833
+ ObjectLiteralElementBase {
823
834
  readonly kind: SyntaxKind.MethodDeclaration;
824
835
  readonly body?: FunctionBody | undefined;
825
836
  }
826
- export interface PropertySignatureDeclaration extends NodeBase, NamedMemberBase, TypeElementBase {
837
+ export interface PropertySignatureDeclaration extends NodeBase, DeclarationBase, NamedMemberBase, TypeElementBase {
827
838
  readonly kind: SyntaxKind.PropertySignature;
828
839
  readonly type?: TypeNode | undefined;
829
840
  readonly initializer?: Expression | undefined;
830
841
  }
831
- export interface PropertyDeclaration extends NodeBase, NamedMemberBase, ClassElementBase {
842
+ export interface PropertyDeclaration extends NodeBase, DeclarationBase, NamedMemberBase, ClassElementBase {
832
843
  readonly kind: SyntaxKind.PropertyDeclaration;
833
844
  readonly type?: TypeNode | undefined;
834
845
  readonly initializer?: Expression | undefined;
@@ -993,12 +1004,13 @@ export interface SpreadAssignment extends NodeBase, DeclarationBase, ObjectLiter
993
1004
  readonly kind: SyntaxKind.SpreadAssignment;
994
1005
  readonly expression: Expression;
995
1006
  }
996
- export interface PropertyAssignment extends NodeBase, NamedMemberBase, ObjectLiteralElementBase {
1007
+ export interface PropertyAssignment extends NodeBase, DeclarationBase, NamedMemberBase, ObjectLiteralElementBase {
997
1008
  readonly kind: SyntaxKind.PropertyAssignment;
998
1009
  readonly type?: TypeNode | undefined;
999
1010
  readonly initializer: Expression;
1000
1011
  }
1001
- export interface ShorthandPropertyAssignment extends NodeBase, NamedMemberBase, ObjectLiteralElementBase {
1012
+ export interface ShorthandPropertyAssignment
1013
+ extends NodeBase, DeclarationBase, NamedMemberBase, ObjectLiteralElementBase {
1002
1014
  readonly kind: SyntaxKind.ShorthandPropertyAssignment;
1003
1015
  readonly type?: TypeNode | undefined;
1004
1016
  readonly equalsToken?: EqualsToken | undefined;
@@ -1028,10 +1040,10 @@ export interface TypeAssertion extends UnaryExpressionBase {
1028
1040
  export interface KeywordTypeNode<TKind extends KeywordTypeSyntaxKind = KeywordTypeSyntaxKind> extends TypeNodeBase {
1029
1041
  readonly kind: TKind;
1030
1042
  }
1031
- export interface UnionTypeNode extends TypeNodeBase, UnionOrIntersectionTypeNodeBase {
1043
+ export interface UnionTypeNode extends UnionOrIntersectionTypeNodeBase {
1032
1044
  readonly kind: SyntaxKind.UnionType;
1033
1045
  }
1034
- export interface IntersectionTypeNode extends TypeNodeBase, UnionOrIntersectionTypeNodeBase {
1046
+ export interface IntersectionTypeNode extends UnionOrIntersectionTypeNodeBase {
1035
1047
  readonly kind: SyntaxKind.IntersectionType;
1036
1048
  }
1037
1049
  export interface ConditionalTypeNode extends TypeNodeBase {
@@ -1132,10 +1144,10 @@ export interface ParenthesizedTypeNode extends TypeNodeBase {
1132
1144
  readonly kind: SyntaxKind.ParenthesizedType;
1133
1145
  readonly type: TypeNode;
1134
1146
  }
1135
- export interface FunctionTypeNode extends TypeNodeBase, ModifiersBase, FunctionLikeBase {
1147
+ export interface FunctionTypeNode extends TypeNodeBase, DeclarationBase, ModifiersBase, FunctionLikeBase {
1136
1148
  readonly kind: SyntaxKind.FunctionType;
1137
1149
  }
1138
- export interface ConstructorTypeNode extends TypeNodeBase, ModifiersBase, FunctionLikeBase {
1150
+ export interface ConstructorTypeNode extends TypeNodeBase, DeclarationBase, ModifiersBase, FunctionLikeBase {
1139
1151
  readonly kind: SyntaxKind.ConstructorType;
1140
1152
  }
1141
1153
  export interface TemplateHead extends NodeBase, TemplateLiteralLikeNodeBase {
@@ -1214,7 +1226,7 @@ export interface JsxAttribute extends NodeBase, DeclarationBase {
1214
1226
  readonly name: JsxAttributeName;
1215
1227
  readonly initializer?: JsxAttributeValue | undefined;
1216
1228
  }
1217
- export interface JsxSpreadAttribute extends ObjectLiteralElementBase, NodeBase {
1229
+ export interface JsxSpreadAttribute extends NodeBase, ObjectLiteralElementBase {
1218
1230
  readonly kind: SyntaxKind.JsxSpreadAttribute;
1219
1231
  readonly expression: Expression;
1220
1232
  }
@@ -1341,26 +1353,27 @@ export interface JSDocTypedefTag extends JSDocTagBase {
1341
1353
  readonly typeExpression?: Node | undefined;
1342
1354
  readonly name?: JSDocFullName | undefined;
1343
1355
  }
1344
- export interface JSDocSignature extends JSDocTypeBase, FunctionLikeBase {
1356
+ export interface JSDocSignature extends JSDocTypeBase, DeclarationBase, FunctionLikeBase {
1345
1357
  readonly kind: SyntaxKind.JSDocSignature;
1346
1358
  }
1347
1359
  export interface JSDocNameReference extends TypeNodeBase {
1348
1360
  readonly kind: SyntaxKind.JSDocNameReference;
1349
1361
  readonly name?: EntityName | undefined;
1350
1362
  }
1351
- export interface ModuleDeclaration extends DeclarationBase, StatementBase, ModifiersBase, BodyBase {
1363
+ export interface ModuleDeclaration extends StatementBase, DeclarationBase, ModifiersBase, BodyBase {
1352
1364
  readonly kind: SyntaxKind.ModuleDeclaration;
1353
1365
  readonly keyword: SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.GlobalKeyword;
1354
1366
  readonly name: ModuleName;
1367
+ readonly attributes?: TypeLiteralNode | undefined;
1355
1368
  readonly body?: ModuleBody | undefined;
1356
1369
  }
1357
- export interface ImportEqualsDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
1370
+ export interface ImportEqualsDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
1358
1371
  readonly kind: SyntaxKind.ImportEqualsDeclaration;
1359
1372
  readonly isTypeOnly: boolean;
1360
1373
  readonly name: Identifier;
1361
1374
  readonly moduleReference: ModuleReference;
1362
1375
  }
1363
- export interface ExportDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
1376
+ export interface ExportDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
1364
1377
  readonly kind: SyntaxKind.ExportDeclaration;
1365
1378
  readonly isTypeOnly: boolean;
1366
1379
  readonly exportClause?: NamedExportBindings | undefined;
@@ -1422,6 +1435,7 @@ export interface JSDocTypeLiteral extends JSDocTypeBase, DeclarationBase {
1422
1435
  export type Expression = ExpressionBase;
1423
1436
  export type Statement = StatementBase;
1424
1437
  export type TypeNode = TypeNodeBase;
1438
+ export type HeritageClauseElement = ExpressionWithTypeArguments | TypeReferenceNode;
1425
1439
  export type BlockOrExpression = Block | Expression;
1426
1440
  export type NodeBody = Block | Expression | ModuleBlock | ModuleDeclaration;
1427
1441
  export type AccessExpression = PropertyAccessExpression | ElementAccessExpression;
@@ -1434,6 +1448,7 @@ export type DeclarationName =
1434
1448
  | NoSubstitutionTemplateLiteral
1435
1449
  | ComputedPropertyName
1436
1450
  | BindingPattern
1451
+ | PropertyAccessExpression
1437
1452
  | ElementAccessExpression;
1438
1453
  export type ModuleName = Identifier | StringLiteral;
1439
1454
  export type ModuleExportName = Identifier | StringLiteral;
@@ -1670,6 +1685,7 @@ export type HeritageClauseList = NodeList<HeritageClause>;
1670
1685
  export type ClassElementList = NodeList<ClassElement>;
1671
1686
  export type TypeElementList = NodeList<TypeElement>;
1672
1687
  export type ExpressionWithTypeArgumentsList = NodeList<ExpressionWithTypeArguments>;
1688
+ export type HeritageClauseElementList = NodeList<HeritageClauseElement>;
1673
1689
  export type EnumMemberList = NodeList<EnumMember>;
1674
1690
  export type ImportSpecifierList = NodeList<ImportSpecifier>;
1675
1691
  export type ExportSpecifierList = NodeList<ExportSpecifier>;
@@ -1,114 +1,128 @@
1
- // Generated by scripts/generate-api.mjs from typescript-go _packages/native-preview/src/api/compilerOptions.ts (TypeScript 7.0.2).
1
+ // Generated by scripts/generate-api.mjs from TypeScript packages/typescript/src/api/compilerOptions.generated.ts (TypeScript 7.1.0-beta).
2
2
  // TypeScript is Copyright Microsoft Corporation, licensed under Apache-2.0. Do not edit.
3
3
 
4
+ // Code generated by tools/scripts/tsc/generate-options.ts. DO NOT EDIT.
5
+
4
6
  import type { JsxEmit } from './enums.generated.js';
5
7
  import type { ModuleDetectionKind } from './enums.generated.js';
6
8
  import type { ModuleKind } from './enums.generated.js';
7
9
  import type { ModuleResolutionKind } from './enums.generated.js';
8
10
  import type { NewLineKind } from './enums.generated.js';
9
11
  import type { ScriptTarget } from './enums.generated.js';
12
+ type RootedPath = string;
13
+ type RootedFilePath = string;
14
+ type RootedDirectoryPath = string;
10
15
 
11
- // Keep in sync with compileroptions.go, obviously
12
-
16
+ /** CompilerOptions contains the compiler options exposed by the API. */
13
17
  export interface CompilerOptions {
14
- allowJs?: boolean;
15
- allowArbitraryExtensions?: boolean;
16
- allowImportingTsExtensions?: boolean;
17
- allowNonTsExtensions?: boolean;
18
- allowUmdGlobalAccess?: boolean;
19
- allowUnreachableCode?: boolean;
20
- allowUnusedLabels?: boolean;
21
- assumeChangesOnlyAffectDirectDependencies?: boolean;
22
- checkJs?: boolean;
23
- customConditions?: string[];
24
- composite?: boolean;
25
- emitDeclarationOnly?: boolean;
26
- emitBOM?: boolean;
27
- emitDecoratorMetadata?: boolean;
28
- declaration?: boolean;
29
- declarationDir?: string;
30
- declarationMap?: boolean;
31
- deduplicatePackages?: boolean;
32
- disableSizeLimit?: boolean;
33
- disableSourceOfProjectReferenceRedirect?: boolean;
34
- disableSolutionSearching?: boolean;
35
- disableReferencedProjectLoad?: boolean;
36
- erasableSyntaxOnly?: boolean;
37
- exactOptionalPropertyTypes?: boolean;
38
- experimentalDecorators?: boolean;
39
- forceConsistentCasingInFileNames?: boolean;
40
- isolatedModules?: boolean;
41
- isolatedDeclarations?: boolean;
42
- ignoreConfig?: boolean;
43
- ignoreDeprecations?: string;
44
- importHelpers?: boolean;
45
- inlineSourceMap?: boolean;
46
- inlineSources?: boolean;
47
- init?: boolean;
48
- incremental?: boolean;
49
- jsx?: JsxEmit;
50
- jsxFactory?: string;
51
- jsxFragmentFactory?: string;
52
- jsxImportSource?: string;
53
- lib?: string[];
54
- libReplacement?: boolean;
55
- locale?: string;
56
- mapRoot?: string;
57
- module?: ModuleKind;
58
- moduleResolution?: ModuleResolutionKind;
59
- moduleSuffixes?: string[];
60
- moduleDetection?: ModuleDetectionKind;
61
- newLine?: NewLineKind;
62
- noEmit?: boolean;
63
- noCheck?: boolean;
64
- noErrorTruncation?: boolean;
65
- noFallthroughCasesInSwitch?: boolean;
66
- noImplicitAny?: boolean;
67
- noImplicitThis?: boolean;
68
- noImplicitReturns?: boolean;
69
- noEmitHelpers?: boolean;
70
- noLib?: boolean;
71
- noPropertyAccessFromIndexSignature?: boolean;
72
- noUncheckedIndexedAccess?: boolean;
73
- noEmitOnError?: boolean;
74
- noUnusedLocals?: boolean;
75
- noUnusedParameters?: boolean;
76
- noResolve?: boolean;
77
- noImplicitOverride?: boolean;
78
- noUncheckedSideEffectImports?: boolean;
79
- outDir?: string;
80
- paths?: Record<string, string[]>;
81
- preserveConstEnums?: boolean;
82
- preserveSymlinks?: boolean;
83
- project?: string;
84
- resolveJsonModule?: boolean;
85
- resolvePackageJsonExports?: boolean;
86
- resolvePackageJsonImports?: boolean;
87
- removeComments?: boolean;
88
- rewriteRelativeImportExtensions?: boolean;
89
- reactNamespace?: string;
90
- rootDir?: string;
91
- rootDirs?: string[];
92
- skipLibCheck?: boolean;
93
- stableTypeOrdering?: boolean;
94
- strict?: boolean;
95
- strictBindCallApply?: boolean;
96
- strictBuiltinIteratorReturn?: boolean;
97
- strictFunctionTypes?: boolean;
98
- strictNullChecks?: boolean;
99
- strictPropertyInitialization?: boolean;
100
- stripInternal?: boolean;
101
- skipDefaultLibCheck?: boolean;
102
- sourceMap?: boolean;
103
- sourceRoot?: string;
104
- suppressOutputPathCheck?: boolean;
105
- target?: ScriptTarget;
106
- traceResolution?: boolean;
107
- tsBuildInfoFile?: string;
108
- typeRoots?: string[];
109
- types?: string[];
110
- useDefineForClassFields?: boolean;
111
- useUnknownInCatchVariables?: boolean;
112
- verbatimModuleSyntax?: boolean;
113
- maxNodeModuleJsDepth?: number;
18
+ allowJs?: boolean | undefined;
19
+ allowArbitraryExtensions?: boolean | undefined;
20
+ allowImportingTsExtensions?: boolean | undefined;
21
+ allowNonTsExtensions?: boolean | undefined;
22
+ allowUmdGlobalAccess?: boolean | undefined;
23
+ allowUnreachableCode?: boolean | undefined;
24
+ allowUnusedLabels?: boolean | undefined;
25
+ assumeChangesOnlyAffectDirectDependencies?: boolean | undefined;
26
+ checkJs?: boolean | undefined;
27
+ customConditions?: string[] | undefined;
28
+ composite?: boolean | undefined;
29
+ emitDeclarationOnly?: boolean | undefined;
30
+ emitBOM?: boolean | undefined;
31
+ emitDecoratorMetadata?: boolean | undefined;
32
+ declaration?: boolean | undefined;
33
+ declarationDir?: RootedDirectoryPath | undefined;
34
+ declarationMap?: boolean | undefined;
35
+ deduplicatePackages?: boolean | undefined;
36
+ disableSizeLimit?: boolean | undefined;
37
+ disableSourceOfProjectReferenceRedirect?: boolean | undefined;
38
+ disableSolutionSearching?: boolean | undefined;
39
+ disableReferencedProjectLoad?: boolean | undefined;
40
+ erasableSyntaxOnly?: boolean | undefined;
41
+ exactOptionalPropertyTypes?: boolean | undefined;
42
+ experimentalDecorators?: boolean | undefined;
43
+ forceConsistentCasingInFileNames?: boolean | undefined;
44
+ isolatedModules?: boolean | undefined;
45
+ isolatedDeclarations?: boolean | undefined;
46
+ ignoreConfig?: boolean | undefined;
47
+ ignoreDeprecations?: string | undefined;
48
+ importHelpers?: boolean | undefined;
49
+ inlineSourceMap?: boolean | undefined;
50
+ inlineSources?: boolean | undefined;
51
+ init?: boolean | undefined;
52
+ incremental?: boolean | undefined;
53
+ jsx?: JsxEmit | undefined;
54
+ jsxFactory?: string | undefined;
55
+ jsxFragmentFactory?: string | undefined;
56
+ jsxImportSource?: string | undefined;
57
+ lib?: string[] | undefined;
58
+ libReplacement?: boolean | undefined;
59
+ locale?: string | undefined;
60
+ mapRoot?: string | undefined;
61
+ module?: ModuleKind | undefined;
62
+ moduleResolution?: ModuleResolutionKind | undefined;
63
+ moduleSuffixes?: string[] | undefined;
64
+ moduleDetection?: ModuleDetectionKind | undefined;
65
+ newLine?: NewLineKind | undefined;
66
+ noEmit?: boolean | undefined;
67
+ noCheck?: boolean | undefined;
68
+ noErrorTruncation?: boolean | undefined;
69
+ noFallthroughCasesInSwitch?: boolean | undefined;
70
+ noImplicitAny?: boolean | undefined;
71
+ noImplicitThis?: boolean | undefined;
72
+ noImplicitReturns?: boolean | undefined;
73
+ noEmitHelpers?: boolean | undefined;
74
+ noLib?: boolean | undefined;
75
+ noPropertyAccessFromIndexSignature?: boolean | undefined;
76
+ noUncheckedIndexedAccess?: boolean | undefined;
77
+ noEmitOnError?: boolean | undefined;
78
+ noUnusedLocals?: boolean | undefined;
79
+ noUnusedParameters?: boolean | undefined;
80
+ noResolve?: boolean | undefined;
81
+ noImplicitOverride?: boolean | undefined;
82
+ noUncheckedSideEffectImports?: boolean | undefined;
83
+ outDir?: RootedDirectoryPath | undefined;
84
+ paths?: Record<string, string[]> | undefined;
85
+ /** Plugins are parsed only so tools can report that native TypeScript does not support them. */
86
+ plugins?: PluginImport[] | undefined;
87
+ preserveConstEnums?: boolean | undefined;
88
+ preserveSymlinks?: boolean | undefined;
89
+ project?: RootedPath | undefined;
90
+ resolveJsonModule?: boolean | undefined;
91
+ resolvePackageJsonExports?: boolean | undefined;
92
+ resolvePackageJsonImports?: boolean | undefined;
93
+ removeComments?: boolean | undefined;
94
+ rewriteRelativeImportExtensions?: boolean | undefined;
95
+ reactNamespace?: string | undefined;
96
+ rootDir?: RootedDirectoryPath | undefined;
97
+ rootDirs?: RootedDirectoryPath[] | undefined;
98
+ skipLibCheck?: boolean | undefined;
99
+ stableTypeOrdering?: boolean | undefined;
100
+ strict?: boolean | undefined;
101
+ strictBindCallApply?: boolean | undefined;
102
+ strictBuiltinIteratorReturn?: boolean | undefined;
103
+ strictFunctionTypes?: boolean | undefined;
104
+ strictNullChecks?: boolean | undefined;
105
+ strictPropertyInitialization?: boolean | undefined;
106
+ stripInternal?: boolean | undefined;
107
+ skipDefaultLibCheck?: boolean | undefined;
108
+ sourceMap?: boolean | undefined;
109
+ sourceRoot?: string | undefined;
110
+ suppressOutputPathCheck?: boolean | undefined;
111
+ target?: ScriptTarget | undefined;
112
+ traceResolution?: boolean | undefined;
113
+ tsBuildInfoFile?: RootedFilePath | undefined;
114
+ typeRoots?: RootedDirectoryPath[] | undefined;
115
+ types?: string[] | undefined;
116
+ useDefineForClassFields?: boolean | undefined;
117
+ useUnknownInCatchVariables?: boolean | undefined;
118
+ verbatimModuleSyntax?: boolean | undefined;
119
+ maxNodeModuleJsDepth?: number | undefined;
120
+
121
+ // Internal fields
122
+
123
+ configFilePath?: RootedFilePath | undefined;
124
+ }
125
+
126
+ export interface PluginImport {
127
+ name: string;
114
128
  }
@@ -1,5 +1,8 @@
1
1
  // The disk, as tsc-ts's public API and `tsc-ts --api` read it where a host doesn't answer.
2
2
  import { readdirSync, readFileSync, realpathSync, statSync } from 'node:fs';
3
+ import { isNetworkPath } from '../compiler/path.js';
4
+
5
+ // Network paths are never accessed (`isNetworkPath`).
3
6
 
4
7
  export interface DirectoryEntries {
5
8
  files: string[];
@@ -14,6 +17,7 @@ export interface FileStat {
14
17
 
15
18
  // Reads a text file, decoding UTF-16 byte order marks and dropping a UTF-8 one.
16
19
  export function diskReadFile(path: string): string | undefined {
20
+ if (isNetworkPath(path)) return undefined;
17
21
  let bytes: Uint8Array;
18
22
  try {
19
23
  bytes = readFileSync(path);
@@ -37,6 +41,7 @@ function utf16be(bytes: Uint8Array): string {
37
41
  }
38
42
 
39
43
  export function diskStat(path: string): FileStat | undefined {
44
+ if (isNetworkPath(path)) return undefined;
40
45
  try {
41
46
  const s = statSync(path);
42
47
  return { isDirectory: s.isDirectory(), size: s.size, mtimeMs: s.mtimeMs };
@@ -50,6 +55,7 @@ export function diskEntries(path: string): DirectoryEntries {
50
55
  const files: string[] = [];
51
56
  const directories: string[] = [];
52
57
  let names: string[];
58
+ if (isNetworkPath(path)) return { files, directories };
53
59
  try {
54
60
  names = readdirSync(path);
55
61
  } catch {
@@ -65,8 +71,11 @@ export function diskEntries(path: string): DirectoryEntries {
65
71
  }
66
72
 
67
73
  export function diskRealpath(path: string): string {
74
+ if (isNetworkPath(path)) return path;
68
75
  try {
69
- return realpathSync(path);
76
+ // A local path may resolve to a network location (a mapped network drive): keep the original.
77
+ const real = realpathSync(path);
78
+ return isNetworkPath(real) ? path : real;
70
79
  } catch {
71
80
  return path;
72
81
  }