@absolutejs/absolute 0.19.0-beta.678 → 0.19.0-beta.679
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/angular/index.js +2 -2
- package/dist/angular/index.js.map +1 -1
- package/dist/angular/server.js +2 -2
- package/dist/angular/server.js.map +1 -1
- package/dist/build.js +2 -2
- package/dist/build.js.map +1 -1
- package/dist/cli/index.js +78 -4
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -2520,6 +2520,9 @@ var helpLines = [
|
|
|
2520
2520
|
" o Open the first public service",
|
|
2521
2521
|
" r Restart the workspace",
|
|
2522
2522
|
" p Pause or resume all services",
|
|
2523
|
+
" \u2191/\u2193 Scroll logs one line",
|
|
2524
|
+
" PgUp/PgDn Scroll logs one page",
|
|
2525
|
+
" Home/End Jump to oldest or latest logs",
|
|
2523
2526
|
" c Clear the log pane",
|
|
2524
2527
|
" q Quit",
|
|
2525
2528
|
" $ Enter shell mode",
|
|
@@ -2692,6 +2695,9 @@ var createWorkspaceTui = ({
|
|
|
2692
2695
|
let escapeTimer = null;
|
|
2693
2696
|
let escapeBuffer = "";
|
|
2694
2697
|
let readyDurationMs = null;
|
|
2698
|
+
let logScrollOffset = 0;
|
|
2699
|
+
let lastLogLineCount = 0;
|
|
2700
|
+
let lastLogViewportHeight = 0;
|
|
2695
2701
|
const shellHistory = [];
|
|
2696
2702
|
let shellHistoryIndex = UNFOUND_INDEX;
|
|
2697
2703
|
const serviceStates = new Map(services.map((service) => [
|
|
@@ -2791,7 +2797,16 @@ var createWorkspaceTui = ({
|
|
|
2791
2797
|
return `${" ".repeat(prefixPlain.length)}${getLogColor(entry.level)}${line}${colors.reset}`;
|
|
2792
2798
|
});
|
|
2793
2799
|
});
|
|
2794
|
-
|
|
2800
|
+
if (!helpVisible) {
|
|
2801
|
+
lastLogLineCount = contentLines.length;
|
|
2802
|
+
lastLogViewportHeight = logHeight;
|
|
2803
|
+
logScrollOffset = Math.min(logScrollOffset, Math.max(0, contentLines.length - logHeight));
|
|
2804
|
+
}
|
|
2805
|
+
const visibleContent = helpVisible ? contentLines.slice(0, logHeight) : (() => {
|
|
2806
|
+
const end = Math.max(0, contentLines.length - logScrollOffset);
|
|
2807
|
+
const start3 = Math.max(0, end - logHeight);
|
|
2808
|
+
return contentLines.slice(start3, end);
|
|
2809
|
+
})();
|
|
2795
2810
|
for (const line of visibleContent) {
|
|
2796
2811
|
rows.push(padLine(line, width));
|
|
2797
2812
|
}
|
|
@@ -2799,7 +2814,8 @@ var createWorkspaceTui = ({
|
|
|
2799
2814
|
rows.push(" ".repeat(width));
|
|
2800
2815
|
}
|
|
2801
2816
|
rows.push(divider);
|
|
2802
|
-
const
|
|
2817
|
+
const logState = !helpVisible && logScrollOffset > 0 ? `logs scrolled back ${logScrollOffset} line${logScrollOffset === 1 ? "" : "s"} \xB7 End for latest` : "live logs";
|
|
2818
|
+
const footerText = helpVisible ? "Esc or h closes help" : `Hotkeys: h help \u2191/\u2193 scroll PgUp/PgDn page End latest c clear q quit $ shell \xB7 ${logState}`;
|
|
2803
2819
|
rows.push(padLine(`${colors.dim}${truncateText(footerText, width)}${colors.reset}`, width));
|
|
2804
2820
|
const promptLine = shellMode ? `${colors.yellow}$ ${colors.reset}${truncateText(promptBuffer, Math.max(width - 2, 0))}` : `${colors.dim}Press a hotkey or $ for shell mode${colors.reset}`;
|
|
2805
2821
|
rows.push(padLine(promptLine, width));
|
|
@@ -2848,6 +2864,7 @@ var createWorkspaceTui = ({
|
|
|
2848
2864
|
};
|
|
2849
2865
|
const clearLogs = () => {
|
|
2850
2866
|
logEntries.length = 0;
|
|
2867
|
+
logScrollOffset = 0;
|
|
2851
2868
|
scheduleRender();
|
|
2852
2869
|
};
|
|
2853
2870
|
const getRecentLogs = (limit = 40) => logEntries.slice(Math.max(0, logEntries.length - limit));
|
|
@@ -2877,6 +2894,27 @@ var createWorkspaceTui = ({
|
|
|
2877
2894
|
promptBuffer = shellHistoryIndex === UNFOUND_INDEX ? "" : shellHistory[shellHistory.length - 1 - shellHistoryIndex] ?? "";
|
|
2878
2895
|
scheduleRender();
|
|
2879
2896
|
};
|
|
2897
|
+
const scrollLogs = (direction) => {
|
|
2898
|
+
if (helpVisible) {
|
|
2899
|
+
return;
|
|
2900
|
+
}
|
|
2901
|
+
const maxOffset = Math.max(0, lastLogLineCount - lastLogViewportHeight);
|
|
2902
|
+
const pageSize = Math.max(1, lastLogViewportHeight - 1);
|
|
2903
|
+
if (direction === "up") {
|
|
2904
|
+
logScrollOffset = Math.min(maxOffset, logScrollOffset + 1);
|
|
2905
|
+
} else if (direction === "down") {
|
|
2906
|
+
logScrollOffset = Math.max(0, logScrollOffset - 1);
|
|
2907
|
+
} else if (direction === "pageUp") {
|
|
2908
|
+
logScrollOffset = Math.min(maxOffset, logScrollOffset + pageSize);
|
|
2909
|
+
} else if (direction === "pageDown") {
|
|
2910
|
+
logScrollOffset = Math.max(0, logScrollOffset - pageSize);
|
|
2911
|
+
} else if (direction === "home") {
|
|
2912
|
+
logScrollOffset = maxOffset;
|
|
2913
|
+
} else {
|
|
2914
|
+
logScrollOffset = 0;
|
|
2915
|
+
}
|
|
2916
|
+
scheduleRender();
|
|
2917
|
+
};
|
|
2880
2918
|
const runShortcut = async (action) => {
|
|
2881
2919
|
if (action === "clear") {
|
|
2882
2920
|
clearLogs();
|
|
@@ -2912,13 +2950,49 @@ var createWorkspaceTui = ({
|
|
|
2912
2950
|
if (escapeBuffer === `${ESCAPE}[A`) {
|
|
2913
2951
|
clearPendingEscape();
|
|
2914
2952
|
escapeBuffer = "";
|
|
2915
|
-
|
|
2953
|
+
if (shellMode) {
|
|
2954
|
+
navigateShellHistory("up");
|
|
2955
|
+
} else {
|
|
2956
|
+
scrollLogs("up");
|
|
2957
|
+
}
|
|
2916
2958
|
return;
|
|
2917
2959
|
}
|
|
2918
2960
|
if (escapeBuffer === `${ESCAPE}[B`) {
|
|
2919
2961
|
clearPendingEscape();
|
|
2920
2962
|
escapeBuffer = "";
|
|
2921
|
-
|
|
2963
|
+
if (shellMode) {
|
|
2964
|
+
navigateShellHistory("down");
|
|
2965
|
+
} else {
|
|
2966
|
+
scrollLogs("down");
|
|
2967
|
+
}
|
|
2968
|
+
return;
|
|
2969
|
+
}
|
|
2970
|
+
if (escapeBuffer === `${ESCAPE}[5~`) {
|
|
2971
|
+
clearPendingEscape();
|
|
2972
|
+
escapeBuffer = "";
|
|
2973
|
+
scrollLogs("pageUp");
|
|
2974
|
+
return;
|
|
2975
|
+
}
|
|
2976
|
+
if (escapeBuffer === `${ESCAPE}[6~`) {
|
|
2977
|
+
clearPendingEscape();
|
|
2978
|
+
escapeBuffer = "";
|
|
2979
|
+
scrollLogs("pageDown");
|
|
2980
|
+
return;
|
|
2981
|
+
}
|
|
2982
|
+
if (escapeBuffer === `${ESCAPE}[H` || escapeBuffer === `${ESCAPE}[1~`) {
|
|
2983
|
+
clearPendingEscape();
|
|
2984
|
+
escapeBuffer = "";
|
|
2985
|
+
scrollLogs("home");
|
|
2986
|
+
return;
|
|
2987
|
+
}
|
|
2988
|
+
if (escapeBuffer === `${ESCAPE}[F` || escapeBuffer === `${ESCAPE}[4~`) {
|
|
2989
|
+
clearPendingEscape();
|
|
2990
|
+
escapeBuffer = "";
|
|
2991
|
+
scrollLogs("end");
|
|
2992
|
+
return;
|
|
2993
|
+
}
|
|
2994
|
+
if (/^\x1b\[[0-9]*$/.test(escapeBuffer)) {
|
|
2995
|
+
armEscapeTimer();
|
|
2922
2996
|
return;
|
|
2923
2997
|
}
|
|
2924
2998
|
exitEscapeMode();
|
package/dist/index.js
CHANGED
|
@@ -174823,7 +174823,7 @@ ${registrations}
|
|
|
174823
174823
|
({ tsLibDir } = cached);
|
|
174824
174824
|
cached.lastUsed = Date.now();
|
|
174825
174825
|
} else {
|
|
174826
|
-
const tsPath = __require.resolve("typescript");
|
|
174826
|
+
const tsPath = __require.resolve("/home/alexkahn/abs/absolutejs/node_modules/typescript/lib/typescript.js");
|
|
174827
174827
|
const tsRootDir = dirname9(tsPath);
|
|
174828
174828
|
tsLibDir = tsRootDir.endsWith("lib") ? tsRootDir : resolve18(tsRootDir, "lib");
|
|
174829
174829
|
const config = readConfiguration("./tsconfig.json");
|
|
@@ -188997,5 +188997,5 @@ export {
|
|
|
188997
188997
|
ANGULAR_INIT_TIMEOUT_MS
|
|
188998
188998
|
};
|
|
188999
188999
|
|
|
189000
|
-
//# debugId=
|
|
189000
|
+
//# debugId=A7EC3AF25BF78DB864756E2164756E21
|
|
189001
189001
|
//# sourceMappingURL=index.js.map
|