@adep/cli 0.1.5 → 0.1.6
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/index.js +139 -0
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -6750,6 +6750,70 @@ var init_projects = __esm({
|
|
|
6750
6750
|
}
|
|
6751
6751
|
});
|
|
6752
6752
|
|
|
6753
|
+
// packages/cli/src/git.ts
|
|
6754
|
+
var git_exports = {};
|
|
6755
|
+
__export(git_exports, {
|
|
6756
|
+
gitBind: () => gitBind,
|
|
6757
|
+
gitStatus: () => gitStatus,
|
|
6758
|
+
gitSync: () => gitSync
|
|
6759
|
+
});
|
|
6760
|
+
async function resolveProjectId3(client, cwd, slug) {
|
|
6761
|
+
const resolvedSlug = await resolveSlug(cwd, slug);
|
|
6762
|
+
const listed = await client.request("/api/v1/projects", {}, "PROJECT_LIST_FAILED");
|
|
6763
|
+
const match = listed.projects.find((project2) => project2.slug === resolvedSlug);
|
|
6764
|
+
if (match === void 0) {
|
|
6765
|
+
throw new CliError(
|
|
6766
|
+
"PROJECT_NOT_FOUND",
|
|
6767
|
+
`\u5E73\u53F0\u9879\u76EE "${resolvedSlug}" \u4E0D\u5B58\u5728\u6216\u4F60\u6CA1\u6709\u8BBF\u95EE\u6743\u9650\uFF1A\u5148\u6267\u884C adep projects create ${resolvedSlug}`
|
|
6768
|
+
);
|
|
6769
|
+
}
|
|
6770
|
+
return { id: match.id, slug: match.slug };
|
|
6771
|
+
}
|
|
6772
|
+
async function gitBind(paths, options) {
|
|
6773
|
+
const client = await createClient(paths);
|
|
6774
|
+
const { id } = await resolveProjectId3(client, options.cwd, options.slug);
|
|
6775
|
+
const body = {
|
|
6776
|
+
repoUrl: options.repoUrl,
|
|
6777
|
+
branch: options.branch
|
|
6778
|
+
};
|
|
6779
|
+
if (options.functionRoot !== void 0) body.functionRoot = options.functionRoot;
|
|
6780
|
+
if (options.syncEnabled !== void 0) body.syncEnabled = options.syncEnabled;
|
|
6781
|
+
if (options.username !== void 0) body.authUsername = options.username;
|
|
6782
|
+
if (options.token !== void 0) body.authToken = options.token;
|
|
6783
|
+
const view = await client.request(
|
|
6784
|
+
`/api/v1/projects/${id}/gitsync/bind`,
|
|
6785
|
+
{ body },
|
|
6786
|
+
"GIT_BIND_FAILED"
|
|
6787
|
+
);
|
|
6788
|
+
return view;
|
|
6789
|
+
}
|
|
6790
|
+
async function gitSync(paths, options) {
|
|
6791
|
+
const client = await createClient(paths);
|
|
6792
|
+
const { id } = await resolveProjectId3(client, options.cwd, options.slug);
|
|
6793
|
+
const result = await client.request(
|
|
6794
|
+
`/api/v1/projects/${id}/gitsync/sync`,
|
|
6795
|
+
{ body: {} },
|
|
6796
|
+
"GIT_SYNC_FAILED"
|
|
6797
|
+
);
|
|
6798
|
+
return { jobId: result.jobId };
|
|
6799
|
+
}
|
|
6800
|
+
async function gitStatus(paths, options) {
|
|
6801
|
+
const client = await createClient(paths);
|
|
6802
|
+
const { id } = await resolveProjectId3(client, options.cwd, options.slug);
|
|
6803
|
+
return client.request(
|
|
6804
|
+
`/api/v1/projects/${id}/gitsync`,
|
|
6805
|
+
{},
|
|
6806
|
+
"GIT_STATUS_FAILED"
|
|
6807
|
+
);
|
|
6808
|
+
}
|
|
6809
|
+
var init_git = __esm({
|
|
6810
|
+
"packages/cli/src/git.ts"() {
|
|
6811
|
+
"use strict";
|
|
6812
|
+
init_auth();
|
|
6813
|
+
init_client();
|
|
6814
|
+
}
|
|
6815
|
+
});
|
|
6816
|
+
|
|
6753
6817
|
// packages/cli/src/functions.ts
|
|
6754
6818
|
var functions_exports = {};
|
|
6755
6819
|
__export(functions_exports, {
|
|
@@ -9236,6 +9300,80 @@ function registerProjects(program2, ctx) {
|
|
|
9236
9300
|
});
|
|
9237
9301
|
}
|
|
9238
9302
|
|
|
9303
|
+
// packages/cli/src/commands/git.ts
|
|
9304
|
+
function registerGit(program2, ctx) {
|
|
9305
|
+
const git = program2.command("git").description("Git \u4ED3\u5E93\u7ED1\u5B9A\uFF1A\u7ED1\u5B9A / \u624B\u52A8\u540C\u6B65 / \u67E5\u770B\u72B6\u6001\uFF08push \u5230 main \u81EA\u52A8\u90E8\u7F72\uFF09");
|
|
9306
|
+
git.command("bind").description("\u7ED1\u5B9A/\u66F4\u65B0\u9879\u76EE Git \u4ED3\u5E93\uFF08\u6D45\u5C42 clone \u6821\u9A8C\u8FDE\u901A\u6027\uFF0C\u652F\u6301\u79C1\u6709\u4ED3\u5E93\u51ED\u636E\uFF09").argument("<repoUrl>", "\u4ED3\u5E93\u5730\u5740\uFF08https://\u2026\uFF0C\u79C1\u6709\u4ED3\u5E93\u4F20 --username/--token\uFF09").requiredOption("-b, --branch <branch>", "\u7ED1\u5B9A\u5206\u652F\uFF08\u7F3A\u7701 main\uFF09").option("--slug <slug>", "\u5E73\u53F0\u9879\u76EE slug\uFF08\u7F3A\u7701\u8BFB adep.config.ts / \u5F53\u524D\u76EE\u5F55\u540D\uFF09").option("--function-root <dir>", "legacy \u5E03\u5C40\u51FD\u6570\u6839\u76EE\u5F55\uFF08\u5E94\u7528\u5E03\u5C40\u65E0\u9700\u4F20\uFF09").option("--no-sync", "\u7ED1\u5B9A\u4F46\u4E0D\u542F\u7528\u81EA\u52A8\u540C\u6B65").option("-u, --username <username>", "\u79C1\u6709\u4ED3\u5E93\u7528\u6237\u540D").option("-t, --token <token>", "\u79C1\u6709\u4ED3\u5E93\u8BBF\u95EE\u4EE4\u724C\uFF08\u660E\u6587\u53EA\u5728\u8BF7\u6C42\u5185\u4F20\u8F93\uFF0C\u670D\u52A1\u7AEF\u52A0\u5BC6\u843D\u5E93\uFF09").action(
|
|
9307
|
+
async (repoUrl, flags) => {
|
|
9308
|
+
const command = ctx.io("git bind");
|
|
9309
|
+
await command.run(async () => {
|
|
9310
|
+
const { gitBind: gitBind2 } = await Promise.resolve().then(() => (init_git(), git_exports));
|
|
9311
|
+
const view = await gitBind2(ctx.paths, {
|
|
9312
|
+
cwd: ctx.cwd,
|
|
9313
|
+
repoUrl,
|
|
9314
|
+
branch: flags.branch,
|
|
9315
|
+
...flags.slug === void 0 ? {} : { slug: flags.slug },
|
|
9316
|
+
...flags.functionRoot === void 0 ? {} : { functionRoot: flags.functionRoot },
|
|
9317
|
+
...flags.sync === void 0 ? {} : { syncEnabled: flags.sync },
|
|
9318
|
+
...flags.username === void 0 ? {} : { username: flags.username },
|
|
9319
|
+
...flags.token === void 0 ? {} : { token: flags.token }
|
|
9320
|
+
});
|
|
9321
|
+
command.ok(view, (data) => {
|
|
9322
|
+
const v = data;
|
|
9323
|
+
const auth = v.hasAuth ? "\u79C1\u6709\u51ED\u636E" : "\u516C\u5F00";
|
|
9324
|
+
const last = v.lastStatus === null ? "\u672A\u540C\u6B65" : `${v.lastStatus.state} \xB7 ${v.lastStatus.description}`;
|
|
9325
|
+
return [
|
|
9326
|
+
`\u2713 Git \u5DF2\u7ED1\u5B9A \xB7 ${v.repoUrl} \u2192 ${v.branch}\uFF08${auth}\uFF09`,
|
|
9327
|
+
` \u81EA\u52A8\u540C\u6B65\uFF1A${v.syncEnabled ? "\u5F00\uFF08push \u540E \u226460s \u81EA\u52A8\u90E8\u7F72\uFF09" : "\u5173"}`,
|
|
9328
|
+
` \u6700\u8FD1\u72B6\u6001\uFF1A${last}`
|
|
9329
|
+
].join("\n");
|
|
9330
|
+
});
|
|
9331
|
+
});
|
|
9332
|
+
}
|
|
9333
|
+
);
|
|
9334
|
+
git.command("sync").description("\u624B\u52A8\u89E6\u53D1\u4E00\u6B21 Git \u540C\u6B65 + \u81EA\u52A8\u90E8\u7F72\uFF08\u672C\u5730\u5E73\u53F0\u65E0 webhook \u53EF\u8FBE\u65F6\u7528\uFF09").option("--slug <slug>", "\u5E73\u53F0\u9879\u76EE slug\uFF08\u7F3A\u7701\u8BFB adep.config.ts / \u5F53\u524D\u76EE\u5F55\u540D\uFF09").action(async (flags) => {
|
|
9335
|
+
const command = ctx.io("git sync");
|
|
9336
|
+
await command.run(async () => {
|
|
9337
|
+
const { gitSync: gitSync2 } = await Promise.resolve().then(() => (init_git(), git_exports));
|
|
9338
|
+
const result = await gitSync2(ctx.paths, {
|
|
9339
|
+
cwd: ctx.cwd,
|
|
9340
|
+
...flags.slug === void 0 ? {} : { slug: flags.slug }
|
|
9341
|
+
});
|
|
9342
|
+
command.ok(
|
|
9343
|
+
result,
|
|
9344
|
+
(data) => `\u2713 \u5DF2\u89E6\u53D1 Git \u540C\u6B65 + \u90E8\u7F72\uFF08job ${data.jobId}\uFF09`
|
|
9345
|
+
);
|
|
9346
|
+
});
|
|
9347
|
+
});
|
|
9348
|
+
git.command("status").description("\u67E5\u770B\u7ED1\u5B9A\u4E0E\u6700\u8FD1\u4E00\u6B21\u540C\u6B65/\u90E8\u7F72\u72B6\u6001").option("--slug <slug>", "\u5E73\u53F0\u9879\u76EE slug\uFF08\u7F3A\u7701\u8BFB adep.config.ts / \u5F53\u524D\u76EE\u5F55\u540D\uFF09").action(async (flags) => {
|
|
9349
|
+
const command = ctx.io("git status");
|
|
9350
|
+
await command.run(async () => {
|
|
9351
|
+
const { gitStatus: gitStatus2 } = await Promise.resolve().then(() => (init_git(), git_exports));
|
|
9352
|
+
const view = await gitStatus2(ctx.paths, {
|
|
9353
|
+
cwd: ctx.cwd,
|
|
9354
|
+
...flags.slug === void 0 ? {} : { slug: flags.slug }
|
|
9355
|
+
});
|
|
9356
|
+
if (view === null) {
|
|
9357
|
+
command.ok(null, () => "\u672A\u7ED1\u5B9A Git \u4ED3\u5E93\uFF1Aadep git bind <repoUrl> -b main");
|
|
9358
|
+
return;
|
|
9359
|
+
}
|
|
9360
|
+
command.ok(view, (data) => {
|
|
9361
|
+
const v = data;
|
|
9362
|
+
const auth = v.hasAuth ? "\u79C1\u6709\u51ED\u636E" : "\u516C\u5F00";
|
|
9363
|
+
const last = v.lastStatus === null ? "\u672A\u540C\u6B65" : `${v.lastStatus.state} \xB7 ${v.lastStatus.description}`;
|
|
9364
|
+
const commit = v.lastSyncedCommit === null ? "\u2014" : v.lastSyncedCommit.slice(0, 8);
|
|
9365
|
+
return [
|
|
9366
|
+
`\u4ED3\u5E93 ${v.repoUrl}`,
|
|
9367
|
+
`\u5206\u652F ${v.branch}\uFF08${auth}\uFF09`,
|
|
9368
|
+
`\u81EA\u52A8\u540C\u6B65 ${v.syncEnabled ? "\u5F00" : "\u5173"}`,
|
|
9369
|
+
`\u6700\u8FD1\u540C\u6B65 ${commit}`,
|
|
9370
|
+
`\u6700\u8FD1\u72B6\u6001 ${last}`
|
|
9371
|
+
].join("\n");
|
|
9372
|
+
});
|
|
9373
|
+
});
|
|
9374
|
+
});
|
|
9375
|
+
}
|
|
9376
|
+
|
|
9239
9377
|
// packages/cli/src/commands/functions.ts
|
|
9240
9378
|
init_auth();
|
|
9241
9379
|
function registerFunctions(program2, ctx) {
|
|
@@ -9401,6 +9539,7 @@ function buildProgram(options = {}) {
|
|
|
9401
9539
|
registerDoctor(program2, ctx);
|
|
9402
9540
|
registerAuth(program2, ctx);
|
|
9403
9541
|
registerMcp(program2, ctx);
|
|
9542
|
+
registerGit(program2, ctx);
|
|
9404
9543
|
registerDeploy(program2, ctx);
|
|
9405
9544
|
registerProjects(program2, ctx);
|
|
9406
9545
|
registerFunctions(program2, ctx);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adep/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "`adep` 命令行工具包位:登录 / 初始化 / 本地调试 / 部署 / 数据库维护 / 云存储 / 静态托管 / 微前端组件(widget),实现见任务单 CLI-001 ~ CLI-003 与 FE-002;子路径 `@adep/cli/vite` 提供云函数 vite 插件(CLI-014)",
|
|
6
6
|
"bin": {
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"commander": "14.0.2",
|
|
22
22
|
"esbuild": "0.25.12",
|
|
23
|
-
"@adep/
|
|
24
|
-
"@adep/
|
|
23
|
+
"@adep/cf-compat": "0.1.1",
|
|
24
|
+
"@adep/vite-plugin": "0.1.2"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@adep/runtime": "0.2.2",
|