grf-cli 1.0.4 → 1.0.7
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.
- package/dist/cli.js.map +1 -1
- package/dist/commands/list/index.d.ts.map +1 -1
- package/dist/commands/list/index.js +9 -1
- package/dist/commands/list/index.js.map +1 -1
- package/dist/core/loading-state.js.map +1 -1
- package/dist/core/repository.d.ts +6 -1
- package/dist/core/repository.d.ts.map +1 -1
- package/dist/core/repository.js +23 -6
- package/dist/core/repository.js.map +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/validation.js +1 -1
- package/dist/utils/validation.js.map +1 -1
- package/package.json +1 -1
- package/dist/commands/add.d.ts +0 -12
- package/dist/commands/add.d.ts.map +0 -1
- package/dist/commands/add.js +0 -92
- package/dist/commands/add.js.map +0 -1
- package/dist/commands/clean.d.ts +0 -12
- package/dist/commands/clean.d.ts.map +0 -1
- package/dist/commands/clean.js +0 -154
- package/dist/commands/clean.js.map +0 -1
- package/dist/commands/config.d.ts +0 -12
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -151
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/list.d.ts +0 -12
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js +0 -118
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/load.d.ts +0 -13
- package/dist/commands/load.d.ts.map +0 -1
- package/dist/commands/load.js +0 -202
- package/dist/commands/load.js.map +0 -1
- package/dist/commands/unload.d.ts +0 -12
- package/dist/commands/unload.d.ts.map +0 -1
- package/dist/commands/unload.js +0 -734
- package/dist/commands/unload.js.map +0 -1
- package/dist/commands/update.d.ts +0 -12
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js +0 -464
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/use.d.ts +0 -8
- package/dist/commands/use.d.ts.map +0 -1
- package/dist/commands/use.js +0 -224
- package/dist/commands/use.js.map +0 -1
package/dist/commands/config.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* config 命令
|
|
4
|
-
* 管理全局配置
|
|
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.configCommand = void 0;
|
|
11
|
-
exports.registerConfigCommand = registerConfigCommand;
|
|
12
|
-
const commander_1 = require("commander");
|
|
13
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
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
|
-
const index_js_1 = require("./options/index.js");
|
|
18
|
-
/**
|
|
19
|
-
* 注册 config 命令
|
|
20
|
-
* @param program Commander 程序实例
|
|
21
|
-
*/
|
|
22
|
-
function registerConfigCommand(program) {
|
|
23
|
-
program.addCommand(exports.configCommand);
|
|
24
|
-
}
|
|
25
|
-
/** 有效的配置项列表 */
|
|
26
|
-
const validKeys = ["defaultBranch", "shallowClone", "shallowDepth"];
|
|
27
|
-
/**
|
|
28
|
-
* 检查是否为有效的配置项
|
|
29
|
-
* @param key 配置项名称
|
|
30
|
-
* @returns 是否有效
|
|
31
|
-
*/
|
|
32
|
-
function isValidKey(key) {
|
|
33
|
-
return validKeys.includes(key);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* 解析配置值,根据配置项类型进行转换
|
|
37
|
-
* @param key 配置项名称
|
|
38
|
-
* @param value 配置值字符串
|
|
39
|
-
* @returns 转换后的值
|
|
40
|
-
*/
|
|
41
|
-
function parseValue(key, value) {
|
|
42
|
-
// shallowClone 应该是布尔值
|
|
43
|
-
if (key === "shallowClone") {
|
|
44
|
-
if (value === "true" || value === "1") {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
if (value === "false" || value === "0") {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
throw new Error(`Invalid value for ${key}: expected 'true' or 'false'`);
|
|
51
|
-
}
|
|
52
|
-
// shallowDepth 应该是数字
|
|
53
|
-
if (key === "shallowDepth") {
|
|
54
|
-
const num = parseInt(value, 10);
|
|
55
|
-
if (isNaN(num) || num < 1) {
|
|
56
|
-
throw new Error(`Invalid value for ${key}: expected a positive number`);
|
|
57
|
-
}
|
|
58
|
-
return num;
|
|
59
|
-
}
|
|
60
|
-
// 其他都是字符串
|
|
61
|
-
return value;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* 格式化配置值用于显示
|
|
65
|
-
* @param value 配置值
|
|
66
|
-
* @returns 格式化后的字符串
|
|
67
|
-
*/
|
|
68
|
-
function formatValue(value) {
|
|
69
|
-
if (value === undefined) {
|
|
70
|
-
return chalk_1.default.gray("(not set)");
|
|
71
|
-
}
|
|
72
|
-
if (typeof value === "boolean") {
|
|
73
|
-
return value ? chalk_1.default.green("true") : chalk_1.default.yellow("false");
|
|
74
|
-
}
|
|
75
|
-
if (typeof value === "number") {
|
|
76
|
-
return chalk_1.default.cyan(String(value));
|
|
77
|
-
}
|
|
78
|
-
return chalk_1.default.cyan(value);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* 显示所有配置
|
|
82
|
-
* @param config 配置对象
|
|
83
|
-
*/
|
|
84
|
-
function showAllConfig(config) {
|
|
85
|
-
console.log(chalk_1.default.bold("Configuration:"));
|
|
86
|
-
console.log();
|
|
87
|
-
for (const key of validKeys) {
|
|
88
|
-
const value = config[key];
|
|
89
|
-
console.log(` ${chalk_1.default.white(key + ":")} ${formatValue(value)}`);
|
|
90
|
-
}
|
|
91
|
-
console.log();
|
|
92
|
-
console.log(chalk_1.default.gray(`Config file: ${(0, format_js_1.shortenPath)((0, config_js_1.getConfigPath)())}`));
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* 显示单个配置项的值
|
|
96
|
-
* @param config 配置对象
|
|
97
|
-
* @param key 配置项名称
|
|
98
|
-
*/
|
|
99
|
-
function showConfigValue(config, key) {
|
|
100
|
-
const value = config[key];
|
|
101
|
-
if (value === undefined) {
|
|
102
|
-
console.log(chalk_1.default.gray("(not set)"));
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
console.log(String(value));
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.configCommand = new commander_1.Command("config")
|
|
109
|
-
.description("Manage global configuration")
|
|
110
|
-
.argument("[key]", "Configuration key")
|
|
111
|
-
.argument("[value]", "Configuration value")
|
|
112
|
-
.addOption(index_js_1.listOption)
|
|
113
|
-
.addOption(index_js_1.pathOption)
|
|
114
|
-
.action(async (key, value, options) => {
|
|
115
|
-
try {
|
|
116
|
-
// --path: 显示配置文件路径
|
|
117
|
-
if (options.path) {
|
|
118
|
-
console.log((0, format_js_1.shortenPath)((0, config_js_1.getConfigPath)()));
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
const config = await (0, config_js_1.readGlobalConfig)();
|
|
122
|
-
// --list 或无参数: 显示所有配置
|
|
123
|
-
if (options.list || (!key && !value)) {
|
|
124
|
-
showAllConfig(config);
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
// 验证配置项名称
|
|
128
|
-
if (!isValidKey(key)) {
|
|
129
|
-
console.error(chalk_1.default.red(`Unknown configuration key: ${key}`));
|
|
130
|
-
console.log();
|
|
131
|
-
console.log(`Valid keys: ${validKeys.join(", ")}`);
|
|
132
|
-
process.exit(1);
|
|
133
|
-
}
|
|
134
|
-
// 只有 key,没有 value: 显示配置项的值
|
|
135
|
-
if (value === undefined) {
|
|
136
|
-
showConfigValue(config, key);
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
// 有 key 和 value: 设置配置项
|
|
140
|
-
const parsedValue = parseValue(key, value);
|
|
141
|
-
// 更新配置
|
|
142
|
-
config[key] = parsedValue;
|
|
143
|
-
await (0, config_js_1.writeGlobalConfig)(config);
|
|
144
|
-
console.log(format_js_1.StatusIcon.success +
|
|
145
|
-
` Configuration updated: ${chalk_1.default.white(key)} = ${formatValue(parsedValue)}`);
|
|
146
|
-
}
|
|
147
|
-
catch (error) {
|
|
148
|
-
(0, error_js_1.handleError)(error, { exit: true });
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/list.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* list 命令
|
|
3
|
-
* 列出所有缓存的仓库
|
|
4
|
-
*/
|
|
5
|
-
import { Command } from "commander";
|
|
6
|
-
/**
|
|
7
|
-
* 注册 list 命令
|
|
8
|
-
* @param program Commander 程序实例
|
|
9
|
-
*/
|
|
10
|
-
export declare function registerListCommand(program: Command): void;
|
|
11
|
-
export declare const listCommand: Command;
|
|
12
|
-
//# sourceMappingURL=list.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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;AASpC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE1D;AAQD,eAAO,MAAM,WAAW,SAiEpB,CAAC"}
|
package/dist/commands/list.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* list 命令
|
|
4
|
-
* 列出所有缓存的仓库
|
|
5
|
-
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
-
var ownKeys = function(o) {
|
|
24
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
-
var ar = [];
|
|
26
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
-
return ar;
|
|
28
|
-
};
|
|
29
|
-
return ownKeys(o);
|
|
30
|
-
};
|
|
31
|
-
return function (mod) {
|
|
32
|
-
if (mod && mod.__esModule) return mod;
|
|
33
|
-
var result = {};
|
|
34
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
-
__setModuleDefault(result, mod);
|
|
36
|
-
return result;
|
|
37
|
-
};
|
|
38
|
-
})();
|
|
39
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
|
-
};
|
|
42
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
-
exports.listCommand = void 0;
|
|
44
|
-
exports.registerListCommand = registerListCommand;
|
|
45
|
-
const commander_1 = require("commander");
|
|
46
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
47
|
-
const repository = __importStar(require("../core/repository.js"));
|
|
48
|
-
const table_js_1 = require("../ui/table.js");
|
|
49
|
-
const format_js_1 = require("../ui/format.js");
|
|
50
|
-
const error_js_1 = require("../utils/error.js");
|
|
51
|
-
const constants_js_1 = require("../utils/constants.js");
|
|
52
|
-
const index_js_1 = require("./options/index.js");
|
|
53
|
-
/**
|
|
54
|
-
* 注册 list 命令
|
|
55
|
-
* @param program Commander 程序实例
|
|
56
|
-
*/
|
|
57
|
-
function registerListCommand(program) {
|
|
58
|
-
program.addCommand(exports.listCommand);
|
|
59
|
-
}
|
|
60
|
-
// 列宽定义(使用共享常量)
|
|
61
|
-
const COL_NAME = constants_js_1.TABLE_COLUMNS.NAME;
|
|
62
|
-
const COL_BRANCH = constants_js_1.TABLE_COLUMNS.BRANCH;
|
|
63
|
-
const COL_COMMIT = constants_js_1.TABLE_COLUMNS.COMMIT;
|
|
64
|
-
const COL_ADDED = constants_js_1.TABLE_COLUMNS.DATE;
|
|
65
|
-
exports.listCommand = new commander_1.Command("list")
|
|
66
|
-
.description("List all cached repositories")
|
|
67
|
-
.addOption(index_js_1.jsonOption)
|
|
68
|
-
.action(async (options) => {
|
|
69
|
-
try {
|
|
70
|
-
const repos = await repository.list();
|
|
71
|
-
// 空列表处理
|
|
72
|
-
if (repos.length === 0) {
|
|
73
|
-
if (options.json) {
|
|
74
|
-
console.log("[]");
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
console.log(chalk_1.default.yellow("No repositories cached yet."));
|
|
78
|
-
console.log();
|
|
79
|
-
console.log(`Use '${chalk_1.default.cyan("grf add <url>")}' to add a repository.`);
|
|
80
|
-
}
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
// JSON 格式输出
|
|
84
|
-
if (options.json) {
|
|
85
|
-
console.log(JSON.stringify(repos, null, 2));
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
// 表格格式输出
|
|
89
|
-
console.log(chalk_1.default.bold("Cached repositories:"));
|
|
90
|
-
console.log();
|
|
91
|
-
// 表头
|
|
92
|
-
const header = " " +
|
|
93
|
-
(0, table_js_1.padEnd)("NAME", COL_NAME) +
|
|
94
|
-
(0, table_js_1.padEnd)("BRANCH", COL_BRANCH) +
|
|
95
|
-
(0, table_js_1.padEnd)("COMMIT", COL_COMMIT) +
|
|
96
|
-
(0, table_js_1.padEnd)("ADDED", COL_ADDED);
|
|
97
|
-
console.log(chalk_1.default.gray(header));
|
|
98
|
-
// 仓库列表
|
|
99
|
-
for (const repo of repos) {
|
|
100
|
-
const name = (0, table_js_1.truncate)(repo.name, COL_NAME - 2);
|
|
101
|
-
const branch = (0, table_js_1.truncate)(repo.branch ?? "-", COL_BRANCH - 2);
|
|
102
|
-
const commit = (0, format_js_1.shortCommit)(repo.commitId);
|
|
103
|
-
const added = (0, format_js_1.formatDate)(repo.addedAt);
|
|
104
|
-
const row = " " +
|
|
105
|
-
(0, table_js_1.padEnd)(name, COL_NAME) +
|
|
106
|
-
(0, table_js_1.padEnd)(branch, COL_BRANCH) +
|
|
107
|
-
(0, table_js_1.padEnd)(commit, COL_COMMIT) +
|
|
108
|
-
(0, table_js_1.padEnd)(added, COL_ADDED);
|
|
109
|
-
console.log(row);
|
|
110
|
-
}
|
|
111
|
-
console.log();
|
|
112
|
-
console.log(chalk_1.default.gray(`Total: ${repos.length} ${repos.length === 1 ? "repository" : "repositories"}`));
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
(0, error_js_1.handleError)(error, { exit: true });
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
//# sourceMappingURL=list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/load.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* load 命令
|
|
3
|
-
* 将缓存的仓库内容复制到当前工作目录
|
|
4
|
-
* 支持直接传入 git URL,会自动先 add 再 load
|
|
5
|
-
*/
|
|
6
|
-
import { Command } from "commander";
|
|
7
|
-
/**
|
|
8
|
-
* 注册 load 命令
|
|
9
|
-
* @param program Commander 程序实例
|
|
10
|
-
*/
|
|
11
|
-
export declare function registerLoadCommand(program: Command): void;
|
|
12
|
-
export declare const loadCommand: Command;
|
|
13
|
-
//# sourceMappingURL=load.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/commands/load.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE1D;AAED,eAAO,MAAM,WAAW,SA0LrB,CAAC"}
|
package/dist/commands/load.js
DELETED
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* load 命令
|
|
4
|
-
* 将缓存的仓库内容复制到当前工作目录
|
|
5
|
-
* 支持直接传入 git URL,会自动先 add 再 load
|
|
6
|
-
*/
|
|
7
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
-
if (k2 === undefined) k2 = k;
|
|
9
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
-
}
|
|
13
|
-
Object.defineProperty(o, k2, desc);
|
|
14
|
-
}) : (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
o[k2] = m[k];
|
|
17
|
-
}));
|
|
18
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
-
}) : function(o, v) {
|
|
21
|
-
o["default"] = v;
|
|
22
|
-
});
|
|
23
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
-
var ownKeys = function(o) {
|
|
25
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
-
var ar = [];
|
|
27
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
-
return ar;
|
|
29
|
-
};
|
|
30
|
-
return ownKeys(o);
|
|
31
|
-
};
|
|
32
|
-
return function (mod) {
|
|
33
|
-
if (mod && mod.__esModule) return mod;
|
|
34
|
-
var result = {};
|
|
35
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
-
__setModuleDefault(result, mod);
|
|
37
|
-
return result;
|
|
38
|
-
};
|
|
39
|
-
})();
|
|
40
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
-
};
|
|
43
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
-
exports.loadCommand = void 0;
|
|
45
|
-
exports.registerLoadCommand = registerLoadCommand;
|
|
46
|
-
const commander_1 = require("commander");
|
|
47
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
48
|
-
const path_1 = __importDefault(require("path"));
|
|
49
|
-
const repository = __importStar(require("../core/repository.js"));
|
|
50
|
-
const filesystem = __importStar(require("../core/filesystem.js"));
|
|
51
|
-
const loading = __importStar(require("../core/loading.js"));
|
|
52
|
-
const spinner_js_1 = require("../ui/spinner.js");
|
|
53
|
-
const format_js_1 = require("../ui/format.js");
|
|
54
|
-
const error_js_1 = require("../utils/error.js");
|
|
55
|
-
const validation_js_1 = require("../utils/validation.js");
|
|
56
|
-
const index_js_1 = require("./options/index.js");
|
|
57
|
-
/**
|
|
58
|
-
* 注册 load 命令
|
|
59
|
-
* @param program Commander 程序实例
|
|
60
|
-
*/
|
|
61
|
-
function registerLoadCommand(program) {
|
|
62
|
-
program.addCommand(exports.loadCommand);
|
|
63
|
-
}
|
|
64
|
-
exports.loadCommand = new commander_1.Command("load")
|
|
65
|
-
.description("Copy reference repository to current directory (supports Git URL)")
|
|
66
|
-
.argument("<name>", "Repository name, short name, or Git URL")
|
|
67
|
-
.argument("[path]", "Target path (default: .gitreference/<repo-path>)")
|
|
68
|
-
.addOption(index_js_1.subdirOption)
|
|
69
|
-
.addOption(index_js_1.noIgnoreOption)
|
|
70
|
-
.addOption(index_js_1.branchOption)
|
|
71
|
-
.action(async (name, targetPath, options) => {
|
|
72
|
-
let repoName = name;
|
|
73
|
-
// 检查是否为 Git URL
|
|
74
|
-
if ((0, validation_js_1.isGitUrl)(name)) {
|
|
75
|
-
const addSpinner = (0, spinner_js_1.startSpinner)("Adding repository...");
|
|
76
|
-
try {
|
|
77
|
-
// 检查仓库是否已存在
|
|
78
|
-
const parsed = repository.parseRepoUrl(name);
|
|
79
|
-
const fullName = `${parsed.host}/${parsed.owner}/${parsed.repo}`;
|
|
80
|
-
if (await repository.exists(fullName)) {
|
|
81
|
-
addSpinner.info(chalk_1.default.blue("Repository already exists, skipping add..."));
|
|
82
|
-
repoName = fullName;
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
// 自动添加仓库
|
|
86
|
-
const repoInfo = await repository.add(name, {
|
|
87
|
-
branch: options.branch,
|
|
88
|
-
shallow: true,
|
|
89
|
-
depth: 1,
|
|
90
|
-
});
|
|
91
|
-
addSpinner.succeed(chalk_1.default.green("Repository added successfully!"));
|
|
92
|
-
console.log(` ${chalk_1.default.gray("Name:")} ${repoInfo.name}`);
|
|
93
|
-
console.log(` ${chalk_1.default.gray("Commit:")} ${(0, format_js_1.shortCommit)(repoInfo.commitId)}...`);
|
|
94
|
-
console.log();
|
|
95
|
-
repoName = repoInfo.name;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
catch (error) {
|
|
99
|
-
addSpinner.fail(chalk_1.default.red("Failed to add repository"));
|
|
100
|
-
(0, error_js_1.handleError)(error, { exit: true });
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
const spinner = (0, spinner_js_1.startSpinner)("Copying repository...");
|
|
104
|
-
try {
|
|
105
|
-
// 检查仓库是否存在
|
|
106
|
-
if (!(await repository.exists(repoName))) {
|
|
107
|
-
spinner.fail(chalk_1.default.red("Repository not found"));
|
|
108
|
-
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} Repository "${repoName}" does not exist.`));
|
|
109
|
-
console.error(chalk_1.default.gray(` Use ${chalk_1.default.cyan("grf add <url>")} to add a repository first.`));
|
|
110
|
-
console.error(chalk_1.default.gray(` Or use ${chalk_1.default.cyan("grf load <url>")} to add and load in one step.`));
|
|
111
|
-
process.exit(1);
|
|
112
|
-
}
|
|
113
|
-
// 获取仓库信息
|
|
114
|
-
let repoInfo = await repository.get(repoName);
|
|
115
|
-
if (!repoInfo) {
|
|
116
|
-
spinner.fail(chalk_1.default.red("Failed to get repository info"));
|
|
117
|
-
process.exit(1);
|
|
118
|
-
}
|
|
119
|
-
// 如果指定了分支且与当前分支不同,则切换分支
|
|
120
|
-
if (options.branch && repoInfo.branch !== options.branch) {
|
|
121
|
-
spinner.text = `Switching to branch ${options.branch}...`;
|
|
122
|
-
try {
|
|
123
|
-
repoInfo = await repository.switchBranch(repoName, options.branch);
|
|
124
|
-
spinner.text = "Copying repository...";
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
spinner.fail(chalk_1.default.red(`Failed to switch branch`));
|
|
128
|
-
(0, error_js_1.handleError)(error, { exit: true });
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
// 解析仓库路径
|
|
132
|
-
const repoPath = await repository.resolvePath(repoName);
|
|
133
|
-
// 确定源路径(如果指定了 subdir,则使用子目录)
|
|
134
|
-
const sourcePath = options.subdir
|
|
135
|
-
? path_1.default.join(repoPath, options.subdir)
|
|
136
|
-
: repoPath;
|
|
137
|
-
// 检查源路径是否存在(特别是子目录情况)
|
|
138
|
-
if (options.subdir && !(await filesystem.exists(sourcePath))) {
|
|
139
|
-
spinner.fail(chalk_1.default.red("Subdirectory not found"));
|
|
140
|
-
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} Subdirectory "${options.subdir}" does not exist in repository "${repoInfo.name}".`));
|
|
141
|
-
process.exit(1);
|
|
142
|
-
}
|
|
143
|
-
// 确定目标路径
|
|
144
|
-
const finalTargetPath = targetPath
|
|
145
|
-
? path_1.default.resolve(process.cwd(), targetPath)
|
|
146
|
-
: path_1.default.join(process.cwd(), ".gitreference", repoInfo.name);
|
|
147
|
-
// 确保目标目录的父目录存在
|
|
148
|
-
await filesystem.ensureDir(path_1.default.dirname(finalTargetPath));
|
|
149
|
-
// 复制文件(排除 .git 和 meta.json)
|
|
150
|
-
await filesystem.copyDir(sourcePath, finalTargetPath, {
|
|
151
|
-
exclude: [
|
|
152
|
-
".git",
|
|
153
|
-
"meta.json",
|
|
154
|
-
".grf-meta.json",
|
|
155
|
-
".gitreference-meta.json",
|
|
156
|
-
],
|
|
157
|
-
overwrite: true,
|
|
158
|
-
});
|
|
159
|
-
// 更新 .gitignore(如果没有 --no-ignore 选项)
|
|
160
|
-
if (options.ignore !== false) {
|
|
161
|
-
// 始终添加 .gitreference/ 条目(默认行为)
|
|
162
|
-
await filesystem.updateGitignore(process.cwd(), ".gitreference/");
|
|
163
|
-
// 如果用户指定了自定义路径,额外添加该路径
|
|
164
|
-
if (targetPath) {
|
|
165
|
-
// 计算相对于工作目录的路径
|
|
166
|
-
const relativePath = path_1.default.relative(process.cwd(), finalTargetPath);
|
|
167
|
-
// 确保路径使用正斜杠(跨平台兼容)并以 / 结尾(表示目录)
|
|
168
|
-
const normalizedPath = relativePath.replace(/\\/g, "/");
|
|
169
|
-
const gitignoreEntry = normalizedPath.endsWith("/")
|
|
170
|
-
? normalizedPath
|
|
171
|
-
: normalizedPath + "/";
|
|
172
|
-
// 避免重复添加(如果自定义路径在 .gitreference/ 下则跳过)
|
|
173
|
-
if (!gitignoreEntry.startsWith(".gitreference/")) {
|
|
174
|
-
await filesystem.updateGitignore(process.cwd(), gitignoreEntry);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
// 记录加载信息到 loading.json
|
|
179
|
-
const relativeTargetPath = path_1.default
|
|
180
|
-
.relative(process.cwd(), finalTargetPath)
|
|
181
|
-
.replace(/\\/g, "/");
|
|
182
|
-
await loading.addEntry({
|
|
183
|
-
repoName: repoInfo.name,
|
|
184
|
-
repoUrl: repoInfo.url,
|
|
185
|
-
commitId: repoInfo.commitId,
|
|
186
|
-
branch: repoInfo.branch,
|
|
187
|
-
subdir: options.subdir,
|
|
188
|
-
targetPath: relativeTargetPath,
|
|
189
|
-
});
|
|
190
|
-
spinner.succeed(chalk_1.default.green("Repository copied successfully!"));
|
|
191
|
-
// 显示复制信息
|
|
192
|
-
console.log();
|
|
193
|
-
console.log(` ${chalk_1.default.gray("Source:")} ${sourcePath}`);
|
|
194
|
-
console.log(` ${chalk_1.default.gray("Target:")} ${finalTargetPath}`);
|
|
195
|
-
console.log(` ${chalk_1.default.gray("Commit:")} ${(0, format_js_1.shortCommit)(repoInfo.commitId)}...`);
|
|
196
|
-
}
|
|
197
|
-
catch (error) {
|
|
198
|
-
spinner.fail(chalk_1.default.red("Failed to copy repository"));
|
|
199
|
-
(0, error_js_1.handleError)(error, { exit: true });
|
|
200
|
-
}
|
|
201
|
-
});
|
|
202
|
-
//# sourceMappingURL=load.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/commands/load.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* unload 命令
|
|
3
|
-
* 从当前项目中移除已加载的参考代码(use 命令的逆操作)
|
|
4
|
-
*/
|
|
5
|
-
import { Command } from "commander";
|
|
6
|
-
/**
|
|
7
|
-
* 注册 unload 命令
|
|
8
|
-
* @param program Commander 程序实例
|
|
9
|
-
*/
|
|
10
|
-
export declare function registerUnloadCommand(program: Command): void;
|
|
11
|
-
export declare const unloadCommand: Command;
|
|
12
|
-
//# sourceMappingURL=unload.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unload.d.ts","sourceRoot":"","sources":["../../src/commands/unload.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE5D;AAgTD,eAAO,MAAM,aAAa,SAmmBvB,CAAC"}
|