grf-cli 1.0.2 → 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 (382) hide show
  1. package/README.md +15 -7
  2. package/README.zh-CN.md +15 -7
  3. package/dist/cli.js +2 -14
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/add/display.d.ts +10 -0
  6. package/dist/commands/add/display.d.ts.map +1 -0
  7. package/dist/commands/add/display.js +25 -0
  8. package/dist/commands/add/display.js.map +1 -0
  9. package/dist/commands/add/helpers.d.ts +11 -0
  10. package/dist/commands/add/helpers.d.ts.map +1 -0
  11. package/dist/commands/add/helpers.js +59 -0
  12. package/dist/commands/add/helpers.js.map +1 -0
  13. package/dist/commands/add/index.d.ts +12 -0
  14. package/dist/commands/add/index.d.ts.map +1 -0
  15. package/dist/commands/add/index.js +57 -0
  16. package/dist/commands/add/index.js.map +1 -0
  17. package/dist/commands/add/types.d.ts +32 -0
  18. package/dist/commands/add/types.d.ts.map +1 -0
  19. package/dist/commands/add/types.js +6 -0
  20. package/dist/commands/add/types.js.map +1 -0
  21. package/dist/commands/add.d.ts +5 -0
  22. package/dist/commands/add.d.ts.map +1 -1
  23. package/dist/commands/add.js +21 -21
  24. package/dist/commands/add.js.map +1 -1
  25. package/dist/commands/clean/display.d.ts +30 -0
  26. package/dist/commands/clean/display.d.ts.map +1 -0
  27. package/dist/commands/clean/display.js +67 -0
  28. package/dist/commands/clean/display.js.map +1 -0
  29. package/dist/commands/clean/handlers/clean-all.d.ts +12 -0
  30. package/dist/commands/clean/handlers/clean-all.d.ts.map +1 -0
  31. package/dist/commands/clean/handlers/clean-all.js +43 -0
  32. package/dist/commands/clean/handlers/clean-all.js.map +1 -0
  33. package/dist/commands/clean/handlers/clean-single.d.ts +13 -0
  34. package/dist/commands/clean/handlers/clean-single.d.ts.map +1 -0
  35. package/dist/commands/clean/handlers/clean-single.js +78 -0
  36. package/dist/commands/clean/handlers/clean-single.js.map +1 -0
  37. package/dist/commands/clean/handlers/index.d.ts +6 -0
  38. package/dist/commands/clean/handlers/index.d.ts.map +1 -0
  39. package/dist/commands/clean/handlers/index.js +11 -0
  40. package/dist/commands/clean/handlers/index.js.map +1 -0
  41. package/dist/commands/clean/helpers.d.ts +25 -0
  42. package/dist/commands/clean/helpers.d.ts.map +1 -0
  43. package/dist/commands/clean/helpers.js +70 -0
  44. package/dist/commands/clean/helpers.js.map +1 -0
  45. package/dist/commands/clean/index.d.ts +12 -0
  46. package/dist/commands/clean/index.d.ts.map +1 -0
  47. package/dist/commands/clean/index.js +90 -0
  48. package/dist/commands/clean/index.js.map +1 -0
  49. package/dist/commands/clean/types.d.ts +21 -0
  50. package/dist/commands/clean/types.d.ts.map +1 -0
  51. package/dist/commands/clean/types.js +6 -0
  52. package/dist/commands/clean/types.js.map +1 -0
  53. package/dist/commands/clean.d.ts +5 -0
  54. package/dist/commands/clean.d.ts.map +1 -1
  55. package/dist/commands/clean.js +18 -35
  56. package/dist/commands/clean.js.map +1 -1
  57. package/dist/commands/config/display.d.ts +36 -0
  58. package/dist/commands/config/display.d.ts.map +1 -0
  59. package/dist/commands/config/display.js +86 -0
  60. package/dist/commands/config/display.js.map +1 -0
  61. package/dist/commands/config/handlers/index.d.ts +8 -0
  62. package/dist/commands/config/handlers/index.d.ts.map +1 -0
  63. package/dist/commands/config/handlers/index.js +15 -0
  64. package/dist/commands/config/handlers/index.js.map +1 -0
  65. package/dist/commands/config/handlers/set-value.d.ts +11 -0
  66. package/dist/commands/config/handlers/set-value.d.ts.map +1 -0
  67. package/dist/commands/config/handlers/set-value.js +36 -0
  68. package/dist/commands/config/handlers/set-value.js.map +1 -0
  69. package/dist/commands/config/handlers/show-all.d.ts +11 -0
  70. package/dist/commands/config/handlers/show-all.d.ts.map +1 -0
  71. package/dist/commands/config/handlers/show-all.js +24 -0
  72. package/dist/commands/config/handlers/show-all.js.map +1 -0
  73. package/dist/commands/config/handlers/show-path.d.ts +11 -0
  74. package/dist/commands/config/handlers/show-path.d.ts.map +1 -0
  75. package/dist/commands/config/handlers/show-path.js +20 -0
  76. package/dist/commands/config/handlers/show-path.js.map +1 -0
  77. package/dist/commands/config/handlers/show-value.d.ts +11 -0
  78. package/dist/commands/config/handlers/show-value.d.ts.map +1 -0
  79. package/dist/commands/config/handlers/show-value.js +31 -0
  80. package/dist/commands/config/handlers/show-value.js.map +1 -0
  81. package/dist/commands/config/helpers.d.ts +23 -0
  82. package/dist/commands/config/helpers.d.ts.map +1 -0
  83. package/dist/commands/config/helpers.js +53 -0
  84. package/dist/commands/config/helpers.js.map +1 -0
  85. package/dist/commands/config/index.d.ts +12 -0
  86. package/dist/commands/config/index.d.ts.map +1 -0
  87. package/dist/commands/config/index.js +56 -0
  88. package/dist/commands/config/index.js.map +1 -0
  89. package/dist/commands/config/types.d.ts +31 -0
  90. package/dist/commands/config/types.d.ts.map +1 -0
  91. package/dist/commands/config/types.js +13 -0
  92. package/dist/commands/config/types.js.map +1 -0
  93. package/dist/commands/config.d.ts +5 -0
  94. package/dist/commands/config.d.ts.map +1 -1
  95. package/dist/commands/config.js +22 -41
  96. package/dist/commands/config.js.map +1 -1
  97. package/dist/commands/index.d.ts +27 -0
  98. package/dist/commands/index.d.ts.map +1 -0
  99. package/dist/commands/index.js +52 -0
  100. package/dist/commands/index.js.map +1 -0
  101. package/dist/commands/list/display.d.ts +39 -0
  102. package/dist/commands/list/display.d.ts.map +1 -0
  103. package/dist/commands/list/display.js +144 -0
  104. package/dist/commands/list/display.js.map +1 -0
  105. package/dist/commands/list/index.d.ts +12 -0
  106. package/dist/commands/list/index.d.ts.map +1 -0
  107. package/dist/commands/list/index.js +128 -0
  108. package/dist/commands/list/index.js.map +1 -0
  109. package/dist/commands/list/types.d.ts +32 -0
  110. package/dist/commands/list/types.d.ts.map +1 -0
  111. package/dist/commands/list/types.js +6 -0
  112. package/dist/commands/list/types.js.map +1 -0
  113. package/dist/commands/list.d.ts +5 -0
  114. package/dist/commands/list.d.ts.map +1 -1
  115. package/dist/commands/list.js +29 -60
  116. package/dist/commands/list.js.map +1 -1
  117. package/dist/commands/load/display.d.ts +28 -0
  118. package/dist/commands/load/display.d.ts.map +1 -0
  119. package/dist/commands/load/display.js +53 -0
  120. package/dist/commands/load/display.js.map +1 -0
  121. package/dist/commands/load/handlers/copy-repo.d.ts +13 -0
  122. package/dist/commands/load/handlers/copy-repo.d.ts.map +1 -0
  123. package/dist/commands/load/handlers/copy-repo.js +82 -0
  124. package/dist/commands/load/handlers/copy-repo.js.map +1 -0
  125. package/dist/commands/load/handlers/index.d.ts +6 -0
  126. package/dist/commands/load/handlers/index.d.ts.map +1 -0
  127. package/dist/commands/load/handlers/index.js +11 -0
  128. package/dist/commands/load/handlers/index.js.map +1 -0
  129. package/dist/commands/load/handlers/url-add.d.ts +13 -0
  130. package/dist/commands/load/handlers/url-add.d.ts.map +1 -0
  131. package/dist/commands/load/handlers/url-add.js +50 -0
  132. package/dist/commands/load/handlers/url-add.js.map +1 -0
  133. package/dist/commands/load/helpers.d.ts +81 -0
  134. package/dist/commands/load/helpers.d.ts.map +1 -0
  135. package/dist/commands/load/helpers.js +199 -0
  136. package/dist/commands/load/helpers.js.map +1 -0
  137. package/dist/commands/load/index.d.ts +13 -0
  138. package/dist/commands/load/index.d.ts.map +1 -0
  139. package/dist/commands/load/index.js +46 -0
  140. package/dist/commands/load/index.js.map +1 -0
  141. package/dist/commands/load/types.d.ts +37 -0
  142. package/dist/commands/load/types.d.ts.map +1 -0
  143. package/dist/commands/load/types.js +6 -0
  144. package/dist/commands/load/types.js.map +1 -0
  145. package/dist/commands/load.d.ts +5 -0
  146. package/dist/commands/load.d.ts.map +1 -1
  147. package/dist/commands/load.js +27 -64
  148. package/dist/commands/load.js.map +1 -1
  149. package/dist/commands/options/all.d.ts +11 -0
  150. package/dist/commands/options/all.d.ts.map +1 -0
  151. package/dist/commands/options/all.js +14 -0
  152. package/dist/commands/options/all.js.map +1 -0
  153. package/dist/commands/options/branch.d.ts +11 -0
  154. package/dist/commands/options/branch.d.ts.map +1 -0
  155. package/dist/commands/options/branch.js +14 -0
  156. package/dist/commands/options/branch.js.map +1 -0
  157. package/dist/commands/options/check.d.ts +11 -0
  158. package/dist/commands/options/check.d.ts.map +1 -0
  159. package/dist/commands/options/check.js +14 -0
  160. package/dist/commands/options/check.js.map +1 -0
  161. package/dist/commands/options/clean-empty.d.ts +11 -0
  162. package/dist/commands/options/clean-empty.d.ts.map +1 -0
  163. package/dist/commands/options/clean-empty.js +14 -0
  164. package/dist/commands/options/clean-empty.js.map +1 -0
  165. package/dist/commands/options/depth.d.ts +11 -0
  166. package/dist/commands/options/depth.d.ts.map +1 -0
  167. package/dist/commands/options/depth.js +14 -0
  168. package/dist/commands/options/depth.js.map +1 -0
  169. package/dist/commands/options/dry-run.d.ts +11 -0
  170. package/dist/commands/options/dry-run.d.ts.map +1 -0
  171. package/dist/commands/options/dry-run.js +14 -0
  172. package/dist/commands/options/dry-run.js.map +1 -0
  173. package/dist/commands/options/force.d.ts +11 -0
  174. package/dist/commands/options/force.d.ts.map +1 -0
  175. package/dist/commands/options/force.js +14 -0
  176. package/dist/commands/options/force.js.map +1 -0
  177. package/dist/commands/options/index.d.ts +24 -0
  178. package/dist/commands/options/index.d.ts.map +1 -0
  179. package/dist/commands/options/index.js +53 -0
  180. package/dist/commands/options/index.js.map +1 -0
  181. package/dist/commands/options/json.d.ts +11 -0
  182. package/dist/commands/options/json.d.ts.map +1 -0
  183. package/dist/commands/options/json.js +14 -0
  184. package/dist/commands/options/json.js.map +1 -0
  185. package/dist/commands/options/keep-empty.d.ts +11 -0
  186. package/dist/commands/options/keep-empty.d.ts.map +1 -0
  187. package/dist/commands/options/keep-empty.js +14 -0
  188. package/dist/commands/options/keep-empty.js.map +1 -0
  189. package/dist/commands/options/list.d.ts +11 -0
  190. package/dist/commands/options/list.d.ts.map +1 -0
  191. package/dist/commands/options/list.js +14 -0
  192. package/dist/commands/options/list.js.map +1 -0
  193. package/dist/commands/options/name.d.ts +11 -0
  194. package/dist/commands/options/name.d.ts.map +1 -0
  195. package/dist/commands/options/name.js +14 -0
  196. package/dist/commands/options/name.js.map +1 -0
  197. package/dist/commands/options/no-ignore.d.ts +11 -0
  198. package/dist/commands/options/no-ignore.d.ts.map +1 -0
  199. package/dist/commands/options/no-ignore.js +14 -0
  200. package/dist/commands/options/no-ignore.js.map +1 -0
  201. package/dist/commands/options/path.d.ts +11 -0
  202. package/dist/commands/options/path.d.ts.map +1 -0
  203. package/dist/commands/options/path.js +14 -0
  204. package/dist/commands/options/path.js.map +1 -0
  205. package/dist/commands/options/shallow.d.ts +16 -0
  206. package/dist/commands/options/shallow.d.ts.map +1 -0
  207. package/dist/commands/options/shallow.js +19 -0
  208. package/dist/commands/options/shallow.js.map +1 -0
  209. package/dist/commands/options/status.d.ts +11 -0
  210. package/dist/commands/options/status.d.ts.map +1 -0
  211. package/dist/commands/options/status.js +14 -0
  212. package/dist/commands/options/status.js.map +1 -0
  213. package/dist/commands/options/subdir.d.ts +11 -0
  214. package/dist/commands/options/subdir.d.ts.map +1 -0
  215. package/dist/commands/options/subdir.js +14 -0
  216. package/dist/commands/options/subdir.js.map +1 -0
  217. package/dist/commands/options/sync-only.d.ts +11 -0
  218. package/dist/commands/options/sync-only.d.ts.map +1 -0
  219. package/dist/commands/options/sync-only.js +14 -0
  220. package/dist/commands/options/sync-only.js.map +1 -0
  221. package/dist/commands/options/sync.d.ts +11 -0
  222. package/dist/commands/options/sync.d.ts.map +1 -0
  223. package/dist/commands/options/sync.js +14 -0
  224. package/dist/commands/options/sync.js.map +1 -0
  225. package/dist/commands/options/verbose.d.ts +11 -0
  226. package/dist/commands/options/verbose.d.ts.map +1 -0
  227. package/dist/commands/options/verbose.js +14 -0
  228. package/dist/commands/options/verbose.js.map +1 -0
  229. package/dist/commands/unload/display.d.ts +29 -0
  230. package/dist/commands/unload/display.d.ts.map +1 -0
  231. package/dist/commands/unload/display.js +125 -0
  232. package/dist/commands/unload/display.js.map +1 -0
  233. package/dist/commands/unload/handlers/clean-empty.d.ts +11 -0
  234. package/dist/commands/unload/handlers/clean-empty.d.ts.map +1 -0
  235. package/dist/commands/unload/handlers/clean-empty.js +111 -0
  236. package/dist/commands/unload/handlers/clean-empty.js.map +1 -0
  237. package/dist/commands/unload/handlers/index.d.ts +8 -0
  238. package/dist/commands/unload/handlers/index.d.ts.map +1 -0
  239. package/dist/commands/unload/handlers/index.js +15 -0
  240. package/dist/commands/unload/handlers/index.js.map +1 -0
  241. package/dist/commands/unload/handlers/list.d.ts +11 -0
  242. package/dist/commands/unload/handlers/list.d.ts.map +1 -0
  243. package/dist/commands/unload/handlers/list.js +42 -0
  244. package/dist/commands/unload/handlers/list.js.map +1 -0
  245. package/dist/commands/unload/handlers/remove-all.d.ts +11 -0
  246. package/dist/commands/unload/handlers/remove-all.d.ts.map +1 -0
  247. package/dist/commands/unload/handlers/remove-all.js +184 -0
  248. package/dist/commands/unload/handlers/remove-all.js.map +1 -0
  249. package/dist/commands/unload/handlers/remove-single.d.ts +12 -0
  250. package/dist/commands/unload/handlers/remove-single.d.ts.map +1 -0
  251. package/dist/commands/unload/handlers/remove-single.js +217 -0
  252. package/dist/commands/unload/handlers/remove-single.js.map +1 -0
  253. package/dist/commands/unload/helpers.d.ts +55 -0
  254. package/dist/commands/unload/helpers.d.ts.map +1 -0
  255. package/dist/commands/unload/helpers.js +256 -0
  256. package/dist/commands/unload/helpers.js.map +1 -0
  257. package/dist/commands/unload/index.d.ts +12 -0
  258. package/dist/commands/unload/index.d.ts.map +1 -0
  259. package/dist/commands/unload/index.js +121 -0
  260. package/dist/commands/unload/index.js.map +1 -0
  261. package/dist/commands/unload/types.d.ts +53 -0
  262. package/dist/commands/unload/types.d.ts.map +1 -0
  263. package/dist/commands/unload/types.js +6 -0
  264. package/dist/commands/unload/types.js.map +1 -0
  265. package/dist/commands/unload.d.ts +6 -1
  266. package/dist/commands/unload.d.ts.map +1 -1
  267. package/dist/commands/unload.js +165 -169
  268. package/dist/commands/unload.js.map +1 -1
  269. package/dist/commands/update/display.d.ts +30 -0
  270. package/dist/commands/update/display.d.ts.map +1 -0
  271. package/dist/commands/update/display.js +161 -0
  272. package/dist/commands/update/display.js.map +1 -0
  273. package/dist/commands/update/handlers/index.d.ts +8 -0
  274. package/dist/commands/update/handlers/index.d.ts.map +1 -0
  275. package/dist/commands/update/handlers/index.js +15 -0
  276. package/dist/commands/update/handlers/index.js.map +1 -0
  277. package/dist/commands/update/handlers/status.d.ts +11 -0
  278. package/dist/commands/update/handlers/status.d.ts.map +1 -0
  279. package/dist/commands/update/handlers/status.js +20 -0
  280. package/dist/commands/update/handlers/status.js.map +1 -0
  281. package/dist/commands/update/handlers/sync-only.d.ts +11 -0
  282. package/dist/commands/update/handlers/sync-only.d.ts.map +1 -0
  283. package/dist/commands/update/handlers/sync-only.js +41 -0
  284. package/dist/commands/update/handlers/sync-only.js.map +1 -0
  285. package/dist/commands/update/handlers/update-all.d.ts +10 -0
  286. package/dist/commands/update/handlers/update-all.d.ts.map +1 -0
  287. package/dist/commands/update/handlers/update-all.js +125 -0
  288. package/dist/commands/update/handlers/update-all.js.map +1 -0
  289. package/dist/commands/update/handlers/update-single.d.ts +11 -0
  290. package/dist/commands/update/handlers/update-single.d.ts.map +1 -0
  291. package/dist/commands/update/handlers/update-single.js +154 -0
  292. package/dist/commands/update/handlers/update-single.js.map +1 -0
  293. package/dist/commands/update/helpers.d.ts +13 -0
  294. package/dist/commands/update/helpers.d.ts.map +1 -0
  295. package/dist/commands/update/helpers.js +86 -0
  296. package/dist/commands/update/helpers.js.map +1 -0
  297. package/dist/commands/update/index.d.ts +12 -0
  298. package/dist/commands/update/index.d.ts.map +1 -0
  299. package/dist/commands/update/index.js +67 -0
  300. package/dist/commands/update/index.js.map +1 -0
  301. package/dist/commands/update/types.d.ts +55 -0
  302. package/dist/commands/update/types.d.ts.map +1 -0
  303. package/dist/commands/update/types.js +6 -0
  304. package/dist/commands/update/types.js.map +1 -0
  305. package/dist/commands/update.d.ts +6 -1
  306. package/dist/commands/update.d.ts.map +1 -1
  307. package/dist/commands/update.js +73 -80
  308. package/dist/commands/update.js.map +1 -1
  309. package/dist/core/config-manager.d.ts +83 -0
  310. package/dist/core/config-manager.d.ts.map +1 -0
  311. package/dist/core/config-manager.js +170 -0
  312. package/dist/core/config-manager.js.map +1 -0
  313. package/dist/core/config.d.ts +22 -2
  314. package/dist/core/config.d.ts.map +1 -1
  315. package/dist/core/config.js +71 -35
  316. package/dist/core/config.js.map +1 -1
  317. package/dist/core/filesystem.js +1 -1
  318. package/dist/core/filesystem.js.map +1 -1
  319. package/dist/core/loading-state.d.ts +141 -0
  320. package/dist/core/loading-state.d.ts.map +1 -0
  321. package/dist/core/loading-state.js +237 -0
  322. package/dist/core/loading-state.js.map +1 -0
  323. package/dist/core/loading.d.ts +24 -27
  324. package/dist/core/loading.d.ts.map +1 -1
  325. package/dist/core/loading.js +127 -88
  326. package/dist/core/loading.js.map +1 -1
  327. package/dist/core/migration.d.ts +54 -0
  328. package/dist/core/migration.d.ts.map +1 -0
  329. package/dist/core/migration.js +277 -0
  330. package/dist/core/migration.js.map +1 -0
  331. package/dist/core/paths.d.ts +58 -0
  332. package/dist/core/paths.d.ts.map +1 -0
  333. package/dist/core/paths.js +103 -0
  334. package/dist/core/paths.js.map +1 -0
  335. package/dist/core/repos-index.d.ts +113 -0
  336. package/dist/core/repos-index.d.ts.map +1 -0
  337. package/dist/core/repos-index.js +206 -0
  338. package/dist/core/repos-index.js.map +1 -0
  339. package/dist/core/repository.js +2 -2
  340. package/dist/core/repository.js.map +1 -1
  341. package/dist/core/sync.d.ts.map +1 -1
  342. package/dist/core/sync.js +3 -3
  343. package/dist/core/sync.js.map +1 -1
  344. package/dist/types/index.d.ts +2 -0
  345. package/dist/types/index.d.ts.map +1 -1
  346. package/dist/ui/format.d.ts +159 -0
  347. package/dist/ui/format.d.ts.map +1 -0
  348. package/dist/ui/format.js +300 -0
  349. package/dist/ui/format.js.map +1 -0
  350. package/dist/ui/index.d.ts +9 -0
  351. package/dist/ui/index.d.ts.map +1 -0
  352. package/dist/ui/index.js +53 -0
  353. package/dist/ui/index.js.map +1 -0
  354. package/dist/ui/prompt.d.ts +94 -0
  355. package/dist/ui/prompt.d.ts.map +1 -0
  356. package/dist/ui/prompt.js +223 -0
  357. package/dist/ui/prompt.js.map +1 -0
  358. package/dist/ui/spinner.d.ts +99 -0
  359. package/dist/ui/spinner.d.ts.map +1 -0
  360. package/dist/ui/spinner.js +136 -0
  361. package/dist/ui/spinner.js.map +1 -0
  362. package/dist/ui/table.d.ts +142 -0
  363. package/dist/ui/table.d.ts.map +1 -0
  364. package/dist/ui/table.js +213 -0
  365. package/dist/ui/table.js.map +1 -0
  366. package/dist/utils/constants.d.ts +152 -0
  367. package/dist/utils/constants.d.ts.map +1 -0
  368. package/dist/utils/constants.js +160 -0
  369. package/dist/utils/constants.js.map +1 -0
  370. package/dist/utils/error.d.ts +109 -0
  371. package/dist/utils/error.d.ts.map +1 -0
  372. package/dist/utils/error.js +212 -0
  373. package/dist/utils/error.js.map +1 -0
  374. package/dist/utils/index.d.ts +8 -0
  375. package/dist/utils/index.d.ts.map +1 -0
  376. package/dist/utils/index.js +44 -0
  377. package/dist/utils/index.js.map +1 -0
  378. package/dist/utils/validation.d.ts +122 -0
  379. package/dist/utils/validation.d.ts.map +1 -0
  380. package/dist/utils/validation.js +248 -0
  381. package/dist/utils/validation.js.map +1 -0
  382. package/package.json +23 -3
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  /**
3
- * loading.json 管理模块
3
+ * loading.json 管理模块(兼容层)
4
4
  * 用于追踪已加载的参考代码仓库
5
+ *
6
+ * 此模块现在作为兼容层,内部使用 loading-state.ts 模块
7
+ * 保持原有 API 不变,确保向后兼容
5
8
  */
6
9
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
10
  if (k2 === undefined) k2 = k;
@@ -49,176 +52,212 @@ exports.removeEntry = removeEntry;
49
52
  exports.removeEntryByTargetPath = removeEntryByTargetPath;
50
53
  exports.clearAllEntries = clearAllEntries;
51
54
  exports.updateEntry = updateEntry;
52
- const fs = __importStar(require("fs/promises"));
53
55
  const path = __importStar(require("path"));
54
56
  const crypto_1 = require("crypto");
55
- /** loading.json 文件名 */
56
- const LOADING_FILE_NAME = "loading.json";
57
- /** .gitreference 目录名 */
58
- const GITREFERENCE_DIR = ".gitreference";
57
+ const paths_js_1 = require("./paths.js");
58
+ const loading_state_js_1 = require("./loading-state.js");
59
59
  /** 当前配置版本 */
60
60
  const CONFIG_VERSION = "1.0.0";
61
+ /**
62
+ * 从 RepoLoadingState 和键构建 LoadingEntry
63
+ * @param key 唯一键 (workingDirectory::targetPath)
64
+ * @param state 加载状态
65
+ * @returns LoadingEntry 对象
66
+ */
67
+ function buildEntryFromState(key, state) {
68
+ // 从 targetPath 中提取 repoName(用于显示)
69
+ // targetPath 格式通常为 .gitreference/owner/repo 或自定义路径
70
+ const pathParts = state.targetPath.split("/");
71
+ const repoName = pathParts.length >= 3
72
+ ? `${pathParts[pathParts.length - 2]}/${pathParts[pathParts.length - 1]}`
73
+ : pathParts[pathParts.length - 1] || state.targetPath;
74
+ return {
75
+ id: (0, crypto_1.randomUUID)(), // 每次构建时生成新 ID(兼容层限制)
76
+ repoName,
77
+ repoUrl: "", // 新模块不存储此信息
78
+ commitId: "", // 新模块不存储此信息
79
+ branch: state.branch,
80
+ targetPath: state.targetPath,
81
+ loadedAt: state.loadedAt,
82
+ workingDirectory: state.workingDirectory,
83
+ };
84
+ }
61
85
  /**
62
86
  * 获取 loading.json 文件路径
63
- * @param projectRoot 项目根目录,默认为当前工作目录
64
- * @returns loading.json 的绝对路径
87
+ * @returns loading.json 的绝对路径(位于用户主目录下)
65
88
  */
66
- function getLoadingFilePath(projectRoot = process.cwd()) {
67
- return path.join(projectRoot, GITREFERENCE_DIR, LOADING_FILE_NAME);
89
+ function getLoadingFilePath() {
90
+ // 使用新的路径管理模块
91
+ return (0, paths_js_1.getLoadingStatePath)();
68
92
  }
69
93
  /**
70
94
  * 读取 loading.json 配置
71
- * @param projectRoot 项目根目录
72
95
  * @returns 加载配置,如果文件不存在则返回空配置
73
96
  */
74
- async function readLoadingConfig(projectRoot = process.cwd()) {
75
- const filePath = getLoadingFilePath(projectRoot);
76
- try {
77
- const content = await fs.readFile(filePath, "utf-8");
78
- return JSON.parse(content);
79
- }
80
- catch (error) {
81
- // 文件不存在或解析失败,返回空配置
82
- return {
83
- version: CONFIG_VERSION,
84
- entries: [],
85
- };
86
- }
97
+ async function readLoadingConfig() {
98
+ // 从新模块获取所有加载状态
99
+ const states = await (0, loading_state_js_1.getAllLoadingStates)();
100
+ // 转换为 LoadingEntry 格式
101
+ const entries = Object.entries(states).map(([key, state]) => buildEntryFromState(key, state));
102
+ return {
103
+ version: CONFIG_VERSION,
104
+ entries,
105
+ };
87
106
  }
88
107
  /**
89
108
  * 写入 loading.json 配置
90
109
  * @param config 加载配置
91
- * @param projectRoot 项目根目录
110
+ * @deprecated 此函数保留用于兼容,但建议使用 addEntry/removeEntry 等函数
92
111
  */
93
- async function writeLoadingConfig(config, projectRoot = process.cwd()) {
94
- const filePath = getLoadingFilePath(projectRoot);
95
- const dirPath = path.dirname(filePath);
96
- // 确保目录存在
97
- await fs.mkdir(dirPath, { recursive: true });
98
- // 写入文件
99
- await fs.writeFile(filePath, JSON.stringify(config, null, 2), "utf-8");
112
+ async function writeLoadingConfig(config) {
113
+ // 清空现有状态
114
+ await loading_state_js_1.loadingState.clear();
115
+ // 逐个添加条目
116
+ for (const entry of config.entries) {
117
+ // 兼容层:旧的 LoadingEntry 没有 workingDirectory,使用空字符串作为占位
118
+ const workingDir = entry.workingDirectory || "";
119
+ await (0, loading_state_js_1.markAsLoaded)(entry.targetPath, workingDir, entry.branch);
120
+ }
100
121
  }
101
122
  /**
102
123
  * 添加加载条目
103
- * @param entry 加载条目(不含 id 和 loadedAt
104
- * @param projectRoot 项目根目录
124
+ * @param entry 加载条目(不含 id 和 loadedAt),必须包含 workingDirectory
105
125
  * @returns 添加的完整条目
106
126
  */
107
- async function addEntry(entry, projectRoot = process.cwd()) {
108
- const config = await readLoadingConfig(projectRoot);
127
+ async function addEntry(entry) {
128
+ const loadedAt = new Date().toISOString();
129
+ // 使用新模块标记为已加载(使用 workingDirectory + targetPath 作为唯一键)
130
+ await (0, loading_state_js_1.markAsLoaded)(entry.targetPath, entry.workingDirectory, entry.branch);
131
+ // 构建完整的条目
109
132
  const newEntry = {
110
133
  ...entry,
111
134
  id: (0, crypto_1.randomUUID)(),
112
- loadedAt: new Date().toISOString(),
135
+ loadedAt,
113
136
  };
114
- config.entries.push(newEntry);
115
- await writeLoadingConfig(config, projectRoot);
116
137
  return newEntry;
117
138
  }
118
139
  /**
119
140
  * 获取所有加载条目
120
- * @param projectRoot 项目根目录
121
141
  * @returns 加载条目列表
122
142
  */
123
- async function getEntries(projectRoot = process.cwd()) {
124
- const config = await readLoadingConfig(projectRoot);
143
+ async function getEntries() {
144
+ const config = await readLoadingConfig();
125
145
  return config.entries;
126
146
  }
127
147
  /**
128
148
  * 根据 ID 获取加载条目
129
149
  * @param id 条目 ID
130
- * @param projectRoot 项目根目录
131
150
  * @returns 加载条目,如果不存在则返回 undefined
151
+ * @deprecated 新模块不支持按 ID 查询,此函数功能受限
132
152
  */
133
- async function getEntryById(id, projectRoot = process.cwd()) {
134
- const config = await readLoadingConfig(projectRoot);
135
- return config.entries.find((entry) => entry.id === id);
153
+ async function getEntryById(id) {
154
+ // 新模块不支持按 ID 查询,遍历所有条目
155
+ const entries = await getEntries();
156
+ return entries.find((entry) => entry.id === id);
136
157
  }
137
158
  /**
138
159
  * 根据目标路径获取加载条目
139
160
  * @param targetPath 目标路径
140
- * @param projectRoot 项目根目录
141
161
  * @returns 加载条目,如果不存在则返回 undefined
142
162
  */
143
- async function getEntryByTargetPath(targetPath, projectRoot = process.cwd()) {
144
- const config = await readLoadingConfig(projectRoot);
145
- // 标准化路径进行比较
163
+ async function getEntryByTargetPath(targetPath) {
164
+ const states = await (0, loading_state_js_1.getAllLoadingStates)();
146
165
  const normalizedTarget = path.normalize(targetPath);
147
- return config.entries.find((entry) => path.normalize(entry.targetPath) === normalizedTarget);
166
+ // 查找匹配的条目
167
+ for (const [key, state] of Object.entries(states)) {
168
+ if (path.normalize(state.targetPath) === normalizedTarget) {
169
+ return buildEntryFromState(key, state);
170
+ }
171
+ }
172
+ return undefined;
148
173
  }
149
174
  /**
150
175
  * 根据仓库名称获取加载条目
151
176
  * @param repoName 仓库名称
152
- * @param projectRoot 项目根目录
153
177
  * @returns 匹配的加载条目列表
154
178
  */
155
- async function getEntriesByRepoName(repoName, projectRoot = process.cwd()) {
156
- const config = await readLoadingConfig(projectRoot);
157
- return config.entries.filter((entry) => entry.repoName.includes(repoName));
179
+ async function getEntriesByRepoName(repoName) {
180
+ const states = await (0, loading_state_js_1.getAllLoadingStates)();
181
+ const results = [];
182
+ // 查找包含指定名称的仓库(在 targetPath 中搜索)
183
+ for (const [key, state] of Object.entries(states)) {
184
+ if (state.targetPath.includes(repoName)) {
185
+ results.push(buildEntryFromState(key, state));
186
+ }
187
+ }
188
+ return results;
158
189
  }
159
190
  /**
160
191
  * 删除加载条目
161
192
  * @param id 条目 ID
162
- * @param projectRoot 项目根目录
163
193
  * @returns 是否成功删除
194
+ * @deprecated 新模块不支持按 ID 删除,此函数功能受限
164
195
  */
165
- async function removeEntry(id, projectRoot = process.cwd()) {
166
- const config = await readLoadingConfig(projectRoot);
167
- const index = config.entries.findIndex((entry) => entry.id === id);
168
- if (index === -1) {
196
+ async function removeEntry(id) {
197
+ // 新模块不支持按 ID 删除,需要先找到对应的条目
198
+ const entries = await getEntries();
199
+ const entry = entries.find((e) => e.id === id);
200
+ if (!entry) {
169
201
  return false;
170
202
  }
171
- config.entries.splice(index, 1);
172
- await writeLoadingConfig(config, projectRoot);
173
- return true;
203
+ // 使用 workingDirectory + targetPath 删除
204
+ return (0, loading_state_js_1.markAsUnloaded)(entry.workingDirectory || "", entry.targetPath);
174
205
  }
175
206
  /**
176
207
  * 根据目标路径删除加载条目
177
208
  * @param targetPath 目标路径
178
- * @param projectRoot 项目根目录
179
209
  * @returns 被删除的条目,如果不存在则返回 undefined
180
210
  */
181
- async function removeEntryByTargetPath(targetPath, projectRoot = process.cwd()) {
182
- const config = await readLoadingConfig(projectRoot);
211
+ async function removeEntryByTargetPath(targetPath) {
212
+ const states = await (0, loading_state_js_1.getAllLoadingStates)();
183
213
  const normalizedTarget = path.normalize(targetPath);
184
- const index = config.entries.findIndex((entry) => path.normalize(entry.targetPath) === normalizedTarget);
185
- if (index === -1) {
186
- return undefined;
214
+ // 查找匹配的条目
215
+ for (const [key, state] of Object.entries(states)) {
216
+ if (path.normalize(state.targetPath) === normalizedTarget) {
217
+ const entry = buildEntryFromState(key, state);
218
+ await (0, loading_state_js_1.markAsUnloaded)(state.workingDirectory, state.targetPath);
219
+ return entry;
220
+ }
187
221
  }
188
- const [removed] = config.entries.splice(index, 1);
189
- await writeLoadingConfig(config, projectRoot);
190
- return removed;
222
+ return undefined;
191
223
  }
192
224
  /**
193
225
  * 清空所有加载条目
194
- * @param projectRoot 项目根目录
195
226
  */
196
- async function clearAllEntries(projectRoot = process.cwd()) {
197
- const config = {
198
- version: CONFIG_VERSION,
199
- entries: [],
200
- };
201
- await writeLoadingConfig(config, projectRoot);
227
+ async function clearAllEntries() {
228
+ await loading_state_js_1.loadingState.clear();
202
229
  }
203
230
  /**
204
231
  * 更新加载条目
205
232
  * @param id 条目 ID
206
233
  * @param updates 要更新的字段
207
- * @param projectRoot 项目根目录
208
234
  * @returns 更新后的条目,如果不存在则返回 undefined
235
+ * @deprecated 新模块不支持按 ID 更新,此函数功能受限
209
236
  */
210
- async function updateEntry(id, updates, projectRoot = process.cwd()) {
211
- const config = await readLoadingConfig(projectRoot);
212
- const index = config.entries.findIndex((entry) => entry.id === id);
213
- if (index === -1) {
237
+ async function updateEntry(id, updates) {
238
+ // 新模块不支持按 ID 更新,需要先找到对应的条目
239
+ const entries = await getEntries();
240
+ const entry = entries.find((e) => e.id === id);
241
+ if (!entry) {
214
242
  return undefined;
215
243
  }
216
- config.entries[index] = {
217
- ...config.entries[index],
244
+ // 更新加载状态
245
+ const oldWorkingDir = entry.workingDirectory || "";
246
+ const oldTargetPath = entry.targetPath;
247
+ const newTargetPath = updates.targetPath ?? entry.targetPath;
248
+ const newWorkingDir = updates.workingDirectory ?? oldWorkingDir;
249
+ const newBranch = updates.branch ?? entry.branch;
250
+ // 如果路径变了,需要先删除旧的
251
+ if (updates.targetPath && updates.targetPath !== entry.targetPath) {
252
+ await (0, loading_state_js_1.markAsUnloaded)(oldWorkingDir, oldTargetPath);
253
+ }
254
+ // 设置新的状态
255
+ await (0, loading_state_js_1.markAsLoaded)(newTargetPath, newWorkingDir, newBranch);
256
+ // 返回更新后的条目
257
+ return {
258
+ ...entry,
218
259
  ...updates,
219
260
  updatedAt: new Date().toISOString(),
220
261
  };
221
- await writeLoadingConfig(config, projectRoot);
222
- return config.entries[index];
223
262
  }
224
263
  //# sourceMappingURL=loading.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../src/core/loading.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../src/core/loading.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * grf 配置迁移工具
3
+ * 将旧版单一 config.json 文件迁移到新的模块化配置结构
4
+ */
5
+ /**
6
+ * 迁移结果接口
7
+ */
8
+ export interface MigrationResult {
9
+ /** 迁移是否成功 */
10
+ success: boolean;
11
+ /** 是否执行了迁移 */
12
+ migrated: boolean;
13
+ /** 结果消息 */
14
+ message: string;
15
+ /** 详细信息 */
16
+ details?: {
17
+ /** 已迁移的配置项列表 */
18
+ configsMigrated: string[];
19
+ /** 已迁移的仓库数量 */
20
+ reposMigrated: number;
21
+ /** 备份文件路径 */
22
+ backupPath?: string;
23
+ };
24
+ }
25
+ /**
26
+ * 检查是否需要迁移
27
+ * 条件:旧配置存在且新配置目录不存在或为空
28
+ * @returns 是否需要迁移
29
+ */
30
+ export declare function needsMigration(): Promise<boolean>;
31
+ /**
32
+ * 备份旧配置文件
33
+ * @returns 备份文件路径,如果备份失败则返回 null
34
+ */
35
+ export declare function backupLegacyConfig(): Promise<string | null>;
36
+ /**
37
+ * 执行配置迁移
38
+ * @returns 迁移结果
39
+ */
40
+ export declare function migrateConfig(): Promise<MigrationResult>;
41
+ /**
42
+ * 验证迁移结果
43
+ * 检查新配置文件是否正确创建
44
+ * @returns 验证是否通过
45
+ */
46
+ export declare function validateMigration(): Promise<boolean>;
47
+ /**
48
+ * 确保配置已迁移
49
+ * 在应用启动时调用,自动检测并执行迁移
50
+ * 此函数是幂等的,多次调用结果相同
51
+ * @returns 迁移结果
52
+ */
53
+ export declare function ensureMigrated(): Promise<MigrationResult>;
54
+ //# sourceMappingURL=migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/core/migration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,aAAa;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,OAAO,CAAC,EAAE;QACR,gBAAgB;QAChB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,eAAe;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAiBD;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAuCvD;AAwBD;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwBjE;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,eAAe,CAAC,CAqF9D;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAmC1D;AAMD;;;;;GAKG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAqD/D"}