recomposable 1.1.3 → 1.1.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 +8 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +269 -27
- package/dist/index.js.map +1 -1
- package/dist/lib/docker.d.ts +5 -1
- package/dist/lib/docker.js +88 -4
- package/dist/lib/docker.js.map +1 -1
- package/dist/lib/renderer.js +59 -19
- package/dist/lib/renderer.js.map +1 -1
- package/dist/lib/state.d.ts +2 -0
- package/dist/lib/state.js +16 -0
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/types.d.ts +19 -3
- package/package.json +1 -1
- package/screenshots/exec-view.png +0 -0
- package/screenshots/list-view.png +0 -0
- package/screenshots/logs-view.png +0 -0
package/dist/lib/renderer.js
CHANGED
|
@@ -54,7 +54,8 @@ const PATTERN_COLORS = [FG_YELLOW, FG_RED, FG_CYAN, FG_WHITE];
|
|
|
54
54
|
function logLineColor(line, patterns) {
|
|
55
55
|
let color = null;
|
|
56
56
|
for (let pi = 0; pi < patterns.length; pi++) {
|
|
57
|
-
|
|
57
|
+
const group = Array.isArray(patterns[pi]) ? patterns[pi] : [patterns[pi]];
|
|
58
|
+
if (group.some(p => line.includes(p))) {
|
|
58
59
|
color = PATTERN_COLORS[pi % PATTERN_COLORS.length];
|
|
59
60
|
}
|
|
60
61
|
}
|
|
@@ -156,12 +157,19 @@ function formatMem(bytes) {
|
|
|
156
157
|
return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)}G`;
|
|
157
158
|
}
|
|
158
159
|
function renderLegend(opts = {}) {
|
|
159
|
-
const { logPanelActive = false, logsScrollMode = false, noCacheActive = false, noDepsActive = false, watchActive = false, execMode = false, execInline = false } = opts;
|
|
160
|
+
const { logPanelActive = false, logsScrollMode = false, noCacheActive = false, noDepsActive = false, watchActive = false, execMode = false, execInline = false, worktreePickerActive = false } = opts;
|
|
160
161
|
const item = (text, active) => {
|
|
161
162
|
if (active)
|
|
162
163
|
return `${BG_HIGHLIGHT} ${text} ${RESET}`;
|
|
163
164
|
return `${DIM}${text}${RESET}`;
|
|
164
165
|
};
|
|
166
|
+
if (worktreePickerActive) {
|
|
167
|
+
return [
|
|
168
|
+
item('[Esc] cancel', false),
|
|
169
|
+
item('[Enter] switch', false),
|
|
170
|
+
item('[j/k] navigate', false),
|
|
171
|
+
].join(' ');
|
|
172
|
+
}
|
|
165
173
|
if (execMode) {
|
|
166
174
|
return [
|
|
167
175
|
item('[Esc] back', false),
|
|
@@ -204,6 +212,7 @@ function renderLegend(opts = {}) {
|
|
|
204
212
|
item('[e]xec', false),
|
|
205
213
|
item('[F]ull logs', false),
|
|
206
214
|
item('[L]og panel', logPanelActive),
|
|
215
|
+
item('Switch [t]ree', false),
|
|
207
216
|
item('[Q]uit', false),
|
|
208
217
|
].join(' ');
|
|
209
218
|
}
|
|
@@ -219,12 +228,40 @@ function renderListView(state) {
|
|
|
219
228
|
const watchActive = state.watching.size > 0;
|
|
220
229
|
const help = state.execActive
|
|
221
230
|
? renderLegend({ execInline: true })
|
|
222
|
-
:
|
|
231
|
+
: state.worktreePickerActive
|
|
232
|
+
? renderLegend({ worktreePickerActive: true })
|
|
233
|
+
: renderLegend({ logPanelActive: state.showBottomLogs, noCacheActive: state.noCache, noDepsActive: state.noDeps, watchActive });
|
|
223
234
|
buf.push(sep);
|
|
224
235
|
buf.push(` ${help}`);
|
|
236
|
+
// Single column header row (not repeated per group)
|
|
237
|
+
let colHeader = `${DIM} ${'SERVICE'.padEnd(24)} `;
|
|
238
|
+
colHeader += `${'STATUS'.padEnd(22)} ${'BUILT'.padEnd(12)} ${'RESTARTED'.padEnd(12)}`;
|
|
239
|
+
for (const p of patterns)
|
|
240
|
+
colHeader += patternLabel(Array.isArray(p) ? p[0] : p).padStart(5) + ' ';
|
|
241
|
+
colHeader += ` ${'CPU/MEM'.padStart(16)} ${'PORTS'.padEnd(14)}`;
|
|
242
|
+
if (state.showWorktreeColumn)
|
|
243
|
+
colHeader += ` ${'WORKTREE'.padEnd(15)}`;
|
|
244
|
+
buf.push(colHeader + RESET);
|
|
225
245
|
const headerHeight = buf.length;
|
|
226
246
|
const bottomBuf = [];
|
|
227
|
-
if (state.
|
|
247
|
+
if (state.worktreePickerActive) {
|
|
248
|
+
const selEntry = state.flatList[state.cursor];
|
|
249
|
+
if (selEntry) {
|
|
250
|
+
bottomBuf.push(sep);
|
|
251
|
+
bottomBuf.push(` ${FG_CYAN}switch worktree ${BOLD}${selEntry.service}${RESET}`);
|
|
252
|
+
bottomBuf.push(` ${DIM}j/k navigate Enter confirm Esc cancel${RESET}`);
|
|
253
|
+
for (let wi = 0; wi < state.worktreePickerEntries.length; wi++) {
|
|
254
|
+
const wt = state.worktreePickerEntries[wi];
|
|
255
|
+
const isSelected = wi === state.worktreePickerCursor;
|
|
256
|
+
const prefix = isSelected ? `${REVERSE}` : '';
|
|
257
|
+
const suffix = isSelected ? `${RESET}` : '';
|
|
258
|
+
const currentTag = (state.worktreePickerCurrentPath && state.worktreePickerCurrentPath === wt.path)
|
|
259
|
+
? ` ${DIM}(current)${RESET}` : '';
|
|
260
|
+
bottomBuf.push(` ${prefix} ${wt.branch} ${DIM}${wt.path}${RESET}${currentTag}${suffix}`);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
else if (state.execActive && state.execService) {
|
|
228
265
|
bottomBuf.push(sep);
|
|
229
266
|
const runningIndicator = state.execChild ? `${FG_YELLOW}running${RESET}` : `${FG_GREEN}ready${RESET}`;
|
|
230
267
|
const cwdInfo = state.execCwd ? ` ${DIM}${state.execCwd}${RESET}` : '';
|
|
@@ -268,9 +305,9 @@ function renderListView(state) {
|
|
|
268
305
|
if (!cascade) {
|
|
269
306
|
bottomBuf.push(sep);
|
|
270
307
|
}
|
|
271
|
-
const isFailed = info.action === 'build_failed' || info.action === 'restart_failed' || info.action === 'stop_failed' || info.action === 'start_failed';
|
|
308
|
+
const isFailed = info.action === 'build_failed' || info.action === 'restart_failed' || info.action === 'stop_failed' || info.action === 'start_failed' || info.action === 'switch_failed';
|
|
272
309
|
const actionColor = isFailed ? FG_RED
|
|
273
|
-
: info.action === 'rebuilding' || info.action === 'restarting' || info.action === 'stopping' || info.action === 'starting' || info.action === 'cascading' ? FG_YELLOW
|
|
310
|
+
: info.action === 'rebuilding' || info.action === 'restarting' || info.action === 'stopping' || info.action === 'starting' || info.action === 'cascading' || info.action === 'switching' ? FG_YELLOW
|
|
274
311
|
: info.action === 'watching' ? FG_CYAN : FG_GREEN;
|
|
275
312
|
const actionLabel = isFailed ? info.action.replace('_', ' ').toUpperCase() : info.action;
|
|
276
313
|
let headerLine = ` ${actionColor}${actionLabel} ${BOLD}${info.service}${RESET}`;
|
|
@@ -334,7 +371,6 @@ function renderListView(state) {
|
|
|
334
371
|
if (stubs.length > 0)
|
|
335
372
|
stubs.push({ type: 'blank', flatIdx: -1, groupIdx: entry.groupIdx });
|
|
336
373
|
stubs.push({ type: 'header', flatIdx: -1, groupIdx: entry.groupIdx });
|
|
337
|
-
stubs.push({ type: 'colheader', flatIdx: -1, groupIdx: entry.groupIdx });
|
|
338
374
|
}
|
|
339
375
|
stubs.push({ type: 'service', flatIdx: i, groupIdx: entry.groupIdx });
|
|
340
376
|
}
|
|
@@ -362,14 +398,6 @@ function renderListView(state) {
|
|
|
362
398
|
buf.push(group.error ? `${label} ${FG_RED}(${group.error})${RESET}` : label);
|
|
363
399
|
break;
|
|
364
400
|
}
|
|
365
|
-
case 'colheader': {
|
|
366
|
-
let colHeader = `${DIM} ${'SERVICE'.padEnd(24)} ${'STATUS'.padEnd(22)} ${'BUILT'.padEnd(12)} ${'RESTARTED'.padEnd(12)}`;
|
|
367
|
-
for (const p of patterns)
|
|
368
|
-
colHeader += patternLabel(p).padStart(5) + ' ';
|
|
369
|
-
colHeader += ` ${'CPU/MEM'.padStart(16)} ${'PORTS'.padEnd(14)}`;
|
|
370
|
-
buf.push(colHeader + RESET);
|
|
371
|
-
break;
|
|
372
|
-
}
|
|
373
401
|
case 'service': {
|
|
374
402
|
const i = stub.flatIdx;
|
|
375
403
|
const entry = state.flatList[i];
|
|
@@ -384,6 +412,7 @@ function renderListView(state) {
|
|
|
384
412
|
const icon = statusIcon(st, rebuilding || isCascading, restarting, stopping, starting);
|
|
385
413
|
const stext = statusText(st, rebuilding || isCascading, restarting, stopping, starting);
|
|
386
414
|
const watchIndicator = isWatching ? `${FG_CYAN}W${RESET}` : ' ';
|
|
415
|
+
const wtBranch = st ? st.worktree : null;
|
|
387
416
|
const name = entry.service.padEnd(24);
|
|
388
417
|
const statusPadded = padVisible(stext, 22);
|
|
389
418
|
let cpuMemStr;
|
|
@@ -417,17 +446,28 @@ function renderListView(state) {
|
|
|
417
446
|
}
|
|
418
447
|
const built = padVisible(relativeTime(st ? st.createdAt : null), 12);
|
|
419
448
|
const restarted = padVisible(relativeTime(st ? st.startedAt : null), 12);
|
|
420
|
-
const
|
|
421
|
-
const endPointer = i === state.cursor ? `${RESET}` : '';
|
|
449
|
+
const isSelected = i === state.cursor;
|
|
422
450
|
let countsStr = '';
|
|
423
451
|
const logCounts = state.logCounts.get(sk);
|
|
424
452
|
for (let pi = 0; pi < patterns.length; pi++) {
|
|
425
|
-
const
|
|
453
|
+
const key = Array.isArray(patterns[pi]) ? patterns[pi][0] : patterns[pi];
|
|
454
|
+
const count = logCounts ? (logCounts.get(key) || 0) : 0;
|
|
426
455
|
const color = count > 0 ? PATTERN_COLORS[pi % PATTERN_COLORS.length] : DIM;
|
|
427
456
|
const countText = count > 0 ? `${color}${count}${RESET}` : `${color}-${RESET}`;
|
|
428
457
|
countsStr += padVisibleStart(countText, 5) + ' ';
|
|
429
458
|
}
|
|
430
|
-
|
|
459
|
+
let worktreeCol = '';
|
|
460
|
+
if (state.showWorktreeColumn) {
|
|
461
|
+
const wtLabel = (0, state_1.worktreeLabel)(st ? st.worktree : null);
|
|
462
|
+
const wtColor = (wtBranch && wtBranch !== 'main') ? FG_YELLOW : DIM;
|
|
463
|
+
worktreeCol = ` ${wtColor}${wtLabel.padEnd(15)}${RESET}`;
|
|
464
|
+
}
|
|
465
|
+
let row = ` ${watchIndicator}${icon} ${FG_WHITE}${name}${RESET} ${statusPadded} ${built} ${restarted}${countsStr} ${cpuMemStr} ${portsStr}${worktreeCol}`;
|
|
466
|
+
if (isSelected) {
|
|
467
|
+
// Re-apply BG after every RESET so highlight spans the full row
|
|
468
|
+
row = `${BG_HIGHLIGHT}${row.replace(/\x1b\[0m/g, `${RESET}${BG_HIGHLIGHT}`)}${' '.repeat(Math.max(0, columns - visLen(row)))}${RESET}`;
|
|
469
|
+
}
|
|
470
|
+
buf.push(row);
|
|
431
471
|
break;
|
|
432
472
|
}
|
|
433
473
|
}
|
package/dist/lib/renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/lib/renderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/lib/renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/state.d.ts
CHANGED
|
@@ -5,3 +5,5 @@ export declare function statusKey(file: string, service: string): string;
|
|
|
5
5
|
export declare function buildFlatList(groups: ServiceGroup[]): FlatEntry[];
|
|
6
6
|
export declare function moveCursor(state: AppState, delta: number): void;
|
|
7
7
|
export declare function selectedEntry(state: AppState): FlatEntry | null;
|
|
8
|
+
export declare function getEffectiveFile(state: AppState, file: string, service: string): string;
|
|
9
|
+
export declare function worktreeLabel(worktree: string | null): string;
|
package/dist/lib/state.js
CHANGED
|
@@ -6,6 +6,8 @@ exports.statusKey = statusKey;
|
|
|
6
6
|
exports.buildFlatList = buildFlatList;
|
|
7
7
|
exports.moveCursor = moveCursor;
|
|
8
8
|
exports.selectedEntry = selectedEntry;
|
|
9
|
+
exports.getEffectiveFile = getEffectiveFile;
|
|
10
|
+
exports.worktreeLabel = worktreeLabel;
|
|
9
11
|
const types_1 = require("./types");
|
|
10
12
|
Object.defineProperty(exports, "MODE", { enumerable: true, get: function () { return types_1.MODE; } });
|
|
11
13
|
function createState(config) {
|
|
@@ -65,6 +67,14 @@ function createState(config) {
|
|
|
65
67
|
execChild: null,
|
|
66
68
|
execOutputLines: [],
|
|
67
69
|
execCwd: null,
|
|
70
|
+
showWorktreeColumn: false,
|
|
71
|
+
// Worktree switching
|
|
72
|
+
worktreeOverrides: new Map(),
|
|
73
|
+
// Worktree picker
|
|
74
|
+
worktreePickerActive: false,
|
|
75
|
+
worktreePickerEntries: [],
|
|
76
|
+
worktreePickerCursor: 0,
|
|
77
|
+
worktreePickerCurrentPath: null,
|
|
68
78
|
config,
|
|
69
79
|
};
|
|
70
80
|
}
|
|
@@ -89,4 +99,10 @@ function moveCursor(state, delta) {
|
|
|
89
99
|
function selectedEntry(state) {
|
|
90
100
|
return state.flatList[state.cursor] || null;
|
|
91
101
|
}
|
|
102
|
+
function getEffectiveFile(state, file, service) {
|
|
103
|
+
return state.worktreeOverrides.get(statusKey(file, service)) || file;
|
|
104
|
+
}
|
|
105
|
+
function worktreeLabel(worktree) {
|
|
106
|
+
return worktree || '';
|
|
107
|
+
}
|
|
92
108
|
//# sourceMappingURL=state.js.map
|
package/dist/lib/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":";;;AAIA,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface Config {
|
|
|
11
11
|
composeFiles: string[];
|
|
12
12
|
pollInterval: number;
|
|
13
13
|
logTailLines: number;
|
|
14
|
-
logScanPatterns: string[];
|
|
14
|
+
logScanPatterns: (string | string[])[];
|
|
15
15
|
logScanLines: number;
|
|
16
16
|
logScanInterval: number;
|
|
17
17
|
statsInterval: number;
|
|
@@ -33,6 +33,8 @@ export interface ContainerStatus {
|
|
|
33
33
|
startedAt: string | null;
|
|
34
34
|
id: string | null;
|
|
35
35
|
ports: PortMapping[];
|
|
36
|
+
workingDir: string | null;
|
|
37
|
+
worktree: string | null;
|
|
36
38
|
}
|
|
37
39
|
export interface ContainerStats {
|
|
38
40
|
cpuPercent: number;
|
|
@@ -71,7 +73,11 @@ export interface FlatEntry {
|
|
|
71
73
|
service: string;
|
|
72
74
|
file: string;
|
|
73
75
|
}
|
|
74
|
-
export
|
|
76
|
+
export interface GitWorktree {
|
|
77
|
+
path: string;
|
|
78
|
+
branch: string;
|
|
79
|
+
}
|
|
80
|
+
export type BottomLogAction = 'logs' | 'rebuilding' | 'restarting' | 'stopping' | 'starting' | 'started' | 'watching' | 'cascading' | 'exec' | 'build_failed' | 'restart_failed' | 'stop_failed' | 'start_failed' | 'switching' | 'switch_failed';
|
|
75
81
|
export interface DependencyGraph {
|
|
76
82
|
dependsOn: Map<string, string[]>;
|
|
77
83
|
dependedBy: Map<string, string[]>;
|
|
@@ -144,6 +150,12 @@ export interface AppState {
|
|
|
144
150
|
execChild: ChildProcess | null;
|
|
145
151
|
execOutputLines: string[];
|
|
146
152
|
execCwd: string | null;
|
|
153
|
+
showWorktreeColumn: boolean;
|
|
154
|
+
worktreeOverrides: Map<string, string>;
|
|
155
|
+
worktreePickerActive: boolean;
|
|
156
|
+
worktreePickerEntries: GitWorktree[];
|
|
157
|
+
worktreePickerCursor: number;
|
|
158
|
+
worktreePickerCurrentPath: string | null;
|
|
147
159
|
config: Config;
|
|
148
160
|
pollTimer?: ReturnType<typeof setInterval>;
|
|
149
161
|
logScanTimer?: ReturnType<typeof setInterval>;
|
|
@@ -159,9 +171,10 @@ export interface LegendOptions {
|
|
|
159
171
|
watchActive?: boolean;
|
|
160
172
|
execMode?: boolean;
|
|
161
173
|
execInline?: boolean;
|
|
174
|
+
worktreePickerActive?: boolean;
|
|
162
175
|
}
|
|
163
176
|
export interface DisplayLine {
|
|
164
|
-
type: 'header' | '
|
|
177
|
+
type: 'header' | 'blank' | 'service';
|
|
165
178
|
text: string;
|
|
166
179
|
flatIdx?: number;
|
|
167
180
|
}
|
|
@@ -184,6 +197,9 @@ export interface DockerInspectEntry {
|
|
|
184
197
|
State?: {
|
|
185
198
|
StartedAt?: string;
|
|
186
199
|
};
|
|
200
|
+
Config?: {
|
|
201
|
+
Labels?: Record<string, string>;
|
|
202
|
+
};
|
|
187
203
|
}
|
|
188
204
|
export interface DockerStatsJson {
|
|
189
205
|
ID?: string;
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|