@supatype/cli 0.1.0-alpha.10

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 (416) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-test.log +221 -0
  3. package/.turbo/turbo-typecheck.log +4 -0
  4. package/assets/supatype-logo-wordmark.ascii.txt +6 -0
  5. package/bin/dev-entry.ts +2 -0
  6. package/bin/supatype.js +5 -0
  7. package/dist/app/framework.d.ts +44 -0
  8. package/dist/app/framework.d.ts.map +1 -0
  9. package/dist/app/framework.js +200 -0
  10. package/dist/app/framework.js.map +1 -0
  11. package/dist/app/proxy-dev-app.d.ts +13 -0
  12. package/dist/app/proxy-dev-app.d.ts.map +1 -0
  13. package/dist/app/proxy-dev-app.js +54 -0
  14. package/dist/app/proxy-dev-app.js.map +1 -0
  15. package/dist/app-config.d.ts +7 -0
  16. package/dist/app-config.d.ts.map +1 -0
  17. package/dist/app-config.js +113 -0
  18. package/dist/app-config.js.map +1 -0
  19. package/dist/assets/supatype-logo-wordmark.ascii.txt +6 -0
  20. package/dist/augmentation-generator.d.ts +2 -0
  21. package/dist/augmentation-generator.d.ts.map +1 -0
  22. package/dist/augmentation-generator.js +111 -0
  23. package/dist/augmentation-generator.js.map +1 -0
  24. package/dist/binary-cache.d.ts +98 -0
  25. package/dist/binary-cache.d.ts.map +1 -0
  26. package/dist/binary-cache.js +687 -0
  27. package/dist/binary-cache.js.map +1 -0
  28. package/dist/cli.d.ts +2 -0
  29. package/dist/cli.d.ts.map +1 -0
  30. package/dist/cli.js +61 -0
  31. package/dist/cli.js.map +1 -0
  32. package/dist/commands/admin.d.ts +4 -0
  33. package/dist/commands/admin.d.ts.map +1 -0
  34. package/dist/commands/admin.js +271 -0
  35. package/dist/commands/admin.js.map +1 -0
  36. package/dist/commands/app.d.ts +3 -0
  37. package/dist/commands/app.d.ts.map +1 -0
  38. package/dist/commands/app.js +82 -0
  39. package/dist/commands/app.js.map +1 -0
  40. package/dist/commands/cache.d.ts +6 -0
  41. package/dist/commands/cache.d.ts.map +1 -0
  42. package/dist/commands/cache.js +105 -0
  43. package/dist/commands/cache.js.map +1 -0
  44. package/dist/commands/cloud.d.ts +23 -0
  45. package/dist/commands/cloud.d.ts.map +1 -0
  46. package/dist/commands/cloud.js +254 -0
  47. package/dist/commands/cloud.js.map +1 -0
  48. package/dist/commands/db.d.ts +8 -0
  49. package/dist/commands/db.d.ts.map +1 -0
  50. package/dist/commands/db.js +116 -0
  51. package/dist/commands/db.js.map +1 -0
  52. package/dist/commands/deploy-types.d.ts +14 -0
  53. package/dist/commands/deploy-types.d.ts.map +1 -0
  54. package/dist/commands/deploy-types.js +38 -0
  55. package/dist/commands/deploy-types.js.map +1 -0
  56. package/dist/commands/deploy.d.ts +15 -0
  57. package/dist/commands/deploy.d.ts.map +1 -0
  58. package/dist/commands/deploy.js +322 -0
  59. package/dist/commands/deploy.js.map +1 -0
  60. package/dist/commands/dev.d.ts +14 -0
  61. package/dist/commands/dev.d.ts.map +1 -0
  62. package/dist/commands/dev.js +806 -0
  63. package/dist/commands/dev.js.map +1 -0
  64. package/dist/commands/diff.d.ts +3 -0
  65. package/dist/commands/diff.d.ts.map +1 -0
  66. package/dist/commands/diff.js +54 -0
  67. package/dist/commands/diff.js.map +1 -0
  68. package/dist/commands/engine.d.ts +7 -0
  69. package/dist/commands/engine.d.ts.map +1 -0
  70. package/dist/commands/engine.js +27 -0
  71. package/dist/commands/engine.js.map +1 -0
  72. package/dist/commands/functions.d.ts +3 -0
  73. package/dist/commands/functions.d.ts.map +1 -0
  74. package/dist/commands/functions.js +749 -0
  75. package/dist/commands/functions.js.map +1 -0
  76. package/dist/commands/generate.d.ts +3 -0
  77. package/dist/commands/generate.d.ts.map +1 -0
  78. package/dist/commands/generate.js +38 -0
  79. package/dist/commands/generate.js.map +1 -0
  80. package/dist/commands/init.d.ts +7 -0
  81. package/dist/commands/init.d.ts.map +1 -0
  82. package/dist/commands/init.js +228 -0
  83. package/dist/commands/init.js.map +1 -0
  84. package/dist/commands/keys.d.ts +4 -0
  85. package/dist/commands/keys.d.ts.map +1 -0
  86. package/dist/commands/keys.js +57 -0
  87. package/dist/commands/keys.js.map +1 -0
  88. package/dist/commands/logs.d.ts +6 -0
  89. package/dist/commands/logs.d.ts.map +1 -0
  90. package/dist/commands/logs.js +52 -0
  91. package/dist/commands/logs.js.map +1 -0
  92. package/dist/commands/migrate-from-v1.d.ts +5 -0
  93. package/dist/commands/migrate-from-v1.d.ts.map +1 -0
  94. package/dist/commands/migrate-from-v1.js +125 -0
  95. package/dist/commands/migrate-from-v1.js.map +1 -0
  96. package/dist/commands/migrate.d.ts +3 -0
  97. package/dist/commands/migrate.d.ts.map +1 -0
  98. package/dist/commands/migrate.js +75 -0
  99. package/dist/commands/migrate.js.map +1 -0
  100. package/dist/commands/pg.d.ts +8 -0
  101. package/dist/commands/pg.d.ts.map +1 -0
  102. package/dist/commands/pg.js +102 -0
  103. package/dist/commands/pg.js.map +1 -0
  104. package/dist/commands/plugins.d.ts +3 -0
  105. package/dist/commands/plugins.d.ts.map +1 -0
  106. package/dist/commands/plugins.js +431 -0
  107. package/dist/commands/plugins.js.map +1 -0
  108. package/dist/commands/pull.d.ts +3 -0
  109. package/dist/commands/pull.d.ts.map +1 -0
  110. package/dist/commands/pull.js +12 -0
  111. package/dist/commands/pull.js.map +1 -0
  112. package/dist/commands/push.d.ts +3 -0
  113. package/dist/commands/push.d.ts.map +1 -0
  114. package/dist/commands/push.js +179 -0
  115. package/dist/commands/push.js.map +1 -0
  116. package/dist/commands/seed.d.ts +5 -0
  117. package/dist/commands/seed.d.ts.map +1 -0
  118. package/dist/commands/seed.js +55 -0
  119. package/dist/commands/seed.js.map +1 -0
  120. package/dist/commands/self-host.d.ts +9 -0
  121. package/dist/commands/self-host.d.ts.map +1 -0
  122. package/dist/commands/self-host.js +310 -0
  123. package/dist/commands/self-host.js.map +1 -0
  124. package/dist/commands/self-update.d.ts +9 -0
  125. package/dist/commands/self-update.d.ts.map +1 -0
  126. package/dist/commands/self-update.js +33 -0
  127. package/dist/commands/self-update.js.map +1 -0
  128. package/dist/commands/status.d.ts +6 -0
  129. package/dist/commands/status.d.ts.map +1 -0
  130. package/dist/commands/status.js +70 -0
  131. package/dist/commands/status.js.map +1 -0
  132. package/dist/commands/types.d.ts +3 -0
  133. package/dist/commands/types.d.ts.map +1 -0
  134. package/dist/commands/types.js +62 -0
  135. package/dist/commands/types.js.map +1 -0
  136. package/dist/commands/update.d.ts +7 -0
  137. package/dist/commands/update.d.ts.map +1 -0
  138. package/dist/commands/update.js +118 -0
  139. package/dist/commands/update.js.map +1 -0
  140. package/dist/components.d.ts +5 -0
  141. package/dist/components.d.ts.map +1 -0
  142. package/dist/components.js +3 -0
  143. package/dist/components.js.map +1 -0
  144. package/dist/config.d.ts +65 -0
  145. package/dist/config.d.ts.map +1 -0
  146. package/dist/config.js +134 -0
  147. package/dist/config.js.map +1 -0
  148. package/dist/dev-compose.d.ts +19 -0
  149. package/dist/dev-compose.d.ts.map +1 -0
  150. package/dist/dev-compose.js +468 -0
  151. package/dist/dev-compose.js.map +1 -0
  152. package/dist/dev-log-bus.d.ts +30 -0
  153. package/dist/dev-log-bus.d.ts.map +1 -0
  154. package/dist/dev-log-bus.js +87 -0
  155. package/dist/dev-log-bus.js.map +1 -0
  156. package/dist/dev-log-filter.d.ts +10 -0
  157. package/dist/dev-log-filter.d.ts.map +1 -0
  158. package/dist/dev-log-filter.js +36 -0
  159. package/dist/dev-log-filter.js.map +1 -0
  160. package/dist/dev-logo.d.ts +12 -0
  161. package/dist/dev-logo.d.ts.map +1 -0
  162. package/dist/dev-logo.js +57 -0
  163. package/dist/dev-logo.js.map +1 -0
  164. package/dist/dev-session.d.ts +26 -0
  165. package/dist/dev-session.d.ts.map +1 -0
  166. package/dist/dev-session.js +106 -0
  167. package/dist/dev-session.js.map +1 -0
  168. package/dist/dev-shutdown.d.ts +9 -0
  169. package/dist/dev-shutdown.d.ts.map +1 -0
  170. package/dist/dev-shutdown.js +50 -0
  171. package/dist/dev-shutdown.js.map +1 -0
  172. package/dist/dev-task-colors.d.ts +14 -0
  173. package/dist/dev-task-colors.d.ts.map +1 -0
  174. package/dist/dev-task-colors.js +44 -0
  175. package/dist/dev-task-colors.js.map +1 -0
  176. package/dist/dev-tui.d.ts +24 -0
  177. package/dist/dev-tui.d.ts.map +1 -0
  178. package/dist/dev-tui.js +188 -0
  179. package/dist/dev-tui.js.map +1 -0
  180. package/dist/diff-output.d.ts +4 -0
  181. package/dist/diff-output.d.ts.map +1 -0
  182. package/dist/diff-output.js +12 -0
  183. package/dist/diff-output.js.map +1 -0
  184. package/dist/docker-postgres.d.ts +57 -0
  185. package/dist/docker-postgres.d.ts.map +1 -0
  186. package/dist/docker-postgres.js +208 -0
  187. package/dist/docker-postgres.js.map +1 -0
  188. package/dist/engine-client.d.ts +69 -0
  189. package/dist/engine-client.d.ts.map +1 -0
  190. package/dist/engine-client.js +157 -0
  191. package/dist/engine-client.js.map +1 -0
  192. package/dist/engine-push-output.d.ts +16 -0
  193. package/dist/engine-push-output.d.ts.map +1 -0
  194. package/dist/engine-push-output.js +61 -0
  195. package/dist/engine-push-output.js.map +1 -0
  196. package/dist/ensure-binary.d.ts +7 -0
  197. package/dist/ensure-binary.d.ts.map +1 -0
  198. package/dist/ensure-binary.js +17 -0
  199. package/dist/ensure-binary.js.map +1 -0
  200. package/dist/functions-router-gen.d.ts +14 -0
  201. package/dist/functions-router-gen.d.ts.map +1 -0
  202. package/dist/functions-router-gen.js +199 -0
  203. package/dist/functions-router-gen.js.map +1 -0
  204. package/dist/index.d.ts +11 -0
  205. package/dist/index.d.ts.map +1 -0
  206. package/dist/index.js +9 -0
  207. package/dist/index.js.map +1 -0
  208. package/dist/jwt.d.ts +3 -0
  209. package/dist/jwt.d.ts.map +1 -0
  210. package/dist/jwt.js +13 -0
  211. package/dist/jwt.js.map +1 -0
  212. package/dist/kong-config.d.ts +25 -0
  213. package/dist/kong-config.d.ts.map +1 -0
  214. package/dist/kong-config.js +71 -0
  215. package/dist/kong-config.js.map +1 -0
  216. package/dist/local-gateway.d.ts +7 -0
  217. package/dist/local-gateway.d.ts.map +1 -0
  218. package/dist/local-gateway.js +9 -0
  219. package/dist/local-gateway.js.map +1 -0
  220. package/dist/local-storage.d.ts +8 -0
  221. package/dist/local-storage.d.ts.map +1 -0
  222. package/dist/local-storage.js +14 -0
  223. package/dist/local-storage.js.map +1 -0
  224. package/dist/pgbouncer-userlist.d.ts +5 -0
  225. package/dist/pgbouncer-userlist.d.ts.map +1 -0
  226. package/dist/pgbouncer-userlist.js +14 -0
  227. package/dist/pgbouncer-userlist.js.map +1 -0
  228. package/dist/postgres-ctl.d.ts +44 -0
  229. package/dist/postgres-ctl.d.ts.map +1 -0
  230. package/dist/postgres-ctl.js +137 -0
  231. package/dist/postgres-ctl.js.map +1 -0
  232. package/dist/process-manager.d.ts +49 -0
  233. package/dist/process-manager.d.ts.map +1 -0
  234. package/dist/process-manager.js +177 -0
  235. package/dist/process-manager.js.map +1 -0
  236. package/dist/project-config.d.ts +238 -0
  237. package/dist/project-config.d.ts.map +1 -0
  238. package/dist/project-config.js +159 -0
  239. package/dist/project-config.js.map +1 -0
  240. package/dist/pull-utils.d.ts +31 -0
  241. package/dist/pull-utils.d.ts.map +1 -0
  242. package/dist/pull-utils.js +77 -0
  243. package/dist/pull-utils.js.map +1 -0
  244. package/dist/release-pins.d.ts +7 -0
  245. package/dist/release-pins.d.ts.map +1 -0
  246. package/dist/release-pins.js +27 -0
  247. package/dist/release-pins.js.map +1 -0
  248. package/dist/release-public-key.d.ts +8 -0
  249. package/dist/release-public-key.d.ts.map +1 -0
  250. package/dist/release-public-key.js +13 -0
  251. package/dist/release-public-key.js.map +1 -0
  252. package/dist/restore-system-relation-targets.d.ts +3 -0
  253. package/dist/restore-system-relation-targets.d.ts.map +1 -0
  254. package/dist/restore-system-relation-targets.js +45 -0
  255. package/dist/restore-system-relation-targets.js.map +1 -0
  256. package/dist/runtime-routes.d.ts +34 -0
  257. package/dist/runtime-routes.d.ts.map +1 -0
  258. package/dist/runtime-routes.js +252 -0
  259. package/dist/runtime-routes.js.map +1 -0
  260. package/dist/schema-ast-v2.d.ts +127 -0
  261. package/dist/schema-ast-v2.d.ts.map +1 -0
  262. package/dist/schema-ast-v2.js +226 -0
  263. package/dist/schema-ast-v2.js.map +1 -0
  264. package/dist/scripts/postinstall.d.ts +11 -0
  265. package/dist/scripts/postinstall.d.ts.map +1 -0
  266. package/dist/scripts/postinstall.js +47 -0
  267. package/dist/scripts/postinstall.js.map +1 -0
  268. package/dist/seed.d.ts +8 -0
  269. package/dist/seed.d.ts.map +1 -0
  270. package/dist/seed.js +32 -0
  271. package/dist/seed.js.map +1 -0
  272. package/dist/self-host-compose.d.ts +43 -0
  273. package/dist/self-host-compose.d.ts.map +1 -0
  274. package/dist/self-host-compose.js +400 -0
  275. package/dist/self-host-compose.js.map +1 -0
  276. package/dist/storage-provision.d.ts +24 -0
  277. package/dist/storage-provision.d.ts.map +1 -0
  278. package/dist/storage-provision.js +44 -0
  279. package/dist/storage-provision.js.map +1 -0
  280. package/dist/studio-admin-roles.d.ts +7 -0
  281. package/dist/studio-admin-roles.d.ts.map +1 -0
  282. package/dist/studio-admin-roles.js +14 -0
  283. package/dist/studio-admin-roles.js.map +1 -0
  284. package/dist/studio-dev-server.d.ts +22 -0
  285. package/dist/studio-dev-server.d.ts.map +1 -0
  286. package/dist/studio-dev-server.js +28 -0
  287. package/dist/studio-dev-server.js.map +1 -0
  288. package/dist/supatype-eval-1781522769253.d.mts +2 -0
  289. package/dist/supatype-eval-1781522769253.d.mts.map +1 -0
  290. package/dist/supatype-eval-1781522769253.mjs +3 -0
  291. package/dist/supatype-eval-1781522769253.mjs.map +1 -0
  292. package/dist/systemd.d.ts +26 -0
  293. package/dist/systemd.d.ts.map +1 -0
  294. package/dist/systemd.js +102 -0
  295. package/dist/systemd.js.map +1 -0
  296. package/dist/tsx-runner.d.ts +18 -0
  297. package/dist/tsx-runner.d.ts.map +1 -0
  298. package/dist/tsx-runner.js +69 -0
  299. package/dist/tsx-runner.js.map +1 -0
  300. package/dist/type-extractor.d.ts +4 -0
  301. package/dist/type-extractor.d.ts.map +1 -0
  302. package/dist/type-extractor.js +1213 -0
  303. package/dist/type-extractor.js.map +1 -0
  304. package/dist/type-resolver.d.ts +33 -0
  305. package/dist/type-resolver.d.ts.map +1 -0
  306. package/dist/type-resolver.js +338 -0
  307. package/dist/type-resolver.js.map +1 -0
  308. package/package.json +41 -0
  309. package/releases/deno/VERSION +1 -0
  310. package/scripts/mirror-deno-release.sh +76 -0
  311. package/src/TYPE-RESOLUTION.md +294 -0
  312. package/src/app/framework.ts +249 -0
  313. package/src/app/proxy-dev-app.ts +68 -0
  314. package/src/app-config.ts +128 -0
  315. package/src/augmentation-generator.ts +126 -0
  316. package/src/binary-cache.ts +845 -0
  317. package/src/cli.ts +63 -0
  318. package/src/commands/admin.ts +372 -0
  319. package/src/commands/app.ts +97 -0
  320. package/src/commands/cache.ts +117 -0
  321. package/src/commands/cloud.ts +325 -0
  322. package/src/commands/db.ts +136 -0
  323. package/src/commands/deploy-types.ts +49 -0
  324. package/src/commands/deploy.ts +400 -0
  325. package/src/commands/dev.ts +1009 -0
  326. package/src/commands/diff.ts +63 -0
  327. package/src/commands/engine.ts +30 -0
  328. package/src/commands/functions.ts +901 -0
  329. package/src/commands/generate.ts +44 -0
  330. package/src/commands/init.ts +253 -0
  331. package/src/commands/keys.ts +66 -0
  332. package/src/commands/logs.ts +58 -0
  333. package/src/commands/migrate-from-v1.ts +131 -0
  334. package/src/commands/migrate.ts +87 -0
  335. package/src/commands/pg.ts +133 -0
  336. package/src/commands/plugins.ts +508 -0
  337. package/src/commands/pull.ts +17 -0
  338. package/src/commands/push.ts +226 -0
  339. package/src/commands/seed.ts +68 -0
  340. package/src/commands/self-host.ts +364 -0
  341. package/src/commands/self-update.ts +45 -0
  342. package/src/commands/status.ts +84 -0
  343. package/src/commands/types.ts +76 -0
  344. package/src/commands/update.ts +136 -0
  345. package/src/components.ts +6 -0
  346. package/src/config.ts +223 -0
  347. package/src/dev-compose.ts +583 -0
  348. package/src/dev-log-bus.ts +101 -0
  349. package/src/dev-log-filter.ts +32 -0
  350. package/src/dev-logo.ts +62 -0
  351. package/src/dev-session.ts +130 -0
  352. package/src/dev-shutdown.ts +54 -0
  353. package/src/dev-task-colors.ts +47 -0
  354. package/src/dev-tui.ts +232 -0
  355. package/src/diff-output.ts +12 -0
  356. package/src/docker-postgres.ts +295 -0
  357. package/src/engine-client.ts +236 -0
  358. package/src/engine-push-output.ts +71 -0
  359. package/src/ensure-binary.ts +28 -0
  360. package/src/functions-router-gen.ts +224 -0
  361. package/src/index.ts +11 -0
  362. package/src/jwt.ts +14 -0
  363. package/src/kong-config.ts +93 -0
  364. package/src/local-gateway.ts +9 -0
  365. package/src/local-storage.ts +14 -0
  366. package/src/pgbouncer-userlist.ts +15 -0
  367. package/src/postgres-ctl.ts +171 -0
  368. package/src/process-manager.ts +220 -0
  369. package/src/project-config.ts +388 -0
  370. package/src/pull-utils.ts +81 -0
  371. package/src/release-pins.ts +31 -0
  372. package/src/release-public-key.ts +12 -0
  373. package/src/restore-system-relation-targets.ts +45 -0
  374. package/src/runtime-routes.ts +291 -0
  375. package/src/schema-ast-v2.ts +324 -0
  376. package/src/scripts/postinstall.ts +51 -0
  377. package/src/seed.ts +43 -0
  378. package/src/self-host-compose.ts +452 -0
  379. package/src/storage-provision.ts +58 -0
  380. package/src/studio-admin-roles.ts +16 -0
  381. package/src/studio-dev-server.ts +53 -0
  382. package/src/supatype-eval-1781522769253.mts +1 -0
  383. package/src/systemd.ts +137 -0
  384. package/src/tsx-runner.ts +89 -0
  385. package/src/type-extractor.ts +1479 -0
  386. package/src/type-resolver.ts +457 -0
  387. package/tests/app-command.test.ts +54 -0
  388. package/tests/augmentation-generator.test.ts +59 -0
  389. package/tests/binary-cache-cloud-overrides.test.ts +123 -0
  390. package/tests/cached-artifact-format.test.ts +84 -0
  391. package/tests/cli-help.test.ts +133 -0
  392. package/tests/config.test.ts +252 -0
  393. package/tests/dev-ui.test.ts +139 -0
  394. package/tests/docker-postgres.test.ts +39 -0
  395. package/tests/engine-distribution.test.ts +418 -0
  396. package/tests/engine-push-output.test.ts +67 -0
  397. package/tests/ensure-binary.test.ts +59 -0
  398. package/tests/init.test.ts +127 -0
  399. package/tests/keys.test.ts +160 -0
  400. package/tests/migrate-from-v1.test.ts +29 -0
  401. package/tests/normalize-admin-config.test.ts +48 -0
  402. package/tests/pg-spawn-env.test.ts +18 -0
  403. package/tests/postgres-archive-tag.test.ts +9 -0
  404. package/tests/proxy-dev-app.test.ts +33 -0
  405. package/tests/pull-utils.test.ts +150 -0
  406. package/tests/release-pins.test.ts +28 -0
  407. package/tests/runtime-contract.test.ts +370 -0
  408. package/tests/seed-discover.test.ts +31 -0
  409. package/tests/studio-admin-roles.test.ts +27 -0
  410. package/tests/tsconfig.json +9 -0
  411. package/tests/tsx-runner.test.ts +66 -0
  412. package/tests/type-extractor.test.ts +985 -0
  413. package/tests/type-resolver.test.ts +59 -0
  414. package/tsconfig.json +10 -0
  415. package/tsconfig.tsbuildinfo +1 -0
  416. package/vitest.config.ts +12 -0
@@ -0,0 +1,62 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { resolve, relative } from "node:path";
3
+ import ts from "typescript";
4
+ import { loadConfig } from "../config.js";
5
+ export function registerTypes(program) {
6
+ const types = program.command("types").description("Type generation and validation utilities");
7
+ types
8
+ .command("check")
9
+ .description("Validate generated client augmentation wiring")
10
+ .action(() => {
11
+ const cwd = process.cwd();
12
+ const config = loadConfig(cwd);
13
+ const augmentationPath = resolve(cwd, config.output?.client ?? "supatype/generated/index.d.ts");
14
+ const errors = [];
15
+ if (!existsSync(augmentationPath)) {
16
+ errors.push(`Missing generated augmentation file: ${relative(cwd, augmentationPath)}.\nRun: supatype generate`);
17
+ }
18
+ const tsconfigPath = resolve(cwd, "tsconfig.json");
19
+ if (!existsSync(tsconfigPath)) {
20
+ errors.push("Missing tsconfig.json in project root.");
21
+ }
22
+ else {
23
+ const tsconfigRaw = readFileSync(tsconfigPath, "utf8");
24
+ const parsed = ts.parseConfigFileTextToJson(tsconfigPath, tsconfigRaw);
25
+ const cfg = (parsed.config ?? {});
26
+ const include = Array.isArray(cfg.include) ? cfg.include.map(String) : [];
27
+ const files = Array.isArray(cfg.files) ? cfg.files.map(String) : [];
28
+ const relAug = toPosix(relative(cwd, augmentationPath));
29
+ const coveredByFiles = files.includes(relAug);
30
+ const coveredByInclude = include.some((entry) => {
31
+ if (entry.includes("**"))
32
+ return relAug.startsWith(entry.split("**")[0] ?? "");
33
+ if (entry.endsWith("*.ts") || entry.endsWith("*.d.ts")) {
34
+ return relAug.startsWith(entry.replace(/\*\.d?ts$/, ""));
35
+ }
36
+ return relAug === entry || relAug.startsWith(entry.replace(/\/$/, "") + "/");
37
+ });
38
+ if (!coveredByFiles && !coveredByInclude) {
39
+ errors.push(`tsconfig.json does not include ${relAug}. Add it to "include" or "files" so module augmentation is visible to TypeScript.`);
40
+ }
41
+ }
42
+ const packageJsonPath = resolve(cwd, "package.json");
43
+ if (existsSync(packageJsonPath)) {
44
+ const pkg = JSON.parse(readFileSync(packageJsonPath, "utf8"));
45
+ const hasClient = (pkg.dependencies && "@supatype/client" in pkg.dependencies) ||
46
+ (pkg.devDependencies && "@supatype/client" in pkg.devDependencies);
47
+ if (!hasClient) {
48
+ errors.push('package.json is missing "@supatype/client" dependency.');
49
+ }
50
+ }
51
+ if (errors.length > 0) {
52
+ for (const err of errors)
53
+ console.error(`- ${err}`);
54
+ process.exit(1);
55
+ }
56
+ console.log("types check passed");
57
+ });
58
+ }
59
+ function toPosix(path) {
60
+ return path.replace(/\\/g, "/");
61
+ }
62
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * supatype update — bump component versions in supatype.config.ts
3
+ * and download the new binaries.
4
+ */
5
+ import type { Command } from "commander";
6
+ export declare function registerUpdate(program: Command): void;
7
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAmBxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+GrD"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * supatype update — bump component versions in supatype.config.ts
3
+ * and download the new binaries.
4
+ */
5
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
6
+ import { basename, resolve } from "node:path";
7
+ import { loadConfig } from "../config.js";
8
+ import { resolveRuntimeProvider } from "../project-config.js";
9
+ import { runDockerCompose, writeSelfHostCompose } from "../self-host-compose.js";
10
+ import { syncComposeImagePins } from "../dev-compose.js";
11
+ import { download, currentPlatform, fetchAllLatestVersions, pinnedVersion } from "../binary-cache.js";
12
+ const CONFIG_CANDIDATES = ["supatype.config.ts", "supatype.config.js", "supatype.config.mjs"];
13
+ function resolveConfigFile(cwd) {
14
+ for (const name of CONFIG_CANDIDATES) {
15
+ const p = resolve(cwd, name);
16
+ if (existsSync(p))
17
+ return p;
18
+ }
19
+ return null;
20
+ }
21
+ export function registerUpdate(program) {
22
+ program
23
+ .command("update")
24
+ .description("Download the latest component binaries and update versions in supatype.config.ts")
25
+ .option("--check", "Print available updates without downloading", false)
26
+ .action(async (opts) => {
27
+ const cwd = process.cwd();
28
+ const config = loadConfig(cwd);
29
+ const provider = resolveRuntimeProvider(config);
30
+ if (provider === "docker") {
31
+ if (opts.check) {
32
+ console.log("Docker provider: run without --check to pull compose images (supatype self-host compose pull).");
33
+ return;
34
+ }
35
+ const paths = writeSelfHostCompose(cwd, config, { devLocal: true });
36
+ syncComposeImagePins(cwd, config);
37
+ console.log("Pulling self-host compose images...");
38
+ const status = runDockerCompose(paths.composePath, ["pull"], cwd);
39
+ if (status !== 0)
40
+ process.exit(status);
41
+ console.log("Compose images updated.");
42
+ return;
43
+ }
44
+ const platform = currentPlatform();
45
+ const components = ["engine", "server", "postgres", "deno"];
46
+ const updates = [];
47
+ console.log("Fetching latest component versions from CDN...");
48
+ const latestVersions = await fetchAllLatestVersions();
49
+ for (const component of components) {
50
+ const latest = latestVersions[component];
51
+ const current = pinnedVersion(component, config);
52
+ if (!current) {
53
+ if (opts.check) {
54
+ console.log(` ${component} (latest) → ${latest} on CDN`);
55
+ }
56
+ else {
57
+ console.log(`\nDownloading latest ${component} v${latest}...`);
58
+ try {
59
+ await download(component, latest, platform);
60
+ console.log(` ${component} v${latest} downloaded.`);
61
+ }
62
+ catch (err) {
63
+ console.error(` Failed: ${err.message}`);
64
+ }
65
+ }
66
+ continue;
67
+ }
68
+ if (current === "local")
69
+ continue;
70
+ if (current !== latest) {
71
+ updates.push({ component, from: current, to: latest });
72
+ }
73
+ }
74
+ if (updates.length === 0) {
75
+ console.log(opts.check ? "All pinned components match CDN latest." : "All components are up to date.");
76
+ return;
77
+ }
78
+ console.log("Available updates:");
79
+ for (const { component, from, to } of updates) {
80
+ console.log(` ${component} ${from} → ${to}`);
81
+ }
82
+ if (opts.check)
83
+ return;
84
+ // Download updated binaries.
85
+ for (const { component, to } of updates) {
86
+ console.log(`\nDownloading ${component} v${to}...`);
87
+ try {
88
+ await download(component, to, platform);
89
+ }
90
+ catch (err) {
91
+ console.error(` Failed: ${err.message}`);
92
+ continue;
93
+ }
94
+ console.log(` ${component} v${to} downloaded.`);
95
+ }
96
+ const configPath = resolveConfigFile(cwd);
97
+ if (configPath === null) {
98
+ console.error("No supatype.config.ts (or .js/.mjs) found to patch versions.");
99
+ process.exit(1);
100
+ }
101
+ let text = readFileSync(configPath, "utf8");
102
+ for (const { component, to } of updates) {
103
+ const key = component;
104
+ if (text.includes(`${key}:`)) {
105
+ text = text.replace(new RegExp(`(${key}\\s*:\\s*['"])[^'"]*(['"])`), `$1${to}$2`);
106
+ }
107
+ else if (text.includes("versions:")) {
108
+ text = text.replace(/(versions:\s*\{[^}]*)(\})/, `$1,\n ${key}: "${to}"$2`);
109
+ }
110
+ else {
111
+ text = text.replace(/(\n)(\s*)(email:|schema:|storage:)/, `$1$2versions: {\n$2 ${key}: "${to}",\n$2},\n$2$3`);
112
+ }
113
+ }
114
+ writeFileSync(configPath, text, "utf8");
115
+ console.log(`\n${basename(configPath)} updated.`);
116
+ });
117
+ }
118
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,sBAAsB,EAAE,aAAa,EAAkB,MAAM,oBAAoB,CAAA;AAErH,MAAM,iBAAiB,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAA;AAE7F,SAAS,iBAAiB,CAAC,GAAW;IACpC,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC5B,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,kFAAkF,CACnF;SACA,MAAM,CAAC,SAAS,EAAE,6CAA6C,EAAE,KAAK,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACzB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAE/C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,gGAAgG,CAAC,CAAA;gBAC7G,OAAM;YACR,CAAC;YACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;YACnE,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACjC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;YAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;YACjE,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;YACtC,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAA;QAElC,MAAM,UAAU,GAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;QACxE,MAAM,OAAO,GAA8D,EAAE,CAAA;QAE7E,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;QAC7D,MAAM,cAAc,GAAG,MAAM,sBAAsB,EAAE,CAAA;QAErD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;YACxC,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;YAChD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,gBAAgB,MAAM,SAAS,CAAC,CAAA;gBAC5D,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,KAAK,MAAM,KAAK,CAAC,CAAA;oBAC9D,IAAI,CAAC;wBACH,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;wBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,KAAK,MAAM,cAAc,CAAC,CAAA;oBACtD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,aAAc,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;oBACtD,CAAC;gBACH,CAAC;gBACD,SAAQ;YACV,CAAC;YACD,IAAI,OAAO,KAAK,OAAO;gBAAE,SAAQ;YACjC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAA;YACtG,OAAM;QACR,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACjC,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,KAAK,IAAI,MAAM,EAAE,EAAE,CAAC,CAAA;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,KAAK;YAAE,OAAM;QAEtB,6BAA6B;QAC7B,KAAK,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,KAAK,EAAE,KAAK,CAAC,CAAA;YACnD,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,aAAc,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;gBACpD,SAAQ;YACV,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,KAAK,EAAE,cAAc,CAAC,CAAA;QAClD,CAAC;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAA;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAC3C,KAAK,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,SAAS,CAAA;YACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,IAAI,MAAM,CAAC,IAAI,GAAG,4BAA4B,CAAC,EAC/C,KAAK,EAAE,IAAI,CACZ,CAAA;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,2BAA2B,EAC3B,YAAY,GAAG,MAAM,EAAE,KAAK,CAC7B,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,oCAAoC,EACpC,wBAAwB,GAAG,MAAM,EAAE,gBAAgB,CACpD,CAAA;YACH,CAAC;QACH,CAAC;QAED,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** CDN-cached binaries resolved by the CLI (`engine`, `server`, `postgres`, `deno`). */
2
+ export declare const BINARY_COMPONENTS: readonly ["engine", "server", "postgres", "deno"];
3
+ export type Component = (typeof BINARY_COMPONENTS)[number];
4
+ export type ComponentVersions = Record<Component, string>;
5
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,mDAAoD,CAAA;AAElF,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** CDN-cached binaries resolved by the CLI (`engine`, `server`, `postgres`, `deno`). */
2
+ export const BINARY_COMPONENTS = ["engine", "server", "postgres", "deno"];
3
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAU,CAAA"}
@@ -0,0 +1,65 @@
1
+ import { type SupatypeProjectConfig } from "./project-config.js";
2
+ export type { SupatypeProjectConfig } from "./project-config.js";
3
+ /** Canonical project configuration shape (alias for clarity at call sites). */
4
+ export type SupatypeConfig = SupatypeProjectConfig;
5
+ export interface ServiceVersionPin {
6
+ /** Docker image tag to pin this service to (e.g. "v1.2.3"). When set, `self-host upgrade` skips this service. */
7
+ version: string;
8
+ }
9
+ export interface SelfHostConfig {
10
+ /** Production domain (e.g. "api.example.com"). Used by Caddy for HTTPS. */
11
+ domain: string;
12
+ /** App service to include in the production stack. */
13
+ app?: {
14
+ /** Path to the app's Dockerfile, relative to the project root. */
15
+ dockerfile: string;
16
+ /** Port the app listens on. */
17
+ port: number;
18
+ };
19
+ ssl?: {
20
+ /** SSL provider. "caddy" = automatic Let's Encrypt. "none" = bring your own. */
21
+ provider: "caddy" | "none";
22
+ /** Email for Let's Encrypt registration (required when provider = "caddy"). */
23
+ email?: string;
24
+ };
25
+ /**
26
+ * Pin specific services to fixed Docker image versions.
27
+ * When a service is pinned, `self-host upgrade` will skip it.
28
+ * Omit a service or set to `undefined` to allow automatic upgrades.
29
+ */
30
+ services?: {
31
+ db?: ServiceVersionPin;
32
+ gotrue?: ServiceVersionPin;
33
+ postgrest?: ServiceVersionPin;
34
+ kong?: ServiceVersionPin;
35
+ caddy?: ServiceVersionPin;
36
+ pgbouncer?: ServiceVersionPin;
37
+ };
38
+ }
39
+ export type AppFramework = "nextjs" | "astro" | "vite" | "remix-spa" | "sveltekit" | "nuxt" | "static";
40
+ export interface AppConfig {
41
+ /** Framework name. Auto-detected from package.json if not specified. */
42
+ framework?: AppFramework;
43
+ /** Path to the app directory (default: "./" or "./apps/web" for monorepos). */
44
+ directory?: string;
45
+ /** Build command (inferred from framework if not specified). */
46
+ buildCommand?: string;
47
+ /** Output directory (inferred from framework if not specified). */
48
+ outputDirectory?: string;
49
+ /** Enable SPA fallback routing (default: true for Vite/CRA, false for SSG frameworks). */
50
+ spa?: boolean;
51
+ /** Environment variables to inject during build. */
52
+ env?: Record<string, string>;
53
+ /** Custom response headers for the static site. */
54
+ headers?: Record<string, string>;
55
+ }
56
+ /** Identity helper — provides type inference for config files. */
57
+ export declare function defineConfig(config: SupatypeProjectConfig): SupatypeProjectConfig;
58
+ /**
59
+ * Load project config from `supatype.config.ts` (or .js/.mjs), merged with
60
+ * optional `supatype.local.config.*` (gitignored overrides).
61
+ */
62
+ export declare function loadConfig(cwd?: string): SupatypeProjectConfig;
63
+ /** Load schema AST by evaluating the user's schema entry point via tsx. */
64
+ export declare function loadSchemaAst(schemaPath: string, cwd?: string): unknown;
65
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAA;AAG5B,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAEhE,+EAA+E;AAC/E,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAA;AAElD,MAAM,WAAW,iBAAiB;IAChC,iHAAiH;IACjH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd,sDAAsD;IACtD,GAAG,CAAC,EAAE;QACJ,kEAAkE;QAClE,UAAU,EAAE,MAAM,CAAA;QAClB,+BAA+B;QAC/B,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,GAAG,CAAC,EAAE;QACJ,gFAAgF;QAChF,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;QAC1B,+EAA+E;QAC/E,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QACT,EAAE,CAAC,EAAE,iBAAiB,CAAA;QACtB,MAAM,CAAC,EAAE,iBAAiB,CAAA;QAC1B,SAAS,CAAC,EAAE,iBAAiB,CAAA;QAC7B,IAAI,CAAC,EAAE,iBAAiB,CAAA;QACxB,KAAK,CAAC,EAAE,iBAAiB,CAAA;QACzB,SAAS,CAAC,EAAE,iBAAiB,CAAA;KAC9B,CAAA;CACF;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAA;AAEtG,MAAM,WAAW,SAAS;IACxB,wEAAwE;IACxE,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,0FAA0F;IAC1F,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,CAEjF;AAiCD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,qBAAqB,CAyB7E;AAmED,2EAA2E;AAC3E,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAcT"}
package/dist/config.js ADDED
@@ -0,0 +1,134 @@
1
+ import { existsSync, readFileSync, writeFileSync, unlinkSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ import { evalTsSnippet } from "./tsx-runner.js";
6
+ import { mergeProjectConfig, validateProjectConfig, } from "./project-config.js";
7
+ import { extractSchemaAstFromTypes } from "./type-extractor.js";
8
+ /** Identity helper — provides type inference for config files. */
9
+ export function defineConfig(config) {
10
+ return config;
11
+ }
12
+ const LEGACY_TOML = "supatype.config.toml";
13
+ const MAIN_CONFIG_CANDIDATES = [
14
+ "supatype.config.ts",
15
+ "supatype.config.js",
16
+ "supatype.config.mjs",
17
+ ];
18
+ const LOCAL_CONFIG_CANDIDATES = [
19
+ "supatype.local.config.ts",
20
+ "supatype.local.config.js",
21
+ "supatype.local.config.mjs",
22
+ ];
23
+ /**
24
+ * Normalize a config object parsed from JSON (e.g. shorthand `schema: "./x"`).
25
+ */
26
+ function normalizeProjectJson(raw) {
27
+ if (typeof raw !== "object" || raw === null)
28
+ return raw;
29
+ const o = { ...raw };
30
+ const sch = o["schema"];
31
+ if (typeof sch === "string") {
32
+ o["schema"] = {
33
+ path: sch,
34
+ pg_schema: typeof o["pg_schema"] === "string" ? o["pg_schema"] : "public",
35
+ };
36
+ delete o["pg_schema"];
37
+ }
38
+ return o;
39
+ }
40
+ /**
41
+ * Load project config from `supatype.config.ts` (or .js/.mjs), merged with
42
+ * optional `supatype.local.config.*` (gitignored overrides).
43
+ */
44
+ export function loadConfig(cwd = process.cwd()) {
45
+ if (existsSync(resolve(cwd, LEGACY_TOML))) {
46
+ throw new Error(`Found ${LEGACY_TOML}, which is no longer supported.\n` +
47
+ "Move settings into supatype.config.ts (export default { project, database, server, app, versions, … }).\n" +
48
+ "Run `supatype init` in a new folder for a fresh template.");
49
+ }
50
+ const baseRaw = loadFirstTsConfig(cwd, MAIN_CONFIG_CANDIDATES);
51
+ if (baseRaw === null) {
52
+ throw new Error("No supatype.config.ts (or .js/.mjs) found in the current directory.\n" +
53
+ "Run: supatype init");
54
+ }
55
+ const baseNorm = normalizeProjectJson(baseRaw);
56
+ const base = validateProjectConfig(baseNorm, "supatype.config.ts");
57
+ const localRaw = loadFirstTsConfig(cwd, LOCAL_CONFIG_CANDIDATES);
58
+ if (localRaw === null)
59
+ return base;
60
+ const localNorm = normalizeProjectJson(localRaw);
61
+ return mergeProjectConfig(base, localNorm);
62
+ }
63
+ function loadFirstTsConfig(cwd, candidates) {
64
+ for (const candidate of candidates) {
65
+ const configPath = resolve(cwd, candidate);
66
+ if (!existsSync(configPath))
67
+ continue;
68
+ const urlPath = "file:///" + configPath.replace(/\\/g, "/");
69
+ const snippet = `
70
+ const mod = await import(${JSON.stringify(urlPath)})
71
+ const config = mod.default ?? mod
72
+ process.stdout.write(JSON.stringify(config))
73
+ `;
74
+ const result = evalTsSnippet(snippet, { cwd });
75
+ if (result.exitCode === 0) {
76
+ return JSON.parse(result.stdout);
77
+ }
78
+ const failure = result.stderr || result.stdout;
79
+ if (!failure.includes("ERR_PACKAGE_PATH_NOT_EXPORTED")) {
80
+ throw new Error(`Failed to load ${candidate}:\n${failure}`);
81
+ }
82
+ const fallback = loadTsConfigWithoutCliImport(configPath, cwd);
83
+ if (fallback !== null)
84
+ return fallback;
85
+ throw new Error(`Failed to load ${candidate}:\n${failure}`);
86
+ }
87
+ return null;
88
+ }
89
+ function loadTsConfigWithoutCliImport(configPath, cwd) {
90
+ const original = readFileSync(configPath, "utf8");
91
+ const patched = original
92
+ .replace(/^import\s+type\s+\{[^}]*\}\s+from\s+["']@supatype\/cli["'];?\s*$/gm, "")
93
+ .replace(/^import\s+\{[^}]*defineConfig[^}]*\}\s+from\s+["']@supatype\/cli["'];?\s*$/gm, "");
94
+ // If the file didn't import from @supatype/cli, this fallback won't help.
95
+ if (patched === original)
96
+ return null;
97
+ const tmpPath = join(tmpdir(), `supatype-config-fallback-${Date.now()}.mts`);
98
+ const wrapper = `const defineConfig = (config) => config\n${patched}`;
99
+ writeFileSync(tmpPath, wrapper, "utf8");
100
+ try {
101
+ const urlPath = "file:///" + tmpPath.replace(/\\/g, "/");
102
+ const snippet = `
103
+ const mod = await import(${JSON.stringify(urlPath)})
104
+ const config = mod.default ?? mod
105
+ process.stdout.write(JSON.stringify(config))
106
+ `;
107
+ const result = evalTsSnippet(snippet, { cwd });
108
+ if (result.exitCode !== 0)
109
+ return null;
110
+ return JSON.parse(result.stdout);
111
+ }
112
+ finally {
113
+ try {
114
+ unlinkSync(tmpPath);
115
+ }
116
+ catch {
117
+ // ignore cleanup errors
118
+ }
119
+ }
120
+ }
121
+ /** Load schema AST by evaluating the user's schema entry point via tsx. */
122
+ export function loadSchemaAst(schemaPath, cwd = process.cwd()) {
123
+ const extracted = extractSchemaAstFromTypes(schemaPath, cwd);
124
+ if (extracted !== null)
125
+ return extracted;
126
+ const absPath = resolve(cwd, schemaPath);
127
+ if (!existsSync(absPath)) {
128
+ throw new Error(`Schema file not found: ${absPath}`);
129
+ }
130
+ throw new Error("Runtime model() schemas are no longer supported.\n" +
131
+ `Could not extract type-based models from: ${absPath}\n` +
132
+ "Migrate this file to @supatype/types Model<> definitions (or run `supatype migrate-from-v1`).");
133
+ }
134
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * `supatype dev` when `provider: docker` — full self-host Compose stack (Kong gateway).
3
+ */
4
+ import { type SupatypeProjectConfig } from "./project-config.js";
5
+ /** Sync optional Docker image pins from config into `.env` (no JWT rotation). */
6
+ export declare function syncComposeImagePins(cwd: string, config: SupatypeProjectConfig): void;
7
+ export interface DevComposeOptions {
8
+ watch: boolean;
9
+ }
10
+ /** In-compose Postgres URL (SCRAM; not published to the host). */
11
+ export declare function composeDbUrl(): string;
12
+ /**
13
+ * `supatype push` when `provider: docker`. Uses in-compose schema-engine unless
14
+ * `overrides.engine` is set — then Postgres is published to the host and push runs
15
+ * through the local engine binary (AST v2, contributor builds).
16
+ */
17
+ export declare function pushSchemaDocker(cwd: string, config: SupatypeProjectConfig): Promise<void>;
18
+ export declare function runDevCompose(cwd: string, config: SupatypeProjectConfig, opts: DevComposeOptions): Promise<void>;
19
+ //# sourceMappingURL=dev-compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-compose.d.ts","sourceRoot":"","sources":["../src/dev-compose.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAA;AA8B5B,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAIrF;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAA;CACf;AAED,kEAAkE;AAClE,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAqVD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhG;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoHtH"}