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
@@ -17,7 +17,7 @@ export function isParameterPropertyDeclaration(node, parent) {
17
17
  return (node instanceof ParameterDeclaration &&
18
18
  hasSyntacticModifier(node, 31 /* ModifierFlags.ParameterPropertyModifier */) &&
19
19
  parent !== undefined &&
20
- parent.kind === 177 /* SyntaxKind.Constructor */);
20
+ parent.kind === 178 /* SyntaxKind.Constructor */);
21
21
  }
22
22
  /** `/** @type {T} *\/ (expr)` in a JavaScript file. */
23
23
  export function isJSDocTypeAssertion(node) {
@@ -68,21 +68,21 @@ class ModuleInstanceStates {
68
68
  }
69
69
  worker(node, ancestors) {
70
70
  switch (node.kind) {
71
- case 265 /* SyntaxKind.InterfaceDeclaration */:
72
- case 266 /* SyntaxKind.TypeAliasDeclaration */:
73
- case 345 /* SyntaxKind.JSTypeAliasDeclaration */:
71
+ case 266 /* SyntaxKind.InterfaceDeclaration */:
72
+ case 267 /* SyntaxKind.TypeAliasDeclaration */:
73
+ case 346 /* SyntaxKind.JSTypeAliasDeclaration */:
74
74
  return 1 /* ModuleInstanceState.NonInstantiated */;
75
- case 267 /* SyntaxKind.EnumDeclaration */:
75
+ case 268 /* SyntaxKind.EnumDeclaration */:
76
76
  if (hasSyntacticModifier(node, 4096 /* ModifierFlags.Const */))
77
77
  return 3 /* ModuleInstanceState.ConstEnumOnly */;
78
78
  break;
79
- case 273 /* SyntaxKind.ImportDeclaration */:
80
- case 346 /* SyntaxKind.JSImportDeclaration */:
81
- case 272 /* SyntaxKind.ImportEqualsDeclaration */:
79
+ case 274 /* SyntaxKind.ImportDeclaration */:
80
+ case 347 /* SyntaxKind.JSImportDeclaration */:
81
+ case 273 /* SyntaxKind.ImportEqualsDeclaration */:
82
82
  if (!hasSyntacticModifier(node, 32 /* ModifierFlags.Export */))
83
83
  return 1 /* ModuleInstanceState.NonInstantiated */;
84
84
  break;
85
- case 279 /* SyntaxKind.ExportDeclaration */:
85
+ case 280 /* SyntaxKind.ExportDeclaration */:
86
86
  if (node instanceof ExportDeclaration &&
87
87
  node.moduleSpecifier === undefined &&
88
88
  node.exportClause instanceof NamedExports) {
@@ -103,7 +103,7 @@ class ModuleInstanceStates {
103
103
  return state;
104
104
  }
105
105
  break;
106
- case 269 /* SyntaxKind.ModuleBlock */:
106
+ case 270 /* SyntaxKind.ModuleBlock */:
107
107
  if (node instanceof ModuleBlock) {
108
108
  let state = 1 /* ModuleInstanceState.NonInstantiated */;
109
109
  const block = node;
@@ -119,7 +119,7 @@ class ModuleInstanceStates {
119
119
  return state;
120
120
  }
121
121
  break;
122
- case 268 /* SyntaxKind.ModuleDeclaration */:
122
+ case 269 /* SyntaxKind.ModuleDeclaration */:
123
123
  if (node instanceof ModuleDeclaration)
124
124
  return this.ofModule(node, ancestors);
125
125
  break;
@@ -146,7 +146,7 @@ class ModuleInstanceStates {
146
146
  found = state;
147
147
  if (found === 2 /* ModuleInstanceState.Instantiated */)
148
148
  return found;
149
- if (statement.kind === 272 /* SyntaxKind.ImportEqualsDeclaration */)
149
+ if (statement.kind === 273 /* SyntaxKind.ImportEqualsDeclaration */)
150
150
  found = 2 /* ModuleInstanceState.Instantiated */;
151
151
  }
152
152
  if (found !== 0 /* ModuleInstanceState.Unknown */)
@@ -172,81 +172,81 @@ export function isIdentifierReference(name, parent) {
172
172
  if (parent === undefined)
173
173
  return false;
174
174
  switch (parent.kind) {
175
- case 227 /* SyntaxKind.BinaryExpression */:
176
- case 225 /* SyntaxKind.PrefixUnaryExpression */:
177
- case 226 /* SyntaxKind.PostfixUnaryExpression */:
178
- case 230 /* SyntaxKind.YieldExpression */:
179
- case 235 /* SyntaxKind.AsExpression */:
180
- case 239 /* SyntaxKind.SatisfiesExpression */:
181
- case 213 /* SyntaxKind.ElementAccessExpression */:
182
- case 236 /* SyntaxKind.NonNullExpression */:
183
- case 231 /* SyntaxKind.SpreadElement */:
184
- case 305 /* SyntaxKind.SpreadAssignment */:
185
- case 218 /* SyntaxKind.ParenthesizedExpression */:
186
- case 210 /* SyntaxKind.ArrayLiteralExpression */:
187
- case 221 /* SyntaxKind.DeleteExpression */:
188
- case 222 /* SyntaxKind.TypeOfExpression */:
189
- case 223 /* SyntaxKind.VoidExpression */:
190
- case 224 /* SyntaxKind.AwaitExpression */:
191
- case 217 /* SyntaxKind.TypeAssertionExpression */:
192
- case 234 /* SyntaxKind.ExpressionWithTypeArguments */:
193
- case 286 /* SyntaxKind.JsxSelfClosingElement */:
194
- case 294 /* SyntaxKind.JsxSpreadAttribute */:
195
- case 295 /* SyntaxKind.JsxExpression */:
196
- case 348 /* SyntaxKind.PartiallyEmittedExpression */:
175
+ case 228 /* SyntaxKind.BinaryExpression */:
176
+ case 226 /* SyntaxKind.PrefixUnaryExpression */:
177
+ case 227 /* SyntaxKind.PostfixUnaryExpression */:
178
+ case 231 /* SyntaxKind.YieldExpression */:
179
+ case 236 /* SyntaxKind.AsExpression */:
180
+ case 240 /* SyntaxKind.SatisfiesExpression */:
181
+ case 214 /* SyntaxKind.ElementAccessExpression */:
182
+ case 237 /* SyntaxKind.NonNullExpression */:
183
+ case 232 /* SyntaxKind.SpreadElement */:
184
+ case 306 /* SyntaxKind.SpreadAssignment */:
185
+ case 219 /* SyntaxKind.ParenthesizedExpression */:
186
+ case 211 /* SyntaxKind.ArrayLiteralExpression */:
187
+ case 222 /* SyntaxKind.DeleteExpression */:
188
+ case 223 /* SyntaxKind.TypeOfExpression */:
189
+ case 224 /* SyntaxKind.VoidExpression */:
190
+ case 225 /* SyntaxKind.AwaitExpression */:
191
+ case 218 /* SyntaxKind.TypeAssertionExpression */:
192
+ case 235 /* SyntaxKind.ExpressionWithTypeArguments */:
193
+ case 287 /* SyntaxKind.JsxSelfClosingElement */:
194
+ case 295 /* SyntaxKind.JsxSpreadAttribute */:
195
+ case 296 /* SyntaxKind.JsxExpression */:
196
+ case 349 /* SyntaxKind.PartiallyEmittedExpression */:
197
197
  return true;
198
- case 168 /* SyntaxKind.ComputedPropertyName */:
199
- case 171 /* SyntaxKind.Decorator */:
200
- case 246 /* SyntaxKind.IfStatement */:
201
- case 247 /* SyntaxKind.DoStatement */:
202
- case 248 /* SyntaxKind.WhileStatement */:
203
- case 255 /* SyntaxKind.WithStatement */:
204
- case 254 /* SyntaxKind.ReturnStatement */:
205
- case 256 /* SyntaxKind.SwitchStatement */:
206
- case 297 /* SyntaxKind.CaseClause */:
207
- case 258 /* SyntaxKind.ThrowStatement */:
208
- case 245 /* SyntaxKind.ExpressionStatement */:
209
- case 278 /* SyntaxKind.ExportAssignment */:
210
- case 212 /* SyntaxKind.PropertyAccessExpression */:
211
- case 240 /* SyntaxKind.TemplateSpan */:
198
+ case 169 /* SyntaxKind.ComputedPropertyName */:
199
+ case 172 /* SyntaxKind.Decorator */:
200
+ case 247 /* SyntaxKind.IfStatement */:
201
+ case 248 /* SyntaxKind.DoStatement */:
202
+ case 249 /* SyntaxKind.WhileStatement */:
203
+ case 256 /* SyntaxKind.WithStatement */:
204
+ case 255 /* SyntaxKind.ReturnStatement */:
205
+ case 257 /* SyntaxKind.SwitchStatement */:
206
+ case 298 /* SyntaxKind.CaseClause */:
207
+ case 259 /* SyntaxKind.ThrowStatement */:
208
+ case 246 /* SyntaxKind.ExpressionStatement */:
209
+ case 279 /* SyntaxKind.ExportAssignment */:
210
+ case 213 /* SyntaxKind.PropertyAccessExpression */:
211
+ case 241 /* SyntaxKind.TemplateSpan */:
212
212
  return getExpression(parent) === name;
213
- case 261 /* SyntaxKind.VariableDeclaration */:
214
- case 170 /* SyntaxKind.Parameter */:
215
- case 209 /* SyntaxKind.BindingElement */:
216
- case 173 /* SyntaxKind.PropertyDeclaration */:
217
- case 172 /* SyntaxKind.PropertySignature */:
218
- case 303 /* SyntaxKind.PropertyAssignment */:
219
- case 306 /* SyntaxKind.EnumMember */:
220
- case 292 /* SyntaxKind.JsxAttribute */:
213
+ case 262 /* SyntaxKind.VariableDeclaration */:
214
+ case 171 /* SyntaxKind.Parameter */:
215
+ case 210 /* SyntaxKind.BindingElement */:
216
+ case 174 /* SyntaxKind.PropertyDeclaration */:
217
+ case 173 /* SyntaxKind.PropertySignature */:
218
+ case 304 /* SyntaxKind.PropertyAssignment */:
219
+ case 307 /* SyntaxKind.EnumMember */:
220
+ case 293 /* SyntaxKind.JsxAttribute */:
221
221
  return getInitializer(parent) === name;
222
- case 304 /* SyntaxKind.ShorthandPropertyAssignment */:
222
+ case 305 /* SyntaxKind.ShorthandPropertyAssignment */:
223
223
  return parent instanceof ShorthandPropertyAssignment && parent.objectAssignmentInitializer === name;
224
- case 249 /* SyntaxKind.ForStatement */:
224
+ case 250 /* SyntaxKind.ForStatement */:
225
225
  return (parent instanceof ForStatement &&
226
226
  (parent.initializer === name || parent.condition === name || parent.incrementor === name));
227
- case 250 /* SyntaxKind.ForInStatement */:
228
- case 251 /* SyntaxKind.ForOfStatement */:
227
+ case 251 /* SyntaxKind.ForInStatement */:
228
+ case 252 /* SyntaxKind.ForOfStatement */:
229
229
  return getInitializer(parent) === name || getExpression(parent) === name;
230
- case 272 /* SyntaxKind.ImportEqualsDeclaration */:
230
+ case 273 /* SyntaxKind.ImportEqualsDeclaration */:
231
231
  return parent instanceof ImportEqualsDeclaration && parent.moduleReference === name;
232
- case 220 /* SyntaxKind.ArrowFunction */:
232
+ case 221 /* SyntaxKind.ArrowFunction */:
233
233
  return getBody(parent) === name;
234
- case 228 /* SyntaxKind.ConditionalExpression */:
234
+ case 229 /* SyntaxKind.ConditionalExpression */:
235
235
  return (parent instanceof ConditionalExpression &&
236
236
  (parent.condition === name || parent.whenTrue === name || parent.whenFalse === name));
237
- case 214 /* SyntaxKind.CallExpression */:
238
- case 215 /* SyntaxKind.NewExpression */: {
237
+ case 215 /* SyntaxKind.CallExpression */:
238
+ case 216 /* SyntaxKind.NewExpression */: {
239
239
  if (getExpression(parent) === name)
240
240
  return true;
241
241
  const args = getArguments(parent);
242
242
  return args !== undefined && args.nodes.indexOf(name) >= 0;
243
243
  }
244
- case 216 /* SyntaxKind.TaggedTemplateExpression */:
244
+ case 217 /* SyntaxKind.TaggedTemplateExpression */:
245
245
  return parent instanceof TaggedTemplateExpression && parent.tag === name;
246
- case 302 /* SyntaxKind.ImportAttribute */:
246
+ case 303 /* SyntaxKind.ImportAttribute */:
247
247
  return parent instanceof ImportAttribute && parent.value === name;
248
- case 287 /* SyntaxKind.JsxOpeningElement */:
249
- case 288 /* SyntaxKind.JsxClosingElement */:
248
+ case 288 /* SyntaxKind.JsxOpeningElement */:
249
+ case 289 /* SyntaxKind.JsxClosingElement */:
250
250
  return getTagName(parent) === name;
251
251
  }
252
252
  return false;
@@ -294,21 +294,21 @@ export function restoreEnclosingLabel(factory, node, outermost) {
294
294
  }
295
295
  export function isOuterExpression(node, kinds) {
296
296
  switch (node.kind) {
297
- case 218 /* SyntaxKind.ParenthesizedExpression */:
297
+ case 219 /* SyntaxKind.ParenthesizedExpression */:
298
298
  return ((kinds & 1 /* OuterExpressionKinds.Parentheses */) !== 0 &&
299
299
  !((kinds & 64 /* OuterExpressionKinds.ExcludeJSDocTypeAssertion */) !== 0 && isJSDocTypeAssertion(node)));
300
- case 217 /* SyntaxKind.TypeAssertionExpression */:
301
- case 235 /* SyntaxKind.AsExpression */:
300
+ case 218 /* SyntaxKind.TypeAssertionExpression */:
301
+ case 236 /* SyntaxKind.AsExpression */:
302
302
  return (kinds & 2 /* OuterExpressionKinds.TypeAssertions */) !== 0;
303
- case 239 /* SyntaxKind.SatisfiesExpression */:
303
+ case 240 /* SyntaxKind.SatisfiesExpression */:
304
304
  return (kinds & (16 /* OuterExpressionKinds.ExpressionsWithTypeArguments */ | 32 /* OuterExpressionKinds.Satisfies */)) !== 0;
305
- case 234 /* SyntaxKind.ExpressionWithTypeArguments */:
305
+ case 235 /* SyntaxKind.ExpressionWithTypeArguments */:
306
306
  return (kinds & 16 /* OuterExpressionKinds.ExpressionsWithTypeArguments */) !== 0;
307
- case 236 /* SyntaxKind.NonNullExpression */:
307
+ case 237 /* SyntaxKind.NonNullExpression */:
308
308
  return (kinds & 4 /* OuterExpressionKinds.NonNullAssertions */) !== 0;
309
- case 348 /* SyntaxKind.PartiallyEmittedExpression */:
309
+ case 349 /* SyntaxKind.PartiallyEmittedExpression */:
310
310
  return (kinds & 8 /* OuterExpressionKinds.PartiallyEmittedExpressions */) !== 0;
311
- case 227 /* SyntaxKind.BinaryExpression */:
311
+ case 228 /* SyntaxKind.BinaryExpression */:
312
312
  if (node instanceof BinaryExpression) {
313
313
  const operator = node.operatorToken.kind;
314
314
  if (operator === 63 /* SyntaxKind.EqualsToken */)