grf-cli 1.0.2 → 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/cli.js +2 -14
- package/dist/cli.js.map +1 -1
- 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 +5 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +21 -21
- 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 +5 -0
- package/dist/commands/clean.d.ts.map +1 -1
- package/dist/commands/clean.js +18 -35
- 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 +5 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +22 -41
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/index.d.ts +27 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +52 -0
- package/dist/commands/index.js.map +1 -0
- 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 +5 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +29 -60
- 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 +5 -0
- package/dist/commands/load.d.ts.map +1 -1
- package/dist/commands/load.js +27 -64
- 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 +6 -1
- package/dist/commands/unload.d.ts.map +1 -1
- package/dist/commands/unload.js +165 -169
- 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 +6 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +73 -80
- package/dist/commands/update.js.map +1 -1
- package/dist/core/config-manager.d.ts +83 -0
- package/dist/core/config-manager.d.ts.map +1 -0
- package/dist/core/config-manager.js +170 -0
- package/dist/core/config-manager.js.map +1 -0
- package/dist/core/config.d.ts +22 -2
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +71 -35
- package/dist/core/config.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 +141 -0
- package/dist/core/loading-state.d.ts.map +1 -0
- package/dist/core/loading-state.js +237 -0
- package/dist/core/loading-state.js.map +1 -0
- package/dist/core/loading.d.ts +24 -27
- package/dist/core/loading.d.ts.map +1 -1
- package/dist/core/loading.js +127 -88
- package/dist/core/loading.js.map +1 -1
- package/dist/core/migration.d.ts +54 -0
- package/dist/core/migration.d.ts.map +1 -0
- package/dist/core/migration.js +277 -0
- package/dist/core/migration.js.map +1 -0
- package/dist/core/paths.d.ts +58 -0
- package/dist/core/paths.d.ts.map +1 -0
- package/dist/core/paths.js +103 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/repos-index.d.ts +113 -0
- package/dist/core/repos-index.d.ts.map +1 -0
- package/dist/core/repos-index.js +206 -0
- package/dist/core/repos-index.js.map +1 -0
- 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 +3 -3
- 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 +159 -0
- package/dist/ui/format.d.ts.map +1 -0
- package/dist/ui/format.js +300 -0
- package/dist/ui/format.js.map +1 -0
- package/dist/ui/index.d.ts +9 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +53 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/prompt.d.ts +94 -0
- package/dist/ui/prompt.d.ts.map +1 -0
- package/dist/ui/prompt.js +223 -0
- package/dist/ui/prompt.js.map +1 -0
- package/dist/ui/spinner.d.ts +99 -0
- package/dist/ui/spinner.d.ts.map +1 -0
- package/dist/ui/spinner.js +136 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/table.d.ts +142 -0
- package/dist/ui/table.d.ts.map +1 -0
- package/dist/ui/table.js +213 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/utils/constants.d.ts +152 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +160 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/error.d.ts +109 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +212 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +44 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/validation.d.ts +122 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +248 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +23 -3
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* grf 单配置文件管理器
|
|
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.shallowDepthConfig = exports.shallowCloneConfig = exports.defaultBranchConfig = exports.versionConfig = exports.ConfigManager = exports.CONFIG_DEFAULTS = void 0;
|
|
11
|
+
exports.getAllConfigs = getAllConfigs;
|
|
12
|
+
exports.setAllConfigs = setAllConfigs;
|
|
13
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
14
|
+
const paths_1 = require("./paths");
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// 配置默认值常量
|
|
17
|
+
// ============================================================================
|
|
18
|
+
/** 各配置项的默认值 */
|
|
19
|
+
exports.CONFIG_DEFAULTS = {
|
|
20
|
+
VERSION: "1.0.0",
|
|
21
|
+
DEFAULT_BRANCH: "main",
|
|
22
|
+
SHALLOW_CLONE: true,
|
|
23
|
+
SHALLOW_DEPTH: 1,
|
|
24
|
+
};
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// 泛型配置管理类
|
|
27
|
+
// ============================================================================
|
|
28
|
+
/**
|
|
29
|
+
* 通用的单配置文件管理器
|
|
30
|
+
* @template T 配置值的类型
|
|
31
|
+
*/
|
|
32
|
+
class ConfigManager {
|
|
33
|
+
/**
|
|
34
|
+
* 创建配置管理器实例
|
|
35
|
+
* @param filePath 配置文件的绝对路径
|
|
36
|
+
* @param defaultValue 配置的默认值
|
|
37
|
+
*/
|
|
38
|
+
constructor(filePath, defaultValue) {
|
|
39
|
+
this.cache = null;
|
|
40
|
+
this.filePath = filePath;
|
|
41
|
+
this.defaultValue = defaultValue;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 读取配置值
|
|
45
|
+
* 如果配置文件不存在,返回默认值
|
|
46
|
+
* @returns 配置值
|
|
47
|
+
*/
|
|
48
|
+
async get() {
|
|
49
|
+
// 如果有缓存,直接返回
|
|
50
|
+
if (this.cache !== null) {
|
|
51
|
+
return this.cache;
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
// 检查文件是否存在
|
|
55
|
+
const fileExists = await fs_extra_1.default.pathExists(this.filePath);
|
|
56
|
+
if (!fileExists) {
|
|
57
|
+
return this.defaultValue;
|
|
58
|
+
}
|
|
59
|
+
// 读取并解析配置文件
|
|
60
|
+
const content = (await fs_extra_1.default.readJson(this.filePath));
|
|
61
|
+
const value = content.value;
|
|
62
|
+
// 更新缓存
|
|
63
|
+
this.cache = value;
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// 文件读取或解析失败,返回默认值
|
|
68
|
+
return this.defaultValue;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 写入配置值
|
|
73
|
+
* @param value 要写入的配置值
|
|
74
|
+
*/
|
|
75
|
+
async set(value) {
|
|
76
|
+
// 确保目录存在
|
|
77
|
+
await (0, paths_1.ensureGrfDirs)();
|
|
78
|
+
// 构建配置文件内容
|
|
79
|
+
const content = { value };
|
|
80
|
+
// 写入文件
|
|
81
|
+
await fs_extra_1.default.writeJson(this.filePath, content, { spaces: 2 });
|
|
82
|
+
// 更新缓存
|
|
83
|
+
this.cache = value;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 重置为默认值
|
|
87
|
+
*/
|
|
88
|
+
async reset() {
|
|
89
|
+
await this.set(this.defaultValue);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* 检查配置文件是否存在
|
|
93
|
+
* @returns 文件是否存在
|
|
94
|
+
*/
|
|
95
|
+
async exists() {
|
|
96
|
+
return fs_extra_1.default.pathExists(this.filePath);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* 删除配置文件
|
|
100
|
+
*/
|
|
101
|
+
async delete() {
|
|
102
|
+
// 清除缓存
|
|
103
|
+
this.cache = null;
|
|
104
|
+
// 检查文件是否存在
|
|
105
|
+
const fileExists = await fs_extra_1.default.pathExists(this.filePath);
|
|
106
|
+
if (fileExists) {
|
|
107
|
+
await fs_extra_1.default.remove(this.filePath);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* 清除缓存
|
|
112
|
+
* 下次调用 get() 时会重新从文件读取
|
|
113
|
+
*/
|
|
114
|
+
clearCache() {
|
|
115
|
+
this.cache = null;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.ConfigManager = ConfigManager;
|
|
119
|
+
// ============================================================================
|
|
120
|
+
// 预定义的配置管理器实例
|
|
121
|
+
// ============================================================================
|
|
122
|
+
/** 版本配置管理器 */
|
|
123
|
+
exports.versionConfig = new ConfigManager((0, paths_1.getConfigFilePath)(paths_1.CONFIG_FILES.VERSION), exports.CONFIG_DEFAULTS.VERSION);
|
|
124
|
+
/** 默认分支配置管理器 */
|
|
125
|
+
exports.defaultBranchConfig = new ConfigManager((0, paths_1.getConfigFilePath)(paths_1.CONFIG_FILES.DEFAULT_BRANCH), exports.CONFIG_DEFAULTS.DEFAULT_BRANCH);
|
|
126
|
+
/** 浅克隆开关配置管理器 */
|
|
127
|
+
exports.shallowCloneConfig = new ConfigManager((0, paths_1.getConfigFilePath)(paths_1.CONFIG_FILES.SHALLOW_CLONE), exports.CONFIG_DEFAULTS.SHALLOW_CLONE);
|
|
128
|
+
/** 浅克隆深度配置管理器 */
|
|
129
|
+
exports.shallowDepthConfig = new ConfigManager((0, paths_1.getConfigFilePath)(paths_1.CONFIG_FILES.SHALLOW_DEPTH), exports.CONFIG_DEFAULTS.SHALLOW_DEPTH);
|
|
130
|
+
/**
|
|
131
|
+
* 获取所有配置的聚合对象
|
|
132
|
+
* 用于兼容旧接口或需要一次性获取所有配置的场景
|
|
133
|
+
* @returns 包含所有配置值的对象
|
|
134
|
+
*/
|
|
135
|
+
async function getAllConfigs() {
|
|
136
|
+
const [version, defaultBranch, shallowClone, shallowDepth] = await Promise.all([
|
|
137
|
+
exports.versionConfig.get(),
|
|
138
|
+
exports.defaultBranchConfig.get(),
|
|
139
|
+
exports.shallowCloneConfig.get(),
|
|
140
|
+
exports.shallowDepthConfig.get(),
|
|
141
|
+
]);
|
|
142
|
+
return {
|
|
143
|
+
version,
|
|
144
|
+
defaultBranch,
|
|
145
|
+
shallowClone,
|
|
146
|
+
shallowDepth,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* 批量设置配置
|
|
151
|
+
* 只设置提供的配置项,未提供的保持不变
|
|
152
|
+
* @param configs 要设置的配置项(部分或全部)
|
|
153
|
+
*/
|
|
154
|
+
async function setAllConfigs(configs) {
|
|
155
|
+
const promises = [];
|
|
156
|
+
if (configs.version !== undefined) {
|
|
157
|
+
promises.push(exports.versionConfig.set(configs.version));
|
|
158
|
+
}
|
|
159
|
+
if (configs.defaultBranch !== undefined) {
|
|
160
|
+
promises.push(exports.defaultBranchConfig.set(configs.defaultBranch));
|
|
161
|
+
}
|
|
162
|
+
if (configs.shallowClone !== undefined) {
|
|
163
|
+
promises.push(exports.shallowCloneConfig.set(configs.shallowClone));
|
|
164
|
+
}
|
|
165
|
+
if (configs.shallowDepth !== undefined) {
|
|
166
|
+
promises.push(exports.shallowDepthConfig.set(configs.shallowDepth));
|
|
167
|
+
}
|
|
168
|
+
await Promise.all(promises);
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=config-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/core/config-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/core/config.d.ts
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* grf 配置模块
|
|
3
|
-
*
|
|
2
|
+
* grf 配置模块 - 兼容层
|
|
3
|
+
*
|
|
4
|
+
* 此模块是一个兼容层,保持原有 API 不变,内部使用新的模块化架构:
|
|
5
|
+
* - paths.ts: 路径管理
|
|
6
|
+
* - config-manager.ts: 单配置文件管理
|
|
7
|
+
* - repos-index.ts: 仓库索引管理
|
|
8
|
+
* - migration.ts: 配置迁移工具
|
|
9
|
+
*
|
|
10
|
+
* 现有代码无需修改即可正常工作。
|
|
4
11
|
*/
|
|
5
12
|
import { GlobalConfig, RepoMeta } from "../types/index.js";
|
|
6
13
|
/**
|
|
@@ -16,6 +23,7 @@ export declare function getReposRoot(): string;
|
|
|
16
23
|
/**
|
|
17
24
|
* 获取配置文件路径
|
|
18
25
|
* @returns 配置文件的绝对路径 (~/.gitreference/config.json)
|
|
26
|
+
* @deprecated 新架构使用多个配置文件,此函数仅用于兼容
|
|
19
27
|
*/
|
|
20
28
|
export declare function getConfigPath(): string;
|
|
21
29
|
/**
|
|
@@ -31,12 +39,24 @@ export declare function ensureConfigDir(): Promise<void>;
|
|
|
31
39
|
/**
|
|
32
40
|
* 读取全局配置
|
|
33
41
|
* 如果配置文件不存在,返回默认配置
|
|
42
|
+
*
|
|
43
|
+
* 内部实现:
|
|
44
|
+
* 1. 调用 ensureMigrated() 确保旧配置已迁移
|
|
45
|
+
* 2. 使用 getAllConfigs() 获取配置参数
|
|
46
|
+
* 3. 使用 reposIndex.getAll() 获取仓库列表
|
|
47
|
+
* 4. 组装成 GlobalConfig 对象返回
|
|
48
|
+
*
|
|
34
49
|
* @returns 全局配置对象
|
|
35
50
|
*/
|
|
36
51
|
export declare function readGlobalConfig(): Promise<GlobalConfig>;
|
|
37
52
|
/**
|
|
38
53
|
* 写入全局配置
|
|
39
54
|
* 自动创建配置目录(如果不存在)
|
|
55
|
+
*
|
|
56
|
+
* 内部实现:
|
|
57
|
+
* 1. 使用 setAllConfigs() 保存配置参数
|
|
58
|
+
* 2. 使用 reposIndex.setAll() 保存仓库列表
|
|
59
|
+
*
|
|
40
60
|
* @param config 要写入的配置对象
|
|
41
61
|
*/
|
|
42
62
|
export declare function writeGlobalConfig(config: GlobalConfig): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAuB,MAAM,mBAAmB,CAAC;AA6BhF;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,CAQ/C;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAerD;AAMD;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CA4B9D;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B3E;AAeD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CA8B7E;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CAaf"}
|
package/dist/core/config.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* grf 配置模块
|
|
4
|
-
*
|
|
3
|
+
* grf 配置模块 - 兼容层
|
|
4
|
+
*
|
|
5
|
+
* 此模块是一个兼容层,保持原有 API 不变,内部使用新的模块化架构:
|
|
6
|
+
* - paths.ts: 路径管理
|
|
7
|
+
* - config-manager.ts: 单配置文件管理
|
|
8
|
+
* - repos-index.ts: 仓库索引管理
|
|
9
|
+
* - migration.ts: 配置迁移工具
|
|
10
|
+
*
|
|
11
|
+
* 现有代码无需修改即可正常工作。
|
|
5
12
|
*/
|
|
6
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -17,25 +24,29 @@ exports.writeGlobalConfig = writeGlobalConfig;
|
|
|
17
24
|
exports.readRepoMeta = readRepoMeta;
|
|
18
25
|
exports.writeRepoMeta = writeRepoMeta;
|
|
19
26
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
20
|
-
const os_1 = __importDefault(require("os"));
|
|
21
27
|
const path_1 = __importDefault(require("path"));
|
|
22
28
|
const index_js_1 = require("../types/index.js");
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
const
|
|
29
|
+
// 导入新的模块化组件
|
|
30
|
+
const paths_js_1 = require("./paths.js");
|
|
31
|
+
const config_manager_js_1 = require("./config-manager.js");
|
|
32
|
+
const repos_index_js_1 = require("./repos-index.js");
|
|
33
|
+
const migration_js_1 = require("./migration.js");
|
|
34
|
+
// ============================================================================
|
|
35
|
+
// 常量定义(保持向后兼容)
|
|
36
|
+
// ============================================================================
|
|
27
37
|
/** 仓库存储目录名 */
|
|
28
38
|
const REPOS_DIR_NAME = "repos";
|
|
29
39
|
/** 仓库元信息文件名 */
|
|
30
40
|
const REPO_META_FILE_NAME = ".gitreference-meta.json";
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
// ============================================================================
|
|
42
|
+
// 路径相关函数(保持向后兼容)
|
|
43
|
+
// ============================================================================
|
|
33
44
|
/**
|
|
34
45
|
* 获取 grf 根目录路径
|
|
35
46
|
* @returns grf 根目录的绝对路径 (~/.gitreference/)
|
|
36
47
|
*/
|
|
37
48
|
function getGrfRoot() {
|
|
38
|
-
return
|
|
49
|
+
return (0, paths_js_1.getGrfRoot)();
|
|
39
50
|
}
|
|
40
51
|
/**
|
|
41
52
|
* 获取仓库存储根目录
|
|
@@ -47,9 +58,10 @@ function getReposRoot() {
|
|
|
47
58
|
/**
|
|
48
59
|
* 获取配置文件路径
|
|
49
60
|
* @returns 配置文件的绝对路径 (~/.gitreference/config.json)
|
|
61
|
+
* @deprecated 新架构使用多个配置文件,此函数仅用于兼容
|
|
50
62
|
*/
|
|
51
63
|
function getConfigPath() {
|
|
52
|
-
return
|
|
64
|
+
return (0, paths_js_1.getLegacyConfigPath)();
|
|
53
65
|
}
|
|
54
66
|
/**
|
|
55
67
|
* 获取默认配置
|
|
@@ -57,10 +69,10 @@ function getConfigPath() {
|
|
|
57
69
|
*/
|
|
58
70
|
function getDefaultConfig() {
|
|
59
71
|
return {
|
|
60
|
-
version:
|
|
61
|
-
defaultBranch:
|
|
62
|
-
shallowClone:
|
|
63
|
-
shallowDepth:
|
|
72
|
+
version: config_manager_js_1.CONFIG_DEFAULTS.VERSION,
|
|
73
|
+
defaultBranch: config_manager_js_1.CONFIG_DEFAULTS.DEFAULT_BRANCH,
|
|
74
|
+
shallowClone: config_manager_js_1.CONFIG_DEFAULTS.SHALLOW_CLONE,
|
|
75
|
+
shallowDepth: config_manager_js_1.CONFIG_DEFAULTS.SHALLOW_DEPTH,
|
|
64
76
|
repos: {},
|
|
65
77
|
};
|
|
66
78
|
}
|
|
@@ -70,41 +82,50 @@ function getDefaultConfig() {
|
|
|
70
82
|
*/
|
|
71
83
|
async function ensureConfigDir() {
|
|
72
84
|
try {
|
|
73
|
-
|
|
85
|
+
// 使用新的目录确保函数
|
|
86
|
+
await (0, paths_js_1.ensureGrfDirs)();
|
|
87
|
+
// 同时确保 repos 目录存在
|
|
74
88
|
const reposRoot = getReposRoot();
|
|
75
|
-
await fs_extra_1.default.ensureDir(grfRoot);
|
|
76
89
|
await fs_extra_1.default.ensureDir(reposRoot);
|
|
77
90
|
}
|
|
78
91
|
catch (error) {
|
|
79
92
|
throw new index_js_1.GrfError(index_js_1.ErrorCode.FS_PERMISSION_DENIED, `无法创建配置目录: ${error.message}`, error);
|
|
80
93
|
}
|
|
81
94
|
}
|
|
95
|
+
// ============================================================================
|
|
96
|
+
// 全局配置读写函数(使用新模块化架构)
|
|
97
|
+
// ============================================================================
|
|
82
98
|
/**
|
|
83
99
|
* 读取全局配置
|
|
84
100
|
* 如果配置文件不存在,返回默认配置
|
|
101
|
+
*
|
|
102
|
+
* 内部实现:
|
|
103
|
+
* 1. 调用 ensureMigrated() 确保旧配置已迁移
|
|
104
|
+
* 2. 使用 getAllConfigs() 获取配置参数
|
|
105
|
+
* 3. 使用 reposIndex.getAll() 获取仓库列表
|
|
106
|
+
* 4. 组装成 GlobalConfig 对象返回
|
|
107
|
+
*
|
|
85
108
|
* @returns 全局配置对象
|
|
86
109
|
*/
|
|
87
110
|
async function readGlobalConfig() {
|
|
88
|
-
const configPath = getConfigPath();
|
|
89
111
|
try {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
// 确保配置对象包含所有必要字段
|
|
112
|
+
// 确保配置已迁移(静默执行,不影响用户体验)
|
|
113
|
+
await (0, migration_js_1.ensureMigrated)();
|
|
114
|
+
// 使用新模块获取配置
|
|
115
|
+
const configs = await (0, config_manager_js_1.getAllConfigs)();
|
|
116
|
+
const repos = await repos_index_js_1.reposIndex.getAll();
|
|
117
|
+
// 组装成 GlobalConfig 对象
|
|
97
118
|
return {
|
|
98
|
-
|
|
99
|
-
|
|
119
|
+
version: configs.version,
|
|
120
|
+
defaultBranch: configs.defaultBranch,
|
|
121
|
+
shallowClone: configs.shallowClone,
|
|
122
|
+
shallowDepth: configs.shallowDepth,
|
|
123
|
+
repos,
|
|
100
124
|
};
|
|
101
125
|
}
|
|
102
126
|
catch (error) {
|
|
103
|
-
if (error
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
if (error instanceof SyntaxError) {
|
|
107
|
-
throw new index_js_1.GrfError(index_js_1.ErrorCode.CONFIG_PARSE_ERROR, `配置文件解析失败: ${error.message}`, error);
|
|
127
|
+
if (error instanceof index_js_1.GrfError) {
|
|
128
|
+
throw error;
|
|
108
129
|
}
|
|
109
130
|
throw new index_js_1.GrfError(index_js_1.ErrorCode.CONFIG_NOT_FOUND, `读取配置文件失败: ${error.message}`, error);
|
|
110
131
|
}
|
|
@@ -112,14 +133,26 @@ async function readGlobalConfig() {
|
|
|
112
133
|
/**
|
|
113
134
|
* 写入全局配置
|
|
114
135
|
* 自动创建配置目录(如果不存在)
|
|
136
|
+
*
|
|
137
|
+
* 内部实现:
|
|
138
|
+
* 1. 使用 setAllConfigs() 保存配置参数
|
|
139
|
+
* 2. 使用 reposIndex.setAll() 保存仓库列表
|
|
140
|
+
*
|
|
115
141
|
* @param config 要写入的配置对象
|
|
116
142
|
*/
|
|
117
143
|
async function writeGlobalConfig(config) {
|
|
118
144
|
try {
|
|
145
|
+
// 确保目录存在
|
|
119
146
|
await ensureConfigDir();
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
147
|
+
// 使用新模块保存配置参数
|
|
148
|
+
await (0, config_manager_js_1.setAllConfigs)({
|
|
149
|
+
version: config.version,
|
|
150
|
+
defaultBranch: config.defaultBranch,
|
|
151
|
+
shallowClone: config.shallowClone,
|
|
152
|
+
shallowDepth: config.shallowDepth,
|
|
153
|
+
});
|
|
154
|
+
// 使用新模块保存仓库列表
|
|
155
|
+
await repos_index_js_1.reposIndex.setAll(config.repos);
|
|
123
156
|
}
|
|
124
157
|
catch (error) {
|
|
125
158
|
if (error instanceof index_js_1.GrfError) {
|
|
@@ -128,6 +161,9 @@ async function writeGlobalConfig(config) {
|
|
|
128
161
|
throw new index_js_1.GrfError(index_js_1.ErrorCode.CONFIG_WRITE_ERROR, `写入配置文件失败: ${error.message}`, error);
|
|
129
162
|
}
|
|
130
163
|
}
|
|
164
|
+
// ============================================================================
|
|
165
|
+
// 仓库元信息相关函数(保持原有实现)
|
|
166
|
+
// ============================================================================
|
|
131
167
|
/**
|
|
132
168
|
* 获取仓库元信息文件路径
|
|
133
169
|
* @param repoPath 仓库目录路径
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
package/dist/core/filesystem.js
CHANGED
|
@@ -155,7 +155,7 @@ async function updateGitignore(dir, entry) {
|
|
|
155
155
|
if (commentIndex !== -1) {
|
|
156
156
|
// 找到现有的 gitreference 块,在最后一个条目后插入新条目
|
|
157
157
|
// 首先需要找到该块的实际结束位置
|
|
158
|
-
|
|
158
|
+
const insertIndex = lastGitrefEntryIndex + 1;
|
|
159
159
|
// 在现有块后插入新条目
|
|
160
160
|
lines.splice(insertIndex, 0, trimmedEntry);
|
|
161
161
|
// 写回文件
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/core/filesystem.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/core/filesystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 加载状态管理模块
|
|
3
|
+
* 管理仓库的加载状态,存储到独立的 loading.json 文件中
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 生成加载状态的唯一键
|
|
7
|
+
* @param workingDirectory 工作目录绝对路径
|
|
8
|
+
* @param targetPath 加载到的目标路径
|
|
9
|
+
* @returns 格式为 `${workingDirectory}::${targetPath}` 的唯一键
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateLoadingKey(workingDirectory: string, targetPath: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* 单个仓库的加载状态
|
|
14
|
+
*/
|
|
15
|
+
export interface RepoLoadingState {
|
|
16
|
+
/** 加载到的目标路径 */
|
|
17
|
+
targetPath: string;
|
|
18
|
+
/** 加载时间 (ISO 8601) */
|
|
19
|
+
loadedAt: string;
|
|
20
|
+
/** 加载的分支 */
|
|
21
|
+
branch?: string;
|
|
22
|
+
/** 工作目录绝对路径 */
|
|
23
|
+
workingDirectory: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 加载状态文件结构
|
|
27
|
+
*/
|
|
28
|
+
export interface LoadingStateIndex {
|
|
29
|
+
loadedRepos: Record<string, RepoLoadingState>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 加载状态管理器
|
|
33
|
+
* 提供对仓库加载状态的 CRUD 操作
|
|
34
|
+
*/
|
|
35
|
+
export declare class LoadingStateManager {
|
|
36
|
+
private cache;
|
|
37
|
+
/**
|
|
38
|
+
* 读取加载状态文件
|
|
39
|
+
* @returns 加载状态索引
|
|
40
|
+
*/
|
|
41
|
+
private read;
|
|
42
|
+
/**
|
|
43
|
+
* 写入加载状态文件
|
|
44
|
+
* @param data 加载状态索引
|
|
45
|
+
*/
|
|
46
|
+
private write;
|
|
47
|
+
/**
|
|
48
|
+
* 获取所有加载状态
|
|
49
|
+
* @returns 所有仓库的加载状态记录
|
|
50
|
+
*/
|
|
51
|
+
getAll(): Promise<Record<string, RepoLoadingState>>;
|
|
52
|
+
/**
|
|
53
|
+
* 获取单个仓库的加载状态
|
|
54
|
+
* @param workingDirectory 工作目录绝对路径
|
|
55
|
+
* @param targetPath 加载到的目标路径
|
|
56
|
+
* @returns 仓库的加载状态,如果不存在则返回 undefined
|
|
57
|
+
*/
|
|
58
|
+
get(workingDirectory: string, targetPath: string): Promise<RepoLoadingState | undefined>;
|
|
59
|
+
/**
|
|
60
|
+
* 设置仓库的加载状态
|
|
61
|
+
* @param workingDirectory 工作目录绝对路径
|
|
62
|
+
* @param targetPath 加载到的目标路径
|
|
63
|
+
* @param state 加载状态
|
|
64
|
+
*/
|
|
65
|
+
set(workingDirectory: string, targetPath: string, state: RepoLoadingState): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* 移除仓库的加载状态
|
|
68
|
+
* @param workingDirectory 工作目录绝对路径
|
|
69
|
+
* @param targetPath 加载到的目标路径
|
|
70
|
+
* @returns 是否成功移除(如果仓库不存在则返回 false)
|
|
71
|
+
*/
|
|
72
|
+
remove(workingDirectory: string, targetPath: string): Promise<boolean>;
|
|
73
|
+
/**
|
|
74
|
+
* 检查仓库是否已加载
|
|
75
|
+
* @param workingDirectory 工作目录绝对路径
|
|
76
|
+
* @param targetPath 加载到的目标路径
|
|
77
|
+
* @returns 是否已加载
|
|
78
|
+
*/
|
|
79
|
+
isLoaded(workingDirectory: string, targetPath: string): Promise<boolean>;
|
|
80
|
+
/**
|
|
81
|
+
* 获取已加载的仓库数量
|
|
82
|
+
* @returns 已加载的仓库数量
|
|
83
|
+
*/
|
|
84
|
+
count(): Promise<number>;
|
|
85
|
+
/**
|
|
86
|
+
* 获取所有已加载的仓库名称
|
|
87
|
+
* @returns 已加载的仓库名称列表
|
|
88
|
+
*/
|
|
89
|
+
names(): Promise<string[]>;
|
|
90
|
+
/**
|
|
91
|
+
* 清空所有加载状态
|
|
92
|
+
*/
|
|
93
|
+
clear(): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* 批量设置加载状态(用于迁移)
|
|
96
|
+
* @param states 加载状态记录
|
|
97
|
+
*/
|
|
98
|
+
setAll(states: Record<string, RepoLoadingState>): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* 清除缓存
|
|
101
|
+
*/
|
|
102
|
+
clearCache(): void;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 加载状态管理器单例实例
|
|
106
|
+
*/
|
|
107
|
+
export declare const loadingState: LoadingStateManager;
|
|
108
|
+
/**
|
|
109
|
+
* 获取所有加载状态
|
|
110
|
+
* @returns 所有仓库的加载状态记录
|
|
111
|
+
*/
|
|
112
|
+
export declare function getAllLoadingStates(): Promise<Record<string, RepoLoadingState>>;
|
|
113
|
+
/**
|
|
114
|
+
* 获取单个仓库的加载状态
|
|
115
|
+
* @param workingDirectory 工作目录绝对路径
|
|
116
|
+
* @param targetPath 加载到的目标路径
|
|
117
|
+
* @returns 仓库的加载状态,如果不存在则返回 undefined
|
|
118
|
+
*/
|
|
119
|
+
export declare function getLoadingState(workingDirectory: string, targetPath: string): Promise<RepoLoadingState | undefined>;
|
|
120
|
+
/**
|
|
121
|
+
* 标记仓库为已加载
|
|
122
|
+
* @param targetPath 加载到的目标路径
|
|
123
|
+
* @param workingDirectory 工作目录绝对路径
|
|
124
|
+
* @param branch 加载的分支(可选)
|
|
125
|
+
*/
|
|
126
|
+
export declare function markAsLoaded(targetPath: string, workingDirectory: string, branch?: string): Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* 标记仓库为已卸载
|
|
129
|
+
* @param workingDirectory 工作目录绝对路径
|
|
130
|
+
* @param targetPath 加载到的目标路径
|
|
131
|
+
* @returns 是否成功移除(如果仓库不存在则返回 false)
|
|
132
|
+
*/
|
|
133
|
+
export declare function markAsUnloaded(workingDirectory: string, targetPath: string): Promise<boolean>;
|
|
134
|
+
/**
|
|
135
|
+
* 检查仓库是否已加载
|
|
136
|
+
* @param workingDirectory 工作目录绝对路径
|
|
137
|
+
* @param targetPath 加载到的目标路径
|
|
138
|
+
* @returns 是否已加载
|
|
139
|
+
*/
|
|
140
|
+
export declare function isRepoLoaded(workingDirectory: string, targetPath: string): Promise<boolean>;
|
|
141
|
+
//# sourceMappingURL=loading-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-state.d.ts","sourceRoot":"","sources":["../../src/core/loading-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,MAAM,CAER;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC/C;AAMD;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,KAAK,CAAkC;IAE/C;;;OAGG;YACW,IAAI;IA2BlB;;;OAGG;YACW,KAAK;IAOnB;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAKzD;;;;;OAKG;IACG,GAAG,CACP,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAMxC;;;;;OAKG;IACG,GAAG,CACP,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;OAKG;IACG,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW5E;;;;;OAKG;IACG,QAAQ,CACZ,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAMnB;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY,qBAA4B,CAAC;AAMtD;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAClD,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CACjC,CAEA;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAEvC;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAElB"}
|