grf-cli 1.0.3 → 1.0.4
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/README.md +15 -7
- package/README.zh-CN.md +15 -7
- package/dist/commands/add/display.d.ts +10 -0
- package/dist/commands/add/display.d.ts.map +1 -0
- package/dist/commands/add/display.js +25 -0
- package/dist/commands/add/display.js.map +1 -0
- package/dist/commands/add/helpers.d.ts +11 -0
- package/dist/commands/add/helpers.d.ts.map +1 -0
- package/dist/commands/add/helpers.js +59 -0
- package/dist/commands/add/helpers.js.map +1 -0
- package/dist/commands/add/index.d.ts +12 -0
- package/dist/commands/add/index.d.ts.map +1 -0
- package/dist/commands/add/index.js +57 -0
- package/dist/commands/add/index.js.map +1 -0
- package/dist/commands/add/types.d.ts +32 -0
- package/dist/commands/add/types.d.ts.map +1 -0
- package/dist/commands/add/types.js +6 -0
- package/dist/commands/add/types.js.map +1 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +6 -5
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/clean/display.d.ts +30 -0
- package/dist/commands/clean/display.d.ts.map +1 -0
- package/dist/commands/clean/display.js +67 -0
- package/dist/commands/clean/display.js.map +1 -0
- package/dist/commands/clean/handlers/clean-all.d.ts +12 -0
- package/dist/commands/clean/handlers/clean-all.d.ts.map +1 -0
- package/dist/commands/clean/handlers/clean-all.js +43 -0
- package/dist/commands/clean/handlers/clean-all.js.map +1 -0
- package/dist/commands/clean/handlers/clean-single.d.ts +13 -0
- package/dist/commands/clean/handlers/clean-single.d.ts.map +1 -0
- package/dist/commands/clean/handlers/clean-single.js +78 -0
- package/dist/commands/clean/handlers/clean-single.js.map +1 -0
- package/dist/commands/clean/handlers/index.d.ts +6 -0
- package/dist/commands/clean/handlers/index.d.ts.map +1 -0
- package/dist/commands/clean/handlers/index.js +11 -0
- package/dist/commands/clean/handlers/index.js.map +1 -0
- package/dist/commands/clean/helpers.d.ts +25 -0
- package/dist/commands/clean/helpers.d.ts.map +1 -0
- package/dist/commands/clean/helpers.js +70 -0
- package/dist/commands/clean/helpers.js.map +1 -0
- package/dist/commands/clean/index.d.ts +12 -0
- package/dist/commands/clean/index.d.ts.map +1 -0
- package/dist/commands/clean/index.js +90 -0
- package/dist/commands/clean/index.js.map +1 -0
- package/dist/commands/clean/types.d.ts +21 -0
- package/dist/commands/clean/types.d.ts.map +1 -0
- package/dist/commands/clean/types.js +6 -0
- package/dist/commands/clean/types.js.map +1 -0
- package/dist/commands/clean.d.ts.map +1 -1
- package/dist/commands/clean.js +3 -2
- package/dist/commands/clean.js.map +1 -1
- package/dist/commands/config/display.d.ts +36 -0
- package/dist/commands/config/display.d.ts.map +1 -0
- package/dist/commands/config/display.js +86 -0
- package/dist/commands/config/display.js.map +1 -0
- package/dist/commands/config/handlers/index.d.ts +8 -0
- package/dist/commands/config/handlers/index.d.ts.map +1 -0
- package/dist/commands/config/handlers/index.js +15 -0
- package/dist/commands/config/handlers/index.js.map +1 -0
- package/dist/commands/config/handlers/set-value.d.ts +11 -0
- package/dist/commands/config/handlers/set-value.d.ts.map +1 -0
- package/dist/commands/config/handlers/set-value.js +36 -0
- package/dist/commands/config/handlers/set-value.js.map +1 -0
- package/dist/commands/config/handlers/show-all.d.ts +11 -0
- package/dist/commands/config/handlers/show-all.d.ts.map +1 -0
- package/dist/commands/config/handlers/show-all.js +24 -0
- package/dist/commands/config/handlers/show-all.js.map +1 -0
- package/dist/commands/config/handlers/show-path.d.ts +11 -0
- package/dist/commands/config/handlers/show-path.d.ts.map +1 -0
- package/dist/commands/config/handlers/show-path.js +20 -0
- package/dist/commands/config/handlers/show-path.js.map +1 -0
- package/dist/commands/config/handlers/show-value.d.ts +11 -0
- package/dist/commands/config/handlers/show-value.d.ts.map +1 -0
- package/dist/commands/config/handlers/show-value.js +31 -0
- package/dist/commands/config/handlers/show-value.js.map +1 -0
- package/dist/commands/config/helpers.d.ts +23 -0
- package/dist/commands/config/helpers.d.ts.map +1 -0
- package/dist/commands/config/helpers.js +53 -0
- package/dist/commands/config/helpers.js.map +1 -0
- package/dist/commands/config/index.d.ts +12 -0
- package/dist/commands/config/index.d.ts.map +1 -0
- package/dist/commands/config/index.js +56 -0
- package/dist/commands/config/index.js.map +1 -0
- package/dist/commands/config/types.d.ts +31 -0
- package/dist/commands/config/types.d.ts.map +1 -0
- package/dist/commands/config/types.js +13 -0
- package/dist/commands/config/types.js.map +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +3 -2
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/index.d.ts +7 -7
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +28 -28
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/list/display.d.ts +39 -0
- package/dist/commands/list/display.d.ts.map +1 -0
- package/dist/commands/list/display.js +144 -0
- package/dist/commands/list/display.js.map +1 -0
- package/dist/commands/list/index.d.ts +12 -0
- package/dist/commands/list/index.d.ts.map +1 -0
- package/dist/commands/list/index.js +128 -0
- package/dist/commands/list/index.js.map +1 -0
- package/dist/commands/list/types.d.ts +32 -0
- package/dist/commands/list/types.d.ts.map +1 -0
- package/dist/commands/list/types.js +6 -0
- package/dist/commands/list/types.js.map +1 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +2 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/load/display.d.ts +28 -0
- package/dist/commands/load/display.d.ts.map +1 -0
- package/dist/commands/load/display.js +53 -0
- package/dist/commands/load/display.js.map +1 -0
- package/dist/commands/load/handlers/copy-repo.d.ts +13 -0
- package/dist/commands/load/handlers/copy-repo.d.ts.map +1 -0
- package/dist/commands/load/handlers/copy-repo.js +82 -0
- package/dist/commands/load/handlers/copy-repo.js.map +1 -0
- package/dist/commands/load/handlers/index.d.ts +6 -0
- package/dist/commands/load/handlers/index.d.ts.map +1 -0
- package/dist/commands/load/handlers/index.js +11 -0
- package/dist/commands/load/handlers/index.js.map +1 -0
- package/dist/commands/load/handlers/url-add.d.ts +13 -0
- package/dist/commands/load/handlers/url-add.d.ts.map +1 -0
- package/dist/commands/load/handlers/url-add.js +50 -0
- package/dist/commands/load/handlers/url-add.js.map +1 -0
- package/dist/commands/load/helpers.d.ts +81 -0
- package/dist/commands/load/helpers.d.ts.map +1 -0
- package/dist/commands/load/helpers.js +199 -0
- package/dist/commands/load/helpers.js.map +1 -0
- package/dist/commands/load/index.d.ts +13 -0
- package/dist/commands/load/index.d.ts.map +1 -0
- package/dist/commands/load/index.js +46 -0
- package/dist/commands/load/index.js.map +1 -0
- package/dist/commands/load/types.d.ts +37 -0
- package/dist/commands/load/types.d.ts.map +1 -0
- package/dist/commands/load/types.js +6 -0
- package/dist/commands/load/types.js.map +1 -0
- package/dist/commands/load.d.ts.map +1 -1
- package/dist/commands/load.js +4 -3
- package/dist/commands/load.js.map +1 -1
- package/dist/commands/options/all.d.ts +11 -0
- package/dist/commands/options/all.d.ts.map +1 -0
- package/dist/commands/options/all.js +14 -0
- package/dist/commands/options/all.js.map +1 -0
- package/dist/commands/options/branch.d.ts +11 -0
- package/dist/commands/options/branch.d.ts.map +1 -0
- package/dist/commands/options/branch.js +14 -0
- package/dist/commands/options/branch.js.map +1 -0
- package/dist/commands/options/check.d.ts +11 -0
- package/dist/commands/options/check.d.ts.map +1 -0
- package/dist/commands/options/check.js +14 -0
- package/dist/commands/options/check.js.map +1 -0
- package/dist/commands/options/clean-empty.d.ts +11 -0
- package/dist/commands/options/clean-empty.d.ts.map +1 -0
- package/dist/commands/options/clean-empty.js +14 -0
- package/dist/commands/options/clean-empty.js.map +1 -0
- package/dist/commands/options/depth.d.ts +11 -0
- package/dist/commands/options/depth.d.ts.map +1 -0
- package/dist/commands/options/depth.js +14 -0
- package/dist/commands/options/depth.js.map +1 -0
- package/dist/commands/options/dry-run.d.ts +11 -0
- package/dist/commands/options/dry-run.d.ts.map +1 -0
- package/dist/commands/options/dry-run.js +14 -0
- package/dist/commands/options/dry-run.js.map +1 -0
- package/dist/commands/options/force.d.ts +11 -0
- package/dist/commands/options/force.d.ts.map +1 -0
- package/dist/commands/options/force.js +14 -0
- package/dist/commands/options/force.js.map +1 -0
- package/dist/commands/options/index.d.ts +24 -0
- package/dist/commands/options/index.d.ts.map +1 -0
- package/dist/commands/options/index.js +53 -0
- package/dist/commands/options/index.js.map +1 -0
- package/dist/commands/options/json.d.ts +11 -0
- package/dist/commands/options/json.d.ts.map +1 -0
- package/dist/commands/options/json.js +14 -0
- package/dist/commands/options/json.js.map +1 -0
- package/dist/commands/options/keep-empty.d.ts +11 -0
- package/dist/commands/options/keep-empty.d.ts.map +1 -0
- package/dist/commands/options/keep-empty.js +14 -0
- package/dist/commands/options/keep-empty.js.map +1 -0
- package/dist/commands/options/list.d.ts +11 -0
- package/dist/commands/options/list.d.ts.map +1 -0
- package/dist/commands/options/list.js +14 -0
- package/dist/commands/options/list.js.map +1 -0
- package/dist/commands/options/name.d.ts +11 -0
- package/dist/commands/options/name.d.ts.map +1 -0
- package/dist/commands/options/name.js +14 -0
- package/dist/commands/options/name.js.map +1 -0
- package/dist/commands/options/no-ignore.d.ts +11 -0
- package/dist/commands/options/no-ignore.d.ts.map +1 -0
- package/dist/commands/options/no-ignore.js +14 -0
- package/dist/commands/options/no-ignore.js.map +1 -0
- package/dist/commands/options/path.d.ts +11 -0
- package/dist/commands/options/path.d.ts.map +1 -0
- package/dist/commands/options/path.js +14 -0
- package/dist/commands/options/path.js.map +1 -0
- package/dist/commands/options/shallow.d.ts +16 -0
- package/dist/commands/options/shallow.d.ts.map +1 -0
- package/dist/commands/options/shallow.js +19 -0
- package/dist/commands/options/shallow.js.map +1 -0
- package/dist/commands/options/status.d.ts +11 -0
- package/dist/commands/options/status.d.ts.map +1 -0
- package/dist/commands/options/status.js +14 -0
- package/dist/commands/options/status.js.map +1 -0
- package/dist/commands/options/subdir.d.ts +11 -0
- package/dist/commands/options/subdir.d.ts.map +1 -0
- package/dist/commands/options/subdir.js +14 -0
- package/dist/commands/options/subdir.js.map +1 -0
- package/dist/commands/options/sync-only.d.ts +11 -0
- package/dist/commands/options/sync-only.d.ts.map +1 -0
- package/dist/commands/options/sync-only.js +14 -0
- package/dist/commands/options/sync-only.js.map +1 -0
- package/dist/commands/options/sync.d.ts +11 -0
- package/dist/commands/options/sync.d.ts.map +1 -0
- package/dist/commands/options/sync.js +14 -0
- package/dist/commands/options/sync.js.map +1 -0
- package/dist/commands/options/verbose.d.ts +11 -0
- package/dist/commands/options/verbose.d.ts.map +1 -0
- package/dist/commands/options/verbose.js +14 -0
- package/dist/commands/options/verbose.js.map +1 -0
- package/dist/commands/unload/display.d.ts +29 -0
- package/dist/commands/unload/display.d.ts.map +1 -0
- package/dist/commands/unload/display.js +125 -0
- package/dist/commands/unload/display.js.map +1 -0
- package/dist/commands/unload/handlers/clean-empty.d.ts +11 -0
- package/dist/commands/unload/handlers/clean-empty.d.ts.map +1 -0
- package/dist/commands/unload/handlers/clean-empty.js +111 -0
- package/dist/commands/unload/handlers/clean-empty.js.map +1 -0
- package/dist/commands/unload/handlers/index.d.ts +8 -0
- package/dist/commands/unload/handlers/index.d.ts.map +1 -0
- package/dist/commands/unload/handlers/index.js +15 -0
- package/dist/commands/unload/handlers/index.js.map +1 -0
- package/dist/commands/unload/handlers/list.d.ts +11 -0
- package/dist/commands/unload/handlers/list.d.ts.map +1 -0
- package/dist/commands/unload/handlers/list.js +42 -0
- package/dist/commands/unload/handlers/list.js.map +1 -0
- package/dist/commands/unload/handlers/remove-all.d.ts +11 -0
- package/dist/commands/unload/handlers/remove-all.d.ts.map +1 -0
- package/dist/commands/unload/handlers/remove-all.js +184 -0
- package/dist/commands/unload/handlers/remove-all.js.map +1 -0
- package/dist/commands/unload/handlers/remove-single.d.ts +12 -0
- package/dist/commands/unload/handlers/remove-single.d.ts.map +1 -0
- package/dist/commands/unload/handlers/remove-single.js +217 -0
- package/dist/commands/unload/handlers/remove-single.js.map +1 -0
- package/dist/commands/unload/helpers.d.ts +55 -0
- package/dist/commands/unload/helpers.d.ts.map +1 -0
- package/dist/commands/unload/helpers.js +256 -0
- package/dist/commands/unload/helpers.js.map +1 -0
- package/dist/commands/unload/index.d.ts +12 -0
- package/dist/commands/unload/index.d.ts.map +1 -0
- package/dist/commands/unload/index.js +121 -0
- package/dist/commands/unload/index.js.map +1 -0
- package/dist/commands/unload/types.d.ts +53 -0
- package/dist/commands/unload/types.d.ts.map +1 -0
- package/dist/commands/unload/types.js +6 -0
- package/dist/commands/unload/types.js.map +1 -0
- package/dist/commands/unload.d.ts.map +1 -1
- package/dist/commands/unload.js +8 -7
- package/dist/commands/unload.js.map +1 -1
- package/dist/commands/update/display.d.ts +30 -0
- package/dist/commands/update/display.d.ts.map +1 -0
- package/dist/commands/update/display.js +161 -0
- package/dist/commands/update/display.js.map +1 -0
- package/dist/commands/update/handlers/index.d.ts +8 -0
- package/dist/commands/update/handlers/index.d.ts.map +1 -0
- package/dist/commands/update/handlers/index.js +15 -0
- package/dist/commands/update/handlers/index.js.map +1 -0
- package/dist/commands/update/handlers/status.d.ts +11 -0
- package/dist/commands/update/handlers/status.d.ts.map +1 -0
- package/dist/commands/update/handlers/status.js +20 -0
- package/dist/commands/update/handlers/status.js.map +1 -0
- package/dist/commands/update/handlers/sync-only.d.ts +11 -0
- package/dist/commands/update/handlers/sync-only.d.ts.map +1 -0
- package/dist/commands/update/handlers/sync-only.js +41 -0
- package/dist/commands/update/handlers/sync-only.js.map +1 -0
- package/dist/commands/update/handlers/update-all.d.ts +10 -0
- package/dist/commands/update/handlers/update-all.d.ts.map +1 -0
- package/dist/commands/update/handlers/update-all.js +125 -0
- package/dist/commands/update/handlers/update-all.js.map +1 -0
- package/dist/commands/update/handlers/update-single.d.ts +11 -0
- package/dist/commands/update/handlers/update-single.d.ts.map +1 -0
- package/dist/commands/update/handlers/update-single.js +154 -0
- package/dist/commands/update/handlers/update-single.js.map +1 -0
- package/dist/commands/update/helpers.d.ts +13 -0
- package/dist/commands/update/helpers.d.ts.map +1 -0
- package/dist/commands/update/helpers.js +86 -0
- package/dist/commands/update/helpers.js.map +1 -0
- package/dist/commands/update/index.d.ts +12 -0
- package/dist/commands/update/index.d.ts.map +1 -0
- package/dist/commands/update/index.js +67 -0
- package/dist/commands/update/index.js.map +1 -0
- package/dist/commands/update/types.d.ts +55 -0
- package/dist/commands/update/types.d.ts.map +1 -0
- package/dist/commands/update/types.js +6 -0
- package/dist/commands/update/types.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +7 -6
- package/dist/commands/update.js.map +1 -1
- package/dist/core/filesystem.js +1 -1
- package/dist/core/filesystem.js.map +1 -1
- package/dist/core/loading-state.d.ts +32 -16
- package/dist/core/loading-state.d.ts.map +1 -1
- package/dist/core/loading-state.js +51 -26
- package/dist/core/loading-state.js.map +1 -1
- package/dist/core/loading.d.ts +4 -2
- package/dist/core/loading.d.ts.map +1 -1
- package/dist/core/loading.js +37 -35
- package/dist/core/loading.js.map +1 -1
- package/dist/core/migration.d.ts.map +1 -1
- package/dist/core/migration.js +1 -3
- package/dist/core/migration.js.map +1 -1
- package/dist/core/repository.js +2 -2
- package/dist/core/repository.js.map +1 -1
- package/dist/core/sync.d.ts.map +1 -1
- package/dist/core/sync.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/ui/format.d.ts.map +1 -1
- package/dist/ui/format.js.map +1 -1
- package/dist/ui/table.d.ts +2 -2
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/ui/table.js.map +1 -1
- package/package.json +23 -3
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* update 命令 --sync-only 处理逻辑
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.handleSyncOnly = handleSyncOnly;
|
|
10
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
+
const sync_js_1 = require("../../../core/sync.js");
|
|
12
|
+
const spinner_js_1 = require("../../../ui/spinner.js");
|
|
13
|
+
const display_js_1 = require("../display.js");
|
|
14
|
+
/**
|
|
15
|
+
* 处理 --sync-only 选项
|
|
16
|
+
* @param context 命令上下文
|
|
17
|
+
* @returns 如果处理了该选项返回 true,否则返回 false
|
|
18
|
+
*/
|
|
19
|
+
async function handleSyncOnly(context) {
|
|
20
|
+
if (!context.syncOnly) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
if (context.dryRun) {
|
|
24
|
+
await (0, display_js_1.showDryRunSync)(context.force);
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
const spinner = (0, spinner_js_1.startSpinner)("Syncing to workspace...");
|
|
28
|
+
const results = await (0, sync_js_1.syncAll)(context.force);
|
|
29
|
+
spinner.stop();
|
|
30
|
+
if (results.length === 0) {
|
|
31
|
+
console.log(chalk_1.default.yellow("No loaded reference code."));
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
(0, display_js_1.displaySyncResults)(results);
|
|
35
|
+
const failCount = results.filter((r) => !r.success).length;
|
|
36
|
+
if (failCount > 0) {
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=sync-only.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-only.js","sourceRoot":"","sources":["../../../../src/commands/update/handlers/sync-only.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;AAaH,wCA2BC;AAtCD,kDAA0B;AAC1B,mDAAgD;AAChD,uDAAsD;AAEtD,8CAAmE;AAEnE;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,OAAsB;IACzD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAA,2BAAc,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,yBAAY,EAAC,yBAAyB,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,IAAA,iBAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC3D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-all.d.ts","sourceRoot":"","sources":["../../../../src/commands/update/handlers/update-all.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAS1D;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4F3E"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* update 命令 - 更新所有仓库逻辑
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.handleUpdateAll = handleUpdateAll;
|
|
43
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
44
|
+
const repository = __importStar(require("../../../core/repository.js"));
|
|
45
|
+
const sync_js_1 = require("../../../core/sync.js");
|
|
46
|
+
const spinner_js_1 = require("../../../ui/spinner.js");
|
|
47
|
+
const helpers_js_1 = require("../helpers.js");
|
|
48
|
+
const display_js_1 = require("../display.js");
|
|
49
|
+
/**
|
|
50
|
+
* 处理更新所有仓库
|
|
51
|
+
* @param context 命令上下文
|
|
52
|
+
*/
|
|
53
|
+
async function handleUpdateAll(context) {
|
|
54
|
+
const repos = await repository.list();
|
|
55
|
+
if (repos.length === 0) {
|
|
56
|
+
console.log(chalk_1.default.yellow("No repositories found."));
|
|
57
|
+
console.log(chalk_1.default.gray("\nUse `grf add <url>` to add a repository."));
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const actionText = context.checkOnly
|
|
61
|
+
? "Checking repositories..."
|
|
62
|
+
: "Updating repositories...";
|
|
63
|
+
console.log(actionText);
|
|
64
|
+
console.log();
|
|
65
|
+
const results = [];
|
|
66
|
+
for (const repo of repos) {
|
|
67
|
+
const spinner = (0, spinner_js_1.createSpinner)(` ${repo.name}`).start();
|
|
68
|
+
const result = await (0, helpers_js_1.updateRepo)(repo, context.checkOnly);
|
|
69
|
+
results.push(result);
|
|
70
|
+
// 更新 spinner 显示结果
|
|
71
|
+
const icon = (0, display_js_1.getStatusIcon)(result.status);
|
|
72
|
+
const statusText = (0, display_js_1.getStatusText)(result);
|
|
73
|
+
spinner.stopAndPersist({
|
|
74
|
+
symbol: icon,
|
|
75
|
+
text: `${repo.name} ${statusText}`,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
// 统计结果
|
|
79
|
+
const updatedCount = results.filter((r) => r.status === "updated").length;
|
|
80
|
+
const hasUpdatesCount = results.filter((r) => r.status === "has-updates").length;
|
|
81
|
+
const errorCount = results.filter((r) => r.status === "error").length;
|
|
82
|
+
console.log();
|
|
83
|
+
if (context.checkOnly) {
|
|
84
|
+
if (hasUpdatesCount > 0) {
|
|
85
|
+
console.log(chalk_1.default.yellow(`${hasUpdatesCount} repository${hasUpdatesCount > 1 ? "ies have" : " has"} updates available.`));
|
|
86
|
+
}
|
|
87
|
+
else if (errorCount === 0) {
|
|
88
|
+
console.log(chalk_1.default.green("All repositories are up-to-date."));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
if (updatedCount > 0) {
|
|
93
|
+
console.log(chalk_1.default.green(`${updatedCount} repository${updatedCount > 1 ? "ies" : ""} updated.`));
|
|
94
|
+
}
|
|
95
|
+
else if (errorCount === 0) {
|
|
96
|
+
console.log(chalk_1.default.green("All repositories are up-to-date."));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (errorCount > 0) {
|
|
100
|
+
console.log(chalk_1.default.red(`${errorCount} repository${errorCount > 1 ? "ies" : ""} failed to update.`));
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
// --sync: 更新后同步到工作区
|
|
104
|
+
if (context.doSync && !context.checkOnly) {
|
|
105
|
+
console.log();
|
|
106
|
+
if (context.dryRun) {
|
|
107
|
+
await (0, display_js_1.showDryRunSync)(context.force);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
console.log(chalk_1.default.bold("Syncing to workspace...\n"));
|
|
111
|
+
const syncResults = await (0, sync_js_1.syncAll)(context.force);
|
|
112
|
+
if (syncResults.length === 0) {
|
|
113
|
+
console.log(chalk_1.default.gray("No loaded reference code needs syncing."));
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
(0, display_js_1.displaySyncResults)(syncResults);
|
|
117
|
+
const syncFailCount = syncResults.filter((r) => !r.success).length;
|
|
118
|
+
if (syncFailCount > 0) {
|
|
119
|
+
process.exit(1);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=update-all.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-all.js","sourceRoot":"","sources":["../../../../src/commands/update/handlers/update-all.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBH,0CA4FC;AA7GD,kDAA0B;AAC1B,wEAA0D;AAC1D,mDAAgD;AAChD,uDAAuD;AAEvD,8CAA2C;AAC3C,8CAKuB;AAEvB;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,OAAsB;IAC1D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAEtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS;QAClC,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,0BAA0B,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAA,0BAAa,EAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,kBAAkB;QAClB,MAAM,IAAI,GAAG,IAAA,0BAAa,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAA,0BAAa,EAAC,MAAM,CAAC,CAAC;QACzC,OAAO,CAAC,cAAc,CAAC;YACrB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,QAAQ,UAAU,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;IACP,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC1E,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAClC,CAAC,MAAM,CAAC;IACT,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IAEtE,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,GAAG,eAAe,cAAc,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,qBAAqB,CAC/F,CACF,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CACT,GAAG,YAAY,cAAc,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CACtE,CACF,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CACP,GAAG,UAAU,cAAc,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAC3E,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAA,2BAAc,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACrD,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEjD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,IAAA,+BAAkB,EAAC,WAAW,CAAC,CAAC;gBAEhC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBACnE,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* update 命令 - 更新单个仓库逻辑
|
|
3
|
+
*/
|
|
4
|
+
import { UpdateContext } from "../types.js";
|
|
5
|
+
/**
|
|
6
|
+
* 处理更新单个仓库
|
|
7
|
+
* @param context 命令上下文
|
|
8
|
+
* @returns 如果处理了该选项返回 true,否则返回 false
|
|
9
|
+
*/
|
|
10
|
+
export declare function handleUpdateSingle(context: UpdateContext): Promise<boolean>;
|
|
11
|
+
//# sourceMappingURL=update-single.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-single.d.ts","sourceRoot":"","sources":["../../../../src/commands/update/handlers/update-single.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CAmIlB"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* update 命令 - 更新单个仓库逻辑
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.handleUpdateSingle = handleUpdateSingle;
|
|
43
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
44
|
+
const repository = __importStar(require("../../../core/repository.js"));
|
|
45
|
+
const sync_js_1 = require("../../../core/sync.js");
|
|
46
|
+
const format_js_1 = require("../../../ui/format.js");
|
|
47
|
+
const spinner_js_1 = require("../../../ui/spinner.js");
|
|
48
|
+
const helpers_js_1 = require("../helpers.js");
|
|
49
|
+
const display_js_1 = require("../display.js");
|
|
50
|
+
/**
|
|
51
|
+
* 处理更新单个仓库
|
|
52
|
+
* @param context 命令上下文
|
|
53
|
+
* @returns 如果处理了该选项返回 true,否则返回 false
|
|
54
|
+
*/
|
|
55
|
+
async function handleUpdateSingle(context) {
|
|
56
|
+
if (!context.name) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
const name = context.name;
|
|
60
|
+
const spinner = (0, spinner_js_1.startSpinner)("Checking for updates...");
|
|
61
|
+
const repoInfo = await repository.get(name);
|
|
62
|
+
if (!repoInfo) {
|
|
63
|
+
spinner.fail(chalk_1.default.red("Repository not found"));
|
|
64
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} Repository not found: ${name}`));
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
const result = await (0, helpers_js_1.updateRepo)(repoInfo, context.checkOnly);
|
|
68
|
+
if (result.status === "error") {
|
|
69
|
+
spinner.fail(chalk_1.default.red("Update failed"));
|
|
70
|
+
console.error(chalk_1.default.red(`\n${chalk_1.default.bold("✗")} ${result.error}`));
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
if (result.status === "up-to-date") {
|
|
74
|
+
spinner.succeed(chalk_1.default.green("Repository is up-to-date"));
|
|
75
|
+
console.log();
|
|
76
|
+
console.log(` ${chalk_1.default.gray("Name:")} ${repoInfo.name}`);
|
|
77
|
+
console.log(` ${chalk_1.default.gray("Commit:")} ${(0, format_js_1.shortCommit)(repoInfo.commitId)}...`);
|
|
78
|
+
}
|
|
79
|
+
else if (result.status === "has-updates") {
|
|
80
|
+
spinner.succeed(chalk_1.default.yellow("Updates available"));
|
|
81
|
+
console.log();
|
|
82
|
+
console.log(` ${chalk_1.default.gray("Name:")} ${repoInfo.name}`);
|
|
83
|
+
console.log(` ${chalk_1.default.gray("Status:")} ${chalk_1.default.yellow("has updates available")}`);
|
|
84
|
+
console.log();
|
|
85
|
+
console.log(chalk_1.default.gray(" Run without --check to apply updates."));
|
|
86
|
+
}
|
|
87
|
+
else if (result.status === "updated") {
|
|
88
|
+
spinner.succeed(chalk_1.default.green("Repository updated!"));
|
|
89
|
+
console.log();
|
|
90
|
+
console.log(` ${chalk_1.default.gray("Name:")} ${repoInfo.name}`);
|
|
91
|
+
console.log(` ${chalk_1.default.gray("Old Commit:")} ${(0, format_js_1.shortCommit)(result.oldCommit)}...`);
|
|
92
|
+
console.log(` ${chalk_1.default.gray("New Commit:")} ${(0, format_js_1.shortCommit)(result.newCommit)}...`);
|
|
93
|
+
// --sync: 更新后同步到工作区
|
|
94
|
+
if (context.doSync) {
|
|
95
|
+
console.log();
|
|
96
|
+
if (context.dryRun) {
|
|
97
|
+
console.log(chalk_1.default.bold("[Dry Run] Will sync to workspace..."));
|
|
98
|
+
console.log(chalk_1.default.gray("This is dry-run mode, no actual operations performed."));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
const syncSpinner = (0, spinner_js_1.startSpinner)("Syncing to workspace...");
|
|
102
|
+
const syncResults = await (0, sync_js_1.syncAll)(context.force);
|
|
103
|
+
syncSpinner.stop();
|
|
104
|
+
// 仅显示与当前仓库相关的同步结果
|
|
105
|
+
const relevantResults = syncResults.filter((r) => r.repoName === repoInfo.name || r.repoName.includes(name));
|
|
106
|
+
if (relevantResults.length > 0) {
|
|
107
|
+
(0, display_js_1.displaySyncResults)(relevantResults);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
console.log(chalk_1.default.gray("No workspace entries need syncing."));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// 如果仓库已是最新但用户指定了 --sync,也执行同步
|
|
116
|
+
if ((result.status === "up-to-date" || result.status === "has-updates") &&
|
|
117
|
+
context.doSync &&
|
|
118
|
+
!context.checkOnly) {
|
|
119
|
+
console.log();
|
|
120
|
+
if (context.dryRun) {
|
|
121
|
+
console.log(chalk_1.default.bold("[Dry Run] Will sync to workspace..."));
|
|
122
|
+
const statusList = await (0, sync_js_1.getAllSyncStatus)();
|
|
123
|
+
const relevantStatus = statusList.filter((s) => s.repoName === repoInfo.name || s.repoName.includes(name));
|
|
124
|
+
if (relevantStatus.length > 0 &&
|
|
125
|
+
relevantStatus.some((s) => s.needsSync || context.force)) {
|
|
126
|
+
for (const status of relevantStatus) {
|
|
127
|
+
if (status.needsSync || context.force) {
|
|
128
|
+
const oldCommit = (0, format_js_1.shortCommit)(status.loadedCommitId);
|
|
129
|
+
const newCommit = (0, format_js_1.shortCommit)(status.cacheCommitId);
|
|
130
|
+
console.log(chalk_1.default.yellow(` - ${status.repoName}: ${oldCommit} → ${newCommit}`));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
console.log(chalk_1.default.gray("No workspace entries need syncing."));
|
|
136
|
+
}
|
|
137
|
+
console.log(chalk_1.default.gray("\nThis is dry-run mode, no actual operations performed."));
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
const syncSpinner = (0, spinner_js_1.startSpinner)("Syncing to workspace...");
|
|
141
|
+
const syncResults = await (0, sync_js_1.syncAll)(context.force);
|
|
142
|
+
syncSpinner.stop();
|
|
143
|
+
const relevantResults = syncResults.filter((r) => r.repoName === repoInfo.name || r.repoName.includes(name));
|
|
144
|
+
if (relevantResults.length > 0) {
|
|
145
|
+
(0, display_js_1.displaySyncResults)(relevantResults);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
console.log(chalk_1.default.gray("No workspace entries need syncing."));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=update-single.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-single.js","sourceRoot":"","sources":["../../../../src/commands/update/handlers/update-single.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBH,gDAqIC;AAnJD,kDAA0B;AAC1B,wEAA0D;AAC1D,mDAAkE;AAClE,qDAAoD;AACpD,uDAAsD;AAEtD,8CAA2C;AAC3C,8CAAmD;AAEnD;;;;GAIG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAAsB;IAEtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAA,yBAAY,EAAC,yBAAyB,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAChE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7D,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAA,uBAAW,EAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CACtE,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAC3C,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,eAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAC1E,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAA,uBAAW,EAAC,MAAM,CAAC,SAAU,CAAC,KAAK,CACtE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAA,uBAAW,EAAC,MAAM,CAAC,SAAU,CAAC,KAAK,CACtE,CAAC;QAEF,oBAAoB;QACpB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CACpE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,IAAA,yBAAY,EAAC,yBAAyB,CAAC,CAAC;gBAC5D,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjD,WAAW,CAAC,IAAI,EAAE,CAAC;gBAEnB,kBAAkB;gBAClB,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CACjE,CAAC;gBAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,IAAA,+BAAkB,EAAC,eAAe,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IACE,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC;QACnE,OAAO,CAAC,MAAM;QACd,CAAC,OAAO,CAAC,SAAS,EAClB,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAgB,GAAE,CAAC;YAC5C,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CACjE,CAAC;YACF,IACE,cAAc,CAAC,MAAM,GAAG,CAAC;gBACzB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,EACxD,CAAC;gBACD,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;oBACpC,IAAI,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;wBACtC,MAAM,SAAS,GAAG,IAAA,uBAAW,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC;wBACrD,MAAM,SAAS,GAAG,IAAA,uBAAW,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;wBACpD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,MAAM,SAAS,EAAE,CACtD,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CACtE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,IAAA,yBAAY,EAAC,yBAAyB,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,IAAA,iBAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjD,WAAW,CAAC,IAAI,EAAE,CAAC;YAEnB,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CACjE,CAAC;YAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAA,+BAAkB,EAAC,eAAe,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* update 命令辅助函数
|
|
3
|
+
*/
|
|
4
|
+
import type { RepoInfo } from "../../core/repository.js";
|
|
5
|
+
import { UpdateResult } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* 更新单个仓库
|
|
8
|
+
* @param repoInfo 仓库信息
|
|
9
|
+
* @param checkOnly 是否仅检查更新
|
|
10
|
+
* @returns 更新结果
|
|
11
|
+
*/
|
|
12
|
+
export declare function updateRepo(repoInfo: RepoInfo, checkOnly: boolean): Promise<UpdateResult>;
|
|
13
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/update/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,YAAY,CAAC,CA2CvB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* update 命令辅助函数
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.updateRepo = updateRepo;
|
|
40
|
+
const git = __importStar(require("../../core/git.js"));
|
|
41
|
+
const config_js_1 = require("../../core/config.js");
|
|
42
|
+
/**
|
|
43
|
+
* 更新单个仓库
|
|
44
|
+
* @param repoInfo 仓库信息
|
|
45
|
+
* @param checkOnly 是否仅检查更新
|
|
46
|
+
* @returns 更新结果
|
|
47
|
+
*/
|
|
48
|
+
async function updateRepo(repoInfo, checkOnly) {
|
|
49
|
+
const repoPath = repoInfo.path;
|
|
50
|
+
const oldCommit = repoInfo.commitId;
|
|
51
|
+
try {
|
|
52
|
+
// 检查更新
|
|
53
|
+
const hasUpdates = await git.hasUpdates(repoPath);
|
|
54
|
+
if (!hasUpdates) {
|
|
55
|
+
return { name: repoInfo.name, status: "up-to-date" };
|
|
56
|
+
}
|
|
57
|
+
if (checkOnly) {
|
|
58
|
+
return { name: repoInfo.name, status: "has-updates" };
|
|
59
|
+
}
|
|
60
|
+
// 执行更新
|
|
61
|
+
await git.pull(repoPath);
|
|
62
|
+
// 更新元信息
|
|
63
|
+
const newCommit = await git.getCurrentCommit(repoPath);
|
|
64
|
+
const meta = await (0, config_js_1.readRepoMeta)(repoPath);
|
|
65
|
+
if (meta) {
|
|
66
|
+
meta.commitId = newCommit;
|
|
67
|
+
meta.updatedAt = new Date().toISOString();
|
|
68
|
+
await (0, config_js_1.writeRepoMeta)(repoPath, meta);
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
name: repoInfo.name,
|
|
72
|
+
status: "updated",
|
|
73
|
+
oldCommit,
|
|
74
|
+
newCommit,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
79
|
+
return {
|
|
80
|
+
name: repoInfo.name,
|
|
81
|
+
status: "error",
|
|
82
|
+
error: errorMessage,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/update/helpers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaH,gCA8CC;AAzDD,uDAAyC;AACzC,oDAAmE;AAInE;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAC9B,QAAkB,EAClB,SAAkB;IAElB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAEpC,IAAI,CAAC;QACH,OAAO;QACP,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACvD,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QACxD,CAAC;QAED,OAAO;QACP,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzB,QAAQ;QACR,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAY,EAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,IAAA,yBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* update 命令
|
|
3
|
+
* 更新缓存的仓库到最新版本,可选同步到工作区
|
|
4
|
+
*/
|
|
5
|
+
import { Command } from "commander";
|
|
6
|
+
/**
|
|
7
|
+
* 注册 update 命令
|
|
8
|
+
* @param program Commander 程序实例
|
|
9
|
+
*/
|
|
10
|
+
export declare function registerUpdateCommand(program: Command): void;
|
|
11
|
+
export declare const updateCommand: Command;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE5D;AAED,eAAO,MAAM,aAAa,SAkDtB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* update 命令
|
|
4
|
+
* 更新缓存的仓库到最新版本,可选同步到工作区
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.updateCommand = void 0;
|
|
8
|
+
exports.registerUpdateCommand = registerUpdateCommand;
|
|
9
|
+
const commander_1 = require("commander");
|
|
10
|
+
const error_js_1 = require("../../utils/error.js");
|
|
11
|
+
const index_js_1 = require("../options/index.js");
|
|
12
|
+
const index_js_2 = require("./handlers/index.js");
|
|
13
|
+
/**
|
|
14
|
+
* 注册 update 命令
|
|
15
|
+
* @param program Commander 程序实例
|
|
16
|
+
*/
|
|
17
|
+
function registerUpdateCommand(program) {
|
|
18
|
+
program.addCommand(exports.updateCommand);
|
|
19
|
+
}
|
|
20
|
+
exports.updateCommand = new commander_1.Command("update")
|
|
21
|
+
.description("Update cached repositories and optionally sync to workspace")
|
|
22
|
+
.argument("[name]", "Repository name (update all if not specified)")
|
|
23
|
+
.addOption(index_js_1.checkOption)
|
|
24
|
+
.addOption(index_js_1.statusOption)
|
|
25
|
+
.addOption(index_js_1.syncOption)
|
|
26
|
+
.addOption(index_js_1.syncOnlyOption)
|
|
27
|
+
.addOption(index_js_1.forceOption)
|
|
28
|
+
.addOption(index_js_1.dryRunOption)
|
|
29
|
+
.action(async (name, options) => {
|
|
30
|
+
const checkOnly = options.check ?? false;
|
|
31
|
+
const showStatus = options.status ?? false;
|
|
32
|
+
const doSync = options.sync ?? false;
|
|
33
|
+
const syncOnly = options.syncOnly ?? false;
|
|
34
|
+
const force = options.force ?? false;
|
|
35
|
+
const dryRun = options.dryRun ?? false;
|
|
36
|
+
// 构建上下文
|
|
37
|
+
const context = {
|
|
38
|
+
name,
|
|
39
|
+
options,
|
|
40
|
+
checkOnly,
|
|
41
|
+
showStatus,
|
|
42
|
+
doSync,
|
|
43
|
+
syncOnly,
|
|
44
|
+
force,
|
|
45
|
+
dryRun,
|
|
46
|
+
};
|
|
47
|
+
try {
|
|
48
|
+
// --status: 显示同步状态
|
|
49
|
+
if (await (0, index_js_2.handleStatus)(context)) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
// --sync-only: 仅同步工作区,不更新缓存
|
|
53
|
+
if (await (0, index_js_2.handleSyncOnly)(context)) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
// 更新单个仓库
|
|
57
|
+
if (await (0, index_js_2.handleUpdateSingle)(context)) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// 更新所有仓库
|
|
61
|
+
await (0, index_js_2.handleUpdateAll)(context);
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
(0, error_js_1.handleError)(error, { exit: true });
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwBH,sDAEC;AAxBD,yCAAoC;AACpC,mDAAmD;AACnD,kDAO6B;AAE7B,kDAK6B;AAE7B;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,OAAO,CAAC,UAAU,CAAC,qBAAa,CAAC,CAAC;AACpC,CAAC;AAEY,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,6DAA6D,CAAC;KAC1E,QAAQ,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACnE,SAAS,CAAC,sBAAW,CAAC;KACtB,SAAS,CAAC,uBAAY,CAAC;KACvB,SAAS,CAAC,qBAAU,CAAC;KACrB,SAAS,CAAC,yBAAc,CAAC;KACzB,SAAS,CAAC,sBAAW,CAAC;KACtB,SAAS,CAAC,uBAAY,CAAC;KACvB,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,OAAsB,EAAE,EAAE;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACzC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAEvC,QAAQ;IACR,MAAM,OAAO,GAAkB;QAC7B,IAAI;QACJ,OAAO;QACP,SAAS;QACT,UAAU;QACV,MAAM;QACN,QAAQ;QACR,KAAK;QACL,MAAM;KACP,CAAC;IAEF,IAAI,CAAC;QACH,mBAAmB;QACnB,IAAI,MAAM,IAAA,uBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,MAAM,IAAA,yBAAc,EAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,SAAS;QACT,IAAI,MAAM,IAAA,6BAAkB,EAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,SAAS;QACT,MAAM,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,sBAAW,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* update 命令类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 更新结果状态
|
|
6
|
+
*/
|
|
7
|
+
export type UpdateStatus = "up-to-date" | "has-updates" | "updated" | "error";
|
|
8
|
+
/**
|
|
9
|
+
* 更新结果
|
|
10
|
+
*/
|
|
11
|
+
export interface UpdateResult {
|
|
12
|
+
/** 仓库名称 */
|
|
13
|
+
name: string;
|
|
14
|
+
/** 更新状态 */
|
|
15
|
+
status: UpdateStatus;
|
|
16
|
+
/** 旧的 commit ID(仅当状态为 'updated' 时) */
|
|
17
|
+
oldCommit?: string;
|
|
18
|
+
/** 新的 commit ID(仅当状态为 'updated' 时) */
|
|
19
|
+
newCommit?: string;
|
|
20
|
+
/** 错误消息(仅当状态为 'error' 时) */
|
|
21
|
+
error?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 命令选项接口
|
|
25
|
+
*/
|
|
26
|
+
export interface UpdateOptions {
|
|
27
|
+
check?: boolean;
|
|
28
|
+
status?: boolean;
|
|
29
|
+
sync?: boolean;
|
|
30
|
+
syncOnly?: boolean;
|
|
31
|
+
force?: boolean;
|
|
32
|
+
dryRun?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* update 命令上下文
|
|
36
|
+
*/
|
|
37
|
+
export interface UpdateContext {
|
|
38
|
+
/** 仓库名称(可选) */
|
|
39
|
+
name?: string;
|
|
40
|
+
/** 命令选项 */
|
|
41
|
+
options: UpdateOptions;
|
|
42
|
+
/** 是否仅检查更新 */
|
|
43
|
+
checkOnly: boolean;
|
|
44
|
+
/** 是否显示状态 */
|
|
45
|
+
showStatus: boolean;
|
|
46
|
+
/** 是否同步 */
|
|
47
|
+
doSync: boolean;
|
|
48
|
+
/** 是否仅同步 */
|
|
49
|
+
syncOnly: boolean;
|
|
50
|
+
/** 是否强制 */
|
|
51
|
+
force: boolean;
|
|
52
|
+
/** 是否 dry-run 模式 */
|
|
53
|
+
dryRun: boolean;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/update/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW;IACX,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW;IACX,KAAK,EAAE,OAAO,CAAC;IACf,oBAAoB;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/update/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE5D;AAmSD,eAAO,MAAM,aAAa,SA0RtB,CAAC"}
|