grf-cli 1.0.3 → 1.0.4

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 (324) hide show
  1. package/README.md +15 -7
  2. package/README.zh-CN.md +15 -7
  3. package/dist/commands/add/display.d.ts +10 -0
  4. package/dist/commands/add/display.d.ts.map +1 -0
  5. package/dist/commands/add/display.js +25 -0
  6. package/dist/commands/add/display.js.map +1 -0
  7. package/dist/commands/add/helpers.d.ts +11 -0
  8. package/dist/commands/add/helpers.d.ts.map +1 -0
  9. package/dist/commands/add/helpers.js +59 -0
  10. package/dist/commands/add/helpers.js.map +1 -0
  11. package/dist/commands/add/index.d.ts +12 -0
  12. package/dist/commands/add/index.d.ts.map +1 -0
  13. package/dist/commands/add/index.js +57 -0
  14. package/dist/commands/add/index.js.map +1 -0
  15. package/dist/commands/add/types.d.ts +32 -0
  16. package/dist/commands/add/types.d.ts.map +1 -0
  17. package/dist/commands/add/types.js +6 -0
  18. package/dist/commands/add/types.js.map +1 -0
  19. package/dist/commands/add.d.ts.map +1 -1
  20. package/dist/commands/add.js +6 -5
  21. package/dist/commands/add.js.map +1 -1
  22. package/dist/commands/clean/display.d.ts +30 -0
  23. package/dist/commands/clean/display.d.ts.map +1 -0
  24. package/dist/commands/clean/display.js +67 -0
  25. package/dist/commands/clean/display.js.map +1 -0
  26. package/dist/commands/clean/handlers/clean-all.d.ts +12 -0
  27. package/dist/commands/clean/handlers/clean-all.d.ts.map +1 -0
  28. package/dist/commands/clean/handlers/clean-all.js +43 -0
  29. package/dist/commands/clean/handlers/clean-all.js.map +1 -0
  30. package/dist/commands/clean/handlers/clean-single.d.ts +13 -0
  31. package/dist/commands/clean/handlers/clean-single.d.ts.map +1 -0
  32. package/dist/commands/clean/handlers/clean-single.js +78 -0
  33. package/dist/commands/clean/handlers/clean-single.js.map +1 -0
  34. package/dist/commands/clean/handlers/index.d.ts +6 -0
  35. package/dist/commands/clean/handlers/index.d.ts.map +1 -0
  36. package/dist/commands/clean/handlers/index.js +11 -0
  37. package/dist/commands/clean/handlers/index.js.map +1 -0
  38. package/dist/commands/clean/helpers.d.ts +25 -0
  39. package/dist/commands/clean/helpers.d.ts.map +1 -0
  40. package/dist/commands/clean/helpers.js +70 -0
  41. package/dist/commands/clean/helpers.js.map +1 -0
  42. package/dist/commands/clean/index.d.ts +12 -0
  43. package/dist/commands/clean/index.d.ts.map +1 -0
  44. package/dist/commands/clean/index.js +90 -0
  45. package/dist/commands/clean/index.js.map +1 -0
  46. package/dist/commands/clean/types.d.ts +21 -0
  47. package/dist/commands/clean/types.d.ts.map +1 -0
  48. package/dist/commands/clean/types.js +6 -0
  49. package/dist/commands/clean/types.js.map +1 -0
  50. package/dist/commands/clean.d.ts.map +1 -1
  51. package/dist/commands/clean.js +3 -2
  52. package/dist/commands/clean.js.map +1 -1
  53. package/dist/commands/config/display.d.ts +36 -0
  54. package/dist/commands/config/display.d.ts.map +1 -0
  55. package/dist/commands/config/display.js +86 -0
  56. package/dist/commands/config/display.js.map +1 -0
  57. package/dist/commands/config/handlers/index.d.ts +8 -0
  58. package/dist/commands/config/handlers/index.d.ts.map +1 -0
  59. package/dist/commands/config/handlers/index.js +15 -0
  60. package/dist/commands/config/handlers/index.js.map +1 -0
  61. package/dist/commands/config/handlers/set-value.d.ts +11 -0
  62. package/dist/commands/config/handlers/set-value.d.ts.map +1 -0
  63. package/dist/commands/config/handlers/set-value.js +36 -0
  64. package/dist/commands/config/handlers/set-value.js.map +1 -0
  65. package/dist/commands/config/handlers/show-all.d.ts +11 -0
  66. package/dist/commands/config/handlers/show-all.d.ts.map +1 -0
  67. package/dist/commands/config/handlers/show-all.js +24 -0
  68. package/dist/commands/config/handlers/show-all.js.map +1 -0
  69. package/dist/commands/config/handlers/show-path.d.ts +11 -0
  70. package/dist/commands/config/handlers/show-path.d.ts.map +1 -0
  71. package/dist/commands/config/handlers/show-path.js +20 -0
  72. package/dist/commands/config/handlers/show-path.js.map +1 -0
  73. package/dist/commands/config/handlers/show-value.d.ts +11 -0
  74. package/dist/commands/config/handlers/show-value.d.ts.map +1 -0
  75. package/dist/commands/config/handlers/show-value.js +31 -0
  76. package/dist/commands/config/handlers/show-value.js.map +1 -0
  77. package/dist/commands/config/helpers.d.ts +23 -0
  78. package/dist/commands/config/helpers.d.ts.map +1 -0
  79. package/dist/commands/config/helpers.js +53 -0
  80. package/dist/commands/config/helpers.js.map +1 -0
  81. package/dist/commands/config/index.d.ts +12 -0
  82. package/dist/commands/config/index.d.ts.map +1 -0
  83. package/dist/commands/config/index.js +56 -0
  84. package/dist/commands/config/index.js.map +1 -0
  85. package/dist/commands/config/types.d.ts +31 -0
  86. package/dist/commands/config/types.d.ts.map +1 -0
  87. package/dist/commands/config/types.js +13 -0
  88. package/dist/commands/config/types.js.map +1 -0
  89. package/dist/commands/config.d.ts.map +1 -1
  90. package/dist/commands/config.js +3 -2
  91. package/dist/commands/config.js.map +1 -1
  92. package/dist/commands/index.d.ts +7 -7
  93. package/dist/commands/index.d.ts.map +1 -1
  94. package/dist/commands/index.js +28 -28
  95. package/dist/commands/index.js.map +1 -1
  96. package/dist/commands/list/display.d.ts +39 -0
  97. package/dist/commands/list/display.d.ts.map +1 -0
  98. package/dist/commands/list/display.js +144 -0
  99. package/dist/commands/list/display.js.map +1 -0
  100. package/dist/commands/list/index.d.ts +12 -0
  101. package/dist/commands/list/index.d.ts.map +1 -0
  102. package/dist/commands/list/index.js +128 -0
  103. package/dist/commands/list/index.js.map +1 -0
  104. package/dist/commands/list/types.d.ts +32 -0
  105. package/dist/commands/list/types.d.ts.map +1 -0
  106. package/dist/commands/list/types.js +6 -0
  107. package/dist/commands/list/types.js.map +1 -0
  108. package/dist/commands/list.d.ts.map +1 -1
  109. package/dist/commands/list.js +2 -1
  110. package/dist/commands/list.js.map +1 -1
  111. package/dist/commands/load/display.d.ts +28 -0
  112. package/dist/commands/load/display.d.ts.map +1 -0
  113. package/dist/commands/load/display.js +53 -0
  114. package/dist/commands/load/display.js.map +1 -0
  115. package/dist/commands/load/handlers/copy-repo.d.ts +13 -0
  116. package/dist/commands/load/handlers/copy-repo.d.ts.map +1 -0
  117. package/dist/commands/load/handlers/copy-repo.js +82 -0
  118. package/dist/commands/load/handlers/copy-repo.js.map +1 -0
  119. package/dist/commands/load/handlers/index.d.ts +6 -0
  120. package/dist/commands/load/handlers/index.d.ts.map +1 -0
  121. package/dist/commands/load/handlers/index.js +11 -0
  122. package/dist/commands/load/handlers/index.js.map +1 -0
  123. package/dist/commands/load/handlers/url-add.d.ts +13 -0
  124. package/dist/commands/load/handlers/url-add.d.ts.map +1 -0
  125. package/dist/commands/load/handlers/url-add.js +50 -0
  126. package/dist/commands/load/handlers/url-add.js.map +1 -0
  127. package/dist/commands/load/helpers.d.ts +81 -0
  128. package/dist/commands/load/helpers.d.ts.map +1 -0
  129. package/dist/commands/load/helpers.js +199 -0
  130. package/dist/commands/load/helpers.js.map +1 -0
  131. package/dist/commands/load/index.d.ts +13 -0
  132. package/dist/commands/load/index.d.ts.map +1 -0
  133. package/dist/commands/load/index.js +46 -0
  134. package/dist/commands/load/index.js.map +1 -0
  135. package/dist/commands/load/types.d.ts +37 -0
  136. package/dist/commands/load/types.d.ts.map +1 -0
  137. package/dist/commands/load/types.js +6 -0
  138. package/dist/commands/load/types.js.map +1 -0
  139. package/dist/commands/load.d.ts.map +1 -1
  140. package/dist/commands/load.js +4 -3
  141. package/dist/commands/load.js.map +1 -1
  142. package/dist/commands/options/all.d.ts +11 -0
  143. package/dist/commands/options/all.d.ts.map +1 -0
  144. package/dist/commands/options/all.js +14 -0
  145. package/dist/commands/options/all.js.map +1 -0
  146. package/dist/commands/options/branch.d.ts +11 -0
  147. package/dist/commands/options/branch.d.ts.map +1 -0
  148. package/dist/commands/options/branch.js +14 -0
  149. package/dist/commands/options/branch.js.map +1 -0
  150. package/dist/commands/options/check.d.ts +11 -0
  151. package/dist/commands/options/check.d.ts.map +1 -0
  152. package/dist/commands/options/check.js +14 -0
  153. package/dist/commands/options/check.js.map +1 -0
  154. package/dist/commands/options/clean-empty.d.ts +11 -0
  155. package/dist/commands/options/clean-empty.d.ts.map +1 -0
  156. package/dist/commands/options/clean-empty.js +14 -0
  157. package/dist/commands/options/clean-empty.js.map +1 -0
  158. package/dist/commands/options/depth.d.ts +11 -0
  159. package/dist/commands/options/depth.d.ts.map +1 -0
  160. package/dist/commands/options/depth.js +14 -0
  161. package/dist/commands/options/depth.js.map +1 -0
  162. package/dist/commands/options/dry-run.d.ts +11 -0
  163. package/dist/commands/options/dry-run.d.ts.map +1 -0
  164. package/dist/commands/options/dry-run.js +14 -0
  165. package/dist/commands/options/dry-run.js.map +1 -0
  166. package/dist/commands/options/force.d.ts +11 -0
  167. package/dist/commands/options/force.d.ts.map +1 -0
  168. package/dist/commands/options/force.js +14 -0
  169. package/dist/commands/options/force.js.map +1 -0
  170. package/dist/commands/options/index.d.ts +24 -0
  171. package/dist/commands/options/index.d.ts.map +1 -0
  172. package/dist/commands/options/index.js +53 -0
  173. package/dist/commands/options/index.js.map +1 -0
  174. package/dist/commands/options/json.d.ts +11 -0
  175. package/dist/commands/options/json.d.ts.map +1 -0
  176. package/dist/commands/options/json.js +14 -0
  177. package/dist/commands/options/json.js.map +1 -0
  178. package/dist/commands/options/keep-empty.d.ts +11 -0
  179. package/dist/commands/options/keep-empty.d.ts.map +1 -0
  180. package/dist/commands/options/keep-empty.js +14 -0
  181. package/dist/commands/options/keep-empty.js.map +1 -0
  182. package/dist/commands/options/list.d.ts +11 -0
  183. package/dist/commands/options/list.d.ts.map +1 -0
  184. package/dist/commands/options/list.js +14 -0
  185. package/dist/commands/options/list.js.map +1 -0
  186. package/dist/commands/options/name.d.ts +11 -0
  187. package/dist/commands/options/name.d.ts.map +1 -0
  188. package/dist/commands/options/name.js +14 -0
  189. package/dist/commands/options/name.js.map +1 -0
  190. package/dist/commands/options/no-ignore.d.ts +11 -0
  191. package/dist/commands/options/no-ignore.d.ts.map +1 -0
  192. package/dist/commands/options/no-ignore.js +14 -0
  193. package/dist/commands/options/no-ignore.js.map +1 -0
  194. package/dist/commands/options/path.d.ts +11 -0
  195. package/dist/commands/options/path.d.ts.map +1 -0
  196. package/dist/commands/options/path.js +14 -0
  197. package/dist/commands/options/path.js.map +1 -0
  198. package/dist/commands/options/shallow.d.ts +16 -0
  199. package/dist/commands/options/shallow.d.ts.map +1 -0
  200. package/dist/commands/options/shallow.js +19 -0
  201. package/dist/commands/options/shallow.js.map +1 -0
  202. package/dist/commands/options/status.d.ts +11 -0
  203. package/dist/commands/options/status.d.ts.map +1 -0
  204. package/dist/commands/options/status.js +14 -0
  205. package/dist/commands/options/status.js.map +1 -0
  206. package/dist/commands/options/subdir.d.ts +11 -0
  207. package/dist/commands/options/subdir.d.ts.map +1 -0
  208. package/dist/commands/options/subdir.js +14 -0
  209. package/dist/commands/options/subdir.js.map +1 -0
  210. package/dist/commands/options/sync-only.d.ts +11 -0
  211. package/dist/commands/options/sync-only.d.ts.map +1 -0
  212. package/dist/commands/options/sync-only.js +14 -0
  213. package/dist/commands/options/sync-only.js.map +1 -0
  214. package/dist/commands/options/sync.d.ts +11 -0
  215. package/dist/commands/options/sync.d.ts.map +1 -0
  216. package/dist/commands/options/sync.js +14 -0
  217. package/dist/commands/options/sync.js.map +1 -0
  218. package/dist/commands/options/verbose.d.ts +11 -0
  219. package/dist/commands/options/verbose.d.ts.map +1 -0
  220. package/dist/commands/options/verbose.js +14 -0
  221. package/dist/commands/options/verbose.js.map +1 -0
  222. package/dist/commands/unload/display.d.ts +29 -0
  223. package/dist/commands/unload/display.d.ts.map +1 -0
  224. package/dist/commands/unload/display.js +125 -0
  225. package/dist/commands/unload/display.js.map +1 -0
  226. package/dist/commands/unload/handlers/clean-empty.d.ts +11 -0
  227. package/dist/commands/unload/handlers/clean-empty.d.ts.map +1 -0
  228. package/dist/commands/unload/handlers/clean-empty.js +111 -0
  229. package/dist/commands/unload/handlers/clean-empty.js.map +1 -0
  230. package/dist/commands/unload/handlers/index.d.ts +8 -0
  231. package/dist/commands/unload/handlers/index.d.ts.map +1 -0
  232. package/dist/commands/unload/handlers/index.js +15 -0
  233. package/dist/commands/unload/handlers/index.js.map +1 -0
  234. package/dist/commands/unload/handlers/list.d.ts +11 -0
  235. package/dist/commands/unload/handlers/list.d.ts.map +1 -0
  236. package/dist/commands/unload/handlers/list.js +42 -0
  237. package/dist/commands/unload/handlers/list.js.map +1 -0
  238. package/dist/commands/unload/handlers/remove-all.d.ts +11 -0
  239. package/dist/commands/unload/handlers/remove-all.d.ts.map +1 -0
  240. package/dist/commands/unload/handlers/remove-all.js +184 -0
  241. package/dist/commands/unload/handlers/remove-all.js.map +1 -0
  242. package/dist/commands/unload/handlers/remove-single.d.ts +12 -0
  243. package/dist/commands/unload/handlers/remove-single.d.ts.map +1 -0
  244. package/dist/commands/unload/handlers/remove-single.js +217 -0
  245. package/dist/commands/unload/handlers/remove-single.js.map +1 -0
  246. package/dist/commands/unload/helpers.d.ts +55 -0
  247. package/dist/commands/unload/helpers.d.ts.map +1 -0
  248. package/dist/commands/unload/helpers.js +256 -0
  249. package/dist/commands/unload/helpers.js.map +1 -0
  250. package/dist/commands/unload/index.d.ts +12 -0
  251. package/dist/commands/unload/index.d.ts.map +1 -0
  252. package/dist/commands/unload/index.js +121 -0
  253. package/dist/commands/unload/index.js.map +1 -0
  254. package/dist/commands/unload/types.d.ts +53 -0
  255. package/dist/commands/unload/types.d.ts.map +1 -0
  256. package/dist/commands/unload/types.js +6 -0
  257. package/dist/commands/unload/types.js.map +1 -0
  258. package/dist/commands/unload.d.ts.map +1 -1
  259. package/dist/commands/unload.js +8 -7
  260. package/dist/commands/unload.js.map +1 -1
  261. package/dist/commands/update/display.d.ts +30 -0
  262. package/dist/commands/update/display.d.ts.map +1 -0
  263. package/dist/commands/update/display.js +161 -0
  264. package/dist/commands/update/display.js.map +1 -0
  265. package/dist/commands/update/handlers/index.d.ts +8 -0
  266. package/dist/commands/update/handlers/index.d.ts.map +1 -0
  267. package/dist/commands/update/handlers/index.js +15 -0
  268. package/dist/commands/update/handlers/index.js.map +1 -0
  269. package/dist/commands/update/handlers/status.d.ts +11 -0
  270. package/dist/commands/update/handlers/status.d.ts.map +1 -0
  271. package/dist/commands/update/handlers/status.js +20 -0
  272. package/dist/commands/update/handlers/status.js.map +1 -0
  273. package/dist/commands/update/handlers/sync-only.d.ts +11 -0
  274. package/dist/commands/update/handlers/sync-only.d.ts.map +1 -0
  275. package/dist/commands/update/handlers/sync-only.js +41 -0
  276. package/dist/commands/update/handlers/sync-only.js.map +1 -0
  277. package/dist/commands/update/handlers/update-all.d.ts +10 -0
  278. package/dist/commands/update/handlers/update-all.d.ts.map +1 -0
  279. package/dist/commands/update/handlers/update-all.js +125 -0
  280. package/dist/commands/update/handlers/update-all.js.map +1 -0
  281. package/dist/commands/update/handlers/update-single.d.ts +11 -0
  282. package/dist/commands/update/handlers/update-single.d.ts.map +1 -0
  283. package/dist/commands/update/handlers/update-single.js +154 -0
  284. package/dist/commands/update/handlers/update-single.js.map +1 -0
  285. package/dist/commands/update/helpers.d.ts +13 -0
  286. package/dist/commands/update/helpers.d.ts.map +1 -0
  287. package/dist/commands/update/helpers.js +86 -0
  288. package/dist/commands/update/helpers.js.map +1 -0
  289. package/dist/commands/update/index.d.ts +12 -0
  290. package/dist/commands/update/index.d.ts.map +1 -0
  291. package/dist/commands/update/index.js +67 -0
  292. package/dist/commands/update/index.js.map +1 -0
  293. package/dist/commands/update/types.d.ts +55 -0
  294. package/dist/commands/update/types.d.ts.map +1 -0
  295. package/dist/commands/update/types.js +6 -0
  296. package/dist/commands/update/types.js.map +1 -0
  297. package/dist/commands/update.d.ts.map +1 -1
  298. package/dist/commands/update.js +7 -6
  299. package/dist/commands/update.js.map +1 -1
  300. package/dist/core/filesystem.js +1 -1
  301. package/dist/core/filesystem.js.map +1 -1
  302. package/dist/core/loading-state.d.ts +32 -16
  303. package/dist/core/loading-state.d.ts.map +1 -1
  304. package/dist/core/loading-state.js +51 -26
  305. package/dist/core/loading-state.js.map +1 -1
  306. package/dist/core/loading.d.ts +4 -2
  307. package/dist/core/loading.d.ts.map +1 -1
  308. package/dist/core/loading.js +37 -35
  309. package/dist/core/loading.js.map +1 -1
  310. package/dist/core/migration.d.ts.map +1 -1
  311. package/dist/core/migration.js +1 -3
  312. package/dist/core/migration.js.map +1 -1
  313. package/dist/core/repository.js +2 -2
  314. package/dist/core/repository.js.map +1 -1
  315. package/dist/core/sync.d.ts.map +1 -1
  316. package/dist/core/sync.js.map +1 -1
  317. package/dist/types/index.d.ts +2 -0
  318. package/dist/types/index.d.ts.map +1 -1
  319. package/dist/ui/format.d.ts.map +1 -1
  320. package/dist/ui/format.js.map +1 -1
  321. package/dist/ui/table.d.ts +2 -2
  322. package/dist/ui/table.d.ts.map +1 -1
  323. package/dist/ui/table.js.map +1 -1
  324. package/package.json +23 -3
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * update 命令 --sync-only 处理逻辑
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.handleSyncOnly = handleSyncOnly;
10
+ const chalk_1 = __importDefault(require("chalk"));
11
+ const sync_js_1 = require("../../../core/sync.js");
12
+ const spinner_js_1 = require("../../../ui/spinner.js");
13
+ const display_js_1 = require("../display.js");
14
+ /**
15
+ * 处理 --sync-only 选项
16
+ * @param context 命令上下文
17
+ * @returns 如果处理了该选项返回 true,否则返回 false
18
+ */
19
+ async function handleSyncOnly(context) {
20
+ if (!context.syncOnly) {
21
+ return false;
22
+ }
23
+ if (context.dryRun) {
24
+ await (0, display_js_1.showDryRunSync)(context.force);
25
+ return true;
26
+ }
27
+ const spinner = (0, spinner_js_1.startSpinner)("Syncing to workspace...");
28
+ const results = await (0, sync_js_1.syncAll)(context.force);
29
+ spinner.stop();
30
+ if (results.length === 0) {
31
+ console.log(chalk_1.default.yellow("No loaded reference code."));
32
+ return true;
33
+ }
34
+ (0, display_js_1.displaySyncResults)(results);
35
+ const failCount = results.filter((r) => !r.success).length;
36
+ if (failCount > 0) {
37
+ process.exit(1);
38
+ }
39
+ return true;
40
+ }
41
+ //# sourceMappingURL=sync-only.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-only.js","sourceRoot":"","sources":["../../../../src/commands/update/handlers/sync-only.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAaH,wCA2BC;AAtCD,kDAA0B;AAC1B,mDAAgD;AAChD,uDAAsD;AAEtD,8CAAmE;AAEnE;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,OAAsB;IACzD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAA,2BAAc,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,yBAAY,EAAC,yBAAyB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,IAAA,iBAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC3D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * update 命令 - 更新所有仓库逻辑
3
+ */
4
+ import { UpdateContext } from "../types.js";
5
+ /**
6
+ * 处理更新所有仓库
7
+ * @param context 命令上下文
8
+ */
9
+ export declare function handleUpdateAll(context: UpdateContext): Promise<void>;
10
+ //# sourceMappingURL=update-all.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-all.d.ts","sourceRoot":"","sources":["../../../../src/commands/update/handlers/update-all.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAS1D;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4F3E"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * update 命令 - 更新所有仓库逻辑
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.handleUpdateAll = handleUpdateAll;
43
+ const chalk_1 = __importDefault(require("chalk"));
44
+ const repository = __importStar(require("../../../core/repository.js"));
45
+ const sync_js_1 = require("../../../core/sync.js");
46
+ const spinner_js_1 = require("../../../ui/spinner.js");
47
+ const helpers_js_1 = require("../helpers.js");
48
+ const display_js_1 = require("../display.js");
49
+ /**
50
+ * 处理更新所有仓库
51
+ * @param context 命令上下文
52
+ */
53
+ async function handleUpdateAll(context) {
54
+ const repos = await repository.list();
55
+ if (repos.length === 0) {
56
+ console.log(chalk_1.default.yellow("No repositories found."));
57
+ console.log(chalk_1.default.gray("\nUse `grf add <url>` to add a repository."));
58
+ return;
59
+ }
60
+ const actionText = context.checkOnly
61
+ ? "Checking repositories..."
62
+ : "Updating repositories...";
63
+ console.log(actionText);
64
+ console.log();
65
+ const results = [];
66
+ for (const repo of repos) {
67
+ const spinner = (0, spinner_js_1.createSpinner)(` ${repo.name}`).start();
68
+ const result = await (0, helpers_js_1.updateRepo)(repo, context.checkOnly);
69
+ results.push(result);
70
+ // 更新 spinner 显示结果
71
+ const icon = (0, display_js_1.getStatusIcon)(result.status);
72
+ const statusText = (0, display_js_1.getStatusText)(result);
73
+ spinner.stopAndPersist({
74
+ symbol: icon,
75
+ text: `${repo.name} ${statusText}`,
76
+ });
77
+ }
78
+ // 统计结果
79
+ const updatedCount = results.filter((r) => r.status === "updated").length;
80
+ const hasUpdatesCount = results.filter((r) => r.status === "has-updates").length;
81
+ const errorCount = results.filter((r) => r.status === "error").length;
82
+ console.log();
83
+ if (context.checkOnly) {
84
+ if (hasUpdatesCount > 0) {
85
+ console.log(chalk_1.default.yellow(`${hasUpdatesCount} repository${hasUpdatesCount > 1 ? "ies have" : " has"} updates available.`));
86
+ }
87
+ else if (errorCount === 0) {
88
+ console.log(chalk_1.default.green("All repositories are up-to-date."));
89
+ }
90
+ }
91
+ else {
92
+ if (updatedCount > 0) {
93
+ console.log(chalk_1.default.green(`${updatedCount} repository${updatedCount > 1 ? "ies" : ""} updated.`));
94
+ }
95
+ else if (errorCount === 0) {
96
+ console.log(chalk_1.default.green("All repositories are up-to-date."));
97
+ }
98
+ }
99
+ if (errorCount > 0) {
100
+ console.log(chalk_1.default.red(`${errorCount} repository${errorCount > 1 ? "ies" : ""} failed to update.`));
101
+ process.exit(1);
102
+ }
103
+ // --sync: 更新后同步到工作区
104
+ if (context.doSync && !context.checkOnly) {
105
+ console.log();
106
+ if (context.dryRun) {
107
+ await (0, display_js_1.showDryRunSync)(context.force);
108
+ }
109
+ else {
110
+ console.log(chalk_1.default.bold("Syncing to workspace...\n"));
111
+ const syncResults = await (0, sync_js_1.syncAll)(context.force);
112
+ if (syncResults.length === 0) {
113
+ console.log(chalk_1.default.gray("No loaded reference code needs syncing."));
114
+ }
115
+ else {
116
+ (0, display_js_1.displaySyncResults)(syncResults);
117
+ const syncFailCount = syncResults.filter((r) => !r.success).length;
118
+ if (syncFailCount > 0) {
119
+ process.exit(1);
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ //# sourceMappingURL=update-all.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-all.js","sourceRoot":"","sources":["../../../../src/commands/update/handlers/update-all.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * update 命令 - 更新单个仓库逻辑
3
+ */
4
+ import { UpdateContext } from "../types.js";
5
+ /**
6
+ * 处理更新单个仓库
7
+ * @param context 命令上下文
8
+ * @returns 如果处理了该选项返回 true,否则返回 false
9
+ */
10
+ export declare function handleUpdateSingle(context: UpdateContext): Promise<boolean>;
11
+ //# sourceMappingURL=update-single.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-single.d.ts","sourceRoot":"","sources":["../../../../src/commands/update/handlers/update-single.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CAmIlB"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ /**
3
+ * update 命令 - 更新单个仓库逻辑
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.handleUpdateSingle = handleUpdateSingle;
43
+ const chalk_1 = __importDefault(require("chalk"));
44
+ const repository = __importStar(require("../../../core/repository.js"));
45
+ const sync_js_1 = require("../../../core/sync.js");
46
+ const format_js_1 = require("../../../ui/format.js");
47
+ const spinner_js_1 = require("../../../ui/spinner.js");
48
+ const helpers_js_1 = require("../helpers.js");
49
+ const display_js_1 = require("../display.js");
50
+ /**
51
+ * 处理更新单个仓库
52
+ * @param context 命令上下文
53
+ * @returns 如果处理了该选项返回 true,否则返回 false
54
+ */
55
+ async function handleUpdateSingle(context) {
56
+ if (!context.name) {
57
+ return false;
58
+ }
59
+ const name = context.name;
60
+ const spinner = (0, spinner_js_1.startSpinner)("Checking for updates...");
61
+ const repoInfo = await repository.get(name);
62
+ if (!repoInfo) {
63
+ spinner.fail(chalk_1.default.red("Repository not found"));
64
+ console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} Repository not found: ${name}`));
65
+ process.exit(1);
66
+ }
67
+ const result = await (0, helpers_js_1.updateRepo)(repoInfo, context.checkOnly);
68
+ if (result.status === "error") {
69
+ spinner.fail(chalk_1.default.red("Update failed"));
70
+ console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} ${result.error}`));
71
+ process.exit(1);
72
+ }
73
+ if (result.status === "up-to-date") {
74
+ spinner.succeed(chalk_1.default.green("Repository is up-to-date"));
75
+ console.log();
76
+ console.log(` ${chalk_1.default.gray("Name:")} ${repoInfo.name}`);
77
+ console.log(` ${chalk_1.default.gray("Commit:")} ${(0, format_js_1.shortCommit)(repoInfo.commitId)}...`);
78
+ }
79
+ else if (result.status === "has-updates") {
80
+ spinner.succeed(chalk_1.default.yellow("Updates available"));
81
+ console.log();
82
+ console.log(` ${chalk_1.default.gray("Name:")} ${repoInfo.name}`);
83
+ console.log(` ${chalk_1.default.gray("Status:")} ${chalk_1.default.yellow("has updates available")}`);
84
+ console.log();
85
+ console.log(chalk_1.default.gray(" Run without --check to apply updates."));
86
+ }
87
+ else if (result.status === "updated") {
88
+ spinner.succeed(chalk_1.default.green("Repository updated!"));
89
+ console.log();
90
+ console.log(` ${chalk_1.default.gray("Name:")} ${repoInfo.name}`);
91
+ console.log(` ${chalk_1.default.gray("Old Commit:")} ${(0, format_js_1.shortCommit)(result.oldCommit)}...`);
92
+ console.log(` ${chalk_1.default.gray("New Commit:")} ${(0, format_js_1.shortCommit)(result.newCommit)}...`);
93
+ // --sync: 更新后同步到工作区
94
+ if (context.doSync) {
95
+ console.log();
96
+ if (context.dryRun) {
97
+ console.log(chalk_1.default.bold("[Dry Run] Will sync to workspace..."));
98
+ console.log(chalk_1.default.gray("This is dry-run mode, no actual operations performed."));
99
+ }
100
+ else {
101
+ const syncSpinner = (0, spinner_js_1.startSpinner)("Syncing to workspace...");
102
+ const syncResults = await (0, sync_js_1.syncAll)(context.force);
103
+ syncSpinner.stop();
104
+ // 仅显示与当前仓库相关的同步结果
105
+ const relevantResults = syncResults.filter((r) => r.repoName === repoInfo.name || r.repoName.includes(name));
106
+ if (relevantResults.length > 0) {
107
+ (0, display_js_1.displaySyncResults)(relevantResults);
108
+ }
109
+ else {
110
+ console.log(chalk_1.default.gray("No workspace entries need syncing."));
111
+ }
112
+ }
113
+ }
114
+ }
115
+ // 如果仓库已是最新但用户指定了 --sync,也执行同步
116
+ if ((result.status === "up-to-date" || result.status === "has-updates") &&
117
+ context.doSync &&
118
+ !context.checkOnly) {
119
+ console.log();
120
+ if (context.dryRun) {
121
+ console.log(chalk_1.default.bold("[Dry Run] Will sync to workspace..."));
122
+ const statusList = await (0, sync_js_1.getAllSyncStatus)();
123
+ const relevantStatus = statusList.filter((s) => s.repoName === repoInfo.name || s.repoName.includes(name));
124
+ if (relevantStatus.length > 0 &&
125
+ relevantStatus.some((s) => s.needsSync || context.force)) {
126
+ for (const status of relevantStatus) {
127
+ if (status.needsSync || context.force) {
128
+ const oldCommit = (0, format_js_1.shortCommit)(status.loadedCommitId);
129
+ const newCommit = (0, format_js_1.shortCommit)(status.cacheCommitId);
130
+ console.log(chalk_1.default.yellow(` - ${status.repoName}: ${oldCommit} → ${newCommit}`));
131
+ }
132
+ }
133
+ }
134
+ else {
135
+ console.log(chalk_1.default.gray("No workspace entries need syncing."));
136
+ }
137
+ console.log(chalk_1.default.gray("\nThis is dry-run mode, no actual operations performed."));
138
+ }
139
+ else {
140
+ const syncSpinner = (0, spinner_js_1.startSpinner)("Syncing to workspace...");
141
+ const syncResults = await (0, sync_js_1.syncAll)(context.force);
142
+ syncSpinner.stop();
143
+ const relevantResults = syncResults.filter((r) => r.repoName === repoInfo.name || r.repoName.includes(name));
144
+ if (relevantResults.length > 0) {
145
+ (0, display_js_1.displaySyncResults)(relevantResults);
146
+ }
147
+ else {
148
+ console.log(chalk_1.default.gray("No workspace entries need syncing."));
149
+ }
150
+ }
151
+ }
152
+ return true;
153
+ }
154
+ //# sourceMappingURL=update-single.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-single.js","sourceRoot":"","sources":["../../../../src/commands/update/handlers/update-single.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * update 命令辅助函数
3
+ */
4
+ import type { RepoInfo } from "../../core/repository.js";
5
+ import { UpdateResult } from "./types.js";
6
+ /**
7
+ * 更新单个仓库
8
+ * @param repoInfo 仓库信息
9
+ * @param checkOnly 是否仅检查更新
10
+ * @returns 更新结果
11
+ */
12
+ export declare function updateRepo(repoInfo: RepoInfo, checkOnly: boolean): Promise<UpdateResult>;
13
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/update/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,YAAY,CAAC,CA2CvB"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ /**
3
+ * update 命令辅助函数
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.updateRepo = updateRepo;
40
+ const git = __importStar(require("../../core/git.js"));
41
+ const config_js_1 = require("../../core/config.js");
42
+ /**
43
+ * 更新单个仓库
44
+ * @param repoInfo 仓库信息
45
+ * @param checkOnly 是否仅检查更新
46
+ * @returns 更新结果
47
+ */
48
+ async function updateRepo(repoInfo, checkOnly) {
49
+ const repoPath = repoInfo.path;
50
+ const oldCommit = repoInfo.commitId;
51
+ try {
52
+ // 检查更新
53
+ const hasUpdates = await git.hasUpdates(repoPath);
54
+ if (!hasUpdates) {
55
+ return { name: repoInfo.name, status: "up-to-date" };
56
+ }
57
+ if (checkOnly) {
58
+ return { name: repoInfo.name, status: "has-updates" };
59
+ }
60
+ // 执行更新
61
+ await git.pull(repoPath);
62
+ // 更新元信息
63
+ const newCommit = await git.getCurrentCommit(repoPath);
64
+ const meta = await (0, config_js_1.readRepoMeta)(repoPath);
65
+ if (meta) {
66
+ meta.commitId = newCommit;
67
+ meta.updatedAt = new Date().toISOString();
68
+ await (0, config_js_1.writeRepoMeta)(repoPath, meta);
69
+ }
70
+ return {
71
+ name: repoInfo.name,
72
+ status: "updated",
73
+ oldCommit,
74
+ newCommit,
75
+ };
76
+ }
77
+ catch (error) {
78
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
79
+ return {
80
+ name: repoInfo.name,
81
+ status: "error",
82
+ error: errorMessage,
83
+ };
84
+ }
85
+ }
86
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/update/helpers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,gCA8CC;AAzDD,uDAAyC;AACzC,oDAAmE;AAInE;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAC9B,QAAkB,EAClB,SAAkB;IAElB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAEpC,IAAI,CAAC;QACH,OAAO;QACP,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACvD,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QACxD,CAAC;QAED,OAAO;QACP,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzB,QAAQ;QACR,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAY,EAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,IAAA,yBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * update 命令
3
+ * 更新缓存的仓库到最新版本,可选同步到工作区
4
+ */
5
+ import { Command } from "commander";
6
+ /**
7
+ * 注册 update 命令
8
+ * @param program Commander 程序实例
9
+ */
10
+ export declare function registerUpdateCommand(program: Command): void;
11
+ export declare const updateCommand: Command;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE5D;AAED,eAAO,MAAM,aAAa,SAkDtB,CAAC"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ /**
3
+ * update 命令
4
+ * 更新缓存的仓库到最新版本,可选同步到工作区
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.updateCommand = void 0;
8
+ exports.registerUpdateCommand = registerUpdateCommand;
9
+ const commander_1 = require("commander");
10
+ const error_js_1 = require("../../utils/error.js");
11
+ const index_js_1 = require("../options/index.js");
12
+ const index_js_2 = require("./handlers/index.js");
13
+ /**
14
+ * 注册 update 命令
15
+ * @param program Commander 程序实例
16
+ */
17
+ function registerUpdateCommand(program) {
18
+ program.addCommand(exports.updateCommand);
19
+ }
20
+ exports.updateCommand = new commander_1.Command("update")
21
+ .description("Update cached repositories and optionally sync to workspace")
22
+ .argument("[name]", "Repository name (update all if not specified)")
23
+ .addOption(index_js_1.checkOption)
24
+ .addOption(index_js_1.statusOption)
25
+ .addOption(index_js_1.syncOption)
26
+ .addOption(index_js_1.syncOnlyOption)
27
+ .addOption(index_js_1.forceOption)
28
+ .addOption(index_js_1.dryRunOption)
29
+ .action(async (name, options) => {
30
+ const checkOnly = options.check ?? false;
31
+ const showStatus = options.status ?? false;
32
+ const doSync = options.sync ?? false;
33
+ const syncOnly = options.syncOnly ?? false;
34
+ const force = options.force ?? false;
35
+ const dryRun = options.dryRun ?? false;
36
+ // 构建上下文
37
+ const context = {
38
+ name,
39
+ options,
40
+ checkOnly,
41
+ showStatus,
42
+ doSync,
43
+ syncOnly,
44
+ force,
45
+ dryRun,
46
+ };
47
+ try {
48
+ // --status: 显示同步状态
49
+ if (await (0, index_js_2.handleStatus)(context)) {
50
+ return;
51
+ }
52
+ // --sync-only: 仅同步工作区,不更新缓存
53
+ if (await (0, index_js_2.handleSyncOnly)(context)) {
54
+ return;
55
+ }
56
+ // 更新单个仓库
57
+ if (await (0, index_js_2.handleUpdateSingle)(context)) {
58
+ return;
59
+ }
60
+ // 更新所有仓库
61
+ await (0, index_js_2.handleUpdateAll)(context);
62
+ }
63
+ catch (error) {
64
+ (0, error_js_1.handleError)(error, { exit: true });
65
+ }
66
+ });
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwBH,sDAEC;AAxBD,yCAAoC;AACpC,mDAAmD;AACnD,kDAO6B;AAE7B,kDAK6B;AAE7B;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,OAAO,CAAC,UAAU,CAAC,qBAAa,CAAC,CAAC;AACpC,CAAC;AAEY,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,6DAA6D,CAAC;KAC1E,QAAQ,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACnE,SAAS,CAAC,sBAAW,CAAC;KACtB,SAAS,CAAC,uBAAY,CAAC;KACvB,SAAS,CAAC,qBAAU,CAAC;KACrB,SAAS,CAAC,yBAAc,CAAC;KACzB,SAAS,CAAC,sBAAW,CAAC;KACtB,SAAS,CAAC,uBAAY,CAAC;KACvB,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,OAAsB,EAAE,EAAE;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACzC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAEvC,QAAQ;IACR,MAAM,OAAO,GAAkB;QAC7B,IAAI;QACJ,OAAO;QACP,SAAS;QACT,UAAU;QACV,MAAM;QACN,QAAQ;QACR,KAAK;QACL,MAAM;KACP,CAAC;IAEF,IAAI,CAAC;QACH,mBAAmB;QACnB,IAAI,MAAM,IAAA,uBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,MAAM,IAAA,yBAAc,EAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,SAAS;QACT,IAAI,MAAM,IAAA,6BAAkB,EAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,SAAS;QACT,MAAM,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,sBAAW,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * update 命令类型定义
3
+ */
4
+ /**
5
+ * 更新结果状态
6
+ */
7
+ export type UpdateStatus = "up-to-date" | "has-updates" | "updated" | "error";
8
+ /**
9
+ * 更新结果
10
+ */
11
+ export interface UpdateResult {
12
+ /** 仓库名称 */
13
+ name: string;
14
+ /** 更新状态 */
15
+ status: UpdateStatus;
16
+ /** 旧的 commit ID(仅当状态为 'updated' 时) */
17
+ oldCommit?: string;
18
+ /** 新的 commit ID(仅当状态为 'updated' 时) */
19
+ newCommit?: string;
20
+ /** 错误消息(仅当状态为 'error' 时) */
21
+ error?: string;
22
+ }
23
+ /**
24
+ * 命令选项接口
25
+ */
26
+ export interface UpdateOptions {
27
+ check?: boolean;
28
+ status?: boolean;
29
+ sync?: boolean;
30
+ syncOnly?: boolean;
31
+ force?: boolean;
32
+ dryRun?: boolean;
33
+ }
34
+ /**
35
+ * update 命令上下文
36
+ */
37
+ export interface UpdateContext {
38
+ /** 仓库名称(可选) */
39
+ name?: string;
40
+ /** 命令选项 */
41
+ options: UpdateOptions;
42
+ /** 是否仅检查更新 */
43
+ checkOnly: boolean;
44
+ /** 是否显示状态 */
45
+ showStatus: boolean;
46
+ /** 是否同步 */
47
+ doSync: boolean;
48
+ /** 是否仅同步 */
49
+ syncOnly: boolean;
50
+ /** 是否强制 */
51
+ force: boolean;
52
+ /** 是否 dry-run 模式 */
53
+ dryRun: boolean;
54
+ }
55
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/update/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW;IACX,KAAK,EAAE,OAAO,CAAC;IACf,oBAAoB;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * update 命令类型定义
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/update/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE5D;AAmSD,eAAO,MAAM,aAAa,SA0RtB,CAAC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE5D;AAmSD,eAAO,MAAM,aAAa,SA0RtB,CAAC"}