grf-cli 1.0.0 → 1.0.3

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 (104) hide show
  1. package/README.md +5 -5
  2. package/README.zh-CN.md +5 -5
  3. package/dist/cli.js +2 -14
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/add.d.ts +5 -0
  6. package/dist/commands/add.d.ts.map +1 -1
  7. package/dist/commands/add.js +15 -16
  8. package/dist/commands/add.js.map +1 -1
  9. package/dist/commands/clean.d.ts +5 -0
  10. package/dist/commands/clean.d.ts.map +1 -1
  11. package/dist/commands/clean.js +15 -33
  12. package/dist/commands/clean.js.map +1 -1
  13. package/dist/commands/config.d.ts +5 -0
  14. package/dist/commands/config.d.ts.map +1 -1
  15. package/dist/commands/config.js +19 -39
  16. package/dist/commands/config.js.map +1 -1
  17. package/dist/commands/index.d.ts +27 -0
  18. package/dist/commands/index.d.ts.map +1 -0
  19. package/dist/commands/index.js +52 -0
  20. package/dist/commands/index.js.map +1 -0
  21. package/dist/commands/list.d.ts +5 -0
  22. package/dist/commands/list.d.ts.map +1 -1
  23. package/dist/commands/list.js +27 -59
  24. package/dist/commands/list.js.map +1 -1
  25. package/dist/commands/load.d.ts +5 -0
  26. package/dist/commands/load.d.ts.map +1 -1
  27. package/dist/commands/load.js +23 -61
  28. package/dist/commands/load.js.map +1 -1
  29. package/dist/commands/unload.d.ts +6 -1
  30. package/dist/commands/unload.d.ts.map +1 -1
  31. package/dist/commands/unload.js +157 -162
  32. package/dist/commands/unload.js.map +1 -1
  33. package/dist/commands/update.d.ts +6 -1
  34. package/dist/commands/update.d.ts.map +1 -1
  35. package/dist/commands/update.js +66 -74
  36. package/dist/commands/update.js.map +1 -1
  37. package/dist/core/config-manager.d.ts +83 -0
  38. package/dist/core/config-manager.d.ts.map +1 -0
  39. package/dist/core/config-manager.js +170 -0
  40. package/dist/core/config-manager.js.map +1 -0
  41. package/dist/core/config.d.ts +22 -2
  42. package/dist/core/config.d.ts.map +1 -1
  43. package/dist/core/config.js +71 -35
  44. package/dist/core/config.js.map +1 -1
  45. package/dist/core/loading-state.d.ts +125 -0
  46. package/dist/core/loading-state.d.ts.map +1 -0
  47. package/dist/core/loading-state.js +212 -0
  48. package/dist/core/loading-state.js.map +1 -0
  49. package/dist/core/loading.d.ts +21 -26
  50. package/dist/core/loading.d.ts.map +1 -1
  51. package/dist/core/loading.js +124 -87
  52. package/dist/core/loading.js.map +1 -1
  53. package/dist/core/migration.d.ts +54 -0
  54. package/dist/core/migration.d.ts.map +1 -0
  55. package/dist/core/migration.js +279 -0
  56. package/dist/core/migration.js.map +1 -0
  57. package/dist/core/paths.d.ts +58 -0
  58. package/dist/core/paths.d.ts.map +1 -0
  59. package/dist/core/paths.js +103 -0
  60. package/dist/core/paths.js.map +1 -0
  61. package/dist/core/repos-index.d.ts +113 -0
  62. package/dist/core/repos-index.d.ts.map +1 -0
  63. package/dist/core/repos-index.js +206 -0
  64. package/dist/core/repos-index.js.map +1 -0
  65. package/dist/core/sync.d.ts.map +1 -1
  66. package/dist/core/sync.js +3 -3
  67. package/dist/core/sync.js.map +1 -1
  68. package/dist/ui/format.d.ts +159 -0
  69. package/dist/ui/format.d.ts.map +1 -0
  70. package/dist/ui/format.js +300 -0
  71. package/dist/ui/format.js.map +1 -0
  72. package/dist/ui/index.d.ts +9 -0
  73. package/dist/ui/index.d.ts.map +1 -0
  74. package/dist/ui/index.js +53 -0
  75. package/dist/ui/index.js.map +1 -0
  76. package/dist/ui/prompt.d.ts +94 -0
  77. package/dist/ui/prompt.d.ts.map +1 -0
  78. package/dist/ui/prompt.js +223 -0
  79. package/dist/ui/prompt.js.map +1 -0
  80. package/dist/ui/spinner.d.ts +99 -0
  81. package/dist/ui/spinner.d.ts.map +1 -0
  82. package/dist/ui/spinner.js +136 -0
  83. package/dist/ui/spinner.js.map +1 -0
  84. package/dist/ui/table.d.ts +142 -0
  85. package/dist/ui/table.d.ts.map +1 -0
  86. package/dist/ui/table.js +213 -0
  87. package/dist/ui/table.js.map +1 -0
  88. package/dist/utils/constants.d.ts +152 -0
  89. package/dist/utils/constants.d.ts.map +1 -0
  90. package/dist/utils/constants.js +160 -0
  91. package/dist/utils/constants.js.map +1 -0
  92. package/dist/utils/error.d.ts +109 -0
  93. package/dist/utils/error.d.ts.map +1 -0
  94. package/dist/utils/error.js +212 -0
  95. package/dist/utils/error.js.map +1 -0
  96. package/dist/utils/index.d.ts +8 -0
  97. package/dist/utils/index.d.ts.map +1 -0
  98. package/dist/utils/index.js +44 -0
  99. package/dist/utils/index.js.map +1 -0
  100. package/dist/utils/validation.d.ts +122 -0
  101. package/dist/utils/validation.d.ts.map +1 -0
  102. package/dist/utils/validation.js +248 -0
  103. package/dist/utils/validation.js.map +1 -0
  104. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repos-index.d.ts","sourceRoot":"","sources":["../../src/core/repos-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAMrC;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACnC;AAMD;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAA2B;IAExC;;;;OAIG;YACW,IAAI;IAqClB;;;OAGG;YACW,KAAK;IAanB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAKnD;;;;OAIG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAKxD;;;;OAIG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1D;;;;OAIG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY5C;;;;OAIG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKzC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;;OAGG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D;;;OAGG;IACH,UAAU,IAAI,IAAI;CAGnB;AAMD,gBAAgB;AAChB,eAAO,MAAM,UAAU,mBAA0B,CAAC;AAMlD;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAEvE;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAE3E;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D"}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ /**
3
+ * grf 仓库索引管理模块
4
+ * 管理仓库列表,存储在独立的 repos.json 文件中
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.reposIndex = exports.ReposIndexManager = void 0;
11
+ exports.getAllRepos = getAllRepos;
12
+ exports.getRepo = getRepo;
13
+ exports.saveRepo = saveRepo;
14
+ exports.removeRepo = removeRepo;
15
+ const fs_extra_1 = __importDefault(require("fs-extra"));
16
+ const paths_1 = require("./paths");
17
+ // ============================================================================
18
+ // 仓库索引管理类
19
+ // ============================================================================
20
+ /**
21
+ * 仓库索引管理器
22
+ * 管理 repos.json 文件中的仓库列表
23
+ */
24
+ class ReposIndexManager {
25
+ constructor() {
26
+ this.cache = null;
27
+ }
28
+ /**
29
+ * 读取仓库索引文件
30
+ * 如果文件不存在,返回空的仓库索引
31
+ * @returns 仓库索引对象
32
+ */
33
+ async read() {
34
+ // 如果有缓存,直接返回
35
+ if (this.cache !== null) {
36
+ return this.cache;
37
+ }
38
+ try {
39
+ const filePath = (0, paths_1.getReposIndexPath)();
40
+ const fileExists = await fs_extra_1.default.pathExists(filePath);
41
+ if (!fileExists) {
42
+ // 文件不存在,返回空索引
43
+ const emptyIndex = { repos: {} };
44
+ this.cache = emptyIndex;
45
+ return emptyIndex;
46
+ }
47
+ // 读取并解析文件
48
+ const content = (await fs_extra_1.default.readJson(filePath));
49
+ // 确保 repos 字段存在
50
+ if (!content.repos) {
51
+ content.repos = {};
52
+ }
53
+ // 更新缓存
54
+ this.cache = content;
55
+ return content;
56
+ }
57
+ catch {
58
+ // 文件读取或解析失败,返回空索引
59
+ const emptyIndex = { repos: {} };
60
+ this.cache = emptyIndex;
61
+ return emptyIndex;
62
+ }
63
+ }
64
+ /**
65
+ * 写入仓库索引文件
66
+ * @param index 要写入的仓库索引
67
+ */
68
+ async write(index) {
69
+ // 确保目录存在
70
+ await (0, paths_1.ensureGrfDirs)();
71
+ const filePath = (0, paths_1.getReposIndexPath)();
72
+ // 写入文件
73
+ await fs_extra_1.default.writeJson(filePath, index, { spaces: 2 });
74
+ // 更新缓存
75
+ this.cache = index;
76
+ }
77
+ /**
78
+ * 获取所有仓库
79
+ * @returns 仓库名称到配置的映射
80
+ */
81
+ async getAll() {
82
+ const index = await this.read();
83
+ return index.repos;
84
+ }
85
+ /**
86
+ * 获取单个仓库
87
+ * @param name 仓库名称
88
+ * @returns 仓库配置,如果不存在则返回 undefined
89
+ */
90
+ async get(name) {
91
+ const index = await this.read();
92
+ return index.repos[name];
93
+ }
94
+ /**
95
+ * 添加或更新仓库
96
+ * @param name 仓库名称
97
+ * @param config 仓库配置
98
+ */
99
+ async set(name, config) {
100
+ const index = await this.read();
101
+ index.repos[name] = config;
102
+ await this.write(index);
103
+ }
104
+ /**
105
+ * 删除仓库
106
+ * @param name 仓库名称
107
+ * @returns 是否成功删除(仓库存在则返回 true)
108
+ */
109
+ async remove(name) {
110
+ const index = await this.read();
111
+ if (!(name in index.repos)) {
112
+ return false;
113
+ }
114
+ delete index.repos[name];
115
+ await this.write(index);
116
+ return true;
117
+ }
118
+ /**
119
+ * 检查仓库是否存在
120
+ * @param name 仓库名称
121
+ * @returns 仓库是否存在
122
+ */
123
+ async has(name) {
124
+ const index = await this.read();
125
+ return name in index.repos;
126
+ }
127
+ /**
128
+ * 获取仓库数量
129
+ * @returns 仓库数量
130
+ */
131
+ async count() {
132
+ const index = await this.read();
133
+ return Object.keys(index.repos).length;
134
+ }
135
+ /**
136
+ * 获取所有仓库名称
137
+ * @returns 仓库名称数组
138
+ */
139
+ async names() {
140
+ const index = await this.read();
141
+ return Object.keys(index.repos);
142
+ }
143
+ /**
144
+ * 清空所有仓库
145
+ */
146
+ async clear() {
147
+ const emptyIndex = { repos: {} };
148
+ await this.write(emptyIndex);
149
+ }
150
+ /**
151
+ * 批量设置仓库(用于迁移)
152
+ * @param repos 仓库名称到配置的映射
153
+ */
154
+ async setAll(repos) {
155
+ const index = { repos };
156
+ await this.write(index);
157
+ }
158
+ /**
159
+ * 清除缓存
160
+ * 下次调用读取方法时会重新从文件读取
161
+ */
162
+ clearCache() {
163
+ this.cache = null;
164
+ }
165
+ }
166
+ exports.ReposIndexManager = ReposIndexManager;
167
+ // ============================================================================
168
+ // 单例实例
169
+ // ============================================================================
170
+ /** 仓库索引管理器单例 */
171
+ exports.reposIndex = new ReposIndexManager();
172
+ // ============================================================================
173
+ // 便捷函数(保持与旧 API 兼容)
174
+ // ============================================================================
175
+ /**
176
+ * 获取所有仓库配置
177
+ * @returns 仓库名称到配置的映射
178
+ */
179
+ async function getAllRepos() {
180
+ return exports.reposIndex.getAll();
181
+ }
182
+ /**
183
+ * 获取单个仓库配置
184
+ * @param name 仓库名称
185
+ * @returns 仓库配置,如果不存在则返回 undefined
186
+ */
187
+ async function getRepo(name) {
188
+ return exports.reposIndex.get(name);
189
+ }
190
+ /**
191
+ * 保存仓库配置
192
+ * @param name 仓库名称
193
+ * @param config 仓库配置
194
+ */
195
+ async function saveRepo(name, config) {
196
+ return exports.reposIndex.set(name, config);
197
+ }
198
+ /**
199
+ * 删除仓库配置
200
+ * @param name 仓库名称
201
+ * @returns 是否成功删除
202
+ */
203
+ async function removeRepo(name) {
204
+ return exports.reposIndex.remove(name);
205
+ }
206
+ //# sourceMappingURL=repos-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repos-index.js","sourceRoot":"","sources":["../../src/core/repos-index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/core/sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe;IACf,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,YAAY,EACnB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,EAAE,CAAC,CAUvB;AAID;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,YAAY,EACnB,KAAK,GAAE,OAAe,EACtB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,CAAC,CA2ErB;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAC3B,KAAK,GAAE,OAAe,EACtB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,EAAE,CAAC,CAsCvB"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/core/sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe;IACf,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,YAAY,EACnB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,EAAE,CAAC,CAUvB;AAID;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,YAAY,EACnB,KAAK,GAAE,OAAe,EACtB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,CAAC,CAuErB;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,CAC3B,KAAK,GAAE,OAAe,EACtB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,EAAE,CAAC,CAsCvB"}
package/dist/core/sync.js CHANGED
@@ -103,7 +103,7 @@ async function getSyncStatus(entry, projectRoot = process.cwd()) {
103
103
  * @returns 同步状态列表
104
104
  */
105
105
  async function getAllSyncStatus(projectRoot = process.cwd()) {
106
- const entries = await loading.getEntries(projectRoot);
106
+ const entries = await loading.getEntries();
107
107
  const statusList = [];
108
108
  for (const entry of entries) {
109
109
  const status = await getSyncStatus(entry, projectRoot);
@@ -170,7 +170,7 @@ async function syncEntry(entry, force = false, projectRoot = process.cwd()) {
170
170
  // 更新 loading.json 中的 commitId 和 updatedAt
171
171
  await loading.updateEntry(entry.id, {
172
172
  commitId: cacheCommitId,
173
- }, projectRoot);
173
+ });
174
174
  result.success = true;
175
175
  result.message = `同步成功: ${entry.commitId.substring(0, 7)} → ${cacheCommitId.substring(0, 7)}`;
176
176
  return result;
@@ -188,7 +188,7 @@ async function syncEntry(entry, force = false, projectRoot = process.cwd()) {
188
188
  * @returns 同步结果列表
189
189
  */
190
190
  async function syncAll(force = false, projectRoot = process.cwd()) {
191
- const entries = await loading.getEntries(projectRoot);
191
+ const entries = await loading.getEntries();
192
192
  const results = [];
193
193
  for (const entry of entries) {
194
194
  // 获取同步状态
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/core/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/core/sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * 格式化输出模块
3
+ * 封装各种数据格式化功能
4
+ */
5
+ /**
6
+ * 截断 commit ID(前 7 个字符)
7
+ * @param commitId 完整的 commit ID
8
+ * @param length 截断长度,默认为 7
9
+ * @returns 截断后的 commit ID
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * shortCommit("abc1234567890"); // "abc1234"
14
+ * shortCommit("abc1234567890", 10); // "abc1234567"
15
+ * ```
16
+ */
17
+ export declare function shortCommit(commitId: string, length?: number): string;
18
+ /**
19
+ * 格式化日期
20
+ * @param isoDate ISO 格式日期字符串或 Date 对象
21
+ * @param format 格式类型
22
+ * @returns 格式化后的日期字符串
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * formatDate("2024-01-15T10:30:00Z"); // "1/15/2024"
27
+ * formatDate("2024-01-15T10:30:00Z", "full"); // "1/15/2024, 10:30:00 AM"
28
+ * formatDate("2024-01-15T10:30:00Z", "relative"); // "2 days ago"
29
+ * ```
30
+ */
31
+ export declare function formatDate(isoDate: string | Date, format?: "short" | "full" | "relative" | "iso"): string;
32
+ /**
33
+ * 格式化字节大小
34
+ * @param bytes 字节数
35
+ * @param decimals 小数位数,默认为 2
36
+ * @returns 格式化后的大小字符串
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * formatBytes(1024); // "1 KB"
41
+ * formatBytes(1234567); // "1.18 MB"
42
+ * formatBytes(0); // "0 Bytes"
43
+ * ```
44
+ */
45
+ export declare function formatBytes(bytes: number, decimals?: number): string;
46
+ /**
47
+ * 格式化数字(添加千位分隔符)
48
+ * @param num 数字
49
+ * @returns 格式化后的数字字符串
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * formatNumber(1234567); // "1,234,567"
54
+ * ```
55
+ */
56
+ export declare function formatNumber(num: number): string;
57
+ /**
58
+ * 格式化持续时间(毫秒)
59
+ * @param ms 毫秒数
60
+ * @returns 格式化后的持续时间字符串
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * formatDuration(1500); // "1.5s"
65
+ * formatDuration(65000); // "1m 5s"
66
+ * formatDuration(500); // "500ms"
67
+ * ```
68
+ */
69
+ export declare function formatDuration(ms: number): string;
70
+ /**
71
+ * 格式化路径(将 home 目录替换为 ~)
72
+ * @param filePath 文件路径
73
+ * @param homeDir home 目录路径
74
+ * @returns 格式化后的路径
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * shortenPath("/home/user/projects", "/home/user"); // "~/projects"
79
+ * ```
80
+ */
81
+ export declare function shortenPath(filePath: string, homeDir?: string): string;
82
+ /**
83
+ * 规范化路径分隔符(统一使用正斜杠)
84
+ * @param filePath 文件路径
85
+ * @returns 规范化后的路径
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * normalizePath("path\\to\\file"); // "path/to/file"
90
+ * ```
91
+ */
92
+ export declare function normalizePath(filePath: string): string;
93
+ /**
94
+ * 格式化仓库名称(用于显示)
95
+ * @param repoName 仓库名称
96
+ * @returns 格式化后的名称
97
+ */
98
+ export declare function formatRepoName(repoName: string): string;
99
+ /**
100
+ * 状态图标
101
+ */
102
+ export declare const StatusIcon: {
103
+ readonly success: string;
104
+ readonly error: string;
105
+ readonly warning: string;
106
+ readonly info: string;
107
+ readonly pending: string;
108
+ readonly inProgress: string;
109
+ readonly update: string;
110
+ };
111
+ /**
112
+ * 获取状态图标
113
+ * @param status 状态类型
114
+ * @returns 对应的图标
115
+ */
116
+ export declare function getStatusIcon(status: "success" | "error" | "warning" | "info" | "pending" | "inProgress" | "update"): string;
117
+ /**
118
+ * 格式化错误消息
119
+ * @param message 错误消息
120
+ * @returns 格式化后的错误消息
121
+ */
122
+ export declare function formatError(message: string): string;
123
+ /**
124
+ * 格式化成功消息
125
+ * @param message 成功消息
126
+ * @returns 格式化后的成功消息
127
+ */
128
+ export declare function formatSuccess(message: string): string;
129
+ /**
130
+ * 格式化警告消息
131
+ * @param message 警告消息
132
+ * @returns 格式化后的警告消息
133
+ */
134
+ export declare function formatWarning(message: string): string;
135
+ /**
136
+ * 格式化提示消息
137
+ * @param message 提示消息
138
+ * @returns 格式化后的提示消息
139
+ */
140
+ export declare function formatHint(message: string): string;
141
+ /**
142
+ * 高亮显示命令
143
+ * @param command 命令字符串
144
+ * @returns 高亮后的命令
145
+ */
146
+ export declare function highlightCommand(command: string): string;
147
+ /**
148
+ * 高亮显示路径
149
+ * @param path 路径字符串
150
+ * @returns 高亮后的路径
151
+ */
152
+ export declare function highlightPath(path: string): string;
153
+ /**
154
+ * 高亮显示名称
155
+ * @param name 名称字符串
156
+ * @returns 高亮后的名称
157
+ */
158
+ export declare function highlightName(name: string): string;
159
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/ui/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAExE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,GAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,KAAe,GACtD,MAAM,CAeR;AAmCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAWvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAgCjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAMtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;CAQb,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EACF,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,GACN,SAAS,GACT,YAAY,GACZ,QAAQ,GACX,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD"}