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
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Git Reference (grf)
2
2
 
3
- English | [简体中文](https://github.com/haiyewei/gitreference/blob/main/README.zh-CN.md)
3
+ English | [简体中文](https://github.com/haiyewei/grf-cli/blob/main/README.zh-CN.md)
4
4
 
5
5
  A lightweight CLI tool for managing reference code from Git repositories. Easily add, load, and sync reference code into your projects without cluttering your main codebase.
6
6
 
@@ -23,10 +23,10 @@ A lightweight CLI tool for managing reference code from Git repositories. Easily
23
23
 
24
24
  ```bash
25
25
  # Global installation (recommended)
26
- npm install -g gitreference
26
+ npm install -g grf-cli
27
27
 
28
28
  # Or use npx without installation
29
- npx gitreference <command>
29
+ npx grf-cli <command>
30
30
  ```
31
31
 
32
32
  ## Quick Start
@@ -458,7 +458,7 @@ grf follows a two-stage workflow to manage reference code:
458
458
 
459
459
  ## License
460
460
 
461
- This project is licensed under the MIT License - see the [LICENSE](https://github.com/haiyewei/gitreference/blob/main/LICENSE) file for details.
461
+ This project is licensed under the MIT License - see the [LICENSE](https://github.com/haiyewei/grf-cli/blob/main/LICENSE) file for details.
462
462
 
463
463
  ---
464
464
 
@@ -469,7 +469,7 @@ Contributions are welcome! Here's how you can help:
469
469
  ### Getting Started
470
470
 
471
471
  1. Fork the repository
472
- 2. Clone your fork: `git clone https://github.com/your-username/gitreference.git`
472
+ 2. Clone your fork: `git clone https://github.com/your-username/grf-cli.git`
473
473
  3. Install dependencies: `npm install`
474
474
  4. Create a feature branch: `git checkout -b feature/your-feature`
475
475
 
package/README.zh-CN.md CHANGED
@@ -1,4 +1,4 @@
1
- [English](https://github.com/haiyewei/gitreference/blob/main/README.md) | 简体中文
1
+ [English](https://github.com/haiyewei/grf-cli/blob/main/README.md) | 简体中文
2
2
 
3
3
  # Git Reference (grf)
4
4
 
@@ -23,10 +23,10 @@
23
23
 
24
24
  ```bash
25
25
  # 全局安装(推荐)
26
- npm install -g gitreference
26
+ npm install -g grf-cli
27
27
 
28
28
  # 或者使用 npx 无需安装
29
- npx gitreference <command>
29
+ npx grf-cli <command>
30
30
  ```
31
31
 
32
32
  ## 快速开始
@@ -458,7 +458,7 @@ grf 采用两阶段工作流来管理参考代码:
458
458
 
459
459
  ## 许可证
460
460
 
461
- 本项目采用 MIT 许可证 - 详见 [LICENSE](https://github.com/haiyewei/gitreference/blob/main/LICENSE) 文件。
461
+ 本项目采用 MIT 许可证 - 详见 [LICENSE](https://github.com/haiyewei/grf-cli/blob/main/LICENSE) 文件。
462
462
 
463
463
  ---
464
464
 
@@ -469,7 +469,7 @@ grf 采用两阶段工作流来管理参考代码:
469
469
  ### 开始
470
470
 
471
471
  1. Fork 本仓库
472
- 2. 克隆你的 fork:`git clone https://github.com/your-username/gitreference.git`
472
+ 2. 克隆你的 fork:`git clone https://github.com/your-username/grf-cli.git`
473
473
  3. 安装依赖:`npm install`
474
474
  4. 创建功能分支:`git checkout -b feature/your-feature`
475
475
 
package/dist/cli.js CHANGED
@@ -37,13 +37,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
37
37
  const commander_1 = require("commander");
38
38
  const fs = __importStar(require("fs"));
39
39
  const path = __importStar(require("path"));
40
- const add_js_1 = require("./commands/add.js");
41
- const load_js_1 = require("./commands/load.js");
42
- const unload_js_1 = require("./commands/unload.js");
43
- const update_js_1 = require("./commands/update.js");
44
- const list_js_1 = require("./commands/list.js");
45
- const clean_js_1 = require("./commands/clean.js");
46
- const config_js_1 = require("./commands/config.js");
40
+ const index_js_1 = require("./commands/index.js");
47
41
  // 读取 package.json 获取版本号
48
42
  const packageJsonPath = path.join(__dirname, "..", "package.json");
49
43
  const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
@@ -53,13 +47,7 @@ program
53
47
  .description("Git Reference - A lightweight tool for managing reference code")
54
48
  .version(packageJson.version);
55
49
  // 注册所有命令
56
- program.addCommand(add_js_1.addCommand);
57
- program.addCommand(load_js_1.loadCommand);
58
- program.addCommand(unload_js_1.unloadCommand);
59
- program.addCommand(update_js_1.updateCommand);
60
- program.addCommand(list_js_1.listCommand);
61
- program.addCommand(clean_js_1.cleanCommand);
62
- program.addCommand(config_js_1.configCommand);
50
+ (0, index_js_1.registerAllCommands)(program);
63
51
  // 全局错误处理
64
52
  process.on("uncaughtException", (error) => {
65
53
  console.error("Error:", error.message);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,uCAAyB;AACzB,2CAA6B;AAC7B,8CAA+C;AAC/C,gDAAiD;AACjD,oDAAqD;AACrD,oDAAqD;AACrD,gDAAiD;AACjD,kDAAmD;AACnD,oDAAqD;AAErD,wBAAwB;AACxB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1E,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,gEAAgE,CAAC;KAC7E,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,SAAS;AACT,OAAO,CAAC,UAAU,CAAC,mBAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,qBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,yBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,yBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,qBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,uBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,yBAAa,CAAC,CAAC;AAElC,SAAS;AACT,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAY,EAAE,EAAE;IAC/C,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAe,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CACX,QAAQ,EACR,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAC1D,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,UAAU;AACV,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,uCAAyB;AACzB,2CAA6B;AAC7B,kDAA0D;AAE1D,wBAAwB;AACxB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1E,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,gEAAgE,CAAC;KAC7E,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,SAAS;AACT,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAC;AAE7B,SAAS;AACT,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAY,EAAE,EAAE;IAC/C,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAe,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CACX,QAAQ,EACR,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAC1D,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,UAAU;AACV,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -3,5 +3,10 @@
3
3
  * 克隆远程仓库到本地缓存
4
4
  */
5
5
  import { Command } from "commander";
6
+ /**
7
+ * 注册 add 命令
8
+ * @param program Commander 程序实例
9
+ */
10
+ export declare function registerAddCommand(program: Command): void;
6
11
  export declare const addCommand: Command;
7
12
  //# sourceMappingURL=add.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,UAAU,SA2DpB,CAAC"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEzD;AAED,eAAO,MAAM,UAAU,SA8CpB,CAAC"}
@@ -41,11 +41,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  };
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
43
  exports.addCommand = void 0;
44
+ exports.registerAddCommand = registerAddCommand;
44
45
  const commander_1 = require("commander");
45
46
  const chalk_1 = __importDefault(require("chalk"));
46
- const ora_1 = __importDefault(require("ora"));
47
47
  const repository = __importStar(require("../core/repository.js"));
48
- const index_js_1 = require("../types/index.js");
48
+ const spinner_js_1 = require("../ui/spinner.js");
49
+ const format_js_1 = require("../ui/format.js");
50
+ const error_js_1 = require("../utils/error.js");
51
+ /**
52
+ * 注册 add 命令
53
+ * @param program Commander 程序实例
54
+ */
55
+ function registerAddCommand(program) {
56
+ program.addCommand(exports.addCommand);
57
+ }
49
58
  exports.addCommand = new commander_1.Command("add")
50
59
  .description("Add a reference repository")
51
60
  .argument("<url>", "Git repository URL")
@@ -55,7 +64,7 @@ exports.addCommand = new commander_1.Command("add")
55
64
  .option("--no-shallow", "Full clone")
56
65
  .option("--depth <n>", "Shallow clone depth", "1")
57
66
  .action(async (url, options) => {
58
- const spinner = (0, ora_1.default)("Cloning repository...").start();
67
+ const spinner = (0, spinner_js_1.startSpinner)("Cloning repository...");
59
68
  try {
60
69
  const repoInfo = await repository.add(url, {
61
70
  name: options.name,
@@ -71,22 +80,12 @@ exports.addCommand = new commander_1.Command("add")
71
80
  if (repoInfo.branch) {
72
81
  console.log(` ${chalk_1.default.gray("Branch:")} ${repoInfo.branch}`);
73
82
  }
74
- console.log(` ${chalk_1.default.gray("Commit:")} ${repoInfo.commitId.substring(0, 7)}...`);
83
+ console.log(` ${chalk_1.default.gray("Commit:")} ${(0, format_js_1.shortCommit)(repoInfo.commitId)}...`);
75
84
  }
76
85
  catch (error) {
77
86
  spinner.fail(chalk_1.default.red("Failed to add repository"));
78
- if (error instanceof index_js_1.GrfError) {
79
- console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} ${error.message}`));
80
- process.exit(1);
81
- }
82
- // 未知错误
83
- if (error instanceof Error) {
84
- console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} ${error.message}`));
85
- }
86
- else {
87
- console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} An unknown error occurred`));
88
- }
89
- process.exit(1);
87
+ console.error();
88
+ (0, error_js_1.handleError)(error, { exit: true });
90
89
  }
91
90
  });
92
91
  //# sourceMappingURL=add.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,gDAEC;AAbD,yCAAoC;AACpC,kDAA0B;AAC1B,kEAAoD;AACpD,iDAAgD;AAChD,+CAA8C;AAC9C,gDAAgD;AAEhD;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,OAAO,CAAC,UAAU,CAAC,kBAAU,CAAC,CAAC;AACjC,CAAC;AAEY,QAAA,UAAU,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,4BAA4B,CAAC;KACzC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;KACvC,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;KACrD,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;KACjD,MAAM,CAAC,WAAW,EAAE,yBAAyB,EAAE,IAAI,CAAC;KACpD,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC;KACpC,MAAM,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,CAAC;KACjD,MAAM,CACL,KAAK,EACH,GAAW,EACX,OAKC,EACD,EAAE;IACF,MAAM,OAAO,GAAG,IAAA,yBAAY,EAAC,uBAAuB,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE;YACzC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SACnC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAE/D,SAAS;QACT,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAA,uBAAW,EAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CACpE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAA,sBAAW,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -3,5 +3,10 @@
3
3
  * 清理不需要的缓存仓库
4
4
  */
5
5
  import { Command } from "commander";
6
+ /**
7
+ * 注册 clean 命令
8
+ * @param program Commander 程序实例
9
+ */
10
+ export declare function registerCleanCommand(program: Command): void;
6
11
  export declare const cleanCommand: Command;
7
12
  //# sourceMappingURL=clean.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BpC,eAAO,MAAM,YAAY,SAuItB,CAAC"}
1
+ {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE3D;AAED,eAAO,MAAM,YAAY,SA8HtB,CAAC"}
@@ -41,28 +41,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  };
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
43
  exports.cleanCommand = void 0;
44
+ exports.registerCleanCommand = registerCleanCommand;
44
45
  const commander_1 = require("commander");
45
46
  const chalk_1 = __importDefault(require("chalk"));
46
- const ora_1 = __importDefault(require("ora"));
47
- const readline = __importStar(require("readline"));
48
47
  const repository = __importStar(require("../core/repository.js"));
49
- const index_js_1 = require("../types/index.js");
48
+ const prompt_js_1 = require("../ui/prompt.js");
49
+ const spinner_js_1 = require("../ui/spinner.js");
50
+ const error_js_1 = require("../utils/error.js");
50
51
  /**
51
- * 确认提示
52
- * @param message 提示消息
53
- * @returns 用户是否确认
52
+ * 注册 clean 命令
53
+ * @param program Commander 程序实例
54
54
  */
55
- async function confirm(message) {
56
- const rl = readline.createInterface({
57
- input: process.stdin,
58
- output: process.stdout,
59
- });
60
- return new Promise((resolve) => {
61
- rl.question(`${message} (y/N) `, (answer) => {
62
- rl.close();
63
- resolve(answer.toLowerCase() === "y" || answer.toLowerCase() === "yes");
64
- });
65
- });
55
+ function registerCleanCommand(program) {
56
+ program.addCommand(exports.cleanCommand);
66
57
  }
67
58
  exports.cleanCommand = new commander_1.Command("clean")
68
59
  .description("Clean cached repositories")
@@ -89,14 +80,14 @@ exports.cleanCommand = new commander_1.Command("clean")
89
80
  console.log(` - ${repo.name}`);
90
81
  }
91
82
  console.log();
92
- const confirmed = await confirm("Are you sure?");
83
+ const confirmed = await (0, prompt_js_1.confirm)("Are you sure?");
93
84
  if (!confirmed) {
94
- console.log(chalk_1.default.yellow("Operation cancelled."));
85
+ (0, prompt_js_1.showCancelled)();
95
86
  return;
96
87
  }
97
88
  }
98
89
  // 删除所有仓库
99
- const spinner = (0, ora_1.default)("Removing repositories...").start();
90
+ const spinner = (0, spinner_js_1.startSpinner)("Removing repositories...");
100
91
  let removedCount = 0;
101
92
  const errors = [];
102
93
  for (const repo of repos) {
@@ -134,14 +125,14 @@ exports.cleanCommand = new commander_1.Command("clean")
134
125
  }
135
126
  // 确认删除
136
127
  if (!options.force) {
137
- const confirmed = await confirm(`Remove repository '${chalk_1.default.cyan(repoInfo.name)}'?`);
128
+ const confirmed = await (0, prompt_js_1.confirm)(`Remove repository '${chalk_1.default.cyan(repoInfo.name)}'?`);
138
129
  if (!confirmed) {
139
- console.log(chalk_1.default.yellow("Operation cancelled."));
130
+ (0, prompt_js_1.showCancelled)();
140
131
  return;
141
132
  }
142
133
  }
143
134
  // 删除仓库
144
- const spinner = (0, ora_1.default)("Removing repository...").start();
135
+ const spinner = (0, spinner_js_1.startSpinner)("Removing repository...");
145
136
  await repository.remove(repoInfo.name);
146
137
  spinner.succeed("Repository removed successfully!");
147
138
  return;
@@ -156,16 +147,7 @@ exports.cleanCommand = new commander_1.Command("clean")
156
147
  console.log(`Use '${chalk_1.default.cyan("grf list")}' to see all cached repositories.`);
157
148
  }
158
149
  catch (error) {
159
- if (error instanceof index_js_1.GrfError) {
160
- console.error(chalk_1.default.red(`${chalk_1.default.bold("✗")} ${error.message}`));
161
- }
162
- else if (error instanceof Error) {
163
- console.error(chalk_1.default.red(`${chalk_1.default.bold("✗")} ${error.message}`));
164
- }
165
- else {
166
- console.error(chalk_1.default.red(`${chalk_1.default.bold("✗")} An unknown error occurred`));
167
- }
168
- process.exit(1);
150
+ (0, error_js_1.handleError)(error, { exit: true });
169
151
  }
170
152
  });
171
153
  //# sourceMappingURL=clean.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,oDAEC;AAbD,yCAAoC;AACpC,kDAA0B;AAC1B,kEAAoD;AACpD,+CAAyD;AACzD,iDAAgD;AAChD,gDAAgD;AAEhD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACnC,CAAC;AAEY,QAAA,YAAY,GAAG,IAAI,mBAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,2BAA2B,CAAC;KACxC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;KAC/C,MAAM,CAAC,OAAO,EAAE,gCAAgC,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;KAC1C,MAAM,CACL,KAAK,EACH,IAAwB,EACxB,OAA2C,EAC3C,EAAE;IACF,IAAI,CAAC;QACH,WAAW;QACX,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAEtC,YAAY;QACZ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CACT,QAAQ,eAAK,CAAC,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAClE,CAAC;YACF,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,cAAc;YACd,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CACT,wBAAwB,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,GAAG,CACjH,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;gBAEd,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAO,EAAC,eAAe,CAAC,CAAC;gBACjD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,IAAA,yBAAa,GAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;YACH,CAAC;YAED,SAAS;YACT,MAAM,OAAO,GAAG,IAAA,yBAAY,EAAC,0BAA0B,CAAC,CAAC;YACzD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnC,YAAY,EAAE,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;wBAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CACV,WAAW,YAAY,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAC3D,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,yCAAyC,CAAC,CACxD,CAAC;gBACF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,EAAE,CAAC;YACT,WAAW;YACX,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAC9D,CAAC;gBACF,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CACT,QAAQ,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAClE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO;YACP,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAO,EAC7B,sBAAsB,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CACpD,CAAC;gBACF,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,IAAA,yBAAa,GAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;YACH,CAAC;YAED,OAAO;YACP,MAAM,OAAO,GAAG,IAAA,yBAAY,EAAC,wBAAwB,CAAC,CAAC;YACvD,MAAM,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,mCAAmC,CACvE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,+BAA+B,CAClE,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,QAAQ,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mCAAmC,CAClE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,sBAAW,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -3,5 +3,10 @@
3
3
  * 管理全局配置
4
4
  */
5
5
  import { Command } from "commander";
6
+ /**
7
+ * 注册 config 命令
8
+ * @param program Commander 程序实例
9
+ */
10
+ export declare function registerConfigCommand(program: Command): void;
6
11
  export declare const configCommand: Command;
7
12
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoHpC,eAAO,MAAM,aAAa,SA0EvB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE5D;AA+FD,eAAO,MAAM,aAAa,SAwDvB,CAAC"}
@@ -8,10 +8,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.configCommand = void 0;
11
+ exports.registerConfigCommand = registerConfigCommand;
11
12
  const commander_1 = require("commander");
12
13
  const chalk_1 = __importDefault(require("chalk"));
13
- const os_1 = __importDefault(require("os"));
14
14
  const config_js_1 = require("../core/config.js");
15
+ const format_js_1 = require("../ui/format.js");
16
+ const error_js_1 = require("../utils/error.js");
17
+ /**
18
+ * 注册 config 命令
19
+ * @param program Commander 程序实例
20
+ */
21
+ function registerConfigCommand(program) {
22
+ program.addCommand(exports.configCommand);
23
+ }
15
24
  /** 有效的配置项列表 */
16
25
  const validKeys = ["defaultBranch", "shallowClone", "shallowDepth"];
17
26
  /**
@@ -67,18 +76,6 @@ function formatValue(value) {
67
76
  }
68
77
  return chalk_1.default.cyan(value);
69
78
  }
70
- /**
71
- * 将路径中的 home 目录替换为 ~
72
- * @param filePath 文件路径
73
- * @returns 替换后的路径
74
- */
75
- function shortenPath(filePath) {
76
- const home = os_1.default.homedir();
77
- if (filePath.startsWith(home)) {
78
- return "~" + filePath.slice(home.length);
79
- }
80
- return filePath;
81
- }
82
79
  /**
83
80
  * 显示所有配置
84
81
  * @param config 配置对象
@@ -91,7 +88,7 @@ function showAllConfig(config) {
91
88
  console.log(` ${chalk_1.default.white(key + ":")} ${formatValue(value)}`);
92
89
  }
93
90
  console.log();
94
- console.log(chalk_1.default.gray(`Config file: ${shortenPath((0, config_js_1.getConfigPath)())}`));
91
+ console.log(chalk_1.default.gray(`Config file: ${(0, format_js_1.shortenPath)((0, config_js_1.getConfigPath)())}`));
95
92
  }
96
93
  /**
97
94
  * 显示单个配置项的值
@@ -117,7 +114,7 @@ exports.configCommand = new commander_1.Command("config")
117
114
  try {
118
115
  // --path: 显示配置文件路径
119
116
  if (options.path) {
120
- console.log(shortenPath((0, config_js_1.getConfigPath)()));
117
+ console.log((0, format_js_1.shortenPath)((0, config_js_1.getConfigPath)()));
121
118
  return;
122
119
  }
123
120
  const config = await (0, config_js_1.readGlobalConfig)();
@@ -139,32 +136,15 @@ exports.configCommand = new commander_1.Command("config")
139
136
  return;
140
137
  }
141
138
  // 有 key 和 value: 设置配置项
142
- try {
143
- const parsedValue = parseValue(key, value);
144
- // 更新配置
145
- config[key] = parsedValue;
146
- await (0, config_js_1.writeGlobalConfig)(config);
147
- console.log(chalk_1.default.green("✓") +
148
- ` Configuration updated: ${chalk_1.default.white(key)} = ${formatValue(parsedValue)}`);
149
- }
150
- catch (error) {
151
- if (error instanceof Error) {
152
- console.error(chalk_1.default.red(`${chalk_1.default.bold("✗")} ${error.message}`));
153
- }
154
- else {
155
- console.error(chalk_1.default.red(`${chalk_1.default.bold("✗")} Failed to set configuration`));
156
- }
157
- process.exit(1);
158
- }
139
+ const parsedValue = parseValue(key, value);
140
+ // 更新配置
141
+ config[key] = parsedValue;
142
+ await (0, config_js_1.writeGlobalConfig)(config);
143
+ console.log(format_js_1.StatusIcon.success +
144
+ ` Configuration updated: ${chalk_1.default.white(key)} = ${formatValue(parsedValue)}`);
159
145
  }
160
146
  catch (error) {
161
- if (error instanceof Error) {
162
- console.error(chalk_1.default.red(`${chalk_1.default.bold("✗")} ${error.message}`));
163
- }
164
- else {
165
- console.error(chalk_1.default.red(`${chalk_1.default.bold("✗")} An unknown error occurred`));
166
- }
167
- process.exit(1);
147
+ (0, error_js_1.handleError)(error, { exit: true });
168
148
  }
169
149
  });
170
150
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 命令注册中心
3
+ * 统一导出所有命令的注册函数
4
+ */
5
+ import { Command } from "commander";
6
+ /**
7
+ * 命令注册函数类型
8
+ */
9
+ export type CommandRegister = (program: Command) => void;
10
+ /**
11
+ * 所有命令注册函数列表
12
+ * 按字母顺序排列,便于维护
13
+ */
14
+ export declare const commands: CommandRegister[];
15
+ /**
16
+ * 批量注册所有命令
17
+ * @param program Commander 程序实例
18
+ */
19
+ export declare function registerAllCommands(program: Command): void;
20
+ export { registerAddCommand } from "./add.js";
21
+ export { registerCleanCommand } from "./clean.js";
22
+ export { registerConfigCommand } from "./config.js";
23
+ export { registerListCommand } from "./list.js";
24
+ export { registerLoadCommand } from "./load.js";
25
+ export { registerUnloadCommand } from "./unload.js";
26
+ export { registerUpdateCommand } from "./update.js";
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,eAAe,EAQrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE1D;AAGD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ * 命令注册中心
4
+ * 统一导出所有命令的注册函数
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.registerUpdateCommand = exports.registerUnloadCommand = exports.registerLoadCommand = exports.registerListCommand = exports.registerConfigCommand = exports.registerCleanCommand = exports.registerAddCommand = exports.commands = void 0;
8
+ exports.registerAllCommands = registerAllCommands;
9
+ // 导入所有命令模块的注册函数
10
+ const add_js_1 = require("./add.js");
11
+ const clean_js_1 = require("./clean.js");
12
+ const config_js_1 = require("./config.js");
13
+ const list_js_1 = require("./list.js");
14
+ const load_js_1 = require("./load.js");
15
+ const unload_js_1 = require("./unload.js");
16
+ const update_js_1 = require("./update.js");
17
+ /**
18
+ * 所有命令注册函数列表
19
+ * 按字母顺序排列,便于维护
20
+ */
21
+ exports.commands = [
22
+ add_js_1.registerAddCommand,
23
+ clean_js_1.registerCleanCommand,
24
+ config_js_1.registerConfigCommand,
25
+ list_js_1.registerListCommand,
26
+ load_js_1.registerLoadCommand,
27
+ unload_js_1.registerUnloadCommand,
28
+ update_js_1.registerUpdateCommand,
29
+ ];
30
+ /**
31
+ * 批量注册所有命令
32
+ * @param program Commander 程序实例
33
+ */
34
+ function registerAllCommands(program) {
35
+ exports.commands.forEach((register) => register(program));
36
+ }
37
+ // 单独导出各命令的注册函数,方便按需使用
38
+ var add_js_2 = require("./add.js");
39
+ Object.defineProperty(exports, "registerAddCommand", { enumerable: true, get: function () { return add_js_2.registerAddCommand; } });
40
+ var clean_js_2 = require("./clean.js");
41
+ Object.defineProperty(exports, "registerCleanCommand", { enumerable: true, get: function () { return clean_js_2.registerCleanCommand; } });
42
+ var config_js_2 = require("./config.js");
43
+ Object.defineProperty(exports, "registerConfigCommand", { enumerable: true, get: function () { return config_js_2.registerConfigCommand; } });
44
+ var list_js_2 = require("./list.js");
45
+ Object.defineProperty(exports, "registerListCommand", { enumerable: true, get: function () { return list_js_2.registerListCommand; } });
46
+ var load_js_2 = require("./load.js");
47
+ Object.defineProperty(exports, "registerLoadCommand", { enumerable: true, get: function () { return load_js_2.registerLoadCommand; } });
48
+ var unload_js_2 = require("./unload.js");
49
+ Object.defineProperty(exports, "registerUnloadCommand", { enumerable: true, get: function () { return unload_js_2.registerUnloadCommand; } });
50
+ var update_js_2 = require("./update.js");
51
+ Object.defineProperty(exports, "registerUpdateCommand", { enumerable: true, get: function () { return update_js_2.registerUpdateCommand; } });
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAoCH,kDAEC;AAlCD,gBAAgB;AAChB,qCAA8C;AAC9C,yCAAkD;AAClD,2CAAoD;AACpD,uCAAgD;AAChD,uCAAgD;AAChD,2CAAoD;AACpD,2CAAoD;AAOpD;;;GAGG;AACU,QAAA,QAAQ,GAAsB;IACzC,2BAAkB;IAClB,+BAAoB;IACpB,iCAAqB;IACrB,6BAAmB;IACnB,6BAAmB;IACnB,iCAAqB;IACrB,iCAAqB;CACtB,CAAC;AAEF;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,gBAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,sBAAsB;AACtB,mCAA8C;AAArC,4GAAA,kBAAkB,OAAA;AAC3B,uCAAkD;AAAzC,gHAAA,oBAAoB,OAAA;AAC7B,yCAAoD;AAA3C,kHAAA,qBAAqB,OAAA;AAC9B,qCAAgD;AAAvC,8GAAA,mBAAmB,OAAA;AAC5B,qCAAgD;AAAvC,8GAAA,mBAAmB,OAAA;AAC5B,yCAAoD;AAA3C,kHAAA,qBAAqB,OAAA;AAC9B,yCAAoD;AAA3C,kHAAA,qBAAqB,OAAA"}
@@ -3,5 +3,10 @@
3
3
  * 列出所有缓存的仓库
4
4
  */
5
5
  import { Command } from "commander";
6
+ /**
7
+ * 注册 list 命令
8
+ * @param program Commander 程序实例
9
+ */
10
+ export declare function registerListCommand(program: Command): void;
6
11
  export declare const listCommand: Command;
7
12
  //# sourceMappingURL=list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDpC,eAAO,MAAM,WAAW,SAwEpB,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE1D;AAQD,eAAO,MAAM,WAAW,SAiEpB,CAAC"}