create-leo-app 0.7.2 → 0.7.3

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 (379) hide show
  1. package/package.json +10 -2
  2. package/template-extension/README.md +4 -0
  3. package/template-extension/package.json +15 -0
  4. package/template-extension/rollup.config.js +21 -0
  5. package/template-extension/src/offscreen.js +1 -0
  6. package/template-extension/src/service_worker.js +20 -0
  7. package/template-extension/src/worker.js +34 -0
  8. package/template-extension/static/manifest.json +16 -0
  9. package/template-extension/static/offscreen.html +9 -0
  10. package/template-nextjs-ts/README.md +19 -0
  11. package/template-nextjs-ts/_gitignore +35 -0
  12. package/template-nextjs-ts/next-env.d.ts +5 -0
  13. package/template-nextjs-ts/next.config.js +32 -0
  14. package/template-nextjs-ts/node_modules/@types/node/LICENSE +21 -0
  15. package/template-nextjs-ts/node_modules/@types/node/README.md +15 -0
  16. package/template-nextjs-ts/node_modules/@types/node/assert/strict.d.ts +8 -0
  17. package/template-nextjs-ts/node_modules/@types/node/assert.d.ts +1040 -0
  18. package/template-nextjs-ts/node_modules/@types/node/async_hooks.d.ts +541 -0
  19. package/template-nextjs-ts/node_modules/@types/node/buffer.d.ts +2301 -0
  20. package/template-nextjs-ts/node_modules/@types/node/child_process.d.ts +1544 -0
  21. package/template-nextjs-ts/node_modules/@types/node/cluster.d.ts +578 -0
  22. package/template-nextjs-ts/node_modules/@types/node/console.d.ts +452 -0
  23. package/template-nextjs-ts/node_modules/@types/node/constants.d.ts +19 -0
  24. package/template-nextjs-ts/node_modules/@types/node/crypto.d.ts +4524 -0
  25. package/template-nextjs-ts/node_modules/@types/node/dgram.d.ts +596 -0
  26. package/template-nextjs-ts/node_modules/@types/node/diagnostics_channel.d.ts +554 -0
  27. package/template-nextjs-ts/node_modules/@types/node/dns/promises.d.ts +476 -0
  28. package/template-nextjs-ts/node_modules/@types/node/dns.d.ts +864 -0
  29. package/template-nextjs-ts/node_modules/@types/node/dom-events.d.ts +124 -0
  30. package/template-nextjs-ts/node_modules/@types/node/domain.d.ts +170 -0
  31. package/template-nextjs-ts/node_modules/@types/node/events.d.ts +931 -0
  32. package/template-nextjs-ts/node_modules/@types/node/fs/promises.d.ts +1245 -0
  33. package/template-nextjs-ts/node_modules/@types/node/fs.d.ts +4317 -0
  34. package/template-nextjs-ts/node_modules/@types/node/globals.d.ts +503 -0
  35. package/template-nextjs-ts/node_modules/@types/node/globals.global.d.ts +1 -0
  36. package/template-nextjs-ts/node_modules/@types/node/http.d.ts +1908 -0
  37. package/template-nextjs-ts/node_modules/@types/node/http2.d.ts +2418 -0
  38. package/template-nextjs-ts/node_modules/@types/node/https.d.ts +550 -0
  39. package/template-nextjs-ts/node_modules/@types/node/index.d.ts +89 -0
  40. package/template-nextjs-ts/node_modules/@types/node/inspector.d.ts +3696 -0
  41. package/template-nextjs-ts/node_modules/@types/node/module.d.ts +315 -0
  42. package/template-nextjs-ts/node_modules/@types/node/net.d.ts +999 -0
  43. package/template-nextjs-ts/node_modules/@types/node/os.d.ts +495 -0
  44. package/template-nextjs-ts/node_modules/@types/node/package.json +217 -0
  45. package/template-nextjs-ts/node_modules/@types/node/path.d.ts +191 -0
  46. package/template-nextjs-ts/node_modules/@types/node/perf_hooks.d.ts +934 -0
  47. package/template-nextjs-ts/node_modules/@types/node/process.d.ts +1879 -0
  48. package/template-nextjs-ts/node_modules/@types/node/punycode.d.ts +117 -0
  49. package/template-nextjs-ts/node_modules/@types/node/querystring.d.ts +153 -0
  50. package/template-nextjs-ts/node_modules/@types/node/readline/promises.d.ts +150 -0
  51. package/template-nextjs-ts/node_modules/@types/node/readline.d.ts +540 -0
  52. package/template-nextjs-ts/node_modules/@types/node/repl.d.ts +430 -0
  53. package/template-nextjs-ts/node_modules/@types/node/sea.d.ts +153 -0
  54. package/template-nextjs-ts/node_modules/@types/node/stream/consumers.d.ts +12 -0
  55. package/template-nextjs-ts/node_modules/@types/node/stream/promises.d.ts +83 -0
  56. package/template-nextjs-ts/node_modules/@types/node/stream/web.d.ts +521 -0
  57. package/template-nextjs-ts/node_modules/@types/node/stream.d.ts +1707 -0
  58. package/template-nextjs-ts/node_modules/@types/node/string_decoder.d.ts +67 -0
  59. package/template-nextjs-ts/node_modules/@types/node/test.d.ts +1874 -0
  60. package/template-nextjs-ts/node_modules/@types/node/timers/promises.d.ts +97 -0
  61. package/template-nextjs-ts/node_modules/@types/node/timers.d.ts +240 -0
  62. package/template-nextjs-ts/node_modules/@types/node/tls.d.ts +1217 -0
  63. package/template-nextjs-ts/node_modules/@types/node/trace_events.d.ts +197 -0
  64. package/template-nextjs-ts/node_modules/@types/node/tty.d.ts +208 -0
  65. package/template-nextjs-ts/node_modules/@types/node/url.d.ts +952 -0
  66. package/template-nextjs-ts/node_modules/@types/node/util.d.ts +2298 -0
  67. package/template-nextjs-ts/node_modules/@types/node/v8.d.ts +808 -0
  68. package/template-nextjs-ts/node_modules/@types/node/vm.d.ts +924 -0
  69. package/template-nextjs-ts/node_modules/@types/node/wasi.d.ts +181 -0
  70. package/template-nextjs-ts/node_modules/@types/node/worker_threads.d.ts +694 -0
  71. package/template-nextjs-ts/node_modules/@types/node/zlib.d.ts +539 -0
  72. package/template-nextjs-ts/package.json +24 -0
  73. package/template-nextjs-ts/public/aleo.svg +8 -0
  74. package/template-nextjs-ts/public/next.svg +1 -0
  75. package/template-nextjs-ts/src/app/favicon.ico +0 -0
  76. package/template-nextjs-ts/src/app/globals.css +126 -0
  77. package/template-nextjs-ts/src/app/layout.tsx +22 -0
  78. package/template-nextjs-ts/src/app/page.module.css +160 -0
  79. package/template-nextjs-ts/src/app/page.tsx +94 -0
  80. package/template-nextjs-ts/src/app/worker.ts +47 -0
  81. package/template-nextjs-ts/tsconfig.json +27 -0
  82. package/template-node/README.md +5 -0
  83. package/template-node/_gitignore +24 -0
  84. package/template-node/package.json +12 -0
  85. package/template-node-ts/README.md +5 -0
  86. package/template-node-ts/_gitignore +24 -0
  87. package/template-node-ts/package.json +19 -0
  88. package/template-node-ts/rollup.config.js +19 -0
  89. package/template-node-ts/src/index.ts +65 -0
  90. package/template-node-ts/tsconfig.json +15 -0
  91. package/template-offline-public-transaction-ts/README.md +52 -0
  92. package/template-offline-public-transaction-ts/_gitignore +24 -0
  93. package/template-offline-public-transaction-ts/package.json +19 -0
  94. package/template-offline-public-transaction-ts/rollup.config.js +19 -0
  95. package/template-offline-public-transaction-ts/src/helpers.ts +70 -0
  96. package/template-offline-public-transaction-ts/src/index.ts +171 -0
  97. package/template-offline-public-transaction-ts/tsconfig.json +15 -0
  98. package/template-react-leo/.babelrc +6 -0
  99. package/template-react-leo/.eslintrc.cjs +20 -0
  100. package/template-react-leo/README.md +90 -0
  101. package/template-react-leo/_gitignore +24 -0
  102. package/template-react-leo/_headers +3 -0
  103. package/template-react-leo/helloworld/.env.example +2 -0
  104. package/template-react-leo/helloworld/README.md +13 -0
  105. package/template-react-leo/helloworld/build/main.aleo +7 -0
  106. package/template-react-leo/helloworld/build/program.json +6 -0
  107. package/template-react-leo/helloworld/inputs/helloworld.in +4 -0
  108. package/template-react-leo/helloworld/program.json +6 -0
  109. package/template-react-leo/helloworld/src/main.leo +7 -0
  110. package/template-react-leo/index.html +88 -0
  111. package/template-react-leo/install.sh +30 -0
  112. package/template-react-leo/package.json +44 -0
  113. package/template-react-leo/public/favicon.ico +0 -0
  114. package/template-react-leo/src/App.css +42 -0
  115. package/template-react-leo/src/App.jsx +103 -0
  116. package/template-react-leo/src/assets/aleo.svg +5 -0
  117. package/template-react-leo/src/assets/react.svg +1 -0
  118. package/template-react-leo/src/index.css +69 -0
  119. package/template-react-leo/src/main.jsx +10 -0
  120. package/template-react-leo/src/workers/AleoWorker.js +20 -0
  121. package/template-react-leo/src/workers/worker.js +72 -0
  122. package/template-react-leo/vite.config.js +16 -0
  123. package/template-react-leo/webpack.config.js +102 -0
  124. package/template-react-managed-worker/.babelrc +6 -0
  125. package/template-react-managed-worker/.eslintrc.cjs +20 -0
  126. package/template-react-managed-worker/README.md +8 -0
  127. package/template-react-managed-worker/_gitignore +24 -0
  128. package/template-react-managed-worker/index.html +88 -0
  129. package/template-react-managed-worker/package.json +41 -0
  130. package/template-react-managed-worker/public/favicon.ico +0 -0
  131. package/template-react-managed-worker/src/App.css +42 -0
  132. package/template-react-managed-worker/src/App.jsx +78 -0
  133. package/template-react-managed-worker/src/assets/aleo.png +0 -0
  134. package/template-react-managed-worker/src/assets/react.svg +1 -0
  135. package/template-react-managed-worker/src/index.css +69 -0
  136. package/template-react-managed-worker/src/main.jsx +10 -0
  137. package/template-react-managed-worker/vite.config.js +20 -0
  138. package/template-react-managed-worker/webpack.config.js +90 -0
  139. package/template-react-ts/.babelrc +7 -0
  140. package/template-react-ts/.eslintrc.cjs +20 -0
  141. package/template-react-ts/README.md +90 -0
  142. package/template-react-ts/_gitignore +24 -0
  143. package/template-react-ts/_headers +3 -0
  144. package/template-react-ts/helloworld/.env.example +2 -0
  145. package/template-react-ts/helloworld/README.md +13 -0
  146. package/template-react-ts/helloworld/build/main.aleo +7 -0
  147. package/template-react-ts/helloworld/build/program.json +6 -0
  148. package/template-react-ts/helloworld/inputs/helloworld.in +4 -0
  149. package/template-react-ts/helloworld/program.json +6 -0
  150. package/template-react-ts/helloworld/src/main.leo +7 -0
  151. package/template-react-ts/index.html +88 -0
  152. package/template-react-ts/install.sh +30 -0
  153. package/template-react-ts/node_modules/@types/node/LICENSE +21 -0
  154. package/template-react-ts/node_modules/@types/node/README.md +15 -0
  155. package/template-react-ts/node_modules/@types/node/assert/strict.d.ts +8 -0
  156. package/template-react-ts/node_modules/@types/node/assert.d.ts +1040 -0
  157. package/template-react-ts/node_modules/@types/node/async_hooks.d.ts +541 -0
  158. package/template-react-ts/node_modules/@types/node/buffer.d.ts +2301 -0
  159. package/template-react-ts/node_modules/@types/node/child_process.d.ts +1544 -0
  160. package/template-react-ts/node_modules/@types/node/cluster.d.ts +578 -0
  161. package/template-react-ts/node_modules/@types/node/console.d.ts +452 -0
  162. package/template-react-ts/node_modules/@types/node/constants.d.ts +19 -0
  163. package/template-react-ts/node_modules/@types/node/crypto.d.ts +4524 -0
  164. package/template-react-ts/node_modules/@types/node/dgram.d.ts +596 -0
  165. package/template-react-ts/node_modules/@types/node/diagnostics_channel.d.ts +554 -0
  166. package/template-react-ts/node_modules/@types/node/dns/promises.d.ts +476 -0
  167. package/template-react-ts/node_modules/@types/node/dns.d.ts +864 -0
  168. package/template-react-ts/node_modules/@types/node/dom-events.d.ts +124 -0
  169. package/template-react-ts/node_modules/@types/node/domain.d.ts +170 -0
  170. package/template-react-ts/node_modules/@types/node/events.d.ts +931 -0
  171. package/template-react-ts/node_modules/@types/node/fs/promises.d.ts +1245 -0
  172. package/template-react-ts/node_modules/@types/node/fs.d.ts +4317 -0
  173. package/template-react-ts/node_modules/@types/node/globals.d.ts +503 -0
  174. package/template-react-ts/node_modules/@types/node/globals.global.d.ts +1 -0
  175. package/template-react-ts/node_modules/@types/node/http.d.ts +1908 -0
  176. package/template-react-ts/node_modules/@types/node/http2.d.ts +2418 -0
  177. package/template-react-ts/node_modules/@types/node/https.d.ts +550 -0
  178. package/template-react-ts/node_modules/@types/node/index.d.ts +89 -0
  179. package/template-react-ts/node_modules/@types/node/inspector.d.ts +3696 -0
  180. package/template-react-ts/node_modules/@types/node/module.d.ts +315 -0
  181. package/template-react-ts/node_modules/@types/node/net.d.ts +999 -0
  182. package/template-react-ts/node_modules/@types/node/os.d.ts +495 -0
  183. package/template-react-ts/node_modules/@types/node/package.json +217 -0
  184. package/template-react-ts/node_modules/@types/node/path.d.ts +191 -0
  185. package/template-react-ts/node_modules/@types/node/perf_hooks.d.ts +934 -0
  186. package/template-react-ts/node_modules/@types/node/process.d.ts +1879 -0
  187. package/template-react-ts/node_modules/@types/node/punycode.d.ts +117 -0
  188. package/template-react-ts/node_modules/@types/node/querystring.d.ts +153 -0
  189. package/template-react-ts/node_modules/@types/node/readline/promises.d.ts +150 -0
  190. package/template-react-ts/node_modules/@types/node/readline.d.ts +540 -0
  191. package/template-react-ts/node_modules/@types/node/repl.d.ts +430 -0
  192. package/template-react-ts/node_modules/@types/node/sea.d.ts +153 -0
  193. package/template-react-ts/node_modules/@types/node/stream/consumers.d.ts +12 -0
  194. package/template-react-ts/node_modules/@types/node/stream/promises.d.ts +83 -0
  195. package/template-react-ts/node_modules/@types/node/stream/web.d.ts +521 -0
  196. package/template-react-ts/node_modules/@types/node/stream.d.ts +1707 -0
  197. package/template-react-ts/node_modules/@types/node/string_decoder.d.ts +67 -0
  198. package/template-react-ts/node_modules/@types/node/test.d.ts +1874 -0
  199. package/template-react-ts/node_modules/@types/node/timers/promises.d.ts +97 -0
  200. package/template-react-ts/node_modules/@types/node/timers.d.ts +240 -0
  201. package/template-react-ts/node_modules/@types/node/tls.d.ts +1217 -0
  202. package/template-react-ts/node_modules/@types/node/trace_events.d.ts +197 -0
  203. package/template-react-ts/node_modules/@types/node/tty.d.ts +208 -0
  204. package/template-react-ts/node_modules/@types/node/url.d.ts +952 -0
  205. package/template-react-ts/node_modules/@types/node/util.d.ts +2298 -0
  206. package/template-react-ts/node_modules/@types/node/v8.d.ts +808 -0
  207. package/template-react-ts/node_modules/@types/node/vm.d.ts +924 -0
  208. package/template-react-ts/node_modules/@types/node/wasi.d.ts +181 -0
  209. package/template-react-ts/node_modules/@types/node/worker_threads.d.ts +694 -0
  210. package/template-react-ts/node_modules/@types/node/zlib.d.ts +539 -0
  211. package/template-react-ts/node_modules/diff/CONTRIBUTING.md +39 -0
  212. package/template-react-ts/node_modules/diff/LICENSE +31 -0
  213. package/template-react-ts/node_modules/diff/README.md +207 -0
  214. package/template-react-ts/node_modules/diff/dist/diff.js +1585 -0
  215. package/template-react-ts/node_modules/diff/dist/diff.min.js +38 -0
  216. package/template-react-ts/node_modules/diff/lib/convert/dmp.js +32 -0
  217. package/template-react-ts/node_modules/diff/lib/convert/xml.js +42 -0
  218. package/template-react-ts/node_modules/diff/lib/diff/array.js +45 -0
  219. package/template-react-ts/node_modules/diff/lib/diff/base.js +304 -0
  220. package/template-react-ts/node_modules/diff/lib/diff/character.js +37 -0
  221. package/template-react-ts/node_modules/diff/lib/diff/css.js +41 -0
  222. package/template-react-ts/node_modules/diff/lib/diff/json.js +163 -0
  223. package/template-react-ts/node_modules/diff/lib/diff/line.js +89 -0
  224. package/template-react-ts/node_modules/diff/lib/diff/sentence.js +41 -0
  225. package/template-react-ts/node_modules/diff/lib/diff/word.js +107 -0
  226. package/template-react-ts/node_modules/diff/lib/index.es6.js +1519 -0
  227. package/template-react-ts/node_modules/diff/lib/index.js +216 -0
  228. package/template-react-ts/node_modules/diff/lib/patch/apply.js +243 -0
  229. package/template-react-ts/node_modules/diff/lib/patch/create.js +247 -0
  230. package/template-react-ts/node_modules/diff/lib/patch/merge.js +609 -0
  231. package/template-react-ts/node_modules/diff/lib/patch/parse.js +156 -0
  232. package/template-react-ts/node_modules/diff/lib/util/array.js +32 -0
  233. package/template-react-ts/node_modules/diff/lib/util/distance-iterator.js +57 -0
  234. package/template-react-ts/node_modules/diff/lib/util/params.js +24 -0
  235. package/template-react-ts/node_modules/diff/package.json +73 -0
  236. package/template-react-ts/node_modules/diff/release-notes.md +261 -0
  237. package/template-react-ts/node_modules/diff/runtime.js +3 -0
  238. package/template-react-ts/node_modules/ts-node/LICENSE +21 -0
  239. package/template-react-ts/node_modules/ts-node/README.md +1442 -0
  240. package/template-react-ts/node_modules/ts-node/child-loader.mjs +8 -0
  241. package/template-react-ts/node_modules/ts-node/dist/bin-cwd.d.ts +2 -0
  242. package/template-react-ts/node_modules/ts-node/dist/bin-cwd.js +6 -0
  243. package/template-react-ts/node_modules/ts-node/dist/bin-cwd.js.map +1 -0
  244. package/template-react-ts/node_modules/ts-node/dist/bin-esm.d.ts +2 -0
  245. package/template-react-ts/node_modules/ts-node/dist/bin-esm.js +6 -0
  246. package/template-react-ts/node_modules/ts-node/dist/bin-esm.js.map +1 -0
  247. package/template-react-ts/node_modules/ts-node/dist/bin-script-deprecated.d.ts +2 -0
  248. package/template-react-ts/node_modules/ts-node/dist/bin-script-deprecated.js +7 -0
  249. package/template-react-ts/node_modules/ts-node/dist/bin-script-deprecated.js.map +1 -0
  250. package/template-react-ts/node_modules/ts-node/dist/bin-script.d.ts +2 -0
  251. package/template-react-ts/node_modules/ts-node/dist/bin-script.js +6 -0
  252. package/template-react-ts/node_modules/ts-node/dist/bin-script.js.map +1 -0
  253. package/template-react-ts/node_modules/ts-node/dist/bin-transpile.d.ts +2 -0
  254. package/template-react-ts/node_modules/ts-node/dist/bin-transpile.js +6 -0
  255. package/template-react-ts/node_modules/ts-node/dist/bin-transpile.js.map +1 -0
  256. package/template-react-ts/node_modules/ts-node/dist/bin.d.ts +11 -0
  257. package/template-react-ts/node_modules/ts-node/dist/bin.js +581 -0
  258. package/template-react-ts/node_modules/ts-node/dist/bin.js.map +1 -0
  259. package/template-react-ts/node_modules/ts-node/dist/child/argv-payload.d.ts +1 -0
  260. package/template-react-ts/node_modules/ts-node/dist/child/argv-payload.js +19 -0
  261. package/template-react-ts/node_modules/ts-node/dist/child/argv-payload.js.map +1 -0
  262. package/template-react-ts/node_modules/ts-node/dist/child/child-entrypoint.d.ts +1 -0
  263. package/template-react-ts/node_modules/ts-node/dist/child/child-entrypoint.js +24 -0
  264. package/template-react-ts/node_modules/ts-node/dist/child/child-entrypoint.js.map +1 -0
  265. package/template-react-ts/node_modules/ts-node/dist/child/child-loader.d.ts +1 -0
  266. package/template-react-ts/node_modules/ts-node/dist/child/child-loader.js +32 -0
  267. package/template-react-ts/node_modules/ts-node/dist/child/child-loader.js.map +1 -0
  268. package/template-react-ts/node_modules/ts-node/dist/child/child-require.d.ts +7 -0
  269. package/template-react-ts/node_modules/ts-node/dist/child/child-require.js +22 -0
  270. package/template-react-ts/node_modules/ts-node/dist/child/child-require.js.map +1 -0
  271. package/template-react-ts/node_modules/ts-node/dist/child/spawn-child.d.ts +1 -0
  272. package/template-react-ts/node_modules/ts-node/dist/child/spawn-child.js +49 -0
  273. package/template-react-ts/node_modules/ts-node/dist/child/spawn-child.js.map +1 -0
  274. package/template-react-ts/node_modules/ts-node/dist/cjs-resolve-hooks.d.ts +1 -0
  275. package/template-react-ts/node_modules/ts-node/dist/cjs-resolve-hooks.js +29 -0
  276. package/template-react-ts/node_modules/ts-node/dist/cjs-resolve-hooks.js.map +1 -0
  277. package/template-react-ts/node_modules/ts-node/dist/configuration.d.ts +1 -0
  278. package/template-react-ts/node_modules/ts-node/dist/configuration.js +308 -0
  279. package/template-react-ts/node_modules/ts-node/dist/configuration.js.map +1 -0
  280. package/template-react-ts/node_modules/ts-node/dist/esm.d.ts +53 -0
  281. package/template-react-ts/node_modules/ts-node/dist/esm.js +228 -0
  282. package/template-react-ts/node_modules/ts-node/dist/esm.js.map +1 -0
  283. package/template-react-ts/node_modules/ts-node/dist/file-extensions.d.ts +1 -0
  284. package/template-react-ts/node_modules/ts-node/dist/file-extensions.js +133 -0
  285. package/template-react-ts/node_modules/ts-node/dist/file-extensions.js.map +1 -0
  286. package/template-react-ts/node_modules/ts-node/dist/index.d.ts +332 -0
  287. package/template-react-ts/node_modules/ts-node/dist/index.js +953 -0
  288. package/template-react-ts/node_modules/ts-node/dist/index.js.map +1 -0
  289. package/template-react-ts/node_modules/ts-node/dist/module-type-classifier.d.ts +1 -0
  290. package/template-react-ts/node_modules/ts-node/dist/module-type-classifier.js +64 -0
  291. package/template-react-ts/node_modules/ts-node/dist/module-type-classifier.js.map +1 -0
  292. package/template-react-ts/node_modules/ts-node/dist/node-module-type-classifier.d.ts +1 -0
  293. package/template-react-ts/node_modules/ts-node/dist/node-module-type-classifier.js +39 -0
  294. package/template-react-ts/node_modules/ts-node/dist/node-module-type-classifier.js.map +1 -0
  295. package/template-react-ts/node_modules/ts-node/dist/repl.d.ts +78 -0
  296. package/template-react-ts/node_modules/ts-node/dist/repl.js +561 -0
  297. package/template-react-ts/node_modules/ts-node/dist/repl.js.map +1 -0
  298. package/template-react-ts/node_modules/ts-node/dist/resolver-functions.d.ts +1 -0
  299. package/template-react-ts/node_modules/ts-node/dist/resolver-functions.js +143 -0
  300. package/template-react-ts/node_modules/ts-node/dist/resolver-functions.js.map +1 -0
  301. package/template-react-ts/node_modules/ts-node/dist/transpilers/swc.d.ts +11 -0
  302. package/template-react-ts/node_modules/ts-node/dist/transpilers/swc.js +218 -0
  303. package/template-react-ts/node_modules/ts-node/dist/transpilers/swc.js.map +1 -0
  304. package/template-react-ts/node_modules/ts-node/dist/transpilers/types.d.ts +35 -0
  305. package/template-react-ts/node_modules/ts-node/dist/transpilers/types.js +3 -0
  306. package/template-react-ts/node_modules/ts-node/dist/transpilers/types.js.map +1 -0
  307. package/template-react-ts/node_modules/ts-node/dist/ts-compiler-types.d.ts +63 -0
  308. package/template-react-ts/node_modules/ts-node/dist/ts-compiler-types.js +3 -0
  309. package/template-react-ts/node_modules/ts-node/dist/ts-compiler-types.js.map +1 -0
  310. package/template-react-ts/node_modules/ts-node/dist/ts-internals.d.ts +6 -0
  311. package/template-react-ts/node_modules/ts-node/dist/ts-internals.js +321 -0
  312. package/template-react-ts/node_modules/ts-node/dist/ts-internals.js.map +1 -0
  313. package/template-react-ts/node_modules/ts-node/dist/ts-transpile-module.d.ts +1 -0
  314. package/template-react-ts/node_modules/ts-node/dist/ts-transpile-module.js +100 -0
  315. package/template-react-ts/node_modules/ts-node/dist/ts-transpile-module.js.map +1 -0
  316. package/template-react-ts/node_modules/ts-node/dist/tsconfig-schema.d.ts +13 -0
  317. package/template-react-ts/node_modules/ts-node/dist/tsconfig-schema.js +3 -0
  318. package/template-react-ts/node_modules/ts-node/dist/tsconfig-schema.js.map +1 -0
  319. package/template-react-ts/node_modules/ts-node/dist/tsconfigs.d.ts +1 -0
  320. package/template-react-ts/node_modules/ts-node/dist/tsconfigs.js +36 -0
  321. package/template-react-ts/node_modules/ts-node/dist/tsconfigs.js.map +1 -0
  322. package/template-react-ts/node_modules/ts-node/dist/util.d.ts +4 -0
  323. package/template-react-ts/node_modules/ts-node/dist/util.js +175 -0
  324. package/template-react-ts/node_modules/ts-node/dist/util.js.map +1 -0
  325. package/template-react-ts/node_modules/ts-node/dist-raw/NODE-LICENSE.md +24 -0
  326. package/template-react-ts/node_modules/ts-node/dist-raw/README.md +36 -0
  327. package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-constants.js +4 -0
  328. package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-errors.js +82 -0
  329. package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-modules-cjs-helpers.js +89 -0
  330. package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-modules-cjs-loader.js +593 -0
  331. package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-modules-esm-get_format.js +106 -0
  332. package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js +962 -0
  333. package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-modules-package_json_reader.js +44 -0
  334. package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-repl-await.js +254 -0
  335. package/template-react-ts/node_modules/ts-node/dist-raw/node-internalBinding-fs.js +58 -0
  336. package/template-react-ts/node_modules/ts-node/dist-raw/node-nativemodule.js +9 -0
  337. package/template-react-ts/node_modules/ts-node/dist-raw/node-options.js +103 -0
  338. package/template-react-ts/node_modules/ts-node/dist-raw/node-primordials.js +37 -0
  339. package/template-react-ts/node_modules/ts-node/dist-raw/runmain-hack.js +9 -0
  340. package/template-react-ts/node_modules/ts-node/esm/transpile-only.mjs +8 -0
  341. package/template-react-ts/node_modules/ts-node/esm.mjs +8 -0
  342. package/template-react-ts/node_modules/ts-node/node10/tsconfig.json +3 -0
  343. package/template-react-ts/node_modules/ts-node/node12/tsconfig.json +3 -0
  344. package/template-react-ts/node_modules/ts-node/node14/tsconfig.json +3 -0
  345. package/template-react-ts/node_modules/ts-node/node16/tsconfig.json +3 -0
  346. package/template-react-ts/node_modules/ts-node/package.json +182 -0
  347. package/template-react-ts/node_modules/ts-node/register/files.js +3 -0
  348. package/template-react-ts/node_modules/ts-node/register/index.js +1 -0
  349. package/template-react-ts/node_modules/ts-node/register/transpile-only.js +3 -0
  350. package/template-react-ts/node_modules/ts-node/register/type-check.js +3 -0
  351. package/template-react-ts/node_modules/ts-node/transpilers/swc-experimental.js +1 -0
  352. package/template-react-ts/node_modules/ts-node/transpilers/swc.js +1 -0
  353. package/template-react-ts/node_modules/ts-node/tsconfig.schema.json +183 -0
  354. package/template-react-ts/node_modules/ts-node/tsconfig.schemastore-schema.json +1326 -0
  355. package/template-react-ts/package.json +49 -0
  356. package/template-react-ts/public/favicon.ico +0 -0
  357. package/template-react-ts/src/App.css +42 -0
  358. package/template-react-ts/src/App.tsx +103 -0
  359. package/template-react-ts/src/assets/aleo.svg +5 -0
  360. package/template-react-ts/src/assets/react.svg +1 -0
  361. package/template-react-ts/src/custom.d.ts +16 -0
  362. package/template-react-ts/src/index.css +69 -0
  363. package/template-react-ts/src/main.tsx +10 -0
  364. package/template-react-ts/src/workers/AleoWorker.ts +21 -0
  365. package/template-react-ts/src/workers/worker.ts +73 -0
  366. package/template-react-ts/tsconfig.json +16 -0
  367. package/template-react-ts/vite.config.ts +16 -0
  368. package/template-react-ts/webpack.config.ts +112 -0
  369. package/template-vanilla/_gitignore +24 -0
  370. package/template-vanilla/_headers +3 -0
  371. package/template-vanilla/index.html +13 -0
  372. package/template-vanilla/javascript.svg +1 -0
  373. package/template-vanilla/main.js +48 -0
  374. package/template-vanilla/package.json +16 -0
  375. package/template-vanilla/public/aleo.svg +76 -0
  376. package/template-vanilla/public/vite.svg +1 -0
  377. package/template-vanilla/style.css +97 -0
  378. package/template-vanilla/vite.config.js +12 -0
  379. package/template-vanilla/worker.js +95 -0
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createResolverFunctions = void 0;
4
+ const path_1 = require("path");
5
+ /**
6
+ * @internal
7
+ * In a factory because these are shared across both CompilerHost and LanguageService codepaths
8
+ */
9
+ function createResolverFunctions(kwargs) {
10
+ const { host, ts, config, cwd, getCanonicalFileName, projectLocalResolveHelper, options, extensions, } = kwargs;
11
+ const moduleResolutionCache = ts.createModuleResolutionCache(cwd, getCanonicalFileName, config.options);
12
+ const knownInternalFilenames = new Set();
13
+ /** "Buckets" (module directories) whose contents should be marked "internal" */
14
+ const internalBuckets = new Set();
15
+ // Get bucket for a source filename. Bucket is the containing `./node_modules/*/` directory
16
+ // For '/project/node_modules/foo/node_modules/bar/lib/index.js' bucket is '/project/node_modules/foo/node_modules/bar/'
17
+ // For '/project/node_modules/foo/node_modules/@scope/bar/lib/index.js' bucket is '/project/node_modules/foo/node_modules/@scope/bar/'
18
+ const moduleBucketRe = /.*\/node_modules\/(?:@[^\/]+\/)?[^\/]+\//;
19
+ function getModuleBucket(filename) {
20
+ const find = moduleBucketRe.exec(filename);
21
+ if (find)
22
+ return find[0];
23
+ return '';
24
+ }
25
+ // Mark that this file and all siblings in its bucket should be "internal"
26
+ function markBucketOfFilenameInternal(filename) {
27
+ internalBuckets.add(getModuleBucket(filename));
28
+ }
29
+ function isFileInInternalBucket(filename) {
30
+ return internalBuckets.has(getModuleBucket(filename));
31
+ }
32
+ function isFileKnownToBeInternal(filename) {
33
+ return knownInternalFilenames.has(filename);
34
+ }
35
+ /**
36
+ * If we need to emit JS for a file, force TS to consider it non-external
37
+ */
38
+ const fixupResolvedModule = (resolvedModule) => {
39
+ const { resolvedFileName } = resolvedModule;
40
+ if (resolvedFileName === undefined)
41
+ return;
42
+ // [MUST_UPDATE_FOR_NEW_FILE_EXTENSIONS]
43
+ // .ts,.mts,.cts is always switched to internal
44
+ // .js is switched on-demand
45
+ if (resolvedModule.isExternalLibraryImport &&
46
+ ((resolvedFileName.endsWith('.ts') &&
47
+ !resolvedFileName.endsWith('.d.ts')) ||
48
+ (resolvedFileName.endsWith('.cts') &&
49
+ !resolvedFileName.endsWith('.d.cts')) ||
50
+ (resolvedFileName.endsWith('.mts') &&
51
+ !resolvedFileName.endsWith('.d.mts')) ||
52
+ isFileKnownToBeInternal(resolvedFileName) ||
53
+ isFileInInternalBucket(resolvedFileName))) {
54
+ resolvedModule.isExternalLibraryImport = false;
55
+ }
56
+ if (!resolvedModule.isExternalLibraryImport) {
57
+ knownInternalFilenames.add(resolvedFileName);
58
+ }
59
+ };
60
+ /*
61
+ * NOTE:
62
+ * Older ts versions do not pass `redirectedReference` nor `options`.
63
+ * We must pass `redirectedReference` to newer ts versions, but cannot rely on `options`, hence the weird argument name
64
+ */
65
+ const resolveModuleNames = (moduleNames, containingFile, reusedNames, redirectedReference, optionsOnlyWithNewerTsVersions, containingSourceFile) => {
66
+ return moduleNames.map((moduleName, i) => {
67
+ var _a, _b;
68
+ const mode = containingSourceFile
69
+ ? (_b = (_a = ts).getModeForResolutionAtIndex) === null || _b === void 0 ? void 0 : _b.call(_a, containingSourceFile, i)
70
+ : undefined;
71
+ let { resolvedModule } = ts.resolveModuleName(moduleName, containingFile, config.options, host, moduleResolutionCache, redirectedReference, mode);
72
+ if (!resolvedModule && options.experimentalTsImportSpecifiers) {
73
+ const lastDotIndex = moduleName.lastIndexOf('.');
74
+ const ext = lastDotIndex >= 0 ? moduleName.slice(lastDotIndex) : '';
75
+ if (ext) {
76
+ const replacements = extensions.tsResolverEquivalents.get(ext);
77
+ for (const replacementExt of replacements !== null && replacements !== void 0 ? replacements : []) {
78
+ ({ resolvedModule } = ts.resolveModuleName(moduleName.slice(0, -ext.length) + replacementExt, containingFile, config.options, host, moduleResolutionCache, redirectedReference, mode));
79
+ if (resolvedModule)
80
+ break;
81
+ }
82
+ }
83
+ }
84
+ if (resolvedModule) {
85
+ fixupResolvedModule(resolvedModule);
86
+ }
87
+ return resolvedModule;
88
+ });
89
+ };
90
+ // language service never calls this, but TS docs recommend that we implement it
91
+ const getResolvedModuleWithFailedLookupLocationsFromCache = (moduleName, containingFile, resolutionMode) => {
92
+ const ret = ts.resolveModuleNameFromCache(moduleName, containingFile, moduleResolutionCache, resolutionMode);
93
+ if (ret && ret.resolvedModule) {
94
+ fixupResolvedModule(ret.resolvedModule);
95
+ }
96
+ return ret;
97
+ };
98
+ const resolveTypeReferenceDirectives = (typeDirectiveNames, containingFile, redirectedReference, options, containingFileMode // new impliedNodeFormat is accepted by compilerHost
99
+ ) => {
100
+ // Note: seems to be called with empty typeDirectiveNames array for all files.
101
+ // TODO consider using `ts.loadWithTypeDirectiveCache`
102
+ return typeDirectiveNames.map((typeDirectiveName) => {
103
+ // Copy-pasted from TS source:
104
+ const nameIsString = typeof typeDirectiveName === 'string';
105
+ const mode = nameIsString
106
+ ? undefined
107
+ : ts.getModeForFileReference(typeDirectiveName, containingFileMode);
108
+ const strName = nameIsString
109
+ ? typeDirectiveName
110
+ : typeDirectiveName.fileName.toLowerCase();
111
+ let { resolvedTypeReferenceDirective } = ts.resolveTypeReferenceDirective(strName, containingFile, config.options, host, redirectedReference, undefined, mode);
112
+ if (typeDirectiveName === 'node' && !resolvedTypeReferenceDirective) {
113
+ // Resolve @types/node relative to project first, then __dirname (copy logic from elsewhere / refactor into reusable function)
114
+ let typesNodePackageJsonPath;
115
+ try {
116
+ typesNodePackageJsonPath = projectLocalResolveHelper('@types/node/package.json', true);
117
+ }
118
+ catch { } // gracefully do nothing when @types/node is not installed for any reason
119
+ if (typesNodePackageJsonPath) {
120
+ const typeRoots = [(0, path_1.resolve)(typesNodePackageJsonPath, '../..')];
121
+ ({ resolvedTypeReferenceDirective } =
122
+ ts.resolveTypeReferenceDirective(typeDirectiveName, containingFile, {
123
+ ...config.options,
124
+ typeRoots,
125
+ }, host, redirectedReference));
126
+ }
127
+ }
128
+ if (resolvedTypeReferenceDirective) {
129
+ fixupResolvedModule(resolvedTypeReferenceDirective);
130
+ }
131
+ return resolvedTypeReferenceDirective;
132
+ });
133
+ };
134
+ return {
135
+ resolveModuleNames,
136
+ getResolvedModuleWithFailedLookupLocationsFromCache,
137
+ resolveTypeReferenceDirectives,
138
+ isFileKnownToBeInternal,
139
+ markBucketOfFilenameInternal,
140
+ };
141
+ }
142
+ exports.createResolverFunctions = createResolverFunctions;
143
+ //# sourceMappingURL=resolver-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver-functions.js","sourceRoot":"","sources":["../src/resolver-functions.ts"],"names":[],"mappings":"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","sourcesContent":["import { resolve } from 'path';\nimport type { CreateOptions } from '.';\nimport type { Extensions } from './file-extensions';\nimport type { TSCommon, TSInternal } from './ts-compiler-types';\nimport type { ProjectLocalResolveHelper } from './util';\n\n/**\n * @internal\n * In a factory because these are shared across both CompilerHost and LanguageService codepaths\n */\nexport function createResolverFunctions(kwargs: {\n ts: TSCommon;\n host: TSCommon.ModuleResolutionHost;\n cwd: string;\n getCanonicalFileName: (filename: string) => string;\n config: TSCommon.ParsedCommandLine;\n projectLocalResolveHelper: ProjectLocalResolveHelper;\n options: CreateOptions;\n extensions: Extensions;\n}) {\n const {\n host,\n ts,\n config,\n cwd,\n getCanonicalFileName,\n projectLocalResolveHelper,\n options,\n extensions,\n } = kwargs;\n const moduleResolutionCache = ts.createModuleResolutionCache(\n cwd,\n getCanonicalFileName,\n config.options\n );\n const knownInternalFilenames = new Set<string>();\n /** \"Buckets\" (module directories) whose contents should be marked \"internal\" */\n const internalBuckets = new Set<string>();\n\n // Get bucket for a source filename. Bucket is the containing `./node_modules/*/` directory\n // For '/project/node_modules/foo/node_modules/bar/lib/index.js' bucket is '/project/node_modules/foo/node_modules/bar/'\n // For '/project/node_modules/foo/node_modules/@scope/bar/lib/index.js' bucket is '/project/node_modules/foo/node_modules/@scope/bar/'\n const moduleBucketRe = /.*\\/node_modules\\/(?:@[^\\/]+\\/)?[^\\/]+\\//;\n function getModuleBucket(filename: string) {\n const find = moduleBucketRe.exec(filename);\n if (find) return find[0];\n return '';\n }\n\n // Mark that this file and all siblings in its bucket should be \"internal\"\n function markBucketOfFilenameInternal(filename: string) {\n internalBuckets.add(getModuleBucket(filename));\n }\n\n function isFileInInternalBucket(filename: string) {\n return internalBuckets.has(getModuleBucket(filename));\n }\n\n function isFileKnownToBeInternal(filename: string) {\n return knownInternalFilenames.has(filename);\n }\n\n /**\n * If we need to emit JS for a file, force TS to consider it non-external\n */\n const fixupResolvedModule = (\n resolvedModule:\n | TSCommon.ResolvedModule\n | TSCommon.ResolvedTypeReferenceDirective\n ) => {\n const { resolvedFileName } = resolvedModule;\n if (resolvedFileName === undefined) return;\n // [MUST_UPDATE_FOR_NEW_FILE_EXTENSIONS]\n // .ts,.mts,.cts is always switched to internal\n // .js is switched on-demand\n if (\n resolvedModule.isExternalLibraryImport &&\n ((resolvedFileName.endsWith('.ts') &&\n !resolvedFileName.endsWith('.d.ts')) ||\n (resolvedFileName.endsWith('.cts') &&\n !resolvedFileName.endsWith('.d.cts')) ||\n (resolvedFileName.endsWith('.mts') &&\n !resolvedFileName.endsWith('.d.mts')) ||\n isFileKnownToBeInternal(resolvedFileName) ||\n isFileInInternalBucket(resolvedFileName))\n ) {\n resolvedModule.isExternalLibraryImport = false;\n }\n if (!resolvedModule.isExternalLibraryImport) {\n knownInternalFilenames.add(resolvedFileName);\n }\n };\n /*\n * NOTE:\n * Older ts versions do not pass `redirectedReference` nor `options`.\n * We must pass `redirectedReference` to newer ts versions, but cannot rely on `options`, hence the weird argument name\n */\n const resolveModuleNames: TSCommon.LanguageServiceHost['resolveModuleNames'] =\n (\n moduleNames: string[],\n containingFile: string,\n reusedNames: string[] | undefined,\n redirectedReference: TSCommon.ResolvedProjectReference | undefined,\n optionsOnlyWithNewerTsVersions: TSCommon.CompilerOptions,\n containingSourceFile?: TSCommon.SourceFile\n ): (TSCommon.ResolvedModule | undefined)[] => {\n return moduleNames.map((moduleName, i) => {\n const mode = containingSourceFile\n ? (ts as any as TSInternal).getModeForResolutionAtIndex?.(\n containingSourceFile,\n i\n )\n : undefined;\n let { resolvedModule } = ts.resolveModuleName(\n moduleName,\n containingFile,\n config.options,\n host,\n moduleResolutionCache,\n redirectedReference,\n mode\n );\n if (!resolvedModule && options.experimentalTsImportSpecifiers) {\n const lastDotIndex = moduleName.lastIndexOf('.');\n const ext = lastDotIndex >= 0 ? moduleName.slice(lastDotIndex) : '';\n if (ext) {\n const replacements = extensions.tsResolverEquivalents.get(ext);\n for (const replacementExt of replacements ?? []) {\n ({ resolvedModule } = ts.resolveModuleName(\n moduleName.slice(0, -ext.length) + replacementExt,\n containingFile,\n config.options,\n host,\n moduleResolutionCache,\n redirectedReference,\n mode\n ));\n if (resolvedModule) break;\n }\n }\n }\n if (resolvedModule) {\n fixupResolvedModule(resolvedModule);\n }\n return resolvedModule;\n });\n };\n\n // language service never calls this, but TS docs recommend that we implement it\n const getResolvedModuleWithFailedLookupLocationsFromCache: TSCommon.LanguageServiceHost['getResolvedModuleWithFailedLookupLocationsFromCache'] =\n (\n moduleName,\n containingFile,\n resolutionMode?: TSCommon.ModuleKind.CommonJS | TSCommon.ModuleKind.ESNext\n ): TSCommon.ResolvedModuleWithFailedLookupLocations | undefined => {\n const ret = ts.resolveModuleNameFromCache(\n moduleName,\n containingFile,\n moduleResolutionCache,\n resolutionMode\n );\n if (ret && ret.resolvedModule) {\n fixupResolvedModule(ret.resolvedModule);\n }\n return ret;\n };\n\n const resolveTypeReferenceDirectives: TSCommon.LanguageServiceHost['resolveTypeReferenceDirectives'] =\n (\n typeDirectiveNames: string[] | readonly TSCommon.FileReference[],\n containingFile: string,\n redirectedReference: TSCommon.ResolvedProjectReference | undefined,\n options: TSCommon.CompilerOptions,\n containingFileMode?: TSCommon.SourceFile['impliedNodeFormat'] | undefined // new impliedNodeFormat is accepted by compilerHost\n ): (TSCommon.ResolvedTypeReferenceDirective | undefined)[] => {\n // Note: seems to be called with empty typeDirectiveNames array for all files.\n // TODO consider using `ts.loadWithTypeDirectiveCache`\n return typeDirectiveNames.map((typeDirectiveName) => {\n // Copy-pasted from TS source:\n const nameIsString = typeof typeDirectiveName === 'string';\n const mode = nameIsString\n ? undefined\n : (ts as any as TSInternal).getModeForFileReference!(\n typeDirectiveName,\n containingFileMode\n );\n const strName = nameIsString\n ? typeDirectiveName\n : typeDirectiveName.fileName.toLowerCase();\n let { resolvedTypeReferenceDirective } =\n ts.resolveTypeReferenceDirective(\n strName,\n containingFile,\n config.options,\n host,\n redirectedReference,\n undefined,\n mode\n );\n if (typeDirectiveName === 'node' && !resolvedTypeReferenceDirective) {\n // Resolve @types/node relative to project first, then __dirname (copy logic from elsewhere / refactor into reusable function)\n let typesNodePackageJsonPath: string | undefined;\n try {\n typesNodePackageJsonPath = projectLocalResolveHelper(\n '@types/node/package.json',\n true\n );\n } catch {} // gracefully do nothing when @types/node is not installed for any reason\n if (typesNodePackageJsonPath) {\n const typeRoots = [resolve(typesNodePackageJsonPath, '../..')];\n ({ resolvedTypeReferenceDirective } =\n ts.resolveTypeReferenceDirective(\n typeDirectiveName,\n containingFile,\n {\n ...config.options,\n typeRoots,\n },\n host,\n redirectedReference\n ));\n }\n }\n if (resolvedTypeReferenceDirective) {\n fixupResolvedModule(resolvedTypeReferenceDirective);\n }\n return resolvedTypeReferenceDirective;\n });\n };\n\n return {\n resolveModuleNames,\n getResolvedModuleWithFailedLookupLocationsFromCache,\n resolveTypeReferenceDirectives,\n isFileKnownToBeInternal,\n markBucketOfFilenameInternal,\n };\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import type * as swcWasm from '@swc/wasm';
2
+ import type { CreateTranspilerOptions, Transpiler } from './types';
3
+ export interface SwcTranspilerOptions extends CreateTranspilerOptions {
4
+ /**
5
+ * swc compiler to use for compilation
6
+ * Set to '@swc/wasm' to use swc's WASM compiler
7
+ * Default: '@swc/core', falling back to '@swc/wasm'
8
+ */
9
+ swc?: string | typeof swcWasm;
10
+ }
11
+ export declare function create(createOptions: SwcTranspilerOptions): Transpiler;
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSwcOptions = exports.targetMapping = exports.create = void 0;
4
+ const ts_internals_1 = require("../ts-internals");
5
+ function create(createOptions) {
6
+ const { swc, service: { config, projectLocalResolveHelper }, transpilerConfigLocalResolveHelper, nodeModuleEmitKind, } = createOptions;
7
+ // Load swc compiler
8
+ let swcInstance;
9
+ // Used later in diagnostics; merely needs to be human-readable.
10
+ let swcDepName = 'swc';
11
+ if (typeof swc === 'string') {
12
+ swcDepName = swc;
13
+ swcInstance = require(transpilerConfigLocalResolveHelper(swc, true));
14
+ }
15
+ else if (swc == null) {
16
+ let swcResolved;
17
+ try {
18
+ swcDepName = '@swc/core';
19
+ swcResolved = transpilerConfigLocalResolveHelper(swcDepName, true);
20
+ }
21
+ catch (e) {
22
+ try {
23
+ swcDepName = '@swc/wasm';
24
+ swcResolved = transpilerConfigLocalResolveHelper(swcDepName, true);
25
+ }
26
+ catch (e) {
27
+ throw new Error('swc compiler requires either @swc/core or @swc/wasm to be installed as a dependency. See https://typestrong.org/ts-node/docs/transpilers');
28
+ }
29
+ }
30
+ swcInstance = require(swcResolved);
31
+ }
32
+ else {
33
+ swcInstance = swc;
34
+ }
35
+ // Prepare SWC options derived from typescript compiler options
36
+ const { nonTsxOptions, tsxOptions } = createSwcOptions(config.options, nodeModuleEmitKind, swcInstance, swcDepName);
37
+ const transpile = (input, transpileOptions) => {
38
+ const { fileName } = transpileOptions;
39
+ const swcOptions = fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? tsxOptions : nonTsxOptions;
40
+ const { code, map } = swcInstance.transformSync(input, {
41
+ ...swcOptions,
42
+ filename: fileName,
43
+ });
44
+ return { outputText: code, sourceMapText: map };
45
+ };
46
+ return {
47
+ transpile,
48
+ };
49
+ }
50
+ exports.create = create;
51
+ /** @internal */
52
+ exports.targetMapping = new Map();
53
+ exports.targetMapping.set(/* ts.ScriptTarget.ES3 */ 0, 'es3');
54
+ exports.targetMapping.set(/* ts.ScriptTarget.ES5 */ 1, 'es5');
55
+ exports.targetMapping.set(/* ts.ScriptTarget.ES2015 */ 2, 'es2015');
56
+ exports.targetMapping.set(/* ts.ScriptTarget.ES2016 */ 3, 'es2016');
57
+ exports.targetMapping.set(/* ts.ScriptTarget.ES2017 */ 4, 'es2017');
58
+ exports.targetMapping.set(/* ts.ScriptTarget.ES2018 */ 5, 'es2018');
59
+ exports.targetMapping.set(/* ts.ScriptTarget.ES2019 */ 6, 'es2019');
60
+ exports.targetMapping.set(/* ts.ScriptTarget.ES2020 */ 7, 'es2020');
61
+ exports.targetMapping.set(/* ts.ScriptTarget.ES2021 */ 8, 'es2021');
62
+ exports.targetMapping.set(/* ts.ScriptTarget.ES2022 */ 9, 'es2022');
63
+ exports.targetMapping.set(/* ts.ScriptTarget.ESNext */ 99, 'esnext');
64
+ /**
65
+ * @internal
66
+ * We use this list to downgrade to a prior target when we probe swc to detect if it supports a particular target
67
+ */
68
+ const swcTargets = [
69
+ 'es3',
70
+ 'es5',
71
+ 'es2015',
72
+ 'es2016',
73
+ 'es2017',
74
+ 'es2018',
75
+ 'es2019',
76
+ 'es2020',
77
+ 'es2021',
78
+ 'es2022',
79
+ 'esnext',
80
+ ];
81
+ const ModuleKind = {
82
+ None: 0,
83
+ CommonJS: 1,
84
+ AMD: 2,
85
+ UMD: 3,
86
+ System: 4,
87
+ ES2015: 5,
88
+ ES2020: 6,
89
+ ESNext: 99,
90
+ Node16: 100,
91
+ NodeNext: 199,
92
+ };
93
+ const JsxEmit = {
94
+ ReactJSX: /* ts.JsxEmit.ReactJSX */ 4,
95
+ ReactJSXDev: /* ts.JsxEmit.ReactJSXDev */ 5,
96
+ };
97
+ /**
98
+ * Prepare SWC options derived from typescript compiler options.
99
+ * @internal exported for testing
100
+ */
101
+ function createSwcOptions(compilerOptions, nodeModuleEmitKind, swcInstance, swcDepName) {
102
+ var _a;
103
+ const { esModuleInterop, sourceMap, importHelpers, experimentalDecorators, emitDecoratorMetadata, target, module, jsx, jsxFactory, jsxFragmentFactory, strict, alwaysStrict, noImplicitUseStrict, jsxImportSource, } = compilerOptions;
104
+ let swcTarget = (_a = exports.targetMapping.get(target)) !== null && _a !== void 0 ? _a : 'es3';
105
+ // Downgrade to lower target if swc does not support the selected target.
106
+ // Perhaps project has an older version of swc.
107
+ // TODO cache the results of this; slightly faster
108
+ let swcTargetIndex = swcTargets.indexOf(swcTarget);
109
+ for (; swcTargetIndex >= 0; swcTargetIndex--) {
110
+ try {
111
+ swcInstance.transformSync('', {
112
+ jsc: { target: swcTargets[swcTargetIndex] },
113
+ });
114
+ break;
115
+ }
116
+ catch (e) { }
117
+ }
118
+ swcTarget = swcTargets[swcTargetIndex];
119
+ const keepClassNames = target >= /* ts.ScriptTarget.ES2016 */ 3;
120
+ const isNodeModuleKind = module === ModuleKind.Node16 || module === ModuleKind.NodeNext;
121
+ // swc only supports these 4x module options [MUST_UPDATE_FOR_NEW_MODULEKIND]
122
+ const moduleType = module === ModuleKind.CommonJS
123
+ ? 'commonjs'
124
+ : module === ModuleKind.AMD
125
+ ? 'amd'
126
+ : module === ModuleKind.UMD
127
+ ? 'umd'
128
+ : isNodeModuleKind && nodeModuleEmitKind === 'nodecjs'
129
+ ? 'commonjs'
130
+ : isNodeModuleKind && nodeModuleEmitKind === 'nodeesm'
131
+ ? 'es6'
132
+ : 'es6';
133
+ // In swc:
134
+ // strictMode means `"use strict"` is *always* emitted for non-ES module, *never* for ES module where it is assumed it can be omitted.
135
+ // (this assumption is invalid, but that's the way swc behaves)
136
+ // tsc is a bit more complex:
137
+ // alwaysStrict will force emitting it always unless `import`/`export` syntax is emitted which implies it per the JS spec.
138
+ // if not alwaysStrict, will emit implicitly whenever module target is non-ES *and* transformed module syntax is emitted.
139
+ // For node, best option is to assume that all scripts are modules (commonjs or esm) and thus should get tsc's implicit strict behavior.
140
+ // Always set strictMode, *unless* alwaysStrict is disabled and noImplicitUseStrict is enabled
141
+ const strictMode =
142
+ // if `alwaysStrict` is disabled, remembering that `strict` defaults `alwaysStrict` to true
143
+ (alwaysStrict === false || (alwaysStrict !== true && strict !== true)) &&
144
+ // if noImplicitUseStrict is enabled
145
+ noImplicitUseStrict === true
146
+ ? false
147
+ : true;
148
+ const jsxRuntime = jsx === JsxEmit.ReactJSX || jsx === JsxEmit.ReactJSXDev ? 'automatic' : undefined;
149
+ const jsxDevelopment = jsx === JsxEmit.ReactJSXDev ? true : undefined;
150
+ const useDefineForClassFields = (0, ts_internals_1.getUseDefineForClassFields)(compilerOptions);
151
+ const nonTsxOptions = createVariant(false);
152
+ const tsxOptions = createVariant(true);
153
+ return { nonTsxOptions, tsxOptions };
154
+ function createVariant(isTsx) {
155
+ const swcOptions = {
156
+ sourceMaps: sourceMap,
157
+ // isModule: true,
158
+ module: moduleType
159
+ ? {
160
+ type: moduleType,
161
+ ...(moduleType === 'amd' || moduleType === 'commonjs' || moduleType === 'umd'
162
+ ? {
163
+ noInterop: !esModuleInterop,
164
+ strictMode,
165
+ // For NodeNext and Node12, emit as CJS but do not transform dynamic imports
166
+ ignoreDynamic: nodeModuleEmitKind === 'nodecjs',
167
+ }
168
+ : {}),
169
+ }
170
+ : undefined,
171
+ swcrc: false,
172
+ jsc: {
173
+ externalHelpers: importHelpers,
174
+ parser: {
175
+ syntax: 'typescript',
176
+ tsx: isTsx,
177
+ decorators: experimentalDecorators,
178
+ dynamicImport: true,
179
+ importAssertions: true,
180
+ },
181
+ target: swcTarget,
182
+ transform: {
183
+ decoratorMetadata: emitDecoratorMetadata,
184
+ legacyDecorator: true,
185
+ react: {
186
+ throwIfNamespace: false,
187
+ development: jsxDevelopment,
188
+ useBuiltins: false,
189
+ pragma: jsxFactory,
190
+ pragmaFrag: jsxFragmentFactory,
191
+ runtime: jsxRuntime,
192
+ importSource: jsxImportSource,
193
+ },
194
+ useDefineForClassFields,
195
+ },
196
+ keepClassNames,
197
+ experimental: {
198
+ keepImportAttributes: true,
199
+ emitAssertForImportAttributes: true,
200
+ },
201
+ },
202
+ };
203
+ // Throw a helpful error if swc version is old, for example, if it rejects `ignoreDynamic`
204
+ try {
205
+ swcInstance.transformSync('', swcOptions);
206
+ }
207
+ catch (e) {
208
+ throw new Error(`${swcDepName} threw an error when attempting to validate swc compiler options.\n` +
209
+ 'You may be using an old version of swc which does not support the options used by ts-node.\n' +
210
+ 'Try upgrading to the latest version of swc.\n' +
211
+ 'Error message from swc:\n' +
212
+ (e === null || e === void 0 ? void 0 : e.message));
213
+ }
214
+ return swcOptions;
215
+ }
216
+ }
217
+ exports.createSwcOptions = createSwcOptions;
218
+ //# sourceMappingURL=swc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swc.js","sourceRoot":"","sources":["../../src/transpilers/swc.ts"],"names":[],"mappings":"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","sourcesContent":["import type * as ts from 'typescript';\nimport type * as swcWasm from '@swc/wasm';\nimport type * as swcTypes from '@swc/core';\nimport type { CreateTranspilerOptions, Transpiler } from './types';\nimport type { NodeModuleEmitKind } from '..';\nimport { getUseDefineForClassFields } from '../ts-internals';\n\ntype SwcInstance = typeof swcTypes;\nexport interface SwcTranspilerOptions extends CreateTranspilerOptions {\n /**\n * swc compiler to use for compilation\n * Set to '@swc/wasm' to use swc's WASM compiler\n * Default: '@swc/core', falling back to '@swc/wasm'\n */\n swc?: string | typeof swcWasm;\n}\n\nexport function create(createOptions: SwcTranspilerOptions): Transpiler {\n const {\n swc,\n service: { config, projectLocalResolveHelper },\n transpilerConfigLocalResolveHelper,\n nodeModuleEmitKind,\n } = createOptions;\n\n // Load swc compiler\n let swcInstance: SwcInstance;\n // Used later in diagnostics; merely needs to be human-readable.\n let swcDepName: string = 'swc';\n if (typeof swc === 'string') {\n swcDepName = swc;\n swcInstance = require(transpilerConfigLocalResolveHelper(swc, true)) as SwcInstance;\n } else if (swc == null) {\n let swcResolved;\n try {\n swcDepName = '@swc/core';\n swcResolved = transpilerConfigLocalResolveHelper(swcDepName, true);\n } catch (e) {\n try {\n swcDepName = '@swc/wasm';\n swcResolved = transpilerConfigLocalResolveHelper(swcDepName, true);\n } catch (e) {\n throw new Error(\n 'swc compiler requires either @swc/core or @swc/wasm to be installed as a dependency. See https://typestrong.org/ts-node/docs/transpilers'\n );\n }\n }\n swcInstance = require(swcResolved) as SwcInstance;\n } else {\n swcInstance = swc as any as SwcInstance;\n }\n\n // Prepare SWC options derived from typescript compiler options\n const { nonTsxOptions, tsxOptions } = createSwcOptions(config.options, nodeModuleEmitKind, swcInstance, swcDepName);\n\n const transpile: Transpiler['transpile'] = (input, transpileOptions) => {\n const { fileName } = transpileOptions;\n const swcOptions = fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? tsxOptions : nonTsxOptions;\n const { code, map } = swcInstance.transformSync(input, {\n ...swcOptions,\n filename: fileName,\n });\n return { outputText: code, sourceMapText: map };\n };\n\n return {\n transpile,\n };\n}\n\n/** @internal */\nexport const targetMapping = new Map<ts.ScriptTarget, SwcTarget>();\ntargetMapping.set(/* ts.ScriptTarget.ES3 */ 0, 'es3');\ntargetMapping.set(/* ts.ScriptTarget.ES5 */ 1, 'es5');\ntargetMapping.set(/* ts.ScriptTarget.ES2015 */ 2, 'es2015');\ntargetMapping.set(/* ts.ScriptTarget.ES2016 */ 3, 'es2016');\ntargetMapping.set(/* ts.ScriptTarget.ES2017 */ 4, 'es2017');\ntargetMapping.set(/* ts.ScriptTarget.ES2018 */ 5, 'es2018');\ntargetMapping.set(/* ts.ScriptTarget.ES2019 */ 6, 'es2019');\ntargetMapping.set(/* ts.ScriptTarget.ES2020 */ 7, 'es2020');\ntargetMapping.set(/* ts.ScriptTarget.ES2021 */ 8, 'es2021');\ntargetMapping.set(/* ts.ScriptTarget.ES2022 */ 9, 'es2022');\ntargetMapping.set(/* ts.ScriptTarget.ESNext */ 99, 'esnext');\n\ntype SwcTarget = typeof swcTargets[number];\n/**\n * @internal\n * We use this list to downgrade to a prior target when we probe swc to detect if it supports a particular target\n */\nconst swcTargets = [\n 'es3',\n 'es5',\n 'es2015',\n 'es2016',\n 'es2017',\n 'es2018',\n 'es2019',\n 'es2020',\n 'es2021',\n 'es2022',\n 'esnext',\n] as const;\n\nconst ModuleKind = {\n None: 0,\n CommonJS: 1,\n AMD: 2,\n UMD: 3,\n System: 4,\n ES2015: 5,\n ES2020: 6,\n ESNext: 99,\n Node16: 100,\n NodeNext: 199,\n} as const;\n\nconst JsxEmit = {\n ReactJSX: /* ts.JsxEmit.ReactJSX */ 4,\n ReactJSXDev: /* ts.JsxEmit.ReactJSXDev */ 5,\n} as const;\n\n/**\n * Prepare SWC options derived from typescript compiler options.\n * @internal exported for testing\n */\nexport function createSwcOptions(\n compilerOptions: ts.CompilerOptions,\n nodeModuleEmitKind: NodeModuleEmitKind | undefined,\n swcInstance: SwcInstance,\n swcDepName: string\n) {\n const {\n esModuleInterop,\n sourceMap,\n importHelpers,\n experimentalDecorators,\n emitDecoratorMetadata,\n target,\n module,\n jsx,\n jsxFactory,\n jsxFragmentFactory,\n strict,\n alwaysStrict,\n noImplicitUseStrict,\n jsxImportSource,\n } = compilerOptions;\n\n let swcTarget = targetMapping.get(target!) ?? 'es3';\n // Downgrade to lower target if swc does not support the selected target.\n // Perhaps project has an older version of swc.\n // TODO cache the results of this; slightly faster\n let swcTargetIndex = swcTargets.indexOf(swcTarget);\n for (; swcTargetIndex >= 0; swcTargetIndex--) {\n try {\n swcInstance.transformSync('', {\n jsc: { target: swcTargets[swcTargetIndex] as swcWasm.JscTarget },\n });\n break;\n } catch (e) {}\n }\n swcTarget = swcTargets[swcTargetIndex];\n const keepClassNames = target! >= /* ts.ScriptTarget.ES2016 */ 3;\n const isNodeModuleKind = module === ModuleKind.Node16 || module === ModuleKind.NodeNext;\n // swc only supports these 4x module options [MUST_UPDATE_FOR_NEW_MODULEKIND]\n const moduleType =\n module === ModuleKind.CommonJS\n ? 'commonjs'\n : module === ModuleKind.AMD\n ? 'amd'\n : module === ModuleKind.UMD\n ? 'umd'\n : isNodeModuleKind && nodeModuleEmitKind === 'nodecjs'\n ? 'commonjs'\n : isNodeModuleKind && nodeModuleEmitKind === 'nodeesm'\n ? 'es6'\n : 'es6';\n // In swc:\n // strictMode means `\"use strict\"` is *always* emitted for non-ES module, *never* for ES module where it is assumed it can be omitted.\n // (this assumption is invalid, but that's the way swc behaves)\n // tsc is a bit more complex:\n // alwaysStrict will force emitting it always unless `import`/`export` syntax is emitted which implies it per the JS spec.\n // if not alwaysStrict, will emit implicitly whenever module target is non-ES *and* transformed module syntax is emitted.\n // For node, best option is to assume that all scripts are modules (commonjs or esm) and thus should get tsc's implicit strict behavior.\n\n // Always set strictMode, *unless* alwaysStrict is disabled and noImplicitUseStrict is enabled\n const strictMode =\n // if `alwaysStrict` is disabled, remembering that `strict` defaults `alwaysStrict` to true\n (alwaysStrict === false || (alwaysStrict !== true && strict !== true)) &&\n // if noImplicitUseStrict is enabled\n noImplicitUseStrict === true\n ? false\n : true;\n\n const jsxRuntime: swcTypes.ReactConfig['runtime'] =\n jsx === JsxEmit.ReactJSX || jsx === JsxEmit.ReactJSXDev ? 'automatic' : undefined;\n const jsxDevelopment: swcTypes.ReactConfig['development'] = jsx === JsxEmit.ReactJSXDev ? true : undefined;\n\n const useDefineForClassFields = getUseDefineForClassFields(compilerOptions);\n\n const nonTsxOptions = createVariant(false);\n const tsxOptions = createVariant(true);\n return { nonTsxOptions, tsxOptions };\n\n function createVariant(isTsx: boolean): swcTypes.Options {\n const swcOptions: swcTypes.Options = {\n sourceMaps: sourceMap,\n // isModule: true,\n module: moduleType\n ? {\n type: moduleType,\n ...(moduleType === 'amd' || moduleType === 'commonjs' || moduleType === 'umd'\n ? {\n noInterop: !esModuleInterop,\n strictMode,\n // For NodeNext and Node12, emit as CJS but do not transform dynamic imports\n ignoreDynamic: nodeModuleEmitKind === 'nodecjs',\n }\n : {}),\n }\n : undefined,\n swcrc: false,\n jsc: {\n externalHelpers: importHelpers,\n parser: {\n syntax: 'typescript',\n tsx: isTsx,\n decorators: experimentalDecorators,\n dynamicImport: true,\n importAssertions: true,\n } as swcWasm.TsParserConfig,\n target: swcTarget as swcWasm.JscTarget,\n transform: {\n decoratorMetadata: emitDecoratorMetadata,\n legacyDecorator: true,\n react: {\n throwIfNamespace: false,\n development: jsxDevelopment,\n useBuiltins: false,\n pragma: jsxFactory!,\n pragmaFrag: jsxFragmentFactory!,\n runtime: jsxRuntime,\n importSource: jsxImportSource,\n },\n useDefineForClassFields,\n },\n keepClassNames,\n experimental: {\n keepImportAttributes: true,\n emitAssertForImportAttributes: true,\n } as swcTypes.JscConfig['experimental'],\n },\n };\n\n // Throw a helpful error if swc version is old, for example, if it rejects `ignoreDynamic`\n try {\n swcInstance.transformSync('', swcOptions);\n } catch (e) {\n throw new Error(\n `${swcDepName} threw an error when attempting to validate swc compiler options.\\n` +\n 'You may be using an old version of swc which does not support the options used by ts-node.\\n' +\n 'Try upgrading to the latest version of swc.\\n' +\n 'Error message from swc:\\n' +\n (e as Error)?.message\n );\n }\n\n return swcOptions;\n }\n}\n"]}
@@ -0,0 +1,35 @@
1
+ import type * as ts from 'typescript';
2
+ import type { Service } from '../index';
3
+ /**
4
+ * Third-party transpilers are implemented as a CommonJS module with a
5
+ * named export "create"
6
+ *
7
+ * @category Transpiler
8
+ */
9
+ export interface TranspilerModule {
10
+ create: TranspilerFactory;
11
+ }
12
+ /**
13
+ * Called by ts-node to create a custom transpiler.
14
+ *
15
+ * @category Transpiler
16
+ */
17
+ export declare type TranspilerFactory = (options: CreateTranspilerOptions) => Transpiler;
18
+ /** @category Transpiler */
19
+ export interface CreateTranspilerOptions {
20
+ service: Pick<Service, Extract<'config' | 'options' | 'projectLocalResolveHelper', keyof Service>>;
21
+ }
22
+ /** @category Transpiler */
23
+ export interface Transpiler {
24
+ transpile(input: string, options: TranspileOptions): TranspileOutput;
25
+ }
26
+ /** @category Transpiler */
27
+ export interface TranspileOptions {
28
+ fileName: string;
29
+ }
30
+ /** @category Transpiler */
31
+ export interface TranspileOutput {
32
+ outputText: string;
33
+ diagnostics?: ts.Diagnostic[];
34
+ sourceMapText?: string;
35
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/transpilers/types.ts"],"names":[],"mappings":"","sourcesContent":["import type * as ts from 'typescript';\nimport type { NodeModuleEmitKind, Service } from '../index';\nimport type { ProjectLocalResolveHelper } from '../util';\n\n/**\n * Third-party transpilers are implemented as a CommonJS module with a\n * named export \"create\"\n *\n * @category Transpiler\n */\nexport interface TranspilerModule {\n create: TranspilerFactory;\n}\n/**\n * Called by ts-node to create a custom transpiler.\n *\n * @category Transpiler\n */\nexport type TranspilerFactory = (\n options: CreateTranspilerOptions\n) => Transpiler;\n/** @category Transpiler */\nexport interface CreateTranspilerOptions {\n // TODO this is confusing because its only a partial Service. Rename?\n // Careful: must avoid stripInternal breakage by guarding with Extract<>\n service: Pick<\n Service,\n Extract<'config' | 'options' | 'projectLocalResolveHelper', keyof Service>\n >;\n /**\n * If `\"transpiler\"` option is declared in an \"extends\" tsconfig, this path might be different than\n * the `projectLocalResolveHelper`\n *\n * @internal\n */\n transpilerConfigLocalResolveHelper: ProjectLocalResolveHelper;\n /**\n * When using `module: nodenext` or `module: node12`, there are two possible styles of emit:\n * - CommonJS with dynamic imports preserved (not transformed into `require()` calls)\n * - ECMAScript modules with `import foo = require()` transformed into `require = createRequire(); const foo = require()`\n * @internal\n */\n nodeModuleEmitKind?: NodeModuleEmitKind;\n}\n/** @category Transpiler */\nexport interface Transpiler {\n // TODOs\n // Create spec for returning diagnostics? Currently transpilers are allowed to\n // throw an error but that's it.\n transpile(input: string, options: TranspileOptions): TranspileOutput;\n}\n/** @category Transpiler */\nexport interface TranspileOptions {\n fileName: string;\n}\n/** @category Transpiler */\nexport interface TranspileOutput {\n outputText: string;\n diagnostics?: ts.Diagnostic[];\n sourceMapText?: string;\n}\n"]}
@@ -0,0 +1,63 @@
1
+ import type * as _ts from 'typescript';
2
+ /**
3
+ * Common TypeScript interfaces between versions. We endeavour to write ts-node's own code against these types instead
4
+ * of against `import "typescript"`, though we are not yet doing this consistently.
5
+ *
6
+ * Sometimes typescript@next adds an API we need to use. But we build ts-node against typescript@latest.
7
+ * In these cases, we must declare that API explicitly here. Our declarations include the newer typescript@next APIs.
8
+ * Importantly, these re-declarations are *not* TypeScript internals. They are public APIs that only exist in
9
+ * pre-release versions of typescript.
10
+ */
11
+ export interface TSCommon {
12
+ version: typeof _ts.version;
13
+ sys: typeof _ts.sys;
14
+ ScriptSnapshot: typeof _ts.ScriptSnapshot;
15
+ displayPartsToString: typeof _ts.displayPartsToString;
16
+ createLanguageService: typeof _ts.createLanguageService;
17
+ getDefaultLibFilePath: typeof _ts.getDefaultLibFilePath;
18
+ getPreEmitDiagnostics: typeof _ts.getPreEmitDiagnostics;
19
+ flattenDiagnosticMessageText: typeof _ts.flattenDiagnosticMessageText;
20
+ transpileModule: typeof _ts.transpileModule;
21
+ ModuleKind: TSCommon.ModuleKindEnum;
22
+ ScriptTarget: typeof _ts.ScriptTarget;
23
+ findConfigFile: typeof _ts.findConfigFile;
24
+ readConfigFile: typeof _ts.readConfigFile;
25
+ parseJsonConfigFileContent: typeof _ts.parseJsonConfigFileContent;
26
+ formatDiagnostics: typeof _ts.formatDiagnostics;
27
+ formatDiagnosticsWithColorAndContext: typeof _ts.formatDiagnosticsWithColorAndContext;
28
+ createDocumentRegistry: typeof _ts.createDocumentRegistry;
29
+ JsxEmit: typeof _ts.JsxEmit;
30
+ createModuleResolutionCache: typeof _ts.createModuleResolutionCache;
31
+ resolveModuleName: typeof _ts.resolveModuleName;
32
+ resolveModuleNameFromCache: typeof _ts.resolveModuleNameFromCache;
33
+ resolveTypeReferenceDirective: typeof _ts.resolveTypeReferenceDirective;
34
+ createIncrementalCompilerHost: typeof _ts.createIncrementalCompilerHost;
35
+ createSourceFile: typeof _ts.createSourceFile;
36
+ getDefaultLibFileName: typeof _ts.getDefaultLibFileName;
37
+ createIncrementalProgram: typeof _ts.createIncrementalProgram;
38
+ createEmitAndSemanticDiagnosticsBuilderProgram: typeof _ts.createEmitAndSemanticDiagnosticsBuilderProgram;
39
+ Extension: typeof _ts.Extension;
40
+ ModuleResolutionKind: typeof _ts.ModuleResolutionKind;
41
+ }
42
+ export declare namespace TSCommon {
43
+ interface LanguageServiceHost extends _ts.LanguageServiceHost {
44
+ }
45
+ type ModuleResolutionHost = _ts.ModuleResolutionHost;
46
+ type ParsedCommandLine = _ts.ParsedCommandLine;
47
+ type ResolvedModule = _ts.ResolvedModule;
48
+ type ResolvedTypeReferenceDirective = _ts.ResolvedTypeReferenceDirective;
49
+ type CompilerOptions = _ts.CompilerOptions;
50
+ type ResolvedProjectReference = _ts.ResolvedProjectReference;
51
+ type ResolvedModuleWithFailedLookupLocations = _ts.ResolvedModuleWithFailedLookupLocations;
52
+ type FileReference = _ts.FileReference;
53
+ type SourceFile = _ts.SourceFile;
54
+ type ModuleKindEnum = typeof _ts.ModuleKind & {
55
+ Node16: typeof _ts.ModuleKind extends {
56
+ Node16: any;
57
+ } ? typeof _ts.ModuleKind['Node16'] : 100;
58
+ };
59
+ namespace ModuleKind {
60
+ type CommonJS = _ts.ModuleKind.CommonJS;
61
+ type ESNext = _ts.ModuleKind.ESNext;
62
+ }
63
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ts-compiler-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-compiler-types.js","sourceRoot":"","sources":["../src/ts-compiler-types.ts"],"names":[],"mappings":"","sourcesContent":["import type * as _ts from 'typescript';\n\n/**\n * Common TypeScript interfaces between versions. We endeavour to write ts-node's own code against these types instead\n * of against `import \"typescript\"`, though we are not yet doing this consistently.\n *\n * Sometimes typescript@next adds an API we need to use. But we build ts-node against typescript@latest.\n * In these cases, we must declare that API explicitly here. Our declarations include the newer typescript@next APIs.\n * Importantly, these re-declarations are *not* TypeScript internals. They are public APIs that only exist in\n * pre-release versions of typescript.\n */\nexport interface TSCommon {\n version: typeof _ts.version;\n sys: typeof _ts.sys;\n ScriptSnapshot: typeof _ts.ScriptSnapshot;\n displayPartsToString: typeof _ts.displayPartsToString;\n createLanguageService: typeof _ts.createLanguageService;\n getDefaultLibFilePath: typeof _ts.getDefaultLibFilePath;\n getPreEmitDiagnostics: typeof _ts.getPreEmitDiagnostics;\n flattenDiagnosticMessageText: typeof _ts.flattenDiagnosticMessageText;\n transpileModule: typeof _ts.transpileModule;\n ModuleKind: TSCommon.ModuleKindEnum;\n ScriptTarget: typeof _ts.ScriptTarget;\n findConfigFile: typeof _ts.findConfigFile;\n readConfigFile: typeof _ts.readConfigFile;\n parseJsonConfigFileContent: typeof _ts.parseJsonConfigFileContent;\n formatDiagnostics: typeof _ts.formatDiagnostics;\n formatDiagnosticsWithColorAndContext: typeof _ts.formatDiagnosticsWithColorAndContext;\n\n createDocumentRegistry: typeof _ts.createDocumentRegistry;\n JsxEmit: typeof _ts.JsxEmit;\n createModuleResolutionCache: typeof _ts.createModuleResolutionCache;\n resolveModuleName: typeof _ts.resolveModuleName;\n resolveModuleNameFromCache: typeof _ts.resolveModuleNameFromCache;\n resolveTypeReferenceDirective: typeof _ts.resolveTypeReferenceDirective;\n createIncrementalCompilerHost: typeof _ts.createIncrementalCompilerHost;\n createSourceFile: typeof _ts.createSourceFile;\n getDefaultLibFileName: typeof _ts.getDefaultLibFileName;\n createIncrementalProgram: typeof _ts.createIncrementalProgram;\n createEmitAndSemanticDiagnosticsBuilderProgram: typeof _ts.createEmitAndSemanticDiagnosticsBuilderProgram;\n\n Extension: typeof _ts.Extension;\n ModuleResolutionKind: typeof _ts.ModuleResolutionKind;\n}\nexport namespace TSCommon {\n export interface LanguageServiceHost extends _ts.LanguageServiceHost {}\n export type ModuleResolutionHost = _ts.ModuleResolutionHost;\n export type ParsedCommandLine = _ts.ParsedCommandLine;\n export type ResolvedModule = _ts.ResolvedModule;\n export type ResolvedTypeReferenceDirective =\n _ts.ResolvedTypeReferenceDirective;\n export type CompilerOptions = _ts.CompilerOptions;\n export type ResolvedProjectReference = _ts.ResolvedProjectReference;\n export type ResolvedModuleWithFailedLookupLocations =\n _ts.ResolvedModuleWithFailedLookupLocations;\n export type FileReference = _ts.FileReference;\n export type SourceFile = _ts.SourceFile;\n // Hack until we start building against TS >= 4.7.0\n export type ModuleKindEnum = typeof _ts.ModuleKind & {\n Node16: typeof _ts.ModuleKind extends { Node16: any }\n ? typeof _ts.ModuleKind['Node16']\n : 100;\n };\n // Can't figure out how to re-export an enum\n // `export import ... =` complains that _ts is type-only import\n export namespace ModuleKind {\n export type CommonJS = _ts.ModuleKind.CommonJS;\n export type ESNext = _ts.ModuleKind.ESNext;\n }\n}\n\n/**\n * Compiler APIs we use that are marked internal and not included in TypeScript's public API declarations\n * @internal\n */\nexport interface TSInternal {\n // https://github.com/microsoft/TypeScript/blob/4a34294908bed6701dcba2456ca7ac5eafe0ddff/src/compiler/core.ts#L1906-L1909\n createGetCanonicalFileName(\n useCaseSensitiveFileNames: boolean\n ): TSInternal.GetCanonicalFileName;\n // https://github.com/microsoft/TypeScript/blob/c117c266e09c80e8a06b24a6e94b9d018f5fae6b/src/compiler/commandLineParser.ts#L2054\n convertToTSConfig(\n configParseResult: _ts.ParsedCommandLine,\n configFileName: string,\n host: TSInternal.ConvertToTSConfigHost\n ): any;\n libs?: string[];\n Diagnostics: {\n File_0_not_found: _ts.DiagnosticMessage;\n };\n createCompilerDiagnostic(\n message: _ts.DiagnosticMessage,\n ...args: (string | number | undefined)[]\n ): _ts.Diagnostic;\n nodeModuleNameResolver(\n moduleName: string,\n containingFile: string,\n compilerOptions: _ts.CompilerOptions,\n host: _ts.ModuleResolutionHost,\n cache?: _ts.ModuleResolutionCache,\n redirectedReference?: _ts.ResolvedProjectReference,\n conditionsOrIsConfigLookup?: string[] | boolean, // `conditions` parameter added in TS 5.3\n isConfigLookup?: boolean\n ): _ts.ResolvedModuleWithFailedLookupLocations;\n // Added in TS 4.7\n getModeForFileReference?: (\n ref: _ts.FileReference | string,\n containingFileMode: _ts.SourceFile['impliedNodeFormat']\n ) => _ts.SourceFile['impliedNodeFormat'];\n // TODO do we need these? Which TS version adds them?\n getPatternFromSpec(\n spec: string,\n basePath: string,\n usage: 'files' | 'directories' | 'exclude'\n ): string | undefined;\n getRegularExpressionForWildcard(\n specs: readonly string[] | undefined,\n basePath: string,\n usage: 'files' | 'directories' | 'exclude'\n ): string | undefined;\n // Added in TS 4.7\n getModeForResolutionAtIndex?(\n file: TSInternal.SourceFileImportsList,\n index: number\n ): _ts.SourceFile['impliedNodeFormat'];\n}\n/** @internal */\nexport namespace TSInternal {\n // https://github.com/microsoft/TypeScript/blob/4a34294908bed6701dcba2456ca7ac5eafe0ddff/src/compiler/core.ts#L1906\n export type GetCanonicalFileName = (fileName: string) => string;\n // https://github.com/microsoft/TypeScript/blob/c117c266e09c80e8a06b24a6e94b9d018f5fae6b/src/compiler/commandLineParser.ts#L2041\n export interface ConvertToTSConfigHost {\n getCurrentDirectory(): string;\n useCaseSensitiveFileNames: boolean;\n }\n // Note: is only a partial declaration, TS sources declare other fields\n export interface SourceFileImportsList {\n impliedNodeFormat?: TSCommon.SourceFile['impliedNodeFormat'];\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import type * as _ts from 'typescript';
2
+ export declare function getUseDefineForClassFields(compilerOptions: _ts.CompilerOptions): boolean;
3
+ export declare function getEmitScriptTarget(compilerOptions: {
4
+ module?: _ts.CompilerOptions['module'];
5
+ target?: _ts.CompilerOptions['target'];
6
+ }): _ts.ScriptTarget;