tanmi-dock 0.10.0-beta → 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 +26 -5
- package/dist/commands/calibrate.d.ts +10 -0
- package/dist/commands/calibrate.d.ts.map +1 -0
- package/dist/commands/calibrate.js +158 -0
- package/dist/commands/calibrate.js.map +1 -0
- package/dist/commands/check.d.ts +45 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +322 -101
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/clean.d.ts +2 -6
- package/dist/commands/clean.d.ts.map +1 -1
- package/dist/commands/clean.js +224 -209
- package/dist/commands/clean.js.map +1 -1
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +56 -28
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/link.d.ts +8 -7
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/link.js +717 -221
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/migrate.d.ts +11 -0
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +277 -57
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +65 -41
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/status.d.ts +4 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +182 -40
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/unavailable.d.ts.map +1 -1
- package/dist/commands/unavailable.js +7 -2
- package/dist/commands/unavailable.js.map +1 -1
- package/dist/commands/unlink.d.ts.map +1 -1
- package/dist/commands/unlink.js +43 -39
- package/dist/commands/unlink.js.map +1 -1
- package/dist/core/codepac.d.ts +44 -0
- package/dist/core/codepac.d.ts.map +1 -1
- package/dist/core/codepac.js +287 -5
- package/dist/core/codepac.js.map +1 -1
- package/dist/core/config.d.ts +3 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +7 -3
- package/dist/core/config.js.map +1 -1
- package/dist/core/linker.d.ts +7 -0
- package/dist/core/linker.d.ts.map +1 -1
- package/dist/core/linker.js +47 -0
- package/dist/core/linker.js.map +1 -1
- package/dist/core/parser.d.ts +30 -5
- package/dist/core/parser.d.ts.map +1 -1
- package/dist/core/parser.js +376 -57
- package/dist/core/parser.js.map +1 -1
- package/dist/core/registry.d.ts +11 -29
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +46 -113
- package/dist/core/registry.js.map +1 -1
- package/dist/core/space/calibration-executor.d.ts +16 -0
- package/dist/core/space/calibration-executor.d.ts.map +1 -0
- package/dist/core/space/calibration-executor.js +142 -0
- package/dist/core/space/calibration-executor.js.map +1 -0
- package/dist/core/space/calibration-planner.d.ts +5 -0
- package/dist/core/space/calibration-planner.d.ts.map +1 -0
- package/dist/core/space/calibration-planner.js +157 -0
- package/dist/core/space/calibration-planner.js.map +1 -0
- package/dist/core/space/cleanup-executor.d.ts +15 -0
- package/dist/core/space/cleanup-executor.d.ts.map +1 -0
- package/dist/core/space/cleanup-executor.js +188 -0
- package/dist/core/space/cleanup-executor.js.map +1 -0
- package/dist/core/space/cleanup-journal.d.ts +43 -0
- package/dist/core/space/cleanup-journal.d.ts.map +1 -0
- package/dist/core/space/cleanup-journal.js +96 -0
- package/dist/core/space/cleanup-journal.js.map +1 -0
- package/dist/core/space/cleanup-planner.d.ts +14 -0
- package/dist/core/space/cleanup-planner.d.ts.map +1 -0
- package/dist/core/space/cleanup-planner.js +166 -0
- package/dist/core/space/cleanup-planner.js.map +1 -0
- package/dist/core/space/cleanup-selection.d.ts +10 -0
- package/dist/core/space/cleanup-selection.d.ts.map +1 -0
- package/dist/core/space/cleanup-selection.js +84 -0
- package/dist/core/space/cleanup-selection.js.map +1 -0
- package/dist/core/space/estimator.d.ts +11 -0
- package/dist/core/space/estimator.d.ts.map +1 -0
- package/dist/core/space/estimator.js +142 -0
- package/dist/core/space/estimator.js.map +1 -0
- package/dist/core/space/inventory.d.ts +15 -0
- package/dist/core/space/inventory.d.ts.map +1 -0
- package/dist/core/space/inventory.js +587 -0
- package/dist/core/space/inventory.js.map +1 -0
- package/dist/core/space/meter.d.ts +5 -0
- package/dist/core/space/meter.d.ts.map +1 -0
- package/dist/core/space/meter.js +87 -0
- package/dist/core/space/meter.js.map +1 -0
- package/dist/core/space/migration-journal.d.ts +31 -0
- package/dist/core/space/migration-journal.d.ts.map +1 -0
- package/dist/core/space/migration-journal.js +121 -0
- package/dist/core/space/migration-journal.js.map +1 -0
- package/dist/core/space/service.d.ts +26 -0
- package/dist/core/space/service.d.ts.map +1 -0
- package/dist/core/space/service.js +54 -0
- package/dist/core/space/service.js.map +1 -0
- package/dist/core/space/types.d.ts +241 -0
- package/dist/core/space/types.d.ts.map +1 -0
- package/dist/core/space/types.js +13 -0
- package/dist/core/space/types.js.map +1 -0
- package/dist/core/store.d.ts +2 -0
- package/dist/core/store.d.ts.map +1 -1
- package/dist/core/store.js +44 -12
- package/dist/core/store.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +63 -10
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/atomic-file.d.ts +6 -0
- package/dist/utils/atomic-file.d.ts.map +1 -0
- package/dist/utils/atomic-file.js +37 -0
- package/dist/utils/atomic-file.js.map +1 -0
- package/dist/utils/fs-utils.d.ts +18 -1
- package/dist/utils/fs-utils.d.ts.map +1 -1
- package/dist/utils/fs-utils.js +150 -2
- package/dist/utils/fs-utils.js.map +1 -1
- package/dist/utils/git.d.ts +20 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +181 -4
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/logger.d.ts +1 -1
- package/dist/utils/logger.js +2 -2
- package/dist/utils/prompt.d.ts.map +1 -1
- package/dist/utils/prompt.js +4 -4
- package/dist/utils/prompt.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { getRegistry } from '../core/registry.js';
|
|
6
6
|
import * as config from '../core/config.js';
|
|
7
|
-
import * as store from '../core/store.js';
|
|
8
7
|
import { colorize, blank } from '../utils/logger.js';
|
|
9
|
-
import { shrinkHome
|
|
8
|
+
import { shrinkHome } from '../core/platform.js';
|
|
10
9
|
import { formatBytes } from '../utils/progress.js';
|
|
11
10
|
import { createRequire } from 'module';
|
|
11
|
+
import { SpaceService } from '../core/space/service.js';
|
|
12
12
|
// 读取 package.json 版本
|
|
13
13
|
const require = createRequire(import.meta.url);
|
|
14
14
|
const pkg = require('../../package.json');
|
|
@@ -68,11 +68,20 @@ export async function showDashboard() {
|
|
|
68
68
|
catch {
|
|
69
69
|
// Registry 不可用
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
let spaceSnapshot = null;
|
|
72
|
+
if (registry) {
|
|
73
|
+
try {
|
|
74
|
+
spaceSnapshot = await new SpaceService(registry, cfg.storePath).buildSnapshot('summary');
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
spaceSnapshot = null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
showStoreStatus(cfg, registry, spaceSnapshot);
|
|
72
81
|
blank();
|
|
73
|
-
showReferenceStatus(registry);
|
|
82
|
+
showReferenceStatus(registry, spaceSnapshot);
|
|
74
83
|
blank();
|
|
75
|
-
showSystemHealth(registry);
|
|
84
|
+
showSystemHealth(registry, spaceSnapshot);
|
|
76
85
|
blank();
|
|
77
86
|
showQuickCommands();
|
|
78
87
|
blank();
|
|
@@ -83,20 +92,22 @@ export async function showDashboard() {
|
|
|
83
92
|
/**
|
|
84
93
|
* Store 状态
|
|
85
94
|
*/
|
|
86
|
-
|
|
95
|
+
function showStoreStatus(cfg, registry, snapshot) {
|
|
87
96
|
console.log(colorize('Store 状态', 'bold'));
|
|
88
97
|
const storePath = shrinkHome(cfg.storePath);
|
|
89
98
|
console.log(` 路径 ${storePath}`);
|
|
90
|
-
if (registry) {
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
console.log(`
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
if (registry && snapshot) {
|
|
100
|
+
const spaceService = new SpaceService(registry, cfg.storePath);
|
|
101
|
+
const candidates = spaceService.getCleanupCandidates(snapshot);
|
|
102
|
+
const platformCount = candidates.reduce((sum, candidate) => sum + candidate.platforms.length, 0);
|
|
103
|
+
const sharing = spaceService.getSharingReport(snapshot);
|
|
104
|
+
console.log(` 库数量 ${colorize(String(platformCount), 'cyan')}`);
|
|
105
|
+
console.log(` 实际占用 ${colorize(formatBytes(snapshot.totals.physical.bytes), 'cyan')}`);
|
|
106
|
+
if (snapshot.totals.differenceBytes !== 0) {
|
|
107
|
+
console.log(` 登记容量 ${colorize(formatBytes(snapshot.totals.registered.bytes), 'yellow')}`);
|
|
108
|
+
}
|
|
109
|
+
if (sharing.saved.bytes > 0) {
|
|
110
|
+
console.log(` 共享节省约 ${colorize(formatBytes(sharing.saved.bytes), 'green')}`);
|
|
100
111
|
}
|
|
101
112
|
}
|
|
102
113
|
else {
|
|
@@ -107,7 +118,7 @@ async function showStoreStatus(cfg, registry) {
|
|
|
107
118
|
/**
|
|
108
119
|
* 引用状态
|
|
109
120
|
*/
|
|
110
|
-
function showReferenceStatus(registry) {
|
|
121
|
+
function showReferenceStatus(registry, snapshot) {
|
|
111
122
|
console.log(colorize('引用状态', 'bold'));
|
|
112
123
|
if (!registry) {
|
|
113
124
|
console.log(` 注册项目 ${colorize('-', 'gray')}`);
|
|
@@ -116,14 +127,22 @@ function showReferenceStatus(registry) {
|
|
|
116
127
|
return;
|
|
117
128
|
}
|
|
118
129
|
const projects = registry.listProjects();
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
130
|
+
if (!snapshot) {
|
|
131
|
+
console.log(` 注册项目 ${colorize(String(projects.length), 'cyan')}`);
|
|
132
|
+
console.log(` 被引用库 ${colorize('-', 'gray')}`);
|
|
133
|
+
console.log(` 无引用库 ${colorize('-', 'gray')}`);
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const candidates = snapshot
|
|
137
|
+
? new SpaceService(registry, snapshot.storePath).getCleanupCandidates(snapshot)
|
|
138
|
+
: [];
|
|
139
|
+
const platforms = candidates.flatMap((candidate) => candidate.platforms);
|
|
140
|
+
const referencedCount = platforms.filter((platform) => platform.referencedBy.length > 0).length;
|
|
141
|
+
const unreferencedCount = platforms.length - referencedCount;
|
|
123
142
|
console.log(` 注册项目 ${colorize(String(projects.length), 'cyan')}`);
|
|
124
|
-
console.log(` 被引用库 ${colorize(String(
|
|
125
|
-
if (
|
|
126
|
-
console.log(` 无引用库 ${colorize(String(
|
|
143
|
+
console.log(` 被引用库 ${colorize(String(referencedCount), 'cyan')}`);
|
|
144
|
+
if (unreferencedCount > 0) {
|
|
145
|
+
console.log(` 无引用库 ${colorize(String(unreferencedCount), 'yellow')} ${colorize(`(约 ${formatBytes(snapshot?.totals.reclaimable.bytes ?? 0)})`, 'yellow')}`);
|
|
127
146
|
}
|
|
128
147
|
else {
|
|
129
148
|
console.log(` 无引用库 ${colorize('0', 'green')}`);
|
|
@@ -132,7 +151,7 @@ function showReferenceStatus(registry) {
|
|
|
132
151
|
/**
|
|
133
152
|
* 系统健康状态
|
|
134
153
|
*/
|
|
135
|
-
function showSystemHealth(registry) {
|
|
154
|
+
function showSystemHealth(registry, snapshot) {
|
|
136
155
|
console.log(colorize('系统健康', 'bold'));
|
|
137
156
|
if (!registry) {
|
|
138
157
|
console.log(` ${colorize('[warn]', 'yellow')} Registry 不可用,运行 td check 检查`);
|
|
@@ -141,9 +160,18 @@ function showSystemHealth(registry) {
|
|
|
141
160
|
// 简单健康检查
|
|
142
161
|
const issues = [];
|
|
143
162
|
// 检查无引用库数量
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
163
|
+
const candidates = snapshot
|
|
164
|
+
? new SpaceService(registry, snapshot.storePath).getCleanupCandidates(snapshot)
|
|
165
|
+
: [];
|
|
166
|
+
const unreferencedCount = candidates
|
|
167
|
+
.flatMap((candidate) => candidate.platforms)
|
|
168
|
+
.filter((platform) => platform.referencedBy.length === 0)
|
|
169
|
+
.length;
|
|
170
|
+
if (unreferencedCount > 10) {
|
|
171
|
+
issues.push(`${unreferencedCount} 个无引用库可清理`);
|
|
172
|
+
}
|
|
173
|
+
if (snapshot && snapshot.totals.differenceBytes !== 0) {
|
|
174
|
+
issues.push('磁盘占用与登记容量存在差异');
|
|
147
175
|
}
|
|
148
176
|
if (issues.length === 0) {
|
|
149
177
|
console.log(` ${colorize('[ok]', 'green')} 正常`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/link.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ interface LinkOptions {
|
|
|
15
15
|
download: boolean;
|
|
16
16
|
dryRun: boolean;
|
|
17
17
|
config?: string[];
|
|
18
|
+
skipAction?: string[];
|
|
18
19
|
submodules: boolean;
|
|
19
20
|
}
|
|
20
21
|
interface DownloadAssessment {
|
|
@@ -25,7 +26,7 @@ interface DownloadAssessment {
|
|
|
25
26
|
isPureGeneral: boolean;
|
|
26
27
|
}
|
|
27
28
|
export declare function assessDownloadResult(requestedPlatforms: string[], sparse: ParsedDependency['sparse'], downloadResult: codepac.DownloadResult, vars?: Record<string, string>): DownloadAssessment;
|
|
28
|
-
export declare function resolveLibraryGeneralState(dependency: Pick<ParsedDependency, 'libName' | 'commit'
|
|
29
|
+
export declare function resolveLibraryGeneralState(dependency: Pick<ParsedDependency, 'libName' | 'commit' | 'sparse'>, requestedPlatforms?: string[], vars?: Record<string, string>, updateRegistry?: boolean): Promise<boolean>;
|
|
29
30
|
interface UnavailableResolution {
|
|
30
31
|
platforms: string[];
|
|
31
32
|
manualPlatforms: string[];
|
|
@@ -40,7 +41,7 @@ export interface ProjectDependencyCandidate {
|
|
|
40
41
|
scope?: string;
|
|
41
42
|
source: 'direct' | 'nested' | 'submodule';
|
|
42
43
|
}
|
|
43
|
-
export declare function collectProjectDependencyGraph(projectRoot: string): Promise<ProjectDependencyCandidate[]>;
|
|
44
|
+
export declare function collectProjectDependencyGraph(projectRoot: string, codepacPlatforms?: string[]): Promise<ProjectDependencyCandidate[]>;
|
|
44
45
|
/**
|
|
45
46
|
* 执行链接操作
|
|
46
47
|
*/
|
|
@@ -54,19 +55,19 @@ export declare function linkProject(projectPath: string, options: LinkOptions):
|
|
|
54
55
|
*/
|
|
55
56
|
export declare function classifyLinkStatus(localPath: string, storeCommitPath: string, isGeneral: boolean, existingPlatforms: string[]): Promise<'linked' | 'relink' | 'replace' | 'link_new'>;
|
|
56
57
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* 没有 fileCount 的条目跳过校验(视为合法)。
|
|
58
|
+
* 校验已有平台的完整性。
|
|
59
|
+
* 只有带 fileCount 和 contentHash 的 StoreEntry 才被视为可验证缓存。
|
|
60
|
+
* 缺失完整性记录的旧缓存不能证明自身完整,会被标记为需要重新下载。
|
|
61
61
|
*
|
|
62
62
|
* @param libName 库名
|
|
63
63
|
* @param commit commit hash
|
|
64
64
|
* @param existingPlatforms Store 中已有的平台列表
|
|
65
|
-
* @returns { valid: string[]; corrupted: string[] }
|
|
65
|
+
* @returns { valid: string[]; corrupted: string[]; repairRequired: string[] } 合法、损坏和需要重下的平台列表
|
|
66
66
|
*/
|
|
67
67
|
export declare function verifyExistingPlatforms(libName: string, commit: string, existingPlatforms: string[]): Promise<{
|
|
68
68
|
valid: string[];
|
|
69
69
|
corrupted: string[];
|
|
70
|
+
repairRequired: string[];
|
|
70
71
|
}>;
|
|
71
72
|
/**
|
|
72
73
|
* 创建带完整性信息的 StoreEntry
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"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"}
|