@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 @@
1
+ {"version":3,"file":"binary-cache.js","sourceRoot":"","sources":["../src/binary-cache.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function run(): void;
2
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AA4BA,wBAAgB,GAAG,IAAI,IAAI,CAkC1B"}
package/dist/cli.js ADDED
@@ -0,0 +1,61 @@
1
+ import { Command } from "commander";
2
+ import { registerInit } from "./commands/init.js";
3
+ import { registerDev } from "./commands/dev.js";
4
+ import { registerCache } from "./commands/cache.js";
5
+ import { registerUpdate } from "./commands/update.js";
6
+ import { registerPg } from "./commands/pg.js";
7
+ import { registerPush } from "./commands/push.js";
8
+ import { registerDiff } from "./commands/diff.js";
9
+ import { registerPull } from "./commands/pull.js";
10
+ import { registerGenerate } from "./commands/generate.js";
11
+ import { registerMigrate } from "./commands/migrate.js";
12
+ import { registerSeed } from "./commands/seed.js";
13
+ import { registerKeys } from "./commands/keys.js";
14
+ import { registerApp } from "./commands/app.js";
15
+ import { registerSelfHost } from "./commands/self-host.js";
16
+ import { registerCloud } from "./commands/cloud.js";
17
+ import { registerEngine } from "./commands/engine.js";
18
+ import { registerDb } from "./commands/db.js";
19
+ import { registerDeploy } from "./commands/deploy.js";
20
+ import { registerStatus } from "./commands/status.js";
21
+ import { registerLogs } from "./commands/logs.js";
22
+ import { registerAdmin } from "./commands/admin.js";
23
+ import { registerFunctions } from "./commands/functions.js";
24
+ import { registerPlugins } from "./commands/plugins.js";
25
+ import { registerTypes } from "./commands/types.js";
26
+ import { registerMigrateFromV1 } from "./commands/migrate-from-v1.js";
27
+ import { registerSelfUpdate } from "./commands/self-update.js";
28
+ export function run() {
29
+ const program = new Command()
30
+ .name("supatype")
31
+ .description("Supatype — schema-first Postgres API")
32
+ .version("0.1.0");
33
+ registerInit(program);
34
+ registerDev(program);
35
+ registerCache(program);
36
+ registerSelfUpdate(program);
37
+ registerUpdate(program);
38
+ registerPg(program);
39
+ registerPush(program);
40
+ registerDiff(program);
41
+ registerPull(program);
42
+ registerGenerate(program);
43
+ registerMigrate(program);
44
+ registerSeed(program);
45
+ registerKeys(program);
46
+ registerApp(program);
47
+ registerSelfHost(program);
48
+ registerCloud(program);
49
+ registerEngine(program);
50
+ registerDb(program);
51
+ registerDeploy(program);
52
+ registerStatus(program);
53
+ registerLogs(program);
54
+ registerAdmin(program);
55
+ registerFunctions(program);
56
+ registerPlugins(program);
57
+ registerTypes(program);
58
+ registerMigrateFromV1(program);
59
+ program.parse();
60
+ }
61
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerAdmin(program: Command): void;
3
+ export declare function promptFirstAdminUser(connection: string): Promise<void>;
4
+ //# sourceMappingURL=admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsOpD;AAKD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAkFf"}
@@ -0,0 +1,271 @@
1
+ // ─── Admin panel CLI commands (Gap Appendices task 48) ──────────────────────
2
+ //
3
+ // `npx supatype admin create-user` — create an admin user in the project's
4
+ // {ref}_auth.users table. Used for initial setup and ongoing admin management.
5
+ import { createInterface } from "node:readline";
6
+ import { randomBytes, scrypt } from "node:crypto";
7
+ import { promisify } from "node:util";
8
+ import { loadConfig } from "../config.js";
9
+ import { connectionString } from "../project-config.js";
10
+ const scryptAsync = promisify(scrypt);
11
+ export function registerAdmin(program) {
12
+ const adminCmd = program
13
+ .command("admin")
14
+ .description("Manage admin panel users and configuration");
15
+ adminCmd
16
+ .command("create-user")
17
+ .description("Create an admin user for the admin panel")
18
+ .option("--email <email>", "Admin user email address")
19
+ .option("--password <password>", "Admin user password (prompted if not provided)")
20
+ .option("--role <role>", "Admin role to assign", "admin")
21
+ .option("--connection <url>", "Database connection URL (overrides config)")
22
+ .action(async (opts) => {
23
+ const cwd = process.cwd();
24
+ const config = loadConfig(cwd);
25
+ const connection = opts.connection ?? connectionString(config);
26
+ const email = opts.email ?? (await prompt("Admin email: "));
27
+ if (!email || !email.includes("@")) {
28
+ console.error("A valid email address is required.");
29
+ process.exit(1);
30
+ }
31
+ const password = opts.password ?? (await prompt("Admin password (min 8 chars): "));
32
+ if (!password || password.length < 8) {
33
+ console.error("Password must be at least 8 characters.");
34
+ process.exit(1);
35
+ }
36
+ const role = opts.role;
37
+ console.log(`\nCreating admin user: ${email} (role: ${role})...`);
38
+ // We use pg directly to insert into the auth.users table
39
+ const pg = await importPg();
40
+ const pool = new pg.Pool({ connectionString: connection, max: 2 });
41
+ try {
42
+ // Ensure the auth schema and users table exist
43
+ await pool.query(`
44
+ CREATE SCHEMA IF NOT EXISTS auth;
45
+
46
+ CREATE TABLE IF NOT EXISTS auth.users (
47
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
48
+ instance_id UUID,
49
+ aud TEXT DEFAULT 'authenticated',
50
+ role TEXT DEFAULT 'authenticated',
51
+ email TEXT UNIQUE,
52
+ encrypted_password TEXT,
53
+ email_confirmed_at TIMESTAMPTZ DEFAULT now(),
54
+ raw_app_meta_data JSONB DEFAULT '{}',
55
+ raw_user_meta_data JSONB DEFAULT '{}',
56
+ created_at TIMESTAMPTZ DEFAULT now(),
57
+ updated_at TIMESTAMPTZ DEFAULT now(),
58
+ confirmation_token TEXT DEFAULT '',
59
+ recovery_token TEXT DEFAULT '',
60
+ email_change_token_new TEXT DEFAULT '',
61
+ email_change TEXT DEFAULT ''
62
+ );
63
+ `);
64
+ // Check if user already exists
65
+ const existing = await pool.query(`SELECT id FROM auth.users WHERE email = $1`, [email.toLowerCase()]);
66
+ if (existing.rows.length > 0) {
67
+ console.error(`\nUser with email "${email}" already exists.`);
68
+ console.log(`To update their role, use: supatype admin set-role --email ${email} --role ${role}`);
69
+ process.exit(1);
70
+ }
71
+ // Hash the password (bcrypt-style for GoTrue compatibility)
72
+ const passwordHash = await hashPassword(password);
73
+ // Insert the admin user with the admin role in app_metadata
74
+ const appMetadata = JSON.stringify({ role, provider: "email", providers: ["email"] });
75
+ const userMetadata = JSON.stringify({});
76
+ const result = await pool.query(`INSERT INTO auth.users (
77
+ email, encrypted_password, role, aud,
78
+ raw_app_meta_data, raw_user_meta_data,
79
+ email_confirmed_at, created_at, updated_at
80
+ ) VALUES (
81
+ $1, $2, 'authenticated', 'authenticated',
82
+ $3::jsonb, $4::jsonb,
83
+ now(), now(), now()
84
+ ) RETURNING id, email`, [email.toLowerCase(), passwordHash, appMetadata, userMetadata]);
85
+ const user = result.rows[0];
86
+ console.log(`\nAdmin user created successfully.`);
87
+ console.log(` ID: ${user.id}`);
88
+ console.log(` Email: ${user.email}`);
89
+ console.log(` Role: ${role}`);
90
+ console.log(`\nThis user can now log in to the admin panel at /admin\n`);
91
+ }
92
+ catch (err) {
93
+ const message = err instanceof Error ? err.message : "Unknown error";
94
+ console.error(`\nFailed to create admin user: ${message}`);
95
+ process.exit(1);
96
+ }
97
+ finally {
98
+ await pool.end();
99
+ }
100
+ });
101
+ adminCmd
102
+ .command("set-role")
103
+ .description("Change an existing user's admin role")
104
+ .requiredOption("--email <email>", "User email address")
105
+ .requiredOption("--role <role>", "New role to assign")
106
+ .option("--connection <url>", "Database connection URL (overrides config)")
107
+ .action(async (opts) => {
108
+ const cwd = process.cwd();
109
+ const config = loadConfig(cwd);
110
+ const connection = opts.connection ?? connectionString(config);
111
+ const pg = await importPg();
112
+ const pool = new pg.Pool({ connectionString: connection, max: 2 });
113
+ try {
114
+ const result = await pool.query(`UPDATE auth.users
115
+ SET raw_app_meta_data = raw_app_meta_data || $1::jsonb,
116
+ updated_at = now()
117
+ WHERE email = $2
118
+ RETURNING id, email, raw_app_meta_data`, [JSON.stringify({ role: opts.role }), opts.email.toLowerCase()]);
119
+ if (result.rows.length === 0) {
120
+ console.error(`\nNo user found with email "${opts.email}".`);
121
+ process.exit(1);
122
+ }
123
+ const user = result.rows[0];
124
+ console.log(`\nRole updated successfully.`);
125
+ console.log(` ID: ${user.id}`);
126
+ console.log(` Email: ${user.email}`);
127
+ console.log(` Role: ${opts.role}\n`);
128
+ }
129
+ catch (err) {
130
+ const message = err instanceof Error ? err.message : "Unknown error";
131
+ console.error(`\nFailed to update role: ${message}`);
132
+ process.exit(1);
133
+ }
134
+ finally {
135
+ await pool.end();
136
+ }
137
+ });
138
+ adminCmd
139
+ .command("list-users")
140
+ .description("List users with admin roles")
141
+ .option("--connection <url>", "Database connection URL (overrides config)")
142
+ .action(async (opts) => {
143
+ const cwd = process.cwd();
144
+ const config = loadConfig(cwd);
145
+ const connection = opts.connection ?? connectionString(config);
146
+ const pg = await importPg();
147
+ const pool = new pg.Pool({ connectionString: connection, max: 2 });
148
+ try {
149
+ const result = await pool.query(`SELECT id, email, raw_app_meta_data->>'role' as role, created_at
150
+ FROM auth.users
151
+ WHERE raw_app_meta_data->>'role' IS NOT NULL
152
+ AND raw_app_meta_data->>'role' != 'authenticated'
153
+ ORDER BY created_at ASC`);
154
+ if (result.rows.length === 0) {
155
+ console.log("\nNo admin users found.");
156
+ console.log("Create one with: supatype admin create-user --email admin@example.com --role admin\n");
157
+ return;
158
+ }
159
+ console.log("\n ID Email Role Created");
160
+ console.log(" " + "-".repeat(100));
161
+ for (const row of result.rows) {
162
+ const r = row;
163
+ const date = new Date(r.created_at).toISOString().slice(0, 10);
164
+ console.log(` ${r.id} ${r.email.padEnd(30)} ${r.role.padEnd(12)} ${date}`);
165
+ }
166
+ console.log();
167
+ }
168
+ catch (err) {
169
+ const message = err instanceof Error ? err.message : "Unknown error";
170
+ console.error(`\nFailed to list admin users: ${message}`);
171
+ process.exit(1);
172
+ }
173
+ finally {
174
+ await pool.end();
175
+ }
176
+ });
177
+ }
178
+ // ─── First admin user prompt (task 48) ──────────────────────────────────────
179
+ // Called by `supatype push` on initial setup if no admin users exist.
180
+ export async function promptFirstAdminUser(connection) {
181
+ const pg = await importPg();
182
+ const pool = new pg.Pool({ connectionString: connection, max: 2 });
183
+ try {
184
+ // Check if auth.users table exists
185
+ const tableExists = await pool.query(`SELECT EXISTS (
186
+ SELECT FROM information_schema.tables
187
+ WHERE table_schema = 'auth' AND table_name = 'users'
188
+ ) as exists`);
189
+ if (!tableExists.rows[0]?.exists)
190
+ return;
191
+ // Check if any admin users exist
192
+ const adminCount = await pool.query(`SELECT COUNT(*) as count FROM auth.users
193
+ WHERE raw_app_meta_data->>'role' IS NOT NULL
194
+ AND raw_app_meta_data->>'role' != 'authenticated'`);
195
+ const count = parseInt(adminCount.rows[0].count, 10);
196
+ if (count > 0)
197
+ return;
198
+ // No admin users — prompt to create one
199
+ console.log("\n No admin users found for the admin panel.");
200
+ const createAdmin = await confirm(" Create an admin user now? [y/N] ");
201
+ if (!createAdmin) {
202
+ console.log(" Skipped. You can create one later with: supatype admin create-user\n");
203
+ return;
204
+ }
205
+ const email = await prompt(" Admin email: ");
206
+ if (!email || !email.includes("@")) {
207
+ console.log(" Invalid email. Skipping admin user creation.\n");
208
+ return;
209
+ }
210
+ const password = await prompt(" Admin password (min 8 chars): ");
211
+ if (!password || password.length < 8) {
212
+ console.log(" Password too short. Skipping admin user creation.\n");
213
+ return;
214
+ }
215
+ const passwordHash = await hashPassword(password);
216
+ const appMetadata = JSON.stringify({
217
+ role: "admin",
218
+ provider: "email",
219
+ providers: ["email"],
220
+ });
221
+ await pool.query(`INSERT INTO auth.users (
222
+ email, encrypted_password, role, aud,
223
+ raw_app_meta_data, raw_user_meta_data,
224
+ email_confirmed_at, created_at, updated_at
225
+ ) VALUES (
226
+ $1, $2, 'authenticated', 'authenticated',
227
+ $3::jsonb, '{}'::jsonb,
228
+ now(), now(), now()
229
+ )`, [email.toLowerCase(), passwordHash, appMetadata]);
230
+ console.log(`\n Admin user "${email}" created (role: admin).`);
231
+ console.log(` Log in at /admin after starting the dev server.\n`);
232
+ }
233
+ catch {
234
+ // Non-fatal — if auth schema doesn't exist yet, skip silently
235
+ }
236
+ finally {
237
+ await pool.end();
238
+ }
239
+ }
240
+ // ─── Helpers ────────────────────────────────────────────────────────────────────
241
+ async function importPg() {
242
+ try {
243
+ return await import("pg");
244
+ }
245
+ catch {
246
+ console.error("pg package is required for admin commands. Install it with: pnpm add pg");
247
+ process.exit(1);
248
+ }
249
+ }
250
+ async function hashPassword(password) {
251
+ const salt = randomBytes(16).toString("hex");
252
+ const derived = (await scryptAsync(password, salt, 64));
253
+ return `${salt}:${derived.toString("hex")}`;
254
+ }
255
+ function prompt(question) {
256
+ const rl = createInterface({
257
+ input: process.stdin,
258
+ output: process.stdout,
259
+ });
260
+ return new Promise((resolve) => {
261
+ rl.question(question, (answer) => {
262
+ rl.close();
263
+ resolve(answer.trim());
264
+ });
265
+ });
266
+ }
267
+ async function confirm(question) {
268
+ const answer = await prompt(question);
269
+ return answer.toLowerCase() === "y";
270
+ }
271
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerApp(program: Command): void;
3
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMxC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuClD"}
@@ -0,0 +1,82 @@
1
+ import { existsSync, mkdirSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { localKongBaseUrl } from "../local-gateway.js";
4
+ import { updateAppConfigInProject } from "../app-config.js";
5
+ export function registerApp(program) {
6
+ const appCmd = program
7
+ .command("app")
8
+ .description("Manage application routing intent in supatype.config.ts");
9
+ appCmd
10
+ .command("add [dir]")
11
+ .description("Configure app routing: --static for a built site, or proxy to a dev server")
12
+ .option("--static", "Serve a static directory at / (default: ./public, or [dir] argument)")
13
+ .option("--port <port>", "Port your app listens on (proxy mode)", "3000")
14
+ .option("--upstream <url>", "Explicit upstream URL (proxy mode; defaults to localhost:<port>)")
15
+ .option("--dockerfile <path>", "(deprecated) ignored — use supatype.config.ts")
16
+ .action((dir, opts) => {
17
+ if (opts.static) {
18
+ addStaticApp(process.cwd(), resolveStaticDir(dir));
19
+ return;
20
+ }
21
+ if (opts.dockerfile) {
22
+ console.warn("[supatype] --dockerfile is deprecated and ignored.");
23
+ }
24
+ addProxyApp(process.cwd(), opts.port, opts.upstream);
25
+ });
26
+ appCmd
27
+ .command("remove")
28
+ .description("Set app.mode=none in supatype.config.ts")
29
+ .action(() => {
30
+ removeApp(process.cwd());
31
+ });
32
+ }
33
+ // ─── Implementation ───────────────────────────────────────────────────────────
34
+ function resolveStaticDir(dir) {
35
+ const trimmed = dir?.trim();
36
+ return trimmed && trimmed.length > 0 ? trimmed : "./public";
37
+ }
38
+ function addStaticApp(cwd, staticDir) {
39
+ const abs = resolve(cwd, staticDir);
40
+ if (!existsSync(abs)) {
41
+ mkdirSync(abs, { recursive: true });
42
+ console.log(` created ${staticDir}/`);
43
+ }
44
+ try {
45
+ const configPath = updateAppConfigInProject(cwd, { mode: "static", staticDir });
46
+ console.log(` updated ${configPath}`);
47
+ console.log(`\nStatic app directory: ${staticDir}`);
48
+ console.log(`Build your frontend into ${staticDir}/, then:`);
49
+ console.log(` supatype self-host compose render`);
50
+ console.log(` supatype self-host compose up -d`);
51
+ console.log(`\nYour app will be served at ${localKongBaseUrl()}/\n`);
52
+ }
53
+ catch (err) {
54
+ console.error(err.message);
55
+ process.exit(1);
56
+ }
57
+ }
58
+ function addProxyApp(cwd, port, upstream) {
59
+ const upstreamUrl = upstream?.trim() || `http://localhost:${port}`;
60
+ try {
61
+ const configPath = updateAppConfigInProject(cwd, { mode: "proxy", upstream: upstreamUrl });
62
+ console.log(` updated ${configPath}`);
63
+ console.log(`\nApp upstream set to ${upstreamUrl}. The app will be available at ${localKongBaseUrl()}/\n`);
64
+ console.log("Run: supatype self-host compose render");
65
+ }
66
+ catch (err) {
67
+ console.error(err.message);
68
+ process.exit(1);
69
+ }
70
+ }
71
+ function removeApp(cwd) {
72
+ try {
73
+ const configPath = updateAppConfigInProject(cwd, { mode: "none" });
74
+ console.log(` updated ${configPath}`);
75
+ console.log("\nApp routing disabled (app.mode=none).\n");
76
+ }
77
+ catch (err) {
78
+ console.error(err.message);
79
+ process.exit(1);
80
+ }
81
+ }
82
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * supatype cache — list and clean cached component binaries.
3
+ */
4
+ import type { Command } from "commander";
5
+ export declare function registerCache(program: Command): void;
6
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiFpD"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * supatype cache — list and clean cached component binaries.
3
+ */
4
+ import { existsSync, readdirSync, rmSync, statSync } from "node:fs";
5
+ import { join } from "node:path";
6
+ import { cacheRoot } from "../binary-cache.js";
7
+ const COMPONENTS = ["engine", "server", "postgres", "deno"];
8
+ export function registerCache(program) {
9
+ const cache = program
10
+ .command("cache")
11
+ .description("Manage cached component binaries");
12
+ cache
13
+ .command("list")
14
+ .description("List cached component binaries and their sizes")
15
+ .action(() => {
16
+ const root = cacheRoot();
17
+ if (!existsSync(root)) {
18
+ console.log("Cache is empty.");
19
+ return;
20
+ }
21
+ let totalBytes = 0;
22
+ let found = false;
23
+ for (const component of COMPONENTS) {
24
+ const compDir = join(root, component);
25
+ if (!existsSync(compDir))
26
+ continue;
27
+ const versions = readdirSync(compDir).filter((v) => statSync(join(compDir, v)).isDirectory());
28
+ for (const version of versions) {
29
+ const vDir = join(compDir, version);
30
+ const size = dirSize(vDir);
31
+ totalBytes += size;
32
+ found = true;
33
+ console.log(` ${component}@${version} ${formatBytes(size)}`);
34
+ }
35
+ }
36
+ if (!found) {
37
+ console.log("Cache is empty.");
38
+ return;
39
+ }
40
+ console.log(`\nTotal: ${formatBytes(totalBytes)}`);
41
+ console.log(`Cache root: ${root}`);
42
+ });
43
+ cache
44
+ .command("clean [component] [version]")
45
+ .description("Remove cached binaries. Optionally specify a component and/or version.\n" +
46
+ "Examples:\n" +
47
+ " supatype cache clean # remove everything\n" +
48
+ " supatype cache clean engine # remove all engine versions\n" +
49
+ " supatype cache clean engine 0.4.2")
50
+ .action((component, version) => {
51
+ const root = cacheRoot();
52
+ if (!existsSync(root)) {
53
+ console.log("Cache is already empty.");
54
+ return;
55
+ }
56
+ const targets = component ? [component] : COMPONENTS;
57
+ for (const comp of targets) {
58
+ const compDir = join(root, comp);
59
+ if (!existsSync(compDir))
60
+ continue;
61
+ if (version) {
62
+ const vDir = join(compDir, version);
63
+ if (!existsSync(vDir)) {
64
+ console.log(` ${comp}@${version} not cached.`);
65
+ continue;
66
+ }
67
+ rmSync(vDir, { recursive: true, force: true });
68
+ console.log(` removed ${comp}@${version}`);
69
+ }
70
+ else {
71
+ rmSync(compDir, { recursive: true, force: true });
72
+ console.log(` removed ${comp} (all versions)`);
73
+ }
74
+ }
75
+ console.log("Done.");
76
+ });
77
+ }
78
+ function dirSize(dir) {
79
+ let total = 0;
80
+ try {
81
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
82
+ const full = join(dir, entry.name);
83
+ if (entry.isDirectory()) {
84
+ total += dirSize(full);
85
+ }
86
+ else {
87
+ total += statSync(full).size;
88
+ }
89
+ }
90
+ }
91
+ catch {
92
+ // Skip unreadable entries.
93
+ }
94
+ return total;
95
+ }
96
+ function formatBytes(bytes) {
97
+ if (bytes < 1024)
98
+ return `${bytes} B`;
99
+ if (bytes < 1024 * 1024)
100
+ return `${(bytes / 1024).toFixed(1)} KB`;
101
+ if (bytes < 1024 * 1024 * 1024)
102
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
103
+ return `${(bytes / (1024 * 1024 * 1024)).toFixed(2)} GB`;
104
+ }
105
+ //# sourceMappingURL=cache.js.map