grf-cli 1.0.0
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/LICENSE +21 -0
- package/README.md +503 -0
- package/README.zh-CN.md +503 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +74 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/add.d.ts +7 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +92 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/clean.d.ts +7 -0
- package/dist/commands/clean.d.ts.map +1 -0
- package/dist/commands/clean.js +171 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/config.d.ts +7 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +170 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/list.d.ts +7 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +149 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/load.d.ts +8 -0
- package/dist/commands/load.d.ts.map +1 -0
- package/dist/commands/load.js +239 -0
- package/dist/commands/load.js.map +1 -0
- package/dist/commands/unload.d.ts +7 -0
- package/dist/commands/unload.d.ts.map +1 -0
- package/dist/commands/unload.js +738 -0
- package/dist/commands/unload.js.map +1 -0
- package/dist/commands/update.d.ts +7 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +471 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/use.d.ts +8 -0
- package/dist/commands/use.d.ts.map +1 -0
- package/dist/commands/use.js +224 -0
- package/dist/commands/use.js.map +1 -0
- package/dist/core/config.d.ts +55 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +179 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/filesystem.d.ts +74 -0
- package/dist/core/filesystem.d.ts.map +1 -0
- package/dist/core/filesystem.js +300 -0
- package/dist/core/filesystem.js.map +1 -0
- package/dist/core/git.d.ts +75 -0
- package/dist/core/git.d.ts.map +1 -0
- package/dist/core/git.js +169 -0
- package/dist/core/git.js.map +1 -0
- package/dist/core/loading.d.ts +85 -0
- package/dist/core/loading.d.ts.map +1 -0
- package/dist/core/loading.js +224 -0
- package/dist/core/loading.js.map +1 -0
- package/dist/core/repository.d.ts +120 -0
- package/dist/core/repository.d.ts.map +1 -0
- package/dist/core/repository.js +374 -0
- package/dist/core/repository.js.map +1 -0
- package/dist/core/sync.d.ts +72 -0
- package/dist/core/sync.d.ts.map +1 -0
- package/dist/core/sync.js +226 -0
- package/dist/core/sync.js.map +1 -0
- package/dist/types/index.d.ts +135 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +63 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,239 @@
|
|
|
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
|
+
const commander_1 = require("commander");
|
|
46
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
47
|
+
const ora_1 = __importDefault(require("ora"));
|
|
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 index_js_1 = require("../types/index.js");
|
|
53
|
+
/**
|
|
54
|
+
* 检查字符串是否为 Git URL
|
|
55
|
+
* 支持 HTTPS 和 SSH 格式
|
|
56
|
+
*/
|
|
57
|
+
function isGitUrl(str) {
|
|
58
|
+
// HTTPS 格式: https://github.com/user/repo.git
|
|
59
|
+
const httpsRegex = /^https?:\/\/[^/]+\/[^/]+\/[^/]+/;
|
|
60
|
+
// SSH 格式: git@github.com:user/repo.git
|
|
61
|
+
const sshRegex = /^git@[^:]+:[^/]+\/[^/]+/;
|
|
62
|
+
return httpsRegex.test(str) || sshRegex.test(str);
|
|
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
|
+
.option("-s, --subdir <path>", "Copy only a specific subdirectory")
|
|
69
|
+
.option("--no-ignore", "Do not update .gitignore")
|
|
70
|
+
.option("-b, --branch <branch>", "Specify branch (only for Git URL)")
|
|
71
|
+
.action(async (name, targetPath, options) => {
|
|
72
|
+
let repoName = name;
|
|
73
|
+
// 检查是否为 Git URL
|
|
74
|
+
if (isGitUrl(name)) {
|
|
75
|
+
const addSpinner = (0, ora_1.default)("Adding repository...").start();
|
|
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:")} ${repoInfo.commitId.substring(0, 7)}...`);
|
|
94
|
+
console.log();
|
|
95
|
+
repoName = repoInfo.name;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
addSpinner.fail(chalk_1.default.red("Failed to add repository"));
|
|
100
|
+
if (error instanceof index_js_1.GrfError) {
|
|
101
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} ${error.message}`));
|
|
102
|
+
}
|
|
103
|
+
else if (error instanceof Error) {
|
|
104
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} ${error.message}`));
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} An unknown error occurred`));
|
|
108
|
+
}
|
|
109
|
+
process.exit(1);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const spinner = (0, ora_1.default)("Copying repository...").start();
|
|
113
|
+
try {
|
|
114
|
+
// 检查仓库是否存在
|
|
115
|
+
if (!(await repository.exists(repoName))) {
|
|
116
|
+
spinner.fail(chalk_1.default.red("Repository not found"));
|
|
117
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} Repository "${repoName}" does not exist.`));
|
|
118
|
+
console.error(chalk_1.default.gray(` Use ${chalk_1.default.cyan("grf add <url>")} to add a repository first.`));
|
|
119
|
+
console.error(chalk_1.default.gray(` Or use ${chalk_1.default.cyan("grf load <url>")} to add and load in one step.`));
|
|
120
|
+
process.exit(1);
|
|
121
|
+
}
|
|
122
|
+
// 获取仓库信息
|
|
123
|
+
let repoInfo = await repository.get(repoName);
|
|
124
|
+
if (!repoInfo) {
|
|
125
|
+
spinner.fail(chalk_1.default.red("Failed to get repository info"));
|
|
126
|
+
process.exit(1);
|
|
127
|
+
}
|
|
128
|
+
// 如果指定了分支且与当前分支不同,则切换分支
|
|
129
|
+
if (options.branch && repoInfo.branch !== options.branch) {
|
|
130
|
+
spinner.text = `Switching to branch ${options.branch}...`;
|
|
131
|
+
try {
|
|
132
|
+
repoInfo = await repository.switchBranch(repoName, options.branch);
|
|
133
|
+
spinner.text = "Copying repository...";
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
spinner.fail(chalk_1.default.red(`Failed to switch branch`));
|
|
137
|
+
if (error instanceof index_js_1.GrfError) {
|
|
138
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} ${error.message}`));
|
|
139
|
+
if (error.code === index_js_1.ErrorCode.GIT_CHECKOUT_FAILED) {
|
|
140
|
+
console.error(chalk_1.default.gray(` Branch "${options.branch}" may not exist. Use ${chalk_1.default.cyan("git branch -r")} to list available branches.`));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
else if (error instanceof Error) {
|
|
144
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} ${error.message}`));
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} An unknown error occurred`));
|
|
148
|
+
}
|
|
149
|
+
process.exit(1);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// 解析仓库路径
|
|
153
|
+
const repoPath = await repository.resolvePath(repoName);
|
|
154
|
+
// 确定源路径(如果指定了 subdir,则使用子目录)
|
|
155
|
+
const sourcePath = options.subdir
|
|
156
|
+
? path_1.default.join(repoPath, options.subdir)
|
|
157
|
+
: repoPath;
|
|
158
|
+
// 检查源路径是否存在(特别是子目录情况)
|
|
159
|
+
if (options.subdir && !(await filesystem.exists(sourcePath))) {
|
|
160
|
+
spinner.fail(chalk_1.default.red("Subdirectory not found"));
|
|
161
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} Subdirectory "${options.subdir}" does not exist in repository "${repoInfo.name}".`));
|
|
162
|
+
process.exit(1);
|
|
163
|
+
}
|
|
164
|
+
// 确定目标路径
|
|
165
|
+
const finalTargetPath = targetPath
|
|
166
|
+
? path_1.default.resolve(process.cwd(), targetPath)
|
|
167
|
+
: path_1.default.join(process.cwd(), ".gitreference", repoInfo.name);
|
|
168
|
+
// 确保目标目录的父目录存在
|
|
169
|
+
await filesystem.ensureDir(path_1.default.dirname(finalTargetPath));
|
|
170
|
+
// 复制文件(排除 .git 和 meta.json)
|
|
171
|
+
await filesystem.copyDir(sourcePath, finalTargetPath, {
|
|
172
|
+
exclude: [".git", "meta.json", ".grf-meta.json"],
|
|
173
|
+
overwrite: true,
|
|
174
|
+
});
|
|
175
|
+
// 更新 .gitignore(如果没有 --no-ignore 选项)
|
|
176
|
+
if (options.ignore !== false) {
|
|
177
|
+
// 始终添加 .gitreference/ 条目(默认行为)
|
|
178
|
+
await filesystem.updateGitignore(process.cwd(), ".gitreference/");
|
|
179
|
+
// 如果用户指定了自定义路径,额外添加该路径
|
|
180
|
+
if (targetPath) {
|
|
181
|
+
// 计算相对于工作目录的路径
|
|
182
|
+
const relativePath = path_1.default.relative(process.cwd(), finalTargetPath);
|
|
183
|
+
// 确保路径使用正斜杠(跨平台兼容)并以 / 结尾(表示目录)
|
|
184
|
+
const normalizedPath = relativePath.replace(/\\/g, "/");
|
|
185
|
+
const gitignoreEntry = normalizedPath.endsWith("/")
|
|
186
|
+
? normalizedPath
|
|
187
|
+
: normalizedPath + "/";
|
|
188
|
+
// 避免重复添加(如果自定义路径在 .gitreference/ 下则跳过)
|
|
189
|
+
if (!gitignoreEntry.startsWith(".gitreference/")) {
|
|
190
|
+
await filesystem.updateGitignore(process.cwd(), gitignoreEntry);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// 记录加载信息到 loading.json
|
|
195
|
+
const relativeTargetPath = path_1.default
|
|
196
|
+
.relative(process.cwd(), finalTargetPath)
|
|
197
|
+
.replace(/\\/g, "/");
|
|
198
|
+
await loading.addEntry({
|
|
199
|
+
repoName: repoInfo.name,
|
|
200
|
+
repoUrl: repoInfo.url,
|
|
201
|
+
commitId: repoInfo.commitId,
|
|
202
|
+
branch: repoInfo.branch,
|
|
203
|
+
subdir: options.subdir,
|
|
204
|
+
targetPath: relativeTargetPath,
|
|
205
|
+
});
|
|
206
|
+
spinner.succeed(chalk_1.default.green("Repository copied successfully!"));
|
|
207
|
+
// 显示复制信息
|
|
208
|
+
console.log();
|
|
209
|
+
console.log(` ${chalk_1.default.gray("Source:")} ${sourcePath}`);
|
|
210
|
+
console.log(` ${chalk_1.default.gray("Target:")} ${finalTargetPath}`);
|
|
211
|
+
console.log(` ${chalk_1.default.gray("Commit:")} ${repoInfo.commitId.substring(0, 7)}...`);
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
spinner.fail(chalk_1.default.red("Failed to copy repository"));
|
|
215
|
+
if (error instanceof index_js_1.GrfError) {
|
|
216
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} ${error.message}`));
|
|
217
|
+
// 提供更具体的错误提示
|
|
218
|
+
if (error.code === index_js_1.ErrorCode.REPO_NOT_FOUND) {
|
|
219
|
+
console.error(chalk_1.default.gray(` Use ${chalk_1.default.cyan("grf add <url>")} to add a repository first.`));
|
|
220
|
+
}
|
|
221
|
+
else if (error.code === index_js_1.ErrorCode.FS_PATH_NOT_FOUND) {
|
|
222
|
+
console.error(chalk_1.default.gray(` The source path does not exist. Please check the repository or subdirectory.`));
|
|
223
|
+
}
|
|
224
|
+
else if (error.code === index_js_1.ErrorCode.FS_PERMISSION_DENIED) {
|
|
225
|
+
console.error(chalk_1.default.gray(` Permission denied. Please check your file permissions.`));
|
|
226
|
+
}
|
|
227
|
+
process.exit(1);
|
|
228
|
+
}
|
|
229
|
+
// 未知错误
|
|
230
|
+
if (error instanceof Error) {
|
|
231
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} ${error.message}`));
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} An unknown error occurred`));
|
|
235
|
+
}
|
|
236
|
+
process.exit(1);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
//# sourceMappingURL=load.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/commands/load.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
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;AA+VpC,eAAO,MAAM,aAAa,SAgiBvB,CAAC"}
|