@take-out/cli 0.0.39

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 (331) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +274 -0
  3. package/cli.mjs +3 -0
  4. package/dist/cjs/cli.cjs +71 -0
  5. package/dist/cjs/cli.js +70 -0
  6. package/dist/cjs/cli.js.map +6 -0
  7. package/dist/cjs/cli.native.js +79 -0
  8. package/dist/cjs/cli.native.js.map +6 -0
  9. package/dist/cjs/commands/changed.cjs +212 -0
  10. package/dist/cjs/commands/changed.js +214 -0
  11. package/dist/cjs/commands/changed.js.map +6 -0
  12. package/dist/cjs/commands/changed.native.js +289 -0
  13. package/dist/cjs/commands/changed.native.js.map +6 -0
  14. package/dist/cjs/commands/docs.cjs +388 -0
  15. package/dist/cjs/commands/docs.js +313 -0
  16. package/dist/cjs/commands/docs.js.map +6 -0
  17. package/dist/cjs/commands/docs.native.js +476 -0
  18. package/dist/cjs/commands/docs.native.js.map +6 -0
  19. package/dist/cjs/commands/env-setup.cjs +90 -0
  20. package/dist/cjs/commands/env-setup.js +78 -0
  21. package/dist/cjs/commands/env-setup.js.map +6 -0
  22. package/dist/cjs/commands/env-setup.native.js +85 -0
  23. package/dist/cjs/commands/env-setup.native.js.map +6 -0
  24. package/dist/cjs/commands/onboard.cjs +479 -0
  25. package/dist/cjs/commands/onboard.js +631 -0
  26. package/dist/cjs/commands/onboard.js.map +6 -0
  27. package/dist/cjs/commands/onboard.native.js +608 -0
  28. package/dist/cjs/commands/onboard.native.js.map +6 -0
  29. package/dist/cjs/commands/run.cjs +148 -0
  30. package/dist/cjs/commands/run.js +116 -0
  31. package/dist/cjs/commands/run.js.map +6 -0
  32. package/dist/cjs/commands/run.native.js +140 -0
  33. package/dist/cjs/commands/run.native.js.map +6 -0
  34. package/dist/cjs/commands/script.cjs +379 -0
  35. package/dist/cjs/commands/script.js +339 -0
  36. package/dist/cjs/commands/script.js.map +6 -0
  37. package/dist/cjs/commands/script.native.js +449 -0
  38. package/dist/cjs/commands/script.native.js.map +6 -0
  39. package/dist/cjs/commands/sync.cjs +190 -0
  40. package/dist/cjs/commands/sync.js +168 -0
  41. package/dist/cjs/commands/sync.js.map +6 -0
  42. package/dist/cjs/commands/sync.native.js +211 -0
  43. package/dist/cjs/commands/sync.native.js.map +6 -0
  44. package/dist/cjs/constants/ascii.cjs +36 -0
  45. package/dist/cjs/constants/ascii.js +30 -0
  46. package/dist/cjs/constants/ascii.js.map +6 -0
  47. package/dist/cjs/constants/ascii.native.js +36 -0
  48. package/dist/cjs/constants/ascii.native.js.map +6 -0
  49. package/dist/cjs/index.cjs +64 -0
  50. package/dist/cjs/index.js +55 -0
  51. package/dist/cjs/index.js.map +6 -0
  52. package/dist/cjs/index.native.js +94 -0
  53. package/dist/cjs/index.native.js.map +6 -0
  54. package/dist/cjs/types.cjs +16 -0
  55. package/dist/cjs/types.js +14 -0
  56. package/dist/cjs/types.js.map +6 -0
  57. package/dist/cjs/types.native.js +15 -0
  58. package/dist/cjs/types.native.js.map +6 -0
  59. package/dist/cjs/utils/env-categories.cjs +272 -0
  60. package/dist/cjs/utils/env-categories.js +296 -0
  61. package/dist/cjs/utils/env-categories.js.map +6 -0
  62. package/dist/cjs/utils/env-categories.native.js +317 -0
  63. package/dist/cjs/utils/env-categories.native.js.map +6 -0
  64. package/dist/cjs/utils/env-setup.cjs +181 -0
  65. package/dist/cjs/utils/env-setup.js +190 -0
  66. package/dist/cjs/utils/env-setup.js.map +6 -0
  67. package/dist/cjs/utils/env-setup.native.js +264 -0
  68. package/dist/cjs/utils/env-setup.native.js.map +6 -0
  69. package/dist/cjs/utils/env.cjs +118 -0
  70. package/dist/cjs/utils/env.js +97 -0
  71. package/dist/cjs/utils/env.js.map +6 -0
  72. package/dist/cjs/utils/env.native.js +128 -0
  73. package/dist/cjs/utils/env.native.js.map +6 -0
  74. package/dist/cjs/utils/files.cjs +215 -0
  75. package/dist/cjs/utils/files.js +164 -0
  76. package/dist/cjs/utils/files.js.map +6 -0
  77. package/dist/cjs/utils/files.native.js +266 -0
  78. package/dist/cjs/utils/files.native.js.map +6 -0
  79. package/dist/cjs/utils/parallel-runner.cjs +99 -0
  80. package/dist/cjs/utils/parallel-runner.js +84 -0
  81. package/dist/cjs/utils/parallel-runner.js.map +6 -0
  82. package/dist/cjs/utils/parallel-runner.native.js +123 -0
  83. package/dist/cjs/utils/parallel-runner.native.js.map +6 -0
  84. package/dist/cjs/utils/ports.cjs +101 -0
  85. package/dist/cjs/utils/ports.js +81 -0
  86. package/dist/cjs/utils/ports.js.map +6 -0
  87. package/dist/cjs/utils/ports.native.js +130 -0
  88. package/dist/cjs/utils/ports.native.js.map +6 -0
  89. package/dist/cjs/utils/prerequisites.cjs +119 -0
  90. package/dist/cjs/utils/prerequisites.js +107 -0
  91. package/dist/cjs/utils/prerequisites.js.map +6 -0
  92. package/dist/cjs/utils/prerequisites.native.js +127 -0
  93. package/dist/cjs/utils/prerequisites.native.js.map +6 -0
  94. package/dist/cjs/utils/prompts.cjs +161 -0
  95. package/dist/cjs/utils/prompts.js +162 -0
  96. package/dist/cjs/utils/prompts.js.map +6 -0
  97. package/dist/cjs/utils/prompts.native.js +179 -0
  98. package/dist/cjs/utils/prompts.native.js.map +6 -0
  99. package/dist/cjs/utils/script-listing.cjs +113 -0
  100. package/dist/cjs/utils/script-listing.js +108 -0
  101. package/dist/cjs/utils/script-listing.js.map +6 -0
  102. package/dist/cjs/utils/script-listing.native.js +174 -0
  103. package/dist/cjs/utils/script-listing.native.js.map +6 -0
  104. package/dist/cjs/utils/sync.cjs +85 -0
  105. package/dist/cjs/utils/sync.js +70 -0
  106. package/dist/cjs/utils/sync.js.map +6 -0
  107. package/dist/cjs/utils/sync.native.js +84 -0
  108. package/dist/cjs/utils/sync.native.js.map +6 -0
  109. package/dist/cjs/utils/welcome.cjs +50 -0
  110. package/dist/cjs/utils/welcome.js +42 -0
  111. package/dist/cjs/utils/welcome.js.map +6 -0
  112. package/dist/cjs/utils/welcome.native.js +47 -0
  113. package/dist/cjs/utils/welcome.native.js.map +6 -0
  114. package/dist/esm/cli.js +79 -0
  115. package/dist/esm/cli.js.map +6 -0
  116. package/dist/esm/cli.mjs +71 -0
  117. package/dist/esm/cli.mjs.map +1 -0
  118. package/dist/esm/cli.native.js +69 -0
  119. package/dist/esm/cli.native.js.map +1 -0
  120. package/dist/esm/commands/changed.js +194 -0
  121. package/dist/esm/commands/changed.js.map +6 -0
  122. package/dist/esm/commands/changed.mjs +178 -0
  123. package/dist/esm/commands/changed.mjs.map +1 -0
  124. package/dist/esm/commands/changed.native.js +273 -0
  125. package/dist/esm/commands/changed.native.js.map +1 -0
  126. package/dist/esm/commands/docs.js +306 -0
  127. package/dist/esm/commands/docs.js.map +6 -0
  128. package/dist/esm/commands/docs.mjs +353 -0
  129. package/dist/esm/commands/docs.mjs.map +1 -0
  130. package/dist/esm/commands/docs.native.js +516 -0
  131. package/dist/esm/commands/docs.native.js.map +1 -0
  132. package/dist/esm/commands/env-setup.js +56 -0
  133. package/dist/esm/commands/env-setup.js.map +6 -0
  134. package/dist/esm/commands/env-setup.mjs +56 -0
  135. package/dist/esm/commands/env-setup.mjs.map +1 -0
  136. package/dist/esm/commands/env-setup.native.js +59 -0
  137. package/dist/esm/commands/env-setup.native.js.map +1 -0
  138. package/dist/esm/commands/onboard.js +645 -0
  139. package/dist/esm/commands/onboard.js.map +6 -0
  140. package/dist/esm/commands/onboard.mjs +445 -0
  141. package/dist/esm/commands/onboard.mjs.map +1 -0
  142. package/dist/esm/commands/onboard.native.js +584 -0
  143. package/dist/esm/commands/onboard.native.js.map +1 -0
  144. package/dist/esm/commands/run.js +95 -0
  145. package/dist/esm/commands/run.js.map +6 -0
  146. package/dist/esm/commands/run.mjs +114 -0
  147. package/dist/esm/commands/run.mjs.map +1 -0
  148. package/dist/esm/commands/run.native.js +133 -0
  149. package/dist/esm/commands/run.native.js.map +1 -0
  150. package/dist/esm/commands/script.js +338 -0
  151. package/dist/esm/commands/script.js.map +6 -0
  152. package/dist/esm/commands/script.mjs +336 -0
  153. package/dist/esm/commands/script.mjs.map +1 -0
  154. package/dist/esm/commands/script.native.js +445 -0
  155. package/dist/esm/commands/script.native.js.map +1 -0
  156. package/dist/esm/commands/sync.js +158 -0
  157. package/dist/esm/commands/sync.js.map +6 -0
  158. package/dist/esm/commands/sync.mjs +155 -0
  159. package/dist/esm/commands/sync.mjs.map +1 -0
  160. package/dist/esm/commands/sync.native.js +173 -0
  161. package/dist/esm/commands/sync.native.js.map +1 -0
  162. package/dist/esm/constants/ascii.js +14 -0
  163. package/dist/esm/constants/ascii.js.map +6 -0
  164. package/dist/esm/constants/ascii.mjs +12 -0
  165. package/dist/esm/constants/ascii.mjs.map +1 -0
  166. package/dist/esm/constants/ascii.native.js +12 -0
  167. package/dist/esm/constants/ascii.native.js.map +1 -0
  168. package/dist/esm/index.js +83 -0
  169. package/dist/esm/index.js.map +6 -0
  170. package/dist/esm/index.mjs +7 -0
  171. package/dist/esm/index.mjs.map +1 -0
  172. package/dist/esm/index.native.js +7 -0
  173. package/dist/esm/index.native.js.map +1 -0
  174. package/dist/esm/types.js +1 -0
  175. package/dist/esm/types.js.map +6 -0
  176. package/dist/esm/types.mjs +2 -0
  177. package/dist/esm/types.mjs.map +1 -0
  178. package/dist/esm/types.native.js +2 -0
  179. package/dist/esm/types.native.js.map +1 -0
  180. package/dist/esm/utils/env-categories.js +272 -0
  181. package/dist/esm/utils/env-categories.js.map +6 -0
  182. package/dist/esm/utils/env-categories.mjs +233 -0
  183. package/dist/esm/utils/env-categories.mjs.map +1 -0
  184. package/dist/esm/utils/env-categories.native.js +246 -0
  185. package/dist/esm/utils/env-categories.native.js.map +1 -0
  186. package/dist/esm/utils/env-setup.js +173 -0
  187. package/dist/esm/utils/env-setup.js.map +6 -0
  188. package/dist/esm/utils/env-setup.mjs +146 -0
  189. package/dist/esm/utils/env-setup.mjs.map +1 -0
  190. package/dist/esm/utils/env-setup.native.js +243 -0
  191. package/dist/esm/utils/env-setup.native.js.map +1 -0
  192. package/dist/esm/utils/env.js +83 -0
  193. package/dist/esm/utils/env.js.map +6 -0
  194. package/dist/esm/utils/env.mjs +90 -0
  195. package/dist/esm/utils/env.mjs.map +1 -0
  196. package/dist/esm/utils/env.native.js +99 -0
  197. package/dist/esm/utils/env.native.js.map +1 -0
  198. package/dist/esm/utils/files.js +150 -0
  199. package/dist/esm/utils/files.js.map +6 -0
  200. package/dist/esm/utils/files.mjs +187 -0
  201. package/dist/esm/utils/files.mjs.map +1 -0
  202. package/dist/esm/utils/files.native.js +247 -0
  203. package/dist/esm/utils/files.native.js.map +1 -0
  204. package/dist/esm/utils/parallel-runner.js +69 -0
  205. package/dist/esm/utils/parallel-runner.js.map +6 -0
  206. package/dist/esm/utils/parallel-runner.mjs +76 -0
  207. package/dist/esm/utils/parallel-runner.mjs.map +1 -0
  208. package/dist/esm/utils/parallel-runner.native.js +109 -0
  209. package/dist/esm/utils/parallel-runner.native.js.map +1 -0
  210. package/dist/esm/utils/ports.js +65 -0
  211. package/dist/esm/utils/ports.js.map +6 -0
  212. package/dist/esm/utils/ports.mjs +74 -0
  213. package/dist/esm/utils/ports.mjs.map +1 -0
  214. package/dist/esm/utils/ports.native.js +93 -0
  215. package/dist/esm/utils/ports.native.js.map +1 -0
  216. package/dist/esm/utils/prerequisites.js +91 -0
  217. package/dist/esm/utils/prerequisites.js.map +6 -0
  218. package/dist/esm/utils/prerequisites.mjs +91 -0
  219. package/dist/esm/utils/prerequisites.mjs.map +1 -0
  220. package/dist/esm/utils/prerequisites.native.js +97 -0
  221. package/dist/esm/utils/prerequisites.native.js.map +1 -0
  222. package/dist/esm/utils/prompts.js +139 -0
  223. package/dist/esm/utils/prompts.js.map +6 -0
  224. package/dist/esm/utils/prompts.mjs +112 -0
  225. package/dist/esm/utils/prompts.mjs.map +1 -0
  226. package/dist/esm/utils/prompts.native.js +115 -0
  227. package/dist/esm/utils/prompts.native.js.map +1 -0
  228. package/dist/esm/utils/script-listing.js +91 -0
  229. package/dist/esm/utils/script-listing.js.map +6 -0
  230. package/dist/esm/utils/script-listing.mjs +76 -0
  231. package/dist/esm/utils/script-listing.mjs.map +1 -0
  232. package/dist/esm/utils/script-listing.native.js +151 -0
  233. package/dist/esm/utils/script-listing.native.js.map +1 -0
  234. package/dist/esm/utils/sync.js +50 -0
  235. package/dist/esm/utils/sync.js.map +6 -0
  236. package/dist/esm/utils/sync.mjs +48 -0
  237. package/dist/esm/utils/sync.mjs.map +1 -0
  238. package/dist/esm/utils/sync.native.js +53 -0
  239. package/dist/esm/utils/sync.native.js.map +1 -0
  240. package/dist/esm/utils/welcome.js +21 -0
  241. package/dist/esm/utils/welcome.js.map +6 -0
  242. package/dist/esm/utils/welcome.mjs +15 -0
  243. package/dist/esm/utils/welcome.mjs.map +1 -0
  244. package/dist/esm/utils/welcome.native.js +18 -0
  245. package/dist/esm/utils/welcome.native.js.map +1 -0
  246. package/docs/aggregates.md +579 -0
  247. package/docs/cloudflare-dev-tunnel.md +41 -0
  248. package/docs/database.md +203 -0
  249. package/docs/docs.md +8 -0
  250. package/docs/emitters.md +562 -0
  251. package/docs/hot-updater.md +223 -0
  252. package/docs/native-hot-update.md +252 -0
  253. package/docs/one-components.md +234 -0
  254. package/docs/one-hooks.md +570 -0
  255. package/docs/one-routes.md +660 -0
  256. package/docs/package-json.md +115 -0
  257. package/docs/react-native-navigation-flow.md +184 -0
  258. package/docs/scripts.md +147 -0
  259. package/docs/sync-prompt.md +208 -0
  260. package/docs/tamagui.md +478 -0
  261. package/docs/testing-integration.md +564 -0
  262. package/docs/triggers.md +450 -0
  263. package/docs/zero.md +719 -0
  264. package/package.json +76 -0
  265. package/scripts/seed.ts +209 -0
  266. package/src/cli.ts +147 -0
  267. package/src/commands/changed.ts +313 -0
  268. package/src/commands/docs.ts +582 -0
  269. package/src/commands/env-setup.ts +69 -0
  270. package/src/commands/onboard.ts +1391 -0
  271. package/src/commands/run.ts +173 -0
  272. package/src/commands/script.ts +587 -0
  273. package/src/commands/sync.ts +305 -0
  274. package/src/constants/ascii.ts +17 -0
  275. package/src/index.ts +63 -0
  276. package/src/types.ts +59 -0
  277. package/src/utils/env-categories.ts +245 -0
  278. package/src/utils/env-setup.ts +338 -0
  279. package/src/utils/env.ts +127 -0
  280. package/src/utils/files.ts +302 -0
  281. package/src/utils/parallel-runner.ts +129 -0
  282. package/src/utils/ports.ts +77 -0
  283. package/src/utils/prerequisites.ts +137 -0
  284. package/src/utils/prompts.ts +197 -0
  285. package/src/utils/script-listing.ts +214 -0
  286. package/src/utils/sync.ts +101 -0
  287. package/src/withOpSqliteStatic.cjs +51 -0
  288. package/types/cli.d.ts +7 -0
  289. package/types/cli.d.ts.map +1 -0
  290. package/types/commands/changed.d.ts +14 -0
  291. package/types/commands/changed.d.ts.map +1 -0
  292. package/types/commands/docs.d.ts +5 -0
  293. package/types/commands/docs.d.ts.map +1 -0
  294. package/types/commands/env-setup.d.ts +25 -0
  295. package/types/commands/env-setup.d.ts.map +1 -0
  296. package/types/commands/onboard.d.ts +16 -0
  297. package/types/commands/onboard.d.ts.map +1 -0
  298. package/types/commands/run.d.ts +8 -0
  299. package/types/commands/run.d.ts.map +1 -0
  300. package/types/commands/script.d.ts +28 -0
  301. package/types/commands/script.d.ts.map +1 -0
  302. package/types/commands/sync.d.ts +5 -0
  303. package/types/commands/sync.d.ts.map +1 -0
  304. package/types/constants/ascii.d.ts +6 -0
  305. package/types/constants/ascii.d.ts.map +1 -0
  306. package/types/index.d.ts +12 -0
  307. package/types/index.d.ts.map +1 -0
  308. package/types/types.d.ts +54 -0
  309. package/types/types.d.ts.map +1 -0
  310. package/types/utils/env-categories.d.ts +8 -0
  311. package/types/utils/env-categories.d.ts.map +1 -0
  312. package/types/utils/env-setup.d.ts +10 -0
  313. package/types/utils/env-setup.d.ts.map +1 -0
  314. package/types/utils/env.d.ts +19 -0
  315. package/types/utils/env.d.ts.map +1 -0
  316. package/types/utils/files.d.ts +47 -0
  317. package/types/utils/files.d.ts.map +1 -0
  318. package/types/utils/parallel-runner.d.ts +15 -0
  319. package/types/utils/parallel-runner.d.ts.map +1 -0
  320. package/types/utils/ports.d.ts +16 -0
  321. package/types/utils/ports.d.ts.map +1 -0
  322. package/types/utils/prerequisites.d.ts +11 -0
  323. package/types/utils/prerequisites.d.ts.map +1 -0
  324. package/types/utils/prompts.d.ts +30 -0
  325. package/types/utils/prompts.d.ts.map +1 -0
  326. package/types/utils/script-listing.d.ts +7 -0
  327. package/types/utils/script-listing.d.ts.map +1 -0
  328. package/types/utils/sync.d.ts +16 -0
  329. package/types/utils/sync.d.ts.map +1 -0
  330. package/types/utils/welcome.d.ts +6 -0
  331. package/types/utils/welcome.d.ts.map +1 -0
@@ -0,0 +1,91 @@
1
+ import { execSync } from "node:child_process";
2
+ function execCommand(command) {
3
+ try {
4
+ return execSync(command, {
5
+ encoding: "utf-8",
6
+ stdio: ["pipe", "pipe", "ignore"]
7
+ }).trim();
8
+ } catch {
9
+ return null;
10
+ }
11
+ }
12
+ function getVersion(command) {
13
+ const output = execCommand(command);
14
+ if (!output) return null;
15
+ const match = output.match(/\d+\.\d+\.\d+/);
16
+ return match ? match[0] : output;
17
+ }
18
+ function compareVersions(current, required) {
19
+ const parseCurrent = current.replace(/^v/, "").split(".").map(Number),
20
+ parseRequired = required.replace(/^v/, "").split(".").map(Number);
21
+ for (let i = 0; i < 3; i++) {
22
+ const curr = parseCurrent[i] || 0,
23
+ req = parseRequired[i] || 0;
24
+ if (curr > req) return !0;
25
+ if (curr < req) return !1;
26
+ }
27
+ return !0;
28
+ }
29
+ function checkBun() {
30
+ const version = getVersion("bun --version") ?? void 0,
31
+ requiredVersion = "1.0.0",
32
+ hasBunv = !!execCommand("bunv --version");
33
+ let message = version ? compareVersions(version, requiredVersion) ? `Bun ${version} installed` : `Bun ${version} installed (${requiredVersion}+ recommended)` : "Bun not found";
34
+ return version && !hasBunv && (message += " (consider installing bunv for auto version switching)"), {
35
+ name: "Bun",
36
+ required: !0,
37
+ installed: !!version,
38
+ version,
39
+ requiredVersion,
40
+ message,
41
+ installUrl: "https://bun.sh",
42
+ recommendation: hasBunv ? void 0 : "Install bunv to automatically switch bun versions: https://github.com/aklinker1/bunv"
43
+ };
44
+ }
45
+ function checkNode() {
46
+ const version = getVersion("node --version") ?? void 0,
47
+ requiredVersion = "20.0.0",
48
+ hasFnm = !!execCommand("fnm --version");
49
+ let message = version ? compareVersions(version, requiredVersion) ? `Node.js ${version} installed` : `Node.js ${version} installed (${requiredVersion}+ recommended)` : "Node.js not found (optional)";
50
+ return version && !hasFnm && (message += " (consider installing fnm for auto version switching)"), {
51
+ name: "Node.js",
52
+ required: !1,
53
+ installed: !!version,
54
+ version,
55
+ requiredVersion,
56
+ message,
57
+ installUrl: "https://nodejs.org",
58
+ recommendation: hasFnm ? void 0 : "Install fnm to automatically switch node versions: https://github.com/Schniz/fnm"
59
+ };
60
+ }
61
+ function checkDocker() {
62
+ const version = getVersion("docker --version") ?? void 0,
63
+ isRunning = !!execCommand("docker ps");
64
+ return {
65
+ name: "Docker",
66
+ required: !0,
67
+ installed: !!version,
68
+ version,
69
+ message: version ? isRunning ? `Docker ${version} running` : "Docker installed but not running" : "Docker not found",
70
+ installUrl: "https://docs.docker.com/get-docker/"
71
+ };
72
+ }
73
+ function checkGit() {
74
+ const version = getVersion("git --version") ?? void 0;
75
+ return {
76
+ name: "Git",
77
+ required: !0,
78
+ installed: !!version,
79
+ version,
80
+ message: version ? `Git ${version} installed` : "Git not found",
81
+ installUrl: "https://git-scm.com"
82
+ };
83
+ }
84
+ function checkAllPrerequisites() {
85
+ return [checkBun(), checkNode(), checkDocker(), checkGit()];
86
+ }
87
+ function hasRequiredPrerequisites(checks) {
88
+ return checks.filter(c => c.required).every(c => c.installed);
89
+ }
90
+ export { checkAllPrerequisites, checkBun, checkDocker, checkGit, checkNode, hasRequiredPrerequisites };
91
+ //# sourceMappingURL=prerequisites.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["execSync","execCommand","command","encoding","stdio","trim","getVersion","output","match","compareVersions","current","required","parseCurrent","replace","split","map","Number","parseRequired","i","curr","req","checkBun","version","requiredVersion","hasBunv","message","name","installed","installUrl","recommendation","checkNode","hasFnm","checkDocker","isRunning","checkGit","checkAllPrerequisites","hasRequiredPrerequisites","checks","filter","c","every"],"sources":["../../../src/utils/prerequisites.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,97 @@
1
+ import { execSync } from "child_process";
2
+ function execCommand(command) {
3
+ try {
4
+ return execSync(command, {
5
+ encoding: "utf-8",
6
+ stdio: ["pipe", "pipe", "ignore"]
7
+ }).trim();
8
+ } catch {
9
+ return null;
10
+ }
11
+ }
12
+ function getVersion(command) {
13
+ var output = execCommand(command);
14
+ if (!output) return null;
15
+ var match = output.match(/\d+\.\d+\.\d+/);
16
+ return match ? match[0] : output;
17
+ }
18
+ function compareVersions(current, required) {
19
+ for (var parseCurrent = current.replace(/^v/, "").split(".").map(Number), parseRequired = required.replace(/^v/, "").split(".").map(Number), i = 0; i < 3; i++) {
20
+ var curr = parseCurrent[i] || 0,
21
+ req = parseRequired[i] || 0;
22
+ if (curr > req) return !0;
23
+ if (curr < req) return !1;
24
+ }
25
+ return !0;
26
+ }
27
+ function checkBun() {
28
+ var _getVersion,
29
+ version = (_getVersion = getVersion("bun --version")) !== null && _getVersion !== void 0 ? _getVersion : void 0,
30
+ requiredVersion = "1.0.0",
31
+ hasBunv = !!execCommand("bunv --version"),
32
+ message = version ? compareVersions(version, requiredVersion) ? `Bun ${version} installed` : `Bun ${version} installed (${requiredVersion}+ recommended)` : "Bun not found";
33
+ return version && !hasBunv && (message += " (consider installing bunv for auto version switching)"), {
34
+ name: "Bun",
35
+ required: !0,
36
+ installed: !!version,
37
+ version,
38
+ requiredVersion,
39
+ message,
40
+ installUrl: "https://bun.sh",
41
+ recommendation: hasBunv ? void 0 : "Install bunv to automatically switch bun versions: https://github.com/aklinker1/bunv"
42
+ };
43
+ }
44
+ function checkNode() {
45
+ var _getVersion,
46
+ version = (_getVersion = getVersion("node --version")) !== null && _getVersion !== void 0 ? _getVersion : void 0,
47
+ requiredVersion = "20.0.0",
48
+ hasFnm = !!execCommand("fnm --version"),
49
+ message = version ? compareVersions(version, requiredVersion) ? `Node.js ${version} installed` : `Node.js ${version} installed (${requiredVersion}+ recommended)` : "Node.js not found (optional)";
50
+ return version && !hasFnm && (message += " (consider installing fnm for auto version switching)"), {
51
+ name: "Node.js",
52
+ required: !1,
53
+ installed: !!version,
54
+ version,
55
+ requiredVersion,
56
+ message,
57
+ installUrl: "https://nodejs.org",
58
+ recommendation: hasFnm ? void 0 : "Install fnm to automatically switch node versions: https://github.com/Schniz/fnm"
59
+ };
60
+ }
61
+ function checkDocker() {
62
+ var _getVersion,
63
+ version = (_getVersion = getVersion("docker --version")) !== null && _getVersion !== void 0 ? _getVersion : void 0,
64
+ isRunning = !!execCommand("docker ps");
65
+ return {
66
+ name: "Docker",
67
+ required: !0,
68
+ installed: !!version,
69
+ version,
70
+ message: version ? isRunning ? `Docker ${version} running` : "Docker installed but not running" : "Docker not found",
71
+ installUrl: "https://docs.docker.com/get-docker/"
72
+ };
73
+ }
74
+ function checkGit() {
75
+ var _getVersion,
76
+ version = (_getVersion = getVersion("git --version")) !== null && _getVersion !== void 0 ? _getVersion : void 0;
77
+ return {
78
+ name: "Git",
79
+ required: !0,
80
+ installed: !!version,
81
+ version,
82
+ message: version ? `Git ${version} installed` : "Git not found",
83
+ installUrl: "https://git-scm.com"
84
+ };
85
+ }
86
+ function checkAllPrerequisites() {
87
+ return [checkBun(), checkNode(), checkDocker(), checkGit()];
88
+ }
89
+ function hasRequiredPrerequisites(checks) {
90
+ return checks.filter(function (c) {
91
+ return c.required;
92
+ }).every(function (c) {
93
+ return c.installed;
94
+ });
95
+ }
96
+ export { checkAllPrerequisites, checkBun, checkDocker, checkGit, checkNode, hasRequiredPrerequisites };
97
+ //# sourceMappingURL=prerequisites.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["execSync","execCommand","command","encoding","stdio","trim","getVersion","output","match","compareVersions","current","required","parseCurrent","replace","split","map","Number","parseRequired","i","curr","req","checkBun","_getVersion","version","requiredVersion","hasBunv","message","name","installed","installUrl","recommendation","checkNode","hasFnm","checkDocker","isRunning","checkGit","checkAllPrerequisites"],"sources":["../../../src/utils/prerequisites.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,139 @@
1
+ import * as p from "@clack/prompts";
2
+ import pc from "picocolors";
3
+ function displayWelcome(projectName = "Takeout") {
4
+ console.info(), p.intro(pc.bgCyan(pc.black(` ${projectName} Starter Kit `))), console.info(), p.note(
5
+ pc.dim(
6
+ `You can re-run 'bun onboard' anytime to reconfigure or skip to specific steps.
7
+ No need to decide everything upfront!`
8
+ ),
9
+ pc.cyan("Tip")
10
+ );
11
+ }
12
+ function displayOutro(message) {
13
+ p.outro(pc.green(message));
14
+ }
15
+ function displayPrerequisites(checks) {
16
+ const items = checks.map((check) => {
17
+ const icon = check.installed ? pc.green("\u2713") : pc.red("\u2717"), message = check.message || "", recommendation = check.recommendation ? `
18
+ ${pc.dim(check.recommendation)}` : "";
19
+ return `${icon} ${pc.bold(check.name)}: ${message}${recommendation}`;
20
+ });
21
+ p.note(items.join(`
22
+ `), "Prerequisites");
23
+ }
24
+ function displayPortConflicts(conflicts) {
25
+ if (conflicts.length === 0) return;
26
+ const items = conflicts.map((conflict) => {
27
+ const pid = conflict.pid ? ` (PID: ${conflict.pid})` : "";
28
+ return `${pc.yellow("\u26A0")} Port ${conflict.port} (${conflict.name})${pid}`;
29
+ });
30
+ p.note(items.join(`
31
+ `), pc.yellow("Port Conflicts Detected"));
32
+ }
33
+ async function confirmContinue(message, defaultValue = !0) {
34
+ const result = await p.confirm({
35
+ message,
36
+ initialValue: defaultValue
37
+ });
38
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
39
+ }
40
+ async function promptText(message, defaultValue, placeholder) {
41
+ const result = await p.text({
42
+ message,
43
+ defaultValue,
44
+ placeholder
45
+ });
46
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
47
+ }
48
+ async function promptPassword(message) {
49
+ const result = await p.password({
50
+ message
51
+ });
52
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
53
+ }
54
+ async function promptSelect(message, options) {
55
+ const result = await p.select({
56
+ message,
57
+ options
58
+ });
59
+ return p.isCancel(result) ? "cancel" : result;
60
+ }
61
+ async function promptStartStep() {
62
+ return console.info(), console.info(pc.gray("What would you like to do?")), console.info(), promptSelect("Select starting point:", [
63
+ {
64
+ value: "full",
65
+ label: "Complete setup",
66
+ hint: "Run through all setup steps"
67
+ },
68
+ {
69
+ value: "prerequisites",
70
+ label: "Check prerequisites",
71
+ hint: "Verify bun, docker, git, etc."
72
+ },
73
+ {
74
+ value: "identity",
75
+ label: "Project identity",
76
+ hint: "Customize app name and bundle ID"
77
+ },
78
+ {
79
+ value: "ports",
80
+ label: "Check ports",
81
+ hint: "Verify required ports are available"
82
+ },
83
+ {
84
+ value: "eject",
85
+ label: "Eject from monorepo",
86
+ hint: "Remove ./packages, use published versions"
87
+ },
88
+ {
89
+ value: "production",
90
+ label: "Production deployment",
91
+ hint: "Configure production environment and deployment"
92
+ }
93
+ ]);
94
+ }
95
+ async function promptOldSelect(message, options) {
96
+ const result = await p.select({
97
+ message,
98
+ options
99
+ });
100
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
101
+ }
102
+ function showSpinner(message) {
103
+ const s = p.spinner();
104
+ return s.start(message), s;
105
+ }
106
+ function showError(message) {
107
+ p.log.error(pc.red(message));
108
+ }
109
+ function showWarning(message) {
110
+ p.log.warning(pc.yellow(message));
111
+ }
112
+ function showSuccess(message) {
113
+ p.log.success(pc.green(message));
114
+ }
115
+ function showInfo(message) {
116
+ p.log.info(pc.blue(message));
117
+ }
118
+ function showStep(message) {
119
+ p.log.step(message);
120
+ }
121
+ export {
122
+ confirmContinue,
123
+ displayOutro,
124
+ displayPortConflicts,
125
+ displayPrerequisites,
126
+ displayWelcome,
127
+ promptOldSelect,
128
+ promptPassword,
129
+ promptSelect,
130
+ promptStartStep,
131
+ promptText,
132
+ showError,
133
+ showInfo,
134
+ showSpinner,
135
+ showStep,
136
+ showSuccess,
137
+ showWarning
138
+ };
139
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/prompts.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,112 @@
1
+ import * as p from "@clack/prompts";
2
+ import pc from "picocolors";
3
+ function displayWelcome(projectName = "Takeout") {
4
+ console.info(), p.intro(pc.bgCyan(pc.black(` ${projectName} Starter Kit `))), console.info(), p.note(pc.dim(`You can re-run 'bun onboard' anytime to reconfigure or skip to specific steps.
5
+ No need to decide everything upfront!`), pc.cyan("Tip"));
6
+ }
7
+ function displayOutro(message) {
8
+ p.outro(pc.green(message));
9
+ }
10
+ function displayPrerequisites(checks) {
11
+ const items = checks.map(check => {
12
+ const icon = check.installed ? pc.green("\u2713") : pc.red("\u2717"),
13
+ message = check.message || "",
14
+ recommendation = check.recommendation ? `
15
+ ${pc.dim(check.recommendation)}` : "";
16
+ return `${icon} ${pc.bold(check.name)}: ${message}${recommendation}`;
17
+ });
18
+ p.note(items.join(`
19
+ `), "Prerequisites");
20
+ }
21
+ function displayPortConflicts(conflicts) {
22
+ if (conflicts.length === 0) return;
23
+ const items = conflicts.map(conflict => {
24
+ const pid = conflict.pid ? ` (PID: ${conflict.pid})` : "";
25
+ return `${pc.yellow("\u26A0")} Port ${conflict.port} (${conflict.name})${pid}`;
26
+ });
27
+ p.note(items.join(`
28
+ `), pc.yellow("Port Conflicts Detected"));
29
+ }
30
+ async function confirmContinue(message, defaultValue = !0) {
31
+ const result = await p.confirm({
32
+ message,
33
+ initialValue: defaultValue
34
+ });
35
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
36
+ }
37
+ async function promptText(message, defaultValue, placeholder) {
38
+ const result = await p.text({
39
+ message,
40
+ defaultValue,
41
+ placeholder
42
+ });
43
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
44
+ }
45
+ async function promptPassword(message) {
46
+ const result = await p.password({
47
+ message
48
+ });
49
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
50
+ }
51
+ async function promptSelect(message, options) {
52
+ const result = await p.select({
53
+ message,
54
+ options
55
+ });
56
+ return p.isCancel(result) ? "cancel" : result;
57
+ }
58
+ async function promptStartStep() {
59
+ return console.info(), console.info(pc.gray("What would you like to do?")), console.info(), promptSelect("Select starting point:", [{
60
+ value: "full",
61
+ label: "Complete setup",
62
+ hint: "Run through all setup steps"
63
+ }, {
64
+ value: "prerequisites",
65
+ label: "Check prerequisites",
66
+ hint: "Verify bun, docker, git, etc."
67
+ }, {
68
+ value: "identity",
69
+ label: "Project identity",
70
+ hint: "Customize app name and bundle ID"
71
+ }, {
72
+ value: "ports",
73
+ label: "Check ports",
74
+ hint: "Verify required ports are available"
75
+ }, {
76
+ value: "eject",
77
+ label: "Eject from monorepo",
78
+ hint: "Remove ./packages, use published versions"
79
+ }, {
80
+ value: "production",
81
+ label: "Production deployment",
82
+ hint: "Configure production environment and deployment"
83
+ }]);
84
+ }
85
+ async function promptOldSelect(message, options) {
86
+ const result = await p.select({
87
+ message,
88
+ options
89
+ });
90
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
91
+ }
92
+ function showSpinner(message) {
93
+ const s = p.spinner();
94
+ return s.start(message), s;
95
+ }
96
+ function showError(message) {
97
+ p.log.error(pc.red(message));
98
+ }
99
+ function showWarning(message) {
100
+ p.log.warning(pc.yellow(message));
101
+ }
102
+ function showSuccess(message) {
103
+ p.log.success(pc.green(message));
104
+ }
105
+ function showInfo(message) {
106
+ p.log.info(pc.blue(message));
107
+ }
108
+ function showStep(message) {
109
+ p.log.step(message);
110
+ }
111
+ export { confirmContinue, displayOutro, displayPortConflicts, displayPrerequisites, displayWelcome, promptOldSelect, promptPassword, promptSelect, promptStartStep, promptText, showError, showInfo, showSpinner, showStep, showSuccess, showWarning };
112
+ //# sourceMappingURL=prompts.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["p","pc","displayWelcome","projectName","console","info","intro","bgCyan","black","note","dim","cyan","displayOutro","message","outro","green","displayPrerequisites","checks","items","map","check","icon","installed","red","recommendation","bold","name","join","displayPortConflicts","conflicts","length","conflict","pid","yellow","port","confirmContinue","defaultValue","result","confirm","initialValue","isCancel","cancel","process","exit","promptText","placeholder","text","promptPassword","password","promptSelect","options","select","promptStartStep","gray","value","label","hint","promptOldSelect","showSpinner","s","spinner","start","showError","log","error","showWarning","warning","showSuccess","success","showInfo","blue","showStep","step"],"sources":["../../../src/utils/prompts.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,115 @@
1
+ import * as p from "@clack/prompts";
2
+ import pc from "picocolors";
3
+ function displayWelcome() {
4
+ var projectName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "Takeout";
5
+ console.info(), p.intro(pc.bgCyan(pc.black(` ${projectName} Starter Kit `))), console.info(), p.note(pc.dim(`You can re-run 'bun onboard' anytime to reconfigure or skip to specific steps.
6
+ No need to decide everything upfront!`), pc.cyan("Tip"));
7
+ }
8
+ function displayOutro(message) {
9
+ p.outro(pc.green(message));
10
+ }
11
+ function displayPrerequisites(checks) {
12
+ var items = checks.map(function (check) {
13
+ var icon = check.installed ? pc.green("\u2713") : pc.red("\u2717"),
14
+ message = check.message || "",
15
+ recommendation = check.recommendation ? `
16
+ ${pc.dim(check.recommendation)}` : "";
17
+ return `${icon} ${pc.bold(check.name)}: ${message}${recommendation}`;
18
+ });
19
+ p.note(items.join(`
20
+ `), "Prerequisites");
21
+ }
22
+ function displayPortConflicts(conflicts) {
23
+ if (conflicts.length !== 0) {
24
+ var items = conflicts.map(function (conflict) {
25
+ var pid = conflict.pid ? ` (PID: ${conflict.pid})` : "";
26
+ return `${pc.yellow("\u26A0")} Port ${conflict.port} (${conflict.name})${pid}`;
27
+ });
28
+ p.note(items.join(`
29
+ `), pc.yellow("Port Conflicts Detected"));
30
+ }
31
+ }
32
+ async function confirmContinue(message) {
33
+ var defaultValue = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0,
34
+ result = await p.confirm({
35
+ message,
36
+ initialValue: defaultValue
37
+ });
38
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
39
+ }
40
+ async function promptText(message, defaultValue, placeholder) {
41
+ var result = await p.text({
42
+ message,
43
+ defaultValue,
44
+ placeholder
45
+ });
46
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
47
+ }
48
+ async function promptPassword(message) {
49
+ var result = await p.password({
50
+ message
51
+ });
52
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
53
+ }
54
+ async function promptSelect(message, options) {
55
+ var result = await p.select({
56
+ message,
57
+ options
58
+ });
59
+ return p.isCancel(result) ? "cancel" : result;
60
+ }
61
+ async function promptStartStep() {
62
+ return console.info(), console.info(pc.gray("What would you like to do?")), console.info(), promptSelect("Select starting point:", [{
63
+ value: "full",
64
+ label: "Complete setup",
65
+ hint: "Run through all setup steps"
66
+ }, {
67
+ value: "prerequisites",
68
+ label: "Check prerequisites",
69
+ hint: "Verify bun, docker, git, etc."
70
+ }, {
71
+ value: "identity",
72
+ label: "Project identity",
73
+ hint: "Customize app name and bundle ID"
74
+ }, {
75
+ value: "ports",
76
+ label: "Check ports",
77
+ hint: "Verify required ports are available"
78
+ }, {
79
+ value: "eject",
80
+ label: "Eject from monorepo",
81
+ hint: "Remove ./packages, use published versions"
82
+ }, {
83
+ value: "production",
84
+ label: "Production deployment",
85
+ hint: "Configure production environment and deployment"
86
+ }]);
87
+ }
88
+ async function promptOldSelect(message, options) {
89
+ var result = await p.select({
90
+ message,
91
+ options
92
+ });
93
+ return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
94
+ }
95
+ function showSpinner(message) {
96
+ var s = p.spinner();
97
+ return s.start(message), s;
98
+ }
99
+ function showError(message) {
100
+ p.log.error(pc.red(message));
101
+ }
102
+ function showWarning(message) {
103
+ p.log.warning(pc.yellow(message));
104
+ }
105
+ function showSuccess(message) {
106
+ p.log.success(pc.green(message));
107
+ }
108
+ function showInfo(message) {
109
+ p.log.info(pc.blue(message));
110
+ }
111
+ function showStep(message) {
112
+ p.log.step(message);
113
+ }
114
+ export { confirmContinue, displayOutro, displayPortConflicts, displayPrerequisites, displayWelcome, promptOldSelect, promptPassword, promptSelect, promptStartStep, promptText, showError, showInfo, showSpinner, showStep, showSuccess, showWarning };
115
+ //# sourceMappingURL=prompts.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["p","pc","displayWelcome","projectName","arguments","length","console","info","intro","bgCyan","black","note","dim","cyan","displayOutro","message","outro","green","displayPrerequisites","checks","items","map","check","icon","installed","red","recommendation","bold","name","join","displayPortConflicts","conflicts","conflict","pid","yellow","port","confirmContinue","defaultValue","result","confirm","initialValue","isCancel","cancel","process","exit","promptText","placeholder","text","promptPassword","password","promptSelect","options","select","promptStartStep","gray","value","label","hint","promptOldSelect","showSpinner","s","spinner","start","showError","log","error","showWarning","warning","showSuccess","success","showInfo","blue","showStep","step"],"sources":["../../../src/utils/prompts.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}