@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,212 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf,
6
+ __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: !0
11
+ });
12
+ },
13
+ __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: !0
28
+ }) : target, mod)),
29
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
+ value: !0
31
+ }), mod);
32
+ var changed_exports = {};
33
+ __export(changed_exports, {
34
+ changedCommand: () => changedCommand
35
+ });
36
+ module.exports = __toCommonJS(changed_exports);
37
+ var import_node_child_process = require("node:child_process"),
38
+ import_node_fs = require("node:fs"),
39
+ import_node_path = require("node:path"),
40
+ import_citty = require("citty"),
41
+ import_picocolors = __toESM(require("picocolors"), 1);
42
+ const UPSTREAM_REPO = "tamagui/takeout3",
43
+ UPSTREAM_REMOTE = "takeout-upstream",
44
+ TAKEOUT_FILE = ".takeout",
45
+ COMMIT_TYPE_ORDER = ["feat", "fix", "perf", "refactor", "docs", "chore", "test", "ci"];
46
+ function readTakeoutConfig() {
47
+ const configPath = (0, import_node_path.join)(process.cwd(), TAKEOUT_FILE);
48
+ if (!(0, import_node_fs.existsSync)(configPath)) return null;
49
+ try {
50
+ const content = (0, import_node_fs.readFileSync)(configPath, "utf-8"),
51
+ config = {};
52
+ for (const line of content.split(`
53
+ `)) {
54
+ const trimmed = line.trim();
55
+ if (trimmed.startsWith("#") || !trimmed) continue;
56
+ const [key, ...valueParts] = trimmed.split("="),
57
+ value = valueParts.join("=").trim();
58
+ key === "sha" && (config.sha = value), key === "date" && (config.date = value);
59
+ }
60
+ return config;
61
+ } catch {
62
+ return null;
63
+ }
64
+ }
65
+ function parseConventionalCommit(message) {
66
+ const match = message.match(/^(\w+)(?:\(([^)]+)\))?(!)?: (.+)$/);
67
+ if (!match) return null;
68
+ const [, type, scope, breaking, msg] = match;
69
+ return ["feat", "fix", "perf", "refactor", "docs", "chore", "test", "ci", "build", "style"].includes(type) ? {
70
+ type,
71
+ scope,
72
+ message: msg,
73
+ breaking: !!breaking || message.toLowerCase().includes("breaking")
74
+ } : null;
75
+ }
76
+ function ensureUpstreamRemote() {
77
+ try {
78
+ return (0, import_node_child_process.execSync)("git remote", {
79
+ encoding: "utf-8"
80
+ }).includes(UPSTREAM_REMOTE) || (console.info(import_picocolors.default.dim(` adding ${UPSTREAM_REMOTE} remote...`)), (0, import_node_child_process.execSync)(`git remote add ${UPSTREAM_REMOTE} git@github.com:${UPSTREAM_REPO}.git`, {
81
+ stdio: "pipe"
82
+ })), console.info(import_picocolors.default.dim(` fetching from ${UPSTREAM_REMOTE}...`)), (0, import_node_child_process.execSync)(`git fetch ${UPSTREAM_REMOTE} --quiet`, {
83
+ stdio: "pipe"
84
+ }), !0;
85
+ } catch (err) {
86
+ return console.error(import_picocolors.default.red(`failed to setup upstream remote: ${err}`)), !1;
87
+ }
88
+ }
89
+ function getCommitsBetween(fromSha, toRef) {
90
+ const commits = [];
91
+ try {
92
+ const lines = (0, import_node_child_process.execSync)(`git log ${fromSha}..${toRef} --pretty=format:"%H|%ad|%s" --date=short 2>/dev/null`, {
93
+ encoding: "utf-8",
94
+ maxBuffer: 10485760
95
+ }).trim().split(`
96
+ `).filter(Boolean);
97
+ for (const line of lines) {
98
+ const [hash, date, ...messageParts] = line.split("|"),
99
+ message = messageParts.join("|"),
100
+ parsed = parseConventionalCommit(message);
101
+ commits.push({
102
+ hash: hash.slice(0, 7),
103
+ type: parsed?.type || "other",
104
+ scope: parsed?.scope,
105
+ message: parsed?.message || message,
106
+ breaking: parsed?.breaking || !1,
107
+ date
108
+ });
109
+ }
110
+ } catch {}
111
+ return commits;
112
+ }
113
+ function formatChangelog(commits) {
114
+ if (commits.length === 0) {
115
+ console.info(import_picocolors.default.dim(" no changes found"));
116
+ return;
117
+ }
118
+ const grouped = /* @__PURE__ */new Map();
119
+ for (const commit of commits) {
120
+ const existing = grouped.get(commit.type) || [];
121
+ existing.push(commit), grouped.set(commit.type, existing);
122
+ }
123
+ const sortedTypes = Array.from(grouped.keys()).sort((a, b) => {
124
+ const aIdx = COMMIT_TYPE_ORDER.indexOf(a),
125
+ bIdx = COMMIT_TYPE_ORDER.indexOf(b);
126
+ return (aIdx === -1 ? 999 : aIdx) - (bIdx === -1 ? 999 : bIdx);
127
+ }),
128
+ breakingChanges = commits.filter(c => c.breaking);
129
+ if (breakingChanges.length > 0) {
130
+ console.info(), console.info(import_picocolors.default.red(import_picocolors.default.bold(" BREAKING CHANGES")));
131
+ for (const commit of breakingChanges) {
132
+ const scope = commit.scope ? import_picocolors.default.cyan(`(${commit.scope})`) : "";
133
+ console.info(` ${import_picocolors.default.red("!")} ${scope} ${commit.message} ${import_picocolors.default.dim(`(${commit.hash})`)}`);
134
+ }
135
+ }
136
+ const typeLabels = {
137
+ feat: "Features",
138
+ fix: "Bug Fixes",
139
+ perf: "Performance",
140
+ refactor: "Refactoring",
141
+ docs: "Documentation",
142
+ chore: "Maintenance",
143
+ test: "Tests",
144
+ ci: "CI",
145
+ build: "Build",
146
+ style: "Style",
147
+ other: "Other"
148
+ },
149
+ typeColors = {
150
+ feat: import_picocolors.default.green,
151
+ fix: import_picocolors.default.yellow,
152
+ perf: import_picocolors.default.magenta,
153
+ refactor: import_picocolors.default.blue,
154
+ docs: import_picocolors.default.dim,
155
+ chore: import_picocolors.default.dim,
156
+ test: import_picocolors.default.dim,
157
+ ci: import_picocolors.default.dim,
158
+ build: import_picocolors.default.dim,
159
+ style: import_picocolors.default.dim,
160
+ other: import_picocolors.default.white
161
+ };
162
+ for (const type of sortedTypes) {
163
+ const typeCommits = grouped.get(type).filter(c => !c.breaking);
164
+ if (typeCommits.length === 0) continue;
165
+ const label = typeLabels[type] || type,
166
+ color = typeColors[type] || import_picocolors.default.white;
167
+ console.info(), console.info(color(import_picocolors.default.bold(` ${label}`)));
168
+ for (const commit of typeCommits) {
169
+ const scope = commit.scope ? import_picocolors.default.cyan(`(${commit.scope}) `) : "";
170
+ console.info(` ${import_picocolors.default.dim("-")} ${scope}${commit.message} ${import_picocolors.default.dim(`(${commit.hash})`)}`);
171
+ }
172
+ }
173
+ }
174
+ const changedCommand = (0, import_citty.defineCommand)({
175
+ meta: {
176
+ name: "changed",
177
+ description: "Show changes in upstream Takeout since last sync"
178
+ },
179
+ args: {
180
+ from: {
181
+ type: "string",
182
+ description: "Starting commit SHA (defaults to .takeout file)"
183
+ },
184
+ to: {
185
+ type: "string",
186
+ description: "Ending commit ref (defaults to upstream main)"
187
+ }
188
+ },
189
+ async run({
190
+ args
191
+ }) {
192
+ console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.cyan("Takeout Changes"))), console.info();
193
+ let fromSha = args.from;
194
+ const config = readTakeoutConfig();
195
+ if (!fromSha) {
196
+ if (!config?.sha) {
197
+ console.info(import_picocolors.default.yellow("No .takeout file found with last sync SHA.")), console.info(), console.info(import_picocolors.default.dim("Either:")), console.info(import_picocolors.default.dim(" 1. Create a .takeout file with: sha=<commit-sha>")), console.info(import_picocolors.default.dim(" 2. Run with --from <sha> to specify starting point")), console.info(import_picocolors.default.dim(" 3. Run `tko sync` to sync and create the file")), console.info();
198
+ return;
199
+ }
200
+ fromSha = config.sha;
201
+ }
202
+ if (!ensureUpstreamRemote()) return;
203
+ const toRef = args.to || `${UPSTREAM_REMOTE}/main`;
204
+ console.info(import_picocolors.default.dim(` from: ${fromSha.slice(0, 7)}`)), console.info(import_picocolors.default.dim(` to: ${toRef}`)), config?.date && console.info(import_picocolors.default.dim(` last sync: ${config.date}`));
205
+ const commits = getCommitsBetween(fromSha, toRef);
206
+ if (commits.length === 0) {
207
+ console.info(), console.info(import_picocolors.default.green("\u2713 Already up to date with upstream!")), console.info();
208
+ return;
209
+ }
210
+ console.info(), console.info(import_picocolors.default.bold(`${commits.length} commit${commits.length === 1 ? "" : "s"} since last sync:`)), formatChangelog(commits), console.info(), console.info(import_picocolors.default.dim("Run `tko sync` to sync these changes into your fork.")), console.info();
211
+ }
212
+ });
@@ -0,0 +1,214 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
+ // If the importer is in node compatibility mode or this is not an ESM
17
+ // file that has been converted to a CommonJS file using a Babel-
18
+ // compatible transform (i.e. "__esModule" has not been set), then set
19
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
+ mod
22
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
+ var changed_exports = {};
24
+ __export(changed_exports, {
25
+ changedCommand: () => changedCommand
26
+ });
27
+ module.exports = __toCommonJS(changed_exports);
28
+ var import_node_child_process = require("node:child_process"), import_node_fs = require("node:fs"), import_node_path = require("node:path"), import_citty = require("citty"), import_picocolors = __toESM(require("picocolors"), 1);
29
+ const UPSTREAM_REPO = "tamagui/takeout3", UPSTREAM_REMOTE = "takeout-upstream", TAKEOUT_FILE = ".takeout", COMMIT_TYPE_ORDER = [
30
+ "feat",
31
+ "fix",
32
+ "perf",
33
+ "refactor",
34
+ "docs",
35
+ "chore",
36
+ "test",
37
+ "ci"
38
+ ];
39
+ function readTakeoutConfig() {
40
+ const configPath = (0, import_node_path.join)(process.cwd(), TAKEOUT_FILE);
41
+ if (!(0, import_node_fs.existsSync)(configPath))
42
+ return null;
43
+ try {
44
+ const content = (0, import_node_fs.readFileSync)(configPath, "utf-8"), config = {};
45
+ for (const line of content.split(`
46
+ `)) {
47
+ const trimmed = line.trim();
48
+ if (trimmed.startsWith("#") || !trimmed) continue;
49
+ const [key, ...valueParts] = trimmed.split("="), value = valueParts.join("=").trim();
50
+ key === "sha" && (config.sha = value), key === "date" && (config.date = value);
51
+ }
52
+ return config;
53
+ } catch {
54
+ return null;
55
+ }
56
+ }
57
+ function parseConventionalCommit(message) {
58
+ const match = message.match(/^(\w+)(?:\(([^)]+)\))?(!)?: (.+)$/);
59
+ if (!match) return null;
60
+ const [, type, scope, breaking, msg] = match;
61
+ return [
62
+ "feat",
63
+ "fix",
64
+ "perf",
65
+ "refactor",
66
+ "docs",
67
+ "chore",
68
+ "test",
69
+ "ci",
70
+ "build",
71
+ "style"
72
+ ].includes(type) ? {
73
+ type,
74
+ scope,
75
+ message: msg,
76
+ breaking: !!breaking || message.toLowerCase().includes("breaking")
77
+ } : null;
78
+ }
79
+ function ensureUpstreamRemote() {
80
+ try {
81
+ return (0, import_node_child_process.execSync)("git remote", { encoding: "utf-8" }).includes(UPSTREAM_REMOTE) || (console.info(import_picocolors.default.dim(` adding ${UPSTREAM_REMOTE} remote...`)), (0, import_node_child_process.execSync)(`git remote add ${UPSTREAM_REMOTE} git@github.com:${UPSTREAM_REPO}.git`, {
82
+ stdio: "pipe"
83
+ })), console.info(import_picocolors.default.dim(` fetching from ${UPSTREAM_REMOTE}...`)), (0, import_node_child_process.execSync)(`git fetch ${UPSTREAM_REMOTE} --quiet`, { stdio: "pipe" }), !0;
84
+ } catch (err) {
85
+ return console.error(import_picocolors.default.red(`failed to setup upstream remote: ${err}`)), !1;
86
+ }
87
+ }
88
+ function getCommitsBetween(fromSha, toRef) {
89
+ const commits = [];
90
+ try {
91
+ const lines = (0, import_node_child_process.execSync)(
92
+ `git log ${fromSha}..${toRef} --pretty=format:"%H|%ad|%s" --date=short 2>/dev/null`,
93
+ { encoding: "utf-8", maxBuffer: 10485760 }
94
+ ).trim().split(`
95
+ `).filter(Boolean);
96
+ for (const line of lines) {
97
+ const [hash, date, ...messageParts] = line.split("|"), message = messageParts.join("|"), parsed = parseConventionalCommit(message);
98
+ commits.push({
99
+ hash: hash.slice(0, 7),
100
+ type: parsed?.type || "other",
101
+ scope: parsed?.scope,
102
+ message: parsed?.message || message,
103
+ breaking: parsed?.breaking || !1,
104
+ date
105
+ });
106
+ }
107
+ } catch {
108
+ }
109
+ return commits;
110
+ }
111
+ function formatChangelog(commits) {
112
+ if (commits.length === 0) {
113
+ console.info(import_picocolors.default.dim(" no changes found"));
114
+ return;
115
+ }
116
+ const grouped = /* @__PURE__ */ new Map();
117
+ for (const commit of commits) {
118
+ const existing = grouped.get(commit.type) || [];
119
+ existing.push(commit), grouped.set(commit.type, existing);
120
+ }
121
+ const sortedTypes = Array.from(grouped.keys()).sort((a, b) => {
122
+ const aIdx = COMMIT_TYPE_ORDER.indexOf(a), bIdx = COMMIT_TYPE_ORDER.indexOf(b);
123
+ return (aIdx === -1 ? 999 : aIdx) - (bIdx === -1 ? 999 : bIdx);
124
+ }), breakingChanges = commits.filter((c) => c.breaking);
125
+ if (breakingChanges.length > 0) {
126
+ console.info(), console.info(import_picocolors.default.red(import_picocolors.default.bold(" BREAKING CHANGES")));
127
+ for (const commit of breakingChanges) {
128
+ const scope = commit.scope ? import_picocolors.default.cyan(`(${commit.scope})`) : "";
129
+ console.info(
130
+ ` ${import_picocolors.default.red("!")} ${scope} ${commit.message} ${import_picocolors.default.dim(`(${commit.hash})`)}`
131
+ );
132
+ }
133
+ }
134
+ const typeLabels = {
135
+ feat: "Features",
136
+ fix: "Bug Fixes",
137
+ perf: "Performance",
138
+ refactor: "Refactoring",
139
+ docs: "Documentation",
140
+ chore: "Maintenance",
141
+ test: "Tests",
142
+ ci: "CI",
143
+ build: "Build",
144
+ style: "Style",
145
+ other: "Other"
146
+ }, typeColors = {
147
+ feat: import_picocolors.default.green,
148
+ fix: import_picocolors.default.yellow,
149
+ perf: import_picocolors.default.magenta,
150
+ refactor: import_picocolors.default.blue,
151
+ docs: import_picocolors.default.dim,
152
+ chore: import_picocolors.default.dim,
153
+ test: import_picocolors.default.dim,
154
+ ci: import_picocolors.default.dim,
155
+ build: import_picocolors.default.dim,
156
+ style: import_picocolors.default.dim,
157
+ other: import_picocolors.default.white
158
+ };
159
+ for (const type of sortedTypes) {
160
+ const typeCommits = grouped.get(type).filter((c) => !c.breaking);
161
+ if (typeCommits.length === 0) continue;
162
+ const label = typeLabels[type] || type, color = typeColors[type] || import_picocolors.default.white;
163
+ console.info(), console.info(color(import_picocolors.default.bold(` ${label}`)));
164
+ for (const commit of typeCommits) {
165
+ const scope = commit.scope ? import_picocolors.default.cyan(`(${commit.scope}) `) : "";
166
+ console.info(
167
+ ` ${import_picocolors.default.dim("-")} ${scope}${commit.message} ${import_picocolors.default.dim(`(${commit.hash})`)}`
168
+ );
169
+ }
170
+ }
171
+ }
172
+ const changedCommand = (0, import_citty.defineCommand)({
173
+ meta: {
174
+ name: "changed",
175
+ description: "Show changes in upstream Takeout since last sync"
176
+ },
177
+ args: {
178
+ from: {
179
+ type: "string",
180
+ description: "Starting commit SHA (defaults to .takeout file)"
181
+ },
182
+ to: {
183
+ type: "string",
184
+ description: "Ending commit ref (defaults to upstream main)"
185
+ }
186
+ },
187
+ async run({ args }) {
188
+ console.info(), console.info(import_picocolors.default.bold(import_picocolors.default.cyan("Takeout Changes"))), console.info();
189
+ let fromSha = args.from;
190
+ const config = readTakeoutConfig();
191
+ if (!fromSha) {
192
+ if (!config?.sha) {
193
+ console.info(import_picocolors.default.yellow("No .takeout file found with last sync SHA.")), console.info(), console.info(import_picocolors.default.dim("Either:")), console.info(import_picocolors.default.dim(" 1. Create a .takeout file with: sha=<commit-sha>")), console.info(import_picocolors.default.dim(" 2. Run with --from <sha> to specify starting point")), console.info(import_picocolors.default.dim(" 3. Run `tko sync` to sync and create the file")), console.info();
194
+ return;
195
+ }
196
+ fromSha = config.sha;
197
+ }
198
+ if (!ensureUpstreamRemote())
199
+ return;
200
+ const toRef = args.to || `${UPSTREAM_REMOTE}/main`;
201
+ console.info(import_picocolors.default.dim(` from: ${fromSha.slice(0, 7)}`)), console.info(import_picocolors.default.dim(` to: ${toRef}`)), config?.date && console.info(import_picocolors.default.dim(` last sync: ${config.date}`));
202
+ const commits = getCommitsBetween(fromSha, toRef);
203
+ if (commits.length === 0) {
204
+ console.info(), console.info(import_picocolors.default.green("\u2713 Already up to date with upstream!")), console.info();
205
+ return;
206
+ }
207
+ console.info(), console.info(
208
+ import_picocolors.default.bold(
209
+ `${commits.length} commit${commits.length === 1 ? "" : "s"} since last sync:`
210
+ )
211
+ ), formatChangelog(commits), console.info(), console.info(import_picocolors.default.dim("Run `tko sync` to sync these changes into your fork.")), console.info();
212
+ }
213
+ });
214
+ //# sourceMappingURL=changed.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/commands/changed.ts"],
4
+ "mappings": "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",
5
+ "names": ["pc"]
6
+ }