@gxp-dev/tools 2.0.40 → 2.0.42
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/bin/lib/commands/add-dependency.js +19 -21
- package/bin/lib/tui/App.tsx +12 -46
- package/bin/lib/tui/components/LogPanel.tsx +74 -13
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +11 -38
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/LogPanel.d.ts.map +1 -1
- package/dist/tui/components/LogPanel.js +65 -13
- package/dist/tui/components/LogPanel.js.map +1 -1
- package/package.json +1 -1
- package/runtime/fallback-layouts/AdditionalStyling.css +1 -0
- package/runtime/fallback-layouts/PrivateLayout.vue +14 -0
- package/runtime/fallback-layouts/PublicLayout.vue +14 -0
- package/runtime/fallback-layouts/SystemLayout.vue +14 -0
- package/runtime/vite.config.js +12 -58
- package/template/vite.config.js +12 -46
|
@@ -160,6 +160,8 @@ async function selectWithTypeAhead(question, options) {
|
|
|
160
160
|
};
|
|
161
161
|
|
|
162
162
|
const maxVisible = 10;
|
|
163
|
+
// Total lines rendered: question + filter + blank + scroll-up + maxVisible + scroll-down = maxVisible + 5
|
|
164
|
+
const totalLines = maxVisible + 5;
|
|
163
165
|
|
|
164
166
|
const render = () => {
|
|
165
167
|
stdout.write("\x1B[?25l"); // Hide cursor
|
|
@@ -174,12 +176,11 @@ async function selectWithTypeAhead(question, options) {
|
|
|
174
176
|
const visibleOptions = filteredOptions.slice(startIdx, endIdx);
|
|
175
177
|
|
|
176
178
|
// Clear screen area
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
for (let i = 0; i < linesToClear; i++) {
|
|
179
|
+
stdout.write(`\x1B[${totalLines}A`);
|
|
180
|
+
for (let i = 0; i < totalLines; i++) {
|
|
180
181
|
stdout.write("\x1B[2K\n");
|
|
181
182
|
}
|
|
182
|
-
stdout.write(`\x1B[${
|
|
183
|
+
stdout.write(`\x1B[${totalLines}A`);
|
|
183
184
|
|
|
184
185
|
// Print question and filter
|
|
185
186
|
stdout.write(`\x1B[36m?\x1B[0m ${question}\n`);
|
|
@@ -227,17 +228,15 @@ async function selectWithTypeAhead(question, options) {
|
|
|
227
228
|
stdin.removeAllListeners("data");
|
|
228
229
|
stdin.pause();
|
|
229
230
|
// Clear UI
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
for (let i = 0; i < linesToClear; i++) {
|
|
231
|
+
stdout.write(`\x1B[${totalLines}A`);
|
|
232
|
+
for (let i = 0; i < totalLines; i++) {
|
|
233
233
|
stdout.write("\x1B[2K\n");
|
|
234
234
|
}
|
|
235
|
-
stdout.write(`\x1B[${
|
|
235
|
+
stdout.write(`\x1B[${totalLines}A`);
|
|
236
236
|
};
|
|
237
237
|
|
|
238
|
-
// Initial render with spacing
|
|
239
|
-
|
|
240
|
-
for (let i = 0; i < maxVisible + 3; i++) {
|
|
238
|
+
// Initial render with spacing (must match totalLines)
|
|
239
|
+
for (let i = 0; i < totalLines; i++) {
|
|
241
240
|
console.log("");
|
|
242
241
|
}
|
|
243
242
|
|
|
@@ -334,6 +333,8 @@ async function multiSelectPrompt(question, options) {
|
|
|
334
333
|
let selectedIndex = 0;
|
|
335
334
|
const selected = new Set();
|
|
336
335
|
const maxVisible = 10;
|
|
336
|
+
// Total lines: question + hint + selected-count + scroll-up + maxVisible + scroll-down = maxVisible + 5
|
|
337
|
+
const totalLines = maxVisible + 5;
|
|
337
338
|
|
|
338
339
|
const render = () => {
|
|
339
340
|
stdout.write("\x1B[?25l");
|
|
@@ -347,12 +348,11 @@ async function multiSelectPrompt(question, options) {
|
|
|
347
348
|
const endIdx = Math.min(startIdx + maxVisible, options.length);
|
|
348
349
|
const visibleOptions = options.slice(startIdx, endIdx);
|
|
349
350
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
for (let i = 0; i < linesToClear; i++) {
|
|
351
|
+
stdout.write(`\x1B[${totalLines}A`);
|
|
352
|
+
for (let i = 0; i < totalLines; i++) {
|
|
353
353
|
stdout.write("\x1B[2K\n");
|
|
354
354
|
}
|
|
355
|
-
stdout.write(`\x1B[${
|
|
355
|
+
stdout.write(`\x1B[${totalLines}A`);
|
|
356
356
|
|
|
357
357
|
stdout.write(`\x1B[36m?\x1B[0m ${question}\n`);
|
|
358
358
|
stdout.write(` \x1B[90m(Space to toggle, Enter to confirm, A to toggle all)\x1B[0m\n`);
|
|
@@ -397,16 +397,14 @@ async function multiSelectPrompt(question, options) {
|
|
|
397
397
|
stdin.setRawMode(false);
|
|
398
398
|
stdin.removeAllListeners("data");
|
|
399
399
|
stdin.pause();
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
for (let i = 0; i < linesToClear; i++) {
|
|
400
|
+
stdout.write(`\x1B[${totalLines}A`);
|
|
401
|
+
for (let i = 0; i < totalLines; i++) {
|
|
403
402
|
stdout.write("\x1B[2K\n");
|
|
404
403
|
}
|
|
405
|
-
stdout.write(`\x1B[${
|
|
404
|
+
stdout.write(`\x1B[${totalLines}A`);
|
|
406
405
|
};
|
|
407
406
|
|
|
408
|
-
|
|
409
|
-
for (let i = 0; i < maxVisible + 4; i++) {
|
|
407
|
+
for (let i = 0; i < totalLines; i++) {
|
|
410
408
|
console.log("");
|
|
411
409
|
}
|
|
412
410
|
|
package/bin/lib/tui/App.tsx
CHANGED
|
@@ -635,52 +635,18 @@ export default function App({ autoStart, args }: AppProps) {
|
|
|
635
635
|
};
|
|
636
636
|
|
|
637
637
|
const handleAddDependency = async (cmdArgs: string[]) => {
|
|
638
|
-
// The add-dependency
|
|
639
|
-
//
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
// Resolve to package root, then to gx-devtools.js
|
|
652
|
-
const packageRoot = path.resolve(__dirname, '..', '..');
|
|
653
|
-
const cliPath = path.join(packageRoot, 'bin', 'gx-devtools.js');
|
|
654
|
-
|
|
655
|
-
// Build args for the command
|
|
656
|
-
const args = ['add-dependency', ...cmdArgs];
|
|
657
|
-
|
|
658
|
-
// Stop all services before exiting
|
|
659
|
-
serviceManager.forceStopAll();
|
|
660
|
-
|
|
661
|
-
// Clear screen and exit TUI
|
|
662
|
-
process.stdout.write('\x1B[2J\x1B[0f');
|
|
663
|
-
|
|
664
|
-
// Spawn the add-dependency command with inherited stdio
|
|
665
|
-
const child = spawn('node', [cliPath, ...args], {
|
|
666
|
-
cwd: process.cwd(),
|
|
667
|
-
stdio: 'inherit',
|
|
668
|
-
shell: true,
|
|
669
|
-
});
|
|
670
|
-
|
|
671
|
-
child.on('close', (code) => {
|
|
672
|
-
console.log('\n');
|
|
673
|
-
console.log('─'.repeat(50));
|
|
674
|
-
console.log('To return to the TUI, run: gxdev');
|
|
675
|
-
console.log('─'.repeat(50));
|
|
676
|
-
process.exit(code || 0);
|
|
677
|
-
});
|
|
678
|
-
|
|
679
|
-
// Exit the ink app
|
|
680
|
-
exit();
|
|
681
|
-
} catch (err) {
|
|
682
|
-
addSystemLog(`Error: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
683
|
-
}
|
|
638
|
+
// The add-dependency wizard requires interactive terminal access (raw stdin)
|
|
639
|
+
// which conflicts with Ink's own stdin handling. Run it in a separate terminal.
|
|
640
|
+
const envFlag = cmdArgs.find(a => a === '-e' || a === '--env');
|
|
641
|
+
const envVal = envFlag ? cmdArgs[cmdArgs.indexOf(envFlag) + 1] : '';
|
|
642
|
+
const cmd = `gxdev add-dependency${envVal ? ` -e ${envVal}` : ''}`;
|
|
643
|
+
|
|
644
|
+
addSystemLog('');
|
|
645
|
+
addSystemLog('The Add Dependency wizard requires interactive terminal access.');
|
|
646
|
+
addSystemLog('Run this command in a separate terminal:');
|
|
647
|
+
addSystemLog('');
|
|
648
|
+
addSystemLog(` \x1B[36m${cmd}\x1B[0m`);
|
|
649
|
+
addSystemLog('');
|
|
684
650
|
};
|
|
685
651
|
|
|
686
652
|
const getDefaultManifest = () => ({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState, useEffect, useMemo,
|
|
1
|
+
import React, { useState, useEffect, useMemo, useRef, memo } from 'react';
|
|
2
2
|
import { Box, Text, useStdout, useInput } from 'ink';
|
|
3
3
|
|
|
4
4
|
interface LogPanelProps {
|
|
@@ -19,14 +19,22 @@ function LogPanel({ logs, isActive = true, maxHeight }: LogPanelProps) {
|
|
|
19
19
|
const { stdout } = useStdout();
|
|
20
20
|
const [scrollOffset, setScrollOffset] = useState(0);
|
|
21
21
|
const [autoScroll, setAutoScroll] = useState(true);
|
|
22
|
+
const mouseEnabledRef = useRef(false);
|
|
23
|
+
const logsLengthRef = useRef(logs.length);
|
|
24
|
+
const maxLinesRef = useRef(0);
|
|
25
|
+
|
|
26
|
+
// Keep refs in sync
|
|
27
|
+
logsLengthRef.current = logs.length;
|
|
22
28
|
|
|
23
29
|
// Calculate visible lines based on provided maxHeight or terminal height
|
|
24
|
-
// Subtract 2 for padding, 2 for border
|
|
30
|
+
// Subtract 2 for padding, 2 for border, 1 for hint bar
|
|
25
31
|
const maxLines = useMemo(() => {
|
|
26
32
|
const defaultMaxLines = stdout ? Math.max(5, stdout.rows - 10) : 15;
|
|
27
|
-
return maxHeight ? Math.max(3, maxHeight -
|
|
33
|
+
return maxHeight ? Math.max(3, maxHeight - 5) : defaultMaxLines;
|
|
28
34
|
}, [stdout?.rows, maxHeight]);
|
|
29
35
|
|
|
36
|
+
maxLinesRef.current = maxLines;
|
|
37
|
+
|
|
30
38
|
// Reset scroll when logs are cleared
|
|
31
39
|
useEffect(() => {
|
|
32
40
|
if (logs.length === 0) {
|
|
@@ -42,25 +50,75 @@ function LogPanel({ logs, isActive = true, maxHeight }: LogPanelProps) {
|
|
|
42
50
|
}
|
|
43
51
|
}, [logs.length, autoScroll]);
|
|
44
52
|
|
|
53
|
+
// Scroll helper functions
|
|
54
|
+
const scrollUp = (lines: number) => {
|
|
55
|
+
const maxOffset = Math.max(0, logs.length - maxLines);
|
|
56
|
+
setScrollOffset(prev => Math.min(prev + lines, maxOffset));
|
|
57
|
+
setAutoScroll(false);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const scrollDown = (lines: number) => {
|
|
61
|
+
setScrollOffset(prev => {
|
|
62
|
+
const newOffset = Math.max(prev - lines, 0);
|
|
63
|
+
if (newOffset === 0) setAutoScroll(true);
|
|
64
|
+
return newOffset;
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
// Enable mouse wheel scrolling via terminal mouse reporting
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
if (!isActive || !process.stdin.isTTY) return;
|
|
71
|
+
|
|
72
|
+
// Enable SGR mouse mode for wheel events
|
|
73
|
+
process.stdout.write('\x1b[?1000h\x1b[?1006h');
|
|
74
|
+
mouseEnabledRef.current = true;
|
|
75
|
+
|
|
76
|
+
const handleData = (data: Buffer) => {
|
|
77
|
+
const str = data.toString();
|
|
78
|
+
// SGR mouse format: \x1b[<button;col;rowM (press) or \x1b[<button;col;rowm (release)
|
|
79
|
+
const match = str.match(/\x1b\[<(\d+);\d+;\d+[Mm]/);
|
|
80
|
+
if (match) {
|
|
81
|
+
const button = parseInt(match[1], 10);
|
|
82
|
+
if (button === 64) {
|
|
83
|
+
// Scroll up - use refs to avoid stale closures
|
|
84
|
+
const maxOffset = Math.max(0, logsLengthRef.current - maxLinesRef.current);
|
|
85
|
+
setScrollOffset(prev => Math.min(prev + 3, maxOffset));
|
|
86
|
+
setAutoScroll(false);
|
|
87
|
+
} else if (button === 65) {
|
|
88
|
+
// Scroll down
|
|
89
|
+
setScrollOffset(prev => {
|
|
90
|
+
const newOffset = Math.max(prev - 3, 0);
|
|
91
|
+
if (newOffset === 0) setAutoScroll(true);
|
|
92
|
+
return newOffset;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
process.stdin.on('data', handleData);
|
|
99
|
+
|
|
100
|
+
return () => {
|
|
101
|
+
process.stdin.off('data', handleData);
|
|
102
|
+
if (mouseEnabledRef.current) {
|
|
103
|
+
process.stdout.write('\x1b[?1000l\x1b[?1006l');
|
|
104
|
+
mouseEnabledRef.current = false;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}, [isActive]);
|
|
108
|
+
|
|
45
109
|
// Handle keyboard input for scrolling
|
|
46
110
|
useInput((input, key) => {
|
|
47
111
|
if (!isActive) return;
|
|
48
112
|
|
|
49
113
|
// Page Up - scroll up by half a page
|
|
50
114
|
if (key.pageUp || (key.shift && key.upArrow)) {
|
|
51
|
-
|
|
52
|
-
setScrollOffset(prev => Math.min(prev + Math.floor(maxLines / 2), maxOffset));
|
|
53
|
-
setAutoScroll(false);
|
|
115
|
+
scrollUp(Math.floor(maxLines / 2));
|
|
54
116
|
return;
|
|
55
117
|
}
|
|
56
118
|
|
|
57
119
|
// Page Down - scroll down by half a page
|
|
58
120
|
if (key.pageDown || (key.shift && key.downArrow)) {
|
|
59
|
-
|
|
60
|
-
const newOffset = Math.max(prev - Math.floor(maxLines / 2), 0);
|
|
61
|
-
if (newOffset === 0) setAutoScroll(true);
|
|
62
|
-
return newOffset;
|
|
63
|
-
});
|
|
121
|
+
scrollDown(Math.floor(maxLines / 2));
|
|
64
122
|
return;
|
|
65
123
|
}
|
|
66
124
|
|
|
@@ -95,8 +153,11 @@ function LogPanel({ logs, isActive = true, maxHeight }: LogPanelProps) {
|
|
|
95
153
|
|
|
96
154
|
return (
|
|
97
155
|
<Box flexDirection="column" padding={1} flexGrow={1} overflow="hidden">
|
|
156
|
+
<Box justifyContent="flex-end">
|
|
157
|
+
<Text color="gray" dimColor>Shift+↑↓ scroll Ctrl+↑↓ jump mouse wheel</Text>
|
|
158
|
+
</Box>
|
|
98
159
|
{canScrollUp && (
|
|
99
|
-
<Text color="gray" dimColor>↑ {startIndex} more lines
|
|
160
|
+
<Text color="gray" dimColor>↑ {startIndex} more lines</Text>
|
|
100
161
|
)}
|
|
101
162
|
{visibleLogs.length === 0 ? (
|
|
102
163
|
<Text color="gray" dimColor>No logs yet...</Text>
|
|
@@ -106,7 +167,7 @@ function LogPanel({ logs, isActive = true, maxHeight }: LogPanelProps) {
|
|
|
106
167
|
))
|
|
107
168
|
)}
|
|
108
169
|
{canScrollDown && (
|
|
109
|
-
<Text color="gray" dimColor>↓ {scrollOffset} more lines
|
|
170
|
+
<Text color="gray" dimColor>↓ {scrollOffset} more lines</Text>
|
|
110
171
|
)}
|
|
111
172
|
</Box>
|
|
112
173
|
);
|
package/dist/tui/App.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../bin/lib/tui/App.tsx"],"names":[],"mappings":"AAQA,OAAO,EAUL,aAAa,EAMd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAUD,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../bin/lib/tui/App.tsx"],"names":[],"mappings":"AAQA,OAAO,EAUL,aAAa,EAMd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAUD,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,2CA2tBxD"}
|
package/dist/tui/App.js
CHANGED
|
@@ -522,44 +522,17 @@ export default function App({ autoStart, args }) {
|
|
|
522
522
|
}
|
|
523
523
|
};
|
|
524
524
|
const handleAddDependency = async (cmdArgs) => {
|
|
525
|
-
// The add-dependency
|
|
526
|
-
//
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
const packageRoot = path.resolve(__dirname, '..', '..');
|
|
537
|
-
const cliPath = path.join(packageRoot, 'bin', 'gx-devtools.js');
|
|
538
|
-
// Build args for the command
|
|
539
|
-
const args = ['add-dependency', ...cmdArgs];
|
|
540
|
-
// Stop all services before exiting
|
|
541
|
-
serviceManager.forceStopAll();
|
|
542
|
-
// Clear screen and exit TUI
|
|
543
|
-
process.stdout.write('\x1B[2J\x1B[0f');
|
|
544
|
-
// Spawn the add-dependency command with inherited stdio
|
|
545
|
-
const child = spawn('node', [cliPath, ...args], {
|
|
546
|
-
cwd: process.cwd(),
|
|
547
|
-
stdio: 'inherit',
|
|
548
|
-
shell: true,
|
|
549
|
-
});
|
|
550
|
-
child.on('close', (code) => {
|
|
551
|
-
console.log('\n');
|
|
552
|
-
console.log('─'.repeat(50));
|
|
553
|
-
console.log('To return to the TUI, run: gxdev');
|
|
554
|
-
console.log('─'.repeat(50));
|
|
555
|
-
process.exit(code || 0);
|
|
556
|
-
});
|
|
557
|
-
// Exit the ink app
|
|
558
|
-
exit();
|
|
559
|
-
}
|
|
560
|
-
catch (err) {
|
|
561
|
-
addSystemLog(`Error: ${err instanceof Error ? err.message : 'Unknown error'}`);
|
|
562
|
-
}
|
|
525
|
+
// The add-dependency wizard requires interactive terminal access (raw stdin)
|
|
526
|
+
// which conflicts with Ink's own stdin handling. Run it in a separate terminal.
|
|
527
|
+
const envFlag = cmdArgs.find(a => a === '-e' || a === '--env');
|
|
528
|
+
const envVal = envFlag ? cmdArgs[cmdArgs.indexOf(envFlag) + 1] : '';
|
|
529
|
+
const cmd = `gxdev add-dependency${envVal ? ` -e ${envVal}` : ''}`;
|
|
530
|
+
addSystemLog('');
|
|
531
|
+
addSystemLog('The Add Dependency wizard requires interactive terminal access.');
|
|
532
|
+
addSystemLog('Run this command in a separate terminal:');
|
|
533
|
+
addSystemLog('');
|
|
534
|
+
addSystemLog(` \x1B[36m${cmd}\x1B[0m`);
|
|
535
|
+
addSystemLog('');
|
|
563
536
|
};
|
|
564
537
|
const getDefaultManifest = () => ({
|
|
565
538
|
name: 'GxToolkit',
|
package/dist/tui/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../bin/lib/tui/App.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../bin/lib/tui/App.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogPanel.d.ts","sourceRoot":"","sources":["../../../bin/lib/tui/components/LogPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"LogPanel.d.ts","sourceRoot":"","sources":["../../../bin/lib/tui/components/LogPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAG1E,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,iBAAS,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAe,EAAE,SAAS,EAAE,EAAE,aAAa,2CA4JpE;;AAsBD,wBAA8B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect, useMemo, memo } from 'react';
|
|
2
|
+
import { useState, useEffect, useMemo, useRef, memo } from 'react';
|
|
3
3
|
import { Box, Text, useStdout, useInput } from 'ink';
|
|
4
4
|
// Memoized log line component to prevent unnecessary re-renders
|
|
5
5
|
const LogLine = memo(({ log, index }) => (_jsx(Text, { wrap: "wrap", children: formatLog(log) }, index)));
|
|
@@ -8,12 +8,18 @@ function LogPanel({ logs, isActive = true, maxHeight }) {
|
|
|
8
8
|
const { stdout } = useStdout();
|
|
9
9
|
const [scrollOffset, setScrollOffset] = useState(0);
|
|
10
10
|
const [autoScroll, setAutoScroll] = useState(true);
|
|
11
|
+
const mouseEnabledRef = useRef(false);
|
|
12
|
+
const logsLengthRef = useRef(logs.length);
|
|
13
|
+
const maxLinesRef = useRef(0);
|
|
14
|
+
// Keep refs in sync
|
|
15
|
+
logsLengthRef.current = logs.length;
|
|
11
16
|
// Calculate visible lines based on provided maxHeight or terminal height
|
|
12
|
-
// Subtract 2 for padding, 2 for border
|
|
17
|
+
// Subtract 2 for padding, 2 for border, 1 for hint bar
|
|
13
18
|
const maxLines = useMemo(() => {
|
|
14
19
|
const defaultMaxLines = stdout ? Math.max(5, stdout.rows - 10) : 15;
|
|
15
|
-
return maxHeight ? Math.max(3, maxHeight -
|
|
20
|
+
return maxHeight ? Math.max(3, maxHeight - 5) : defaultMaxLines;
|
|
16
21
|
}, [stdout?.rows, maxHeight]);
|
|
22
|
+
maxLinesRef.current = maxLines;
|
|
17
23
|
// Reset scroll when logs are cleared
|
|
18
24
|
useEffect(() => {
|
|
19
25
|
if (logs.length === 0) {
|
|
@@ -27,25 +33,71 @@ function LogPanel({ logs, isActive = true, maxHeight }) {
|
|
|
27
33
|
setScrollOffset(0);
|
|
28
34
|
}
|
|
29
35
|
}, [logs.length, autoScroll]);
|
|
36
|
+
// Scroll helper functions
|
|
37
|
+
const scrollUp = (lines) => {
|
|
38
|
+
const maxOffset = Math.max(0, logs.length - maxLines);
|
|
39
|
+
setScrollOffset(prev => Math.min(prev + lines, maxOffset));
|
|
40
|
+
setAutoScroll(false);
|
|
41
|
+
};
|
|
42
|
+
const scrollDown = (lines) => {
|
|
43
|
+
setScrollOffset(prev => {
|
|
44
|
+
const newOffset = Math.max(prev - lines, 0);
|
|
45
|
+
if (newOffset === 0)
|
|
46
|
+
setAutoScroll(true);
|
|
47
|
+
return newOffset;
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
// Enable mouse wheel scrolling via terminal mouse reporting
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (!isActive || !process.stdin.isTTY)
|
|
53
|
+
return;
|
|
54
|
+
// Enable SGR mouse mode for wheel events
|
|
55
|
+
process.stdout.write('\x1b[?1000h\x1b[?1006h');
|
|
56
|
+
mouseEnabledRef.current = true;
|
|
57
|
+
const handleData = (data) => {
|
|
58
|
+
const str = data.toString();
|
|
59
|
+
// SGR mouse format: \x1b[<button;col;rowM (press) or \x1b[<button;col;rowm (release)
|
|
60
|
+
const match = str.match(/\x1b\[<(\d+);\d+;\d+[Mm]/);
|
|
61
|
+
if (match) {
|
|
62
|
+
const button = parseInt(match[1], 10);
|
|
63
|
+
if (button === 64) {
|
|
64
|
+
// Scroll up - use refs to avoid stale closures
|
|
65
|
+
const maxOffset = Math.max(0, logsLengthRef.current - maxLinesRef.current);
|
|
66
|
+
setScrollOffset(prev => Math.min(prev + 3, maxOffset));
|
|
67
|
+
setAutoScroll(false);
|
|
68
|
+
}
|
|
69
|
+
else if (button === 65) {
|
|
70
|
+
// Scroll down
|
|
71
|
+
setScrollOffset(prev => {
|
|
72
|
+
const newOffset = Math.max(prev - 3, 0);
|
|
73
|
+
if (newOffset === 0)
|
|
74
|
+
setAutoScroll(true);
|
|
75
|
+
return newOffset;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
process.stdin.on('data', handleData);
|
|
81
|
+
return () => {
|
|
82
|
+
process.stdin.off('data', handleData);
|
|
83
|
+
if (mouseEnabledRef.current) {
|
|
84
|
+
process.stdout.write('\x1b[?1000l\x1b[?1006l');
|
|
85
|
+
mouseEnabledRef.current = false;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}, [isActive]);
|
|
30
89
|
// Handle keyboard input for scrolling
|
|
31
90
|
useInput((input, key) => {
|
|
32
91
|
if (!isActive)
|
|
33
92
|
return;
|
|
34
93
|
// Page Up - scroll up by half a page
|
|
35
94
|
if (key.pageUp || (key.shift && key.upArrow)) {
|
|
36
|
-
|
|
37
|
-
setScrollOffset(prev => Math.min(prev + Math.floor(maxLines / 2), maxOffset));
|
|
38
|
-
setAutoScroll(false);
|
|
95
|
+
scrollUp(Math.floor(maxLines / 2));
|
|
39
96
|
return;
|
|
40
97
|
}
|
|
41
98
|
// Page Down - scroll down by half a page
|
|
42
99
|
if (key.pageDown || (key.shift && key.downArrow)) {
|
|
43
|
-
|
|
44
|
-
const newOffset = Math.max(prev - Math.floor(maxLines / 2), 0);
|
|
45
|
-
if (newOffset === 0)
|
|
46
|
-
setAutoScroll(true);
|
|
47
|
-
return newOffset;
|
|
48
|
-
});
|
|
100
|
+
scrollDown(Math.floor(maxLines / 2));
|
|
49
101
|
return;
|
|
50
102
|
}
|
|
51
103
|
// Home - scroll to top
|
|
@@ -74,7 +126,7 @@ function LogPanel({ logs, isActive = true, maxHeight }) {
|
|
|
74
126
|
canScrollDown: scrollOffset > 0,
|
|
75
127
|
};
|
|
76
128
|
}, [logs, maxLines, scrollOffset]);
|
|
77
|
-
return (_jsxs(Box, { flexDirection: "column", padding: 1, flexGrow: 1, overflow: "hidden", children: [canScrollUp && (_jsxs(Text, { color: "gray", dimColor: true, children: ["\u2191 ", startIndex, " more lines
|
|
129
|
+
return (_jsxs(Box, { flexDirection: "column", padding: 1, flexGrow: 1, overflow: "hidden", children: [_jsx(Box, { justifyContent: "flex-end", children: _jsx(Text, { color: "gray", dimColor: true, children: "Shift+\u2191\u2193 scroll Ctrl+\u2191\u2193 jump mouse wheel" }) }), canScrollUp && (_jsxs(Text, { color: "gray", dimColor: true, children: ["\u2191 ", startIndex, " more lines"] })), visibleLogs.length === 0 ? (_jsx(Text, { color: "gray", dimColor: true, children: "No logs yet..." })) : (visibleLogs.map((log, index) => (_jsx(LogLine, { log: log, index: startIndex + index }, startIndex + index)))), canScrollDown && (_jsxs(Text, { color: "gray", dimColor: true, children: ["\u2193 ", scrollOffset, " more lines"] }))] }));
|
|
78
130
|
}
|
|
79
131
|
function formatLog(log) {
|
|
80
132
|
// Color code different log types
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogPanel.js","sourceRoot":"","sources":["../../../bin/lib/tui/components/LogPanel.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"LogPanel.js","sourceRoot":"","sources":["../../../bin/lib/tui/components/LogPanel.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* GxP Fallback: No project-level AdditionalStyling.css found */
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<slot />
|
|
3
|
+
</template>
|
|
4
|
+
|
|
5
|
+
<script setup>
|
|
6
|
+
defineOptions({ inheritAttrs: false });
|
|
7
|
+
defineProps({
|
|
8
|
+
usrLang: { type: String, default: "" },
|
|
9
|
+
portalSettings: { type: Object, default: () => ({}) },
|
|
10
|
+
portalLanguage: { type: Object, default: () => ({}) },
|
|
11
|
+
portalNavigation: { type: Array, default: () => [] },
|
|
12
|
+
portalAssets: { type: Object, default: () => ({}) },
|
|
13
|
+
});
|
|
14
|
+
</script>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<slot />
|
|
3
|
+
</template>
|
|
4
|
+
|
|
5
|
+
<script setup>
|
|
6
|
+
defineOptions({ inheritAttrs: false });
|
|
7
|
+
defineProps({
|
|
8
|
+
usrLang: { type: String, default: "" },
|
|
9
|
+
portalSettings: { type: Object, default: () => ({}) },
|
|
10
|
+
portalLanguage: { type: Object, default: () => ({}) },
|
|
11
|
+
portalNavigation: { type: Array, default: () => [] },
|
|
12
|
+
portalAssets: { type: Object, default: () => ({}) },
|
|
13
|
+
});
|
|
14
|
+
</script>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<slot />
|
|
3
|
+
</template>
|
|
4
|
+
|
|
5
|
+
<script setup>
|
|
6
|
+
defineOptions({ inheritAttrs: false });
|
|
7
|
+
defineProps({
|
|
8
|
+
usrLang: { type: String, default: "" },
|
|
9
|
+
portalSettings: { type: Object, default: () => ({}) },
|
|
10
|
+
portalLanguage: { type: Object, default: () => ({}) },
|
|
11
|
+
portalNavigation: { type: Array, default: () => [] },
|
|
12
|
+
portalAssets: { type: Object, default: () => ({}) },
|
|
13
|
+
});
|
|
14
|
+
</script>
|
package/runtime/vite.config.js
CHANGED
|
@@ -205,61 +205,17 @@ export default defineConfig(({ mode }) => {
|
|
|
205
205
|
},
|
|
206
206
|
};
|
|
207
207
|
|
|
208
|
-
//
|
|
209
|
-
//
|
|
210
|
-
|
|
211
|
-
const
|
|
212
|
-
const
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
const localFile = path.resolve(layoutsDir, fileName);
|
|
220
|
-
if (fs.existsSync(localFile)) return null;
|
|
221
|
-
return `\0gxp-layout-fallback:${fileName}`;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
// Handle already-resolved absolute paths to theme-layouts/
|
|
225
|
-
if (source.startsWith(layoutsDir + "/")) {
|
|
226
|
-
if (fs.existsSync(source)) return null;
|
|
227
|
-
const fileName = source.replace(layoutsDir + "/", "");
|
|
228
|
-
return `\0gxp-layout-fallback:${fileName}`;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
return null;
|
|
232
|
-
},
|
|
233
|
-
load(id) {
|
|
234
|
-
if (!id.startsWith("\0gxp-layout-fallback:")) return null;
|
|
235
|
-
|
|
236
|
-
const fileName = id.replace("\0gxp-layout-fallback:", "");
|
|
237
|
-
console.log(`⚡ [GxP] Serving fallback for missing layout: ${fileName}`);
|
|
238
|
-
|
|
239
|
-
// CSS files get empty content
|
|
240
|
-
if (fileName.endsWith(".css")) {
|
|
241
|
-
return "/* GxP fallback: no local AdditionalStyling.css */";
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
// Vue layout components get a passthrough slot wrapper
|
|
245
|
-
if (fileName.endsWith(".vue")) {
|
|
246
|
-
return `
|
|
247
|
-
<template><slot /></template>
|
|
248
|
-
<script setup>
|
|
249
|
-
defineOptions({ inheritAttrs: false });
|
|
250
|
-
defineProps({
|
|
251
|
-
usrLang: { type: String, default: "" },
|
|
252
|
-
portalSettings: { type: Object, default: () => ({}) },
|
|
253
|
-
portalLanguage: { type: Object, default: () => ({}) },
|
|
254
|
-
portalNavigation: { type: Array, default: () => ([]) },
|
|
255
|
-
portalAssets: { type: Object, default: () => ({}) },
|
|
256
|
-
});
|
|
257
|
-
</script>`;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
return "";
|
|
261
|
-
},
|
|
262
|
-
};
|
|
208
|
+
// Resolve @layouts: use project's theme-layouts/ if it exists,
|
|
209
|
+
// otherwise fall back to toolkit's runtime/fallback-layouts/
|
|
210
|
+
const projectLayoutsDir = path.resolve(process.cwd(), "theme-layouts");
|
|
211
|
+
const fallbackLayoutsDir = path.resolve(runtimeDir, "fallback-layouts");
|
|
212
|
+
const layoutsDir = fs.existsSync(projectLayoutsDir) ? projectLayoutsDir : fallbackLayoutsDir;
|
|
213
|
+
|
|
214
|
+
if (layoutsDir === fallbackLayoutsDir) {
|
|
215
|
+
console.log("📐 Layouts: using toolkit fallbacks (no theme-layouts/ directory)");
|
|
216
|
+
} else {
|
|
217
|
+
console.log("📐 Layouts: using project theme-layouts/");
|
|
218
|
+
}
|
|
263
219
|
|
|
264
220
|
// Determine if HTTPS is enabled
|
|
265
221
|
const useHttps = getHttpsConfig(env) !== false;
|
|
@@ -293,8 +249,6 @@ defineProps({
|
|
|
293
249
|
},
|
|
294
250
|
plugins: [
|
|
295
251
|
runtimeFilesPlugin,
|
|
296
|
-
// Layout fallback must run before vue() to resolve missing @layouts/ imports
|
|
297
|
-
layoutFallbackPlugin,
|
|
298
252
|
// Source tracker must run BEFORE vue() to transform templates before compilation
|
|
299
253
|
gxpSourceTrackerPlugin(),
|
|
300
254
|
vue(),
|
|
@@ -440,7 +394,7 @@ defineProps({
|
|
|
440
394
|
// Client project's source directory
|
|
441
395
|
"@": path.resolve(process.cwd(), "src"),
|
|
442
396
|
// Theme layouts in client project
|
|
443
|
-
"@layouts":
|
|
397
|
+
"@layouts": layoutsDir,
|
|
444
398
|
// GxP Toolkit runtime (PortalContainer, etc.) - from node_modules
|
|
445
399
|
"@gx-runtime": runtimeDir,
|
|
446
400
|
// Ensure single Vue and Pinia instances
|
package/template/vite.config.js
CHANGED
|
@@ -146,49 +146,17 @@ export default defineConfig(({ mode }) => {
|
|
|
146
146
|
// Find the toolkit path for runtime imports
|
|
147
147
|
const toolkitPath = findToolkitPath();
|
|
148
148
|
|
|
149
|
-
//
|
|
150
|
-
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
}
|
|
161
|
-
if (source.startsWith(layoutsDir + "/")) {
|
|
162
|
-
if (fs.existsSync(source)) return null;
|
|
163
|
-
const fileName = source.replace(layoutsDir + "/", "");
|
|
164
|
-
return `\0gxp-layout-fallback:${fileName}`;
|
|
165
|
-
}
|
|
166
|
-
return null;
|
|
167
|
-
},
|
|
168
|
-
load(id) {
|
|
169
|
-
if (!id.startsWith("\0gxp-layout-fallback:")) return null;
|
|
170
|
-
const fileName = id.replace("\0gxp-layout-fallback:", "");
|
|
171
|
-
console.log(`⚡ [GxP] Serving fallback for missing layout: ${fileName}`);
|
|
172
|
-
if (fileName.endsWith(".css")) {
|
|
173
|
-
return "/* GxP fallback: no local AdditionalStyling.css */";
|
|
174
|
-
}
|
|
175
|
-
if (fileName.endsWith(".vue")) {
|
|
176
|
-
return `
|
|
177
|
-
<template><slot /></template>
|
|
178
|
-
<script setup>
|
|
179
|
-
defineOptions({ inheritAttrs: false });
|
|
180
|
-
defineProps({
|
|
181
|
-
usrLang: { type: String, default: "" },
|
|
182
|
-
portalSettings: { type: Object, default: () => ({}) },
|
|
183
|
-
portalLanguage: { type: Object, default: () => ({}) },
|
|
184
|
-
portalNavigation: { type: Array, default: () => ([]) },
|
|
185
|
-
portalAssets: { type: Object, default: () => ({}) },
|
|
186
|
-
});
|
|
187
|
-
</script>`;
|
|
188
|
-
}
|
|
189
|
-
return "";
|
|
190
|
-
},
|
|
191
|
-
};
|
|
149
|
+
// Resolve @layouts: use project's theme-layouts/ if it exists,
|
|
150
|
+
// otherwise fall back to toolkit's runtime/fallback-layouts/
|
|
151
|
+
const projectLayoutsDir = path.resolve(process.cwd(), "theme-layouts");
|
|
152
|
+
const fallbackLayoutsDir = path.resolve(toolkitPath, "runtime", "fallback-layouts");
|
|
153
|
+
const layoutsDir = fs.existsSync(projectLayoutsDir) ? projectLayoutsDir : fallbackLayoutsDir;
|
|
154
|
+
|
|
155
|
+
if (layoutsDir === fallbackLayoutsDir) {
|
|
156
|
+
console.log("📐 Layouts: using toolkit fallbacks (no theme-layouts/ directory)");
|
|
157
|
+
} else {
|
|
158
|
+
console.log("📐 Layouts: using project theme-layouts/");
|
|
159
|
+
}
|
|
192
160
|
|
|
193
161
|
// Determine if HTTPS is enabled
|
|
194
162
|
const useHttps = getHttpsConfig(env) !== false;
|
|
@@ -219,8 +187,6 @@ defineProps({
|
|
|
219
187
|
),
|
|
220
188
|
},
|
|
221
189
|
plugins: [
|
|
222
|
-
// Layout fallback must run before vue() to resolve missing @layouts/ imports
|
|
223
|
-
layoutFallbackPlugin,
|
|
224
190
|
// Source tracker must come before vue() to transform templates before compilation
|
|
225
191
|
...(gxpSourceTrackerPlugin ? [gxpSourceTrackerPlugin()] : []),
|
|
226
192
|
vue(),
|
|
@@ -357,7 +323,7 @@ defineProps({
|
|
|
357
323
|
// Client project's source directory
|
|
358
324
|
"@": path.resolve(process.cwd(), "src"),
|
|
359
325
|
// Theme layouts in client project
|
|
360
|
-
"@layouts":
|
|
326
|
+
"@layouts": layoutsDir,
|
|
361
327
|
// GxP Toolkit runtime (PortalContainer, etc.) - from node_modules
|
|
362
328
|
"@gx-runtime": path.resolve(toolkitPath, "runtime"),
|
|
363
329
|
// Ensure single Vue and Pinia instances
|