tanmi-dock 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/check.d.ts +30 -4
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +453 -84
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/link.js +109 -35
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +9 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/unlink.d.ts.map +1 -1
- package/dist/commands/unlink.js +9 -0
- package/dist/commands/unlink.js.map +1 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +4 -3
- package/dist/core/config.js.map +1 -1
- package/dist/core/space/calibration-executor.d.ts +2 -1
- package/dist/core/space/calibration-executor.d.ts.map +1 -1
- package/dist/core/space/calibration-executor.js +2 -0
- package/dist/core/space/calibration-executor.js.map +1 -1
- package/dist/core/space/inventory.d.ts +2 -1
- package/dist/core/space/inventory.d.ts.map +1 -1
- package/dist/core/space/inventory.js +23 -0
- package/dist/core/space/inventory.js.map +1 -1
- package/dist/core/space/service.d.ts +2 -2
- package/dist/core/space/service.d.ts.map +1 -1
- package/dist/core/space/service.js +2 -2
- package/dist/core/space/service.js.map +1 -1
- package/dist/core/space/types.d.ts +7 -0
- package/dist/core/space/types.d.ts.map +1 -1
- package/dist/core/space/types.js.map +1 -1
- package/dist/core/store-write-protection.d.ts +30 -0
- package/dist/core/store-write-protection.d.ts.map +1 -0
- package/dist/core/store-write-protection.js +320 -0
- package/dist/core/store-write-protection.js.map +1 -0
- package/dist/core/transaction.d.ts +12 -3
- package/dist/core/transaction.d.ts.map +1 -1
- package/dist/core/transaction.js +160 -16
- package/dist/core/transaction.js.map +1 -1
- package/dist/utils/fs-utils.d.ts.map +1 -1
- package/dist/utils/fs-utils.js +46 -9
- package/dist/utils/fs-utils.js.map +1 -1
- package/dist/utils/logger.d.ts +6 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +43 -3
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
package/dist/utils/logger.js
CHANGED
|
@@ -14,6 +14,23 @@ const LOG_LEVELS = {
|
|
|
14
14
|
};
|
|
15
15
|
// 当前日志级别(可通过 setLogLevel 修改)
|
|
16
16
|
let currentLogLevel = 'info';
|
|
17
|
+
let stdoutSuppressionDepth = 0;
|
|
18
|
+
function canWriteStdout() {
|
|
19
|
+
return stdoutSuppressionDepth === 0;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 在要求标准输出保持机器可读格式的命令中,临时抑制所有日志标准输出。
|
|
23
|
+
* 错误日志仍写入标准错误,直接生成的 JSON 不受影响。
|
|
24
|
+
*/
|
|
25
|
+
export async function withStdoutLogsSuppressed(operation) {
|
|
26
|
+
stdoutSuppressionDepth++;
|
|
27
|
+
try {
|
|
28
|
+
return await operation();
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
stdoutSuppressionDepth--;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
17
34
|
/**
|
|
18
35
|
* 设置日志级别
|
|
19
36
|
*/
|
|
@@ -71,18 +88,24 @@ export function colorize(text, color) {
|
|
|
71
88
|
* 普通信息
|
|
72
89
|
*/
|
|
73
90
|
export function info(message) {
|
|
91
|
+
if (!canWriteStdout())
|
|
92
|
+
return;
|
|
74
93
|
console.log(message);
|
|
75
94
|
}
|
|
76
95
|
/**
|
|
77
96
|
* 成功信息 - 绿色 [ok]
|
|
78
97
|
*/
|
|
79
98
|
export function success(message) {
|
|
99
|
+
if (!canWriteStdout())
|
|
100
|
+
return;
|
|
80
101
|
console.log(`${colorize('[ok]', 'green')} ${message}`);
|
|
81
102
|
}
|
|
82
103
|
/**
|
|
83
104
|
* 警告信息 - 黄色 [warn]
|
|
84
105
|
*/
|
|
85
106
|
export function warn(message) {
|
|
107
|
+
if (!canWriteStdout())
|
|
108
|
+
return;
|
|
86
109
|
console.log(`${colorize('[warn]', 'yellow')} ${message}`);
|
|
87
110
|
}
|
|
88
111
|
/**
|
|
@@ -95,7 +118,7 @@ export function error(message) {
|
|
|
95
118
|
* 调试信息 - 灰色,根据日志级别输出
|
|
96
119
|
*/
|
|
97
120
|
export function debug(message) {
|
|
98
|
-
if (shouldLog('debug')) {
|
|
121
|
+
if (canWriteStdout() && shouldLog('debug')) {
|
|
99
122
|
console.log(`${colorize('[debug]', 'gray')} ${message}`);
|
|
100
123
|
}
|
|
101
124
|
}
|
|
@@ -103,7 +126,7 @@ export function debug(message) {
|
|
|
103
126
|
* 详细信息 - 灰色,根据日志级别输出
|
|
104
127
|
*/
|
|
105
128
|
export function verbose(message) {
|
|
106
|
-
if (shouldLog('verbose')) {
|
|
129
|
+
if (canWriteStdout() && shouldLog('verbose')) {
|
|
107
130
|
console.log(`${colorize('[verbose]', 'gray')} ${message}`);
|
|
108
131
|
}
|
|
109
132
|
}
|
|
@@ -111,7 +134,7 @@ export function verbose(message) {
|
|
|
111
134
|
* 详细 JSON 输出
|
|
112
135
|
*/
|
|
113
136
|
export function verboseJson(label, data) {
|
|
114
|
-
if (shouldLog('verbose')) {
|
|
137
|
+
if (canWriteStdout() && shouldLog('verbose')) {
|
|
115
138
|
console.log(`${colorize('[verbose]', 'gray')} ${label}:`);
|
|
116
139
|
console.log(JSON.stringify(data, null, 2));
|
|
117
140
|
}
|
|
@@ -126,18 +149,24 @@ export function isVerbose() {
|
|
|
126
149
|
* 提示信息 - 蓝色 [hint]
|
|
127
150
|
*/
|
|
128
151
|
export function hint(message) {
|
|
152
|
+
if (!canWriteStdout())
|
|
153
|
+
return;
|
|
129
154
|
console.log(`${colorize('[hint]', 'blue')} ${message}`);
|
|
130
155
|
}
|
|
131
156
|
/**
|
|
132
157
|
* 进度显示
|
|
133
158
|
*/
|
|
134
159
|
export function progress(current, total, message) {
|
|
160
|
+
if (!canWriteStdout())
|
|
161
|
+
return;
|
|
135
162
|
console.log(`[${current}/${total}] ${message}`);
|
|
136
163
|
}
|
|
137
164
|
/**
|
|
138
165
|
* 进度条显示
|
|
139
166
|
*/
|
|
140
167
|
export function progressBar(current, total, width = 20) {
|
|
168
|
+
if (!canWriteStdout())
|
|
169
|
+
return;
|
|
141
170
|
const percent = Math.round((current / total) * 100);
|
|
142
171
|
const filled = Math.round((current / total) * width);
|
|
143
172
|
const empty = width - filled;
|
|
@@ -151,6 +180,8 @@ export function progressBar(current, total, width = 20) {
|
|
|
151
180
|
* 树状结构输出
|
|
152
181
|
*/
|
|
153
182
|
export function tree(items, prefix = '') {
|
|
183
|
+
if (!canWriteStdout())
|
|
184
|
+
return;
|
|
154
185
|
items.forEach((item, index) => {
|
|
155
186
|
const isLast = index === items.length - 1;
|
|
156
187
|
const connector = isLast ? '+-- ' : '+-- ';
|
|
@@ -169,6 +200,8 @@ export function tree(items, prefix = '') {
|
|
|
169
200
|
* 简单表格输出
|
|
170
201
|
*/
|
|
171
202
|
export function table(rows, padding = 2) {
|
|
203
|
+
if (!canWriteStdout())
|
|
204
|
+
return;
|
|
172
205
|
if (rows.length === 0)
|
|
173
206
|
return;
|
|
174
207
|
// 计算每列最大宽度
|
|
@@ -188,18 +221,24 @@ export function table(rows, padding = 2) {
|
|
|
188
221
|
* 分隔线
|
|
189
222
|
*/
|
|
190
223
|
export function separator(char = '-', length = 40) {
|
|
224
|
+
if (!canWriteStdout())
|
|
225
|
+
return;
|
|
191
226
|
console.log(char.repeat(length));
|
|
192
227
|
}
|
|
193
228
|
/**
|
|
194
229
|
* 空行
|
|
195
230
|
*/
|
|
196
231
|
export function blank() {
|
|
232
|
+
if (!canWriteStdout())
|
|
233
|
+
return;
|
|
197
234
|
console.log();
|
|
198
235
|
}
|
|
199
236
|
/**
|
|
200
237
|
* 标题
|
|
201
238
|
*/
|
|
202
239
|
export function title(text) {
|
|
240
|
+
if (!canWriteStdout())
|
|
241
|
+
return;
|
|
203
242
|
console.log(colorize(text, 'bold'));
|
|
204
243
|
}
|
|
205
244
|
export default {
|
|
@@ -222,5 +261,6 @@ export default {
|
|
|
222
261
|
setLogLevel,
|
|
223
262
|
getLogLevel,
|
|
224
263
|
colorize,
|
|
264
|
+
withStdoutLogsSuppressed,
|
|
225
265
|
};
|
|
226
266
|
//# sourceMappingURL=logger.js.map
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,UAAU;AACV,MAAM,UAAU,GAA6B;IAC3C,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,6BAA6B;AAC7B,IAAI,eAAe,GAAa,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|