@aryan-vashishth/advanced-logger 0.1.0
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 +47 -0
- package/dist/actions.d.ts +71 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +265 -0
- package/dist/actions.js.map +1 -0
- package/dist/ansi.d.ts +144 -0
- package/dist/ansi.d.ts.map +1 -0
- package/dist/ansi.js +219 -0
- package/dist/ansi.js.map +1 -0
- package/dist/caller.d.ts +21 -0
- package/dist/caller.d.ts.map +1 -0
- package/dist/caller.js +129 -0
- package/dist/caller.js.map +1 -0
- package/dist/config.d.ts +89 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +196 -0
- package/dist/config.js.map +1 -0
- package/dist/core.d.ts +11 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +53 -0
- package/dist/core.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +7 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +10 -0
- package/dist/logger.js.map +1 -0
- package/dist/playwright.d.ts +15 -0
- package/dist/playwright.d.ts.map +1 -0
- package/dist/playwright.js +47 -0
- package/dist/playwright.js.map +1 -0
- package/dist/sinks.d.ts +48 -0
- package/dist/sinks.d.ts.map +1 -0
- package/dist/sinks.js +190 -0
- package/dist/sinks.js.map +1 -0
- package/dist/theme.d.ts +18 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +45 -0
- package/dist/theme.js.map +1 -0
- package/package.json +49 -0
package/dist/ansi.js
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ANSI escape factory + named color catalog.
|
|
4
|
+
* Port of core.logging.ansi.AnsiEscape and AnsiColors.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.RGB_BG = exports.RGB_FG = exports.BG_256 = exports.FG_256 = exports.BG_BRIGHT_WHITE = exports.BG_BRIGHT_CYAN = exports.BG_BRIGHT_MAGENTA = exports.BG_BRIGHT_BLUE = exports.BG_BRIGHT_YELLOW = exports.BG_BRIGHT_GREEN = exports.BG_BRIGHT_RED = exports.BG_BRIGHT_BLACK = exports.BG_WHITE = exports.BG_CYAN = exports.BG_MAGENTA = exports.BG_BLUE = exports.BG_YELLOW = exports.BG_GREEN = exports.BG_RED = exports.BG_BLACK = exports.FG_BRIGHT_WHITE = exports.FG_BRIGHT_CYAN = exports.FG_BRIGHT_MAGENTA = exports.FG_BRIGHT_BLUE = exports.FG_BRIGHT_YELLOW = exports.FG_BRIGHT_GREEN = exports.FG_BRIGHT_RED = exports.FG_BRIGHT_BLACK = exports.FG_WHITE = exports.FG_CYAN = exports.FG_MAGENTA = exports.FG_BLUE = exports.FG_YELLOW = exports.FG_GREEN = exports.FG_RED = exports.FG_BLACK = exports.colorize = exports.ITALIC = exports.DIM = exports.BOLD = exports.RESET = exports.bg256 = exports.fg256 = exports.rgbBgHex = exports.rgbFgHex = exports.rgbBg = exports.rgbFg = void 0;
|
|
8
|
+
exports.sgr = sgr;
|
|
9
|
+
exports.fg16 = fg16;
|
|
10
|
+
exports.bg16 = bg16;
|
|
11
|
+
exports.stripAnsi = stripAnsi;
|
|
12
|
+
exports.fgFromStyle = fgFromStyle;
|
|
13
|
+
const ESC = '\u001b[';
|
|
14
|
+
// -- Escape factory ----------------------------------------------------------
|
|
15
|
+
function sgr(...codes) {
|
|
16
|
+
if (codes.length === 0)
|
|
17
|
+
throw new RangeError('sgr() requires at least one code');
|
|
18
|
+
return `${ESC}${codes.join(';')}m`;
|
|
19
|
+
}
|
|
20
|
+
function fg16(code) {
|
|
21
|
+
if (!((code >= 30 && code <= 37) || (code >= 90 && code <= 97))) {
|
|
22
|
+
throw new RangeError(`16-color FG code must be in 30-37 or 90-97 (got ${code})`);
|
|
23
|
+
}
|
|
24
|
+
return sgr(code);
|
|
25
|
+
}
|
|
26
|
+
function bg16(code) {
|
|
27
|
+
if (!((code >= 40 && code <= 47) || (code >= 100 && code <= 107))) {
|
|
28
|
+
throw new RangeError(`16-color BG code must be in 40-47 or 100-107 (got ${code})`);
|
|
29
|
+
}
|
|
30
|
+
return sgr(code);
|
|
31
|
+
}
|
|
32
|
+
function validateRgb(r, g, b) {
|
|
33
|
+
for (const c of [r, g, b]) {
|
|
34
|
+
if (!Number.isInteger(c) || c < 0 || c > 255) {
|
|
35
|
+
throw new RangeError(`RGB components must be in 0-255 (got r=${r}, g=${g}, b=${b})`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function validate256(code) {
|
|
40
|
+
if (!Number.isInteger(code) || code < 0 || code > 255) {
|
|
41
|
+
throw new RangeError(`256-color code must be in 0-255 (got ${code})`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const rgbFg = (r, g, b) => {
|
|
45
|
+
validateRgb(r, g, b);
|
|
46
|
+
return `${ESC}38;2;${r};${g};${b}m`;
|
|
47
|
+
};
|
|
48
|
+
exports.rgbFg = rgbFg;
|
|
49
|
+
const rgbBg = (r, g, b) => {
|
|
50
|
+
validateRgb(r, g, b);
|
|
51
|
+
return `${ESC}48;2;${r};${g};${b}m`;
|
|
52
|
+
};
|
|
53
|
+
exports.rgbBg = rgbBg;
|
|
54
|
+
/** 0xRRGGBB overloads. */
|
|
55
|
+
const rgbFgHex = (rgb) => (0, exports.rgbFg)((rgb >> 16) & 0xff, (rgb >> 8) & 0xff, rgb & 0xff);
|
|
56
|
+
exports.rgbFgHex = rgbFgHex;
|
|
57
|
+
const rgbBgHex = (rgb) => (0, exports.rgbBg)((rgb >> 16) & 0xff, (rgb >> 8) & 0xff, rgb & 0xff);
|
|
58
|
+
exports.rgbBgHex = rgbBgHex;
|
|
59
|
+
const fg256 = (code) => {
|
|
60
|
+
validate256(code);
|
|
61
|
+
return `${ESC}38;5;${code}m`;
|
|
62
|
+
};
|
|
63
|
+
exports.fg256 = fg256;
|
|
64
|
+
const bg256 = (code) => {
|
|
65
|
+
validate256(code);
|
|
66
|
+
return `${ESC}48;5;${code}m`;
|
|
67
|
+
};
|
|
68
|
+
exports.bg256 = bg256;
|
|
69
|
+
exports.RESET = sgr(0);
|
|
70
|
+
exports.BOLD = sgr(1);
|
|
71
|
+
exports.DIM = sgr(2);
|
|
72
|
+
exports.ITALIC = sgr(3);
|
|
73
|
+
const colorize = (text, ansi, bg = '') => `${ansi}${bg}${text}${exports.RESET}`;
|
|
74
|
+
exports.colorize = colorize;
|
|
75
|
+
// -- Strip / extract ---------------------------------------------------------
|
|
76
|
+
const ANSI_RE = /\u001b\[[;\d]*m/g;
|
|
77
|
+
function stripAnsi(str) {
|
|
78
|
+
return str == null ? '' : str.replace(ANSI_RE, '');
|
|
79
|
+
}
|
|
80
|
+
/** Derive a foreground escape from a style string (bg-only styles map to their matching fg). */
|
|
81
|
+
function fgFromStyle(style) {
|
|
82
|
+
if (style == null)
|
|
83
|
+
return exports.FG_BRIGHT_WHITE;
|
|
84
|
+
const fg = /(\u001b\[3\d{1,2}(;\d{1,2})?m)/.exec(style);
|
|
85
|
+
if (fg)
|
|
86
|
+
return fg[1];
|
|
87
|
+
const m8 = /(\u001b\[4)(\d)(m)/.exec(style);
|
|
88
|
+
if (m8) {
|
|
89
|
+
const c = `\u001b[3${m8[2]}m`;
|
|
90
|
+
return c === exports.FG_BLACK ? exports.FG_BRIGHT_WHITE : c;
|
|
91
|
+
}
|
|
92
|
+
const m256 = /(\u001b\[48;5;)(\d+)(m)/.exec(style);
|
|
93
|
+
if (m256)
|
|
94
|
+
return `\u001b[38;5;${m256[2]}m`;
|
|
95
|
+
return exports.FG_BRIGHT_WHITE;
|
|
96
|
+
}
|
|
97
|
+
// -- Color catalog (data only) ----------------------------------------------
|
|
98
|
+
exports.FG_BLACK = fg16(30);
|
|
99
|
+
exports.FG_RED = fg16(31);
|
|
100
|
+
exports.FG_GREEN = fg16(32);
|
|
101
|
+
exports.FG_YELLOW = fg16(33);
|
|
102
|
+
exports.FG_BLUE = fg16(34);
|
|
103
|
+
exports.FG_MAGENTA = fg16(35);
|
|
104
|
+
exports.FG_CYAN = fg16(36);
|
|
105
|
+
exports.FG_WHITE = fg16(37);
|
|
106
|
+
exports.FG_BRIGHT_BLACK = fg16(90);
|
|
107
|
+
exports.FG_BRIGHT_RED = fg16(91);
|
|
108
|
+
exports.FG_BRIGHT_GREEN = fg16(92);
|
|
109
|
+
exports.FG_BRIGHT_YELLOW = fg16(93);
|
|
110
|
+
exports.FG_BRIGHT_BLUE = fg16(94);
|
|
111
|
+
exports.FG_BRIGHT_MAGENTA = fg16(95);
|
|
112
|
+
exports.FG_BRIGHT_CYAN = fg16(96);
|
|
113
|
+
exports.FG_BRIGHT_WHITE = fg16(97);
|
|
114
|
+
exports.BG_BLACK = bg16(40);
|
|
115
|
+
exports.BG_RED = bg16(41);
|
|
116
|
+
exports.BG_GREEN = bg16(42);
|
|
117
|
+
exports.BG_YELLOW = bg16(43);
|
|
118
|
+
exports.BG_BLUE = bg16(44);
|
|
119
|
+
exports.BG_MAGENTA = bg16(45);
|
|
120
|
+
exports.BG_CYAN = bg16(46);
|
|
121
|
+
exports.BG_WHITE = bg16(47);
|
|
122
|
+
exports.BG_BRIGHT_BLACK = bg16(100);
|
|
123
|
+
exports.BG_BRIGHT_RED = bg16(101);
|
|
124
|
+
exports.BG_BRIGHT_GREEN = bg16(102);
|
|
125
|
+
exports.BG_BRIGHT_YELLOW = bg16(103);
|
|
126
|
+
exports.BG_BRIGHT_BLUE = bg16(104);
|
|
127
|
+
exports.BG_BRIGHT_MAGENTA = bg16(105);
|
|
128
|
+
exports.BG_BRIGHT_CYAN = bg16(106);
|
|
129
|
+
exports.BG_BRIGHT_WHITE = bg16(107);
|
|
130
|
+
exports.FG_256 = {
|
|
131
|
+
ORANGE: (0, exports.fg256)(208),
|
|
132
|
+
GOLD: (0, exports.fg256)(220),
|
|
133
|
+
LIME: (0, exports.fg256)(118),
|
|
134
|
+
SKY: (0, exports.fg256)(117),
|
|
135
|
+
VIOLET: (0, exports.fg256)(135),
|
|
136
|
+
PINK: (0, exports.fg256)(205),
|
|
137
|
+
TEAL: (0, exports.fg256)(80),
|
|
138
|
+
SALMON: (0, exports.fg256)(209),
|
|
139
|
+
GREY_DARK: (0, exports.fg256)(240),
|
|
140
|
+
GREY_MID: (0, exports.fg256)(246),
|
|
141
|
+
GREY_LIGHT: (0, exports.fg256)(252),
|
|
142
|
+
NAVY: (0, exports.fg256)(17),
|
|
143
|
+
MAROON: (0, exports.fg256)(88),
|
|
144
|
+
OLIVE: (0, exports.fg256)(100),
|
|
145
|
+
INDIGO: (0, exports.fg256)(54),
|
|
146
|
+
};
|
|
147
|
+
exports.BG_256 = {
|
|
148
|
+
ORANGE: (0, exports.bg256)(208),
|
|
149
|
+
DARK_GREY: (0, exports.bg256)(235),
|
|
150
|
+
MID_GREY: (0, exports.bg256)(238),
|
|
151
|
+
NAVY: (0, exports.bg256)(17),
|
|
152
|
+
DARK_GREEN: (0, exports.bg256)(22),
|
|
153
|
+
DARK_TEAL: (0, exports.bg256)(23),
|
|
154
|
+
DARK_PURPLE: (0, exports.bg256)(53),
|
|
155
|
+
DARK_OLIVE: (0, exports.bg256)(94),
|
|
156
|
+
DARK_RED: (0, exports.bg256)(52),
|
|
157
|
+
MAROON: (0, exports.bg256)(88),
|
|
158
|
+
INDIGO: (0, exports.bg256)(54),
|
|
159
|
+
};
|
|
160
|
+
exports.RGB_FG = {
|
|
161
|
+
SNOW_WHITE: (0, exports.rgbFg)(240, 242, 245),
|
|
162
|
+
SOFT_WHITE: (0, exports.rgbFg)(210, 215, 220),
|
|
163
|
+
COOL_GREY: (0, exports.rgbFg)(140, 150, 165),
|
|
164
|
+
WARM_GREY: (0, exports.rgbFg)(160, 158, 150),
|
|
165
|
+
DEEP_CHARCOAL: (0, exports.rgbFg)(28, 30, 38),
|
|
166
|
+
GOLD: (0, exports.rgbFg)(255, 200, 50),
|
|
167
|
+
AMBER: (0, exports.rgbFg)(255, 170, 0),
|
|
168
|
+
PEACH: (0, exports.rgbFg)(255, 185, 110),
|
|
169
|
+
CORAL: (0, exports.rgbFg)(255, 105, 85),
|
|
170
|
+
SALMON: (0, exports.rgbFg)(255, 140, 105),
|
|
171
|
+
HOT_PINK: (0, exports.rgbFg)(255, 75, 170),
|
|
172
|
+
SKY_BLUE: (0, exports.rgbFg)(80, 185, 255),
|
|
173
|
+
ELECTRIC_BLUE: (0, exports.rgbFg)(50, 140, 255),
|
|
174
|
+
STEEL_CYAN: (0, exports.rgbFg)(90, 220, 220),
|
|
175
|
+
MINT: (0, exports.rgbFg)(60, 220, 175),
|
|
176
|
+
LIME_GREEN: (0, exports.rgbFg)(100, 240, 120),
|
|
177
|
+
NEON_GREEN: (0, exports.rgbFg)(80, 255, 120),
|
|
178
|
+
LAVENDER: (0, exports.rgbFg)(185, 155, 255),
|
|
179
|
+
VIOLET: (0, exports.rgbFg)(160, 100, 255),
|
|
180
|
+
PURPLE: (0, exports.rgbFg)(155, 111, 224),
|
|
181
|
+
DARKER_PURPLE: (0, exports.rgbFg)(122, 79, 196),
|
|
182
|
+
DEEP_PURPLE: (0, exports.rgbFg)(90, 54, 163),
|
|
183
|
+
DEEP_RED: (0, exports.rgbFg)(210, 48, 48),
|
|
184
|
+
DEEP_GREEN: (0, exports.rgbFg)(38, 185, 72),
|
|
185
|
+
DEEP_CYAN: (0, exports.rgbFg)(28, 188, 196),
|
|
186
|
+
DEEP_AMBER: (0, exports.rgbFg)(200, 155, 20),
|
|
187
|
+
DEEP_VIOLET: (0, exports.rgbFg)(152, 88, 210),
|
|
188
|
+
DEEP_ORANGE: (0, exports.rgbFg)(205, 88, 18),
|
|
189
|
+
DEEP_PINK: (0, exports.rgbFg)(210, 40, 125),
|
|
190
|
+
};
|
|
191
|
+
exports.RGB_BG = {
|
|
192
|
+
CHARCOAL: (0, exports.rgbBg)(35, 38, 46),
|
|
193
|
+
DARK_SLATE: (0, exports.rgbBg)(28, 32, 42),
|
|
194
|
+
MIDNIGHT: (0, exports.rgbBg)(16, 18, 26),
|
|
195
|
+
NEAR_BLACK: (0, exports.rgbBg)(20, 22, 30),
|
|
196
|
+
CARBON: (0, exports.rgbBg)(28, 28, 32),
|
|
197
|
+
STEEL_DARK: (0, exports.rgbBg)(48, 52, 62),
|
|
198
|
+
DARK_AMBER: (0, exports.rgbBg)(95, 62, 0),
|
|
199
|
+
VIVID_AMBER: (0, exports.rgbBg)(170, 105, 0),
|
|
200
|
+
RUST: (0, exports.rgbBg)(110, 48, 20),
|
|
201
|
+
CRIMSON: (0, exports.rgbBg)(100, 20, 25),
|
|
202
|
+
DARK_WINE: (0, exports.rgbBg)(90, 16, 36),
|
|
203
|
+
MAROON: (0, exports.rgbBg)(110, 22, 22),
|
|
204
|
+
ORANGE_VIVID: (0, exports.rgbBg)(200, 100, 0),
|
|
205
|
+
DARK_FOREST: (0, exports.rgbBg)(18, 52, 28),
|
|
206
|
+
DARK_OCEAN: (0, exports.rgbBg)(14, 38, 72),
|
|
207
|
+
DARK_TEAL: (0, exports.rgbBg)(14, 66, 66),
|
|
208
|
+
DARK_INDIGO: (0, exports.rgbBg)(28, 24, 68),
|
|
209
|
+
DARK_PURPLE: (0, exports.rgbBg)(45, 22, 72),
|
|
210
|
+
DARK_CYAN: (0, exports.rgbBg)(0, 80, 100),
|
|
211
|
+
SOFT_WHITE: (0, exports.rgbBg)(238, 240, 245),
|
|
212
|
+
LIGHT_GREY: (0, exports.rgbBg)(205, 210, 218),
|
|
213
|
+
WARM_AMBER_LT: (0, exports.rgbBg)(190, 140, 15),
|
|
214
|
+
TOMATO_RED: (0, exports.rgbBg)(190, 45, 45),
|
|
215
|
+
HOT_PINK: (0, exports.rgbBg)(195, 38, 115),
|
|
216
|
+
NEON_PURPLE: (0, exports.rgbBg)(115, 18, 175),
|
|
217
|
+
ELECTRIC_TEAL: (0, exports.rgbBg)(0, 150, 170),
|
|
218
|
+
};
|
|
219
|
+
//# sourceMappingURL=ansi.js.map
|
package/dist/ansi.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ansi.js","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"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"}
|
package/dist/caller.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { LogConfig } from './config';
|
|
2
|
+
/**
|
|
3
|
+
* Stack-based caller resolution. Port of getCallerString / getProjectCallChain.
|
|
4
|
+
* Parses V8 stack text; the logger's own folder is always excluded, which replaces
|
|
5
|
+
* Java's name-prefix suppression (and avoids dropping user methods such as `login`).
|
|
6
|
+
*/
|
|
7
|
+
interface Frame {
|
|
8
|
+
display: string;
|
|
9
|
+
file: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function parseStack(stack: string | undefined): Frame[];
|
|
12
|
+
export interface CallerInfo {
|
|
13
|
+
/** "Callee.method <- Caller.method" (arrow is U+2190), plain text. Empty when unknown. */
|
|
14
|
+
caller: string;
|
|
15
|
+
/** Full in-project chain, leaf first, joined by " <- ". */
|
|
16
|
+
chain: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const ARROW = " \u2190 ";
|
|
19
|
+
export declare function resolveCaller(cfg: LogConfig): CallerInfo;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=caller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../src/caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;GAIG;AAEH,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAsCD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,EAAE,CAU7D;AAiCD,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,KAAK,aAAQ,CAAC;AAE3B,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,UAAU,CAgCxD"}
|
package/dist/caller.js
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ARROW = void 0;
|
|
4
|
+
exports.parseStack = parseStack;
|
|
5
|
+
exports.resolveCaller = resolveCaller;
|
|
6
|
+
const FRAME_RE = /^\s*at\s+(?:(async)\s+)?(?:(new)\s+)?(?:(.+?)\s+\()?(.+?):(\d+):(\d+)\)?\s*$/;
|
|
7
|
+
const PLAIN_OBJECT_TYPES = new Set(['Object', 'Module', 'Function', 'Promise', 'Array']);
|
|
8
|
+
function normalizeFile(raw) {
|
|
9
|
+
let f = raw;
|
|
10
|
+
if (f.startsWith('file://')) {
|
|
11
|
+
f = f.slice('file://'.length);
|
|
12
|
+
if (/^\/[A-Za-z]:/.test(f))
|
|
13
|
+
f = f.slice(1);
|
|
14
|
+
try {
|
|
15
|
+
f = decodeURIComponent(f);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
/* keep raw */
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return f.replace(/\\/g, '/');
|
|
22
|
+
}
|
|
23
|
+
function fileBase(file) {
|
|
24
|
+
const name = file.slice(file.lastIndexOf('/') + 1);
|
|
25
|
+
const dot = name.lastIndexOf('.');
|
|
26
|
+
return dot > 0 ? name.slice(0, dot) : name;
|
|
27
|
+
}
|
|
28
|
+
function displayName(fn, file, isNew) {
|
|
29
|
+
const base = fileBase(file);
|
|
30
|
+
if (!fn)
|
|
31
|
+
return base;
|
|
32
|
+
const name = fn.replace(/\s*\[as [^\]]*\]$/, '');
|
|
33
|
+
if (isNew)
|
|
34
|
+
return `${name.split('.').pop()}.(constructor)`;
|
|
35
|
+
const dot = name.lastIndexOf('.');
|
|
36
|
+
if (dot < 0)
|
|
37
|
+
return name === '<anonymous>' ? base : `${base}.${name}`;
|
|
38
|
+
const type = name.slice(0, dot);
|
|
39
|
+
const method = name.slice(dot + 1);
|
|
40
|
+
const owner = PLAIN_OBJECT_TYPES.has(type) ? base : type;
|
|
41
|
+
return method === '<anonymous>' ? owner : `${owner}.${method}`;
|
|
42
|
+
}
|
|
43
|
+
function parseStack(stack) {
|
|
44
|
+
if (!stack)
|
|
45
|
+
return [];
|
|
46
|
+
const frames = [];
|
|
47
|
+
for (const line of stack.split('\n')) {
|
|
48
|
+
const m = FRAME_RE.exec(line);
|
|
49
|
+
if (!m)
|
|
50
|
+
continue;
|
|
51
|
+
const file = normalizeFile(m[4]);
|
|
52
|
+
frames.push({ display: displayName(m[3], file, m[2] === 'new'), file });
|
|
53
|
+
}
|
|
54
|
+
return frames;
|
|
55
|
+
}
|
|
56
|
+
// Folder holding this logger (src/ or dist/). Any frame inside it is logger-internal.
|
|
57
|
+
const SELF_DIR = (() => {
|
|
58
|
+
const first = parseStack(new Error().stack)[0];
|
|
59
|
+
if (!first)
|
|
60
|
+
return '\u0000';
|
|
61
|
+
return first.file.slice(0, first.file.lastIndexOf('/') + 1);
|
|
62
|
+
})();
|
|
63
|
+
function filteredOut(f, cfg) {
|
|
64
|
+
if (f.file.startsWith(SELF_DIR))
|
|
65
|
+
return true;
|
|
66
|
+
const method = f.display.slice(f.display.lastIndexOf('.') + 1);
|
|
67
|
+
for (const p of cfg.suppressMethodPrefixes)
|
|
68
|
+
if (method.startsWith(p))
|
|
69
|
+
return true;
|
|
70
|
+
if (cfg.includeOnlyPrefixes.size > 0) {
|
|
71
|
+
let hit = false;
|
|
72
|
+
for (const p of cfg.includeOnlyPrefixes) {
|
|
73
|
+
if (f.file.includes(p) || f.display.startsWith(p)) {
|
|
74
|
+
hit = true;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (!hit)
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
for (const s of cfg.suppressContains)
|
|
82
|
+
if (f.display.includes(s) || f.file.includes(s))
|
|
83
|
+
return true;
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
function isProjectFrame(f, cfg) {
|
|
87
|
+
if (f.file.startsWith(SELF_DIR) || f.file.includes('node_modules') || f.file.startsWith('node:'))
|
|
88
|
+
return false;
|
|
89
|
+
const roots = cfg.projectRoots.map((r) => r.replace(/\\/g, '/'));
|
|
90
|
+
return roots.some((r) => f.file.startsWith(r));
|
|
91
|
+
}
|
|
92
|
+
exports.ARROW = ' ← ';
|
|
93
|
+
function resolveCaller(cfg) {
|
|
94
|
+
const prev = Error.stackTraceLimit;
|
|
95
|
+
Error.stackTraceLimit = 60;
|
|
96
|
+
let frames;
|
|
97
|
+
try {
|
|
98
|
+
frames = parseStack(new Error().stack);
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
Error.stackTraceLimit = prev;
|
|
102
|
+
}
|
|
103
|
+
// caller: first surviving frame is the callee; next with a different display is the caller
|
|
104
|
+
let callee;
|
|
105
|
+
let caller;
|
|
106
|
+
for (const f of frames) {
|
|
107
|
+
if (filteredOut(f, cfg))
|
|
108
|
+
continue;
|
|
109
|
+
if (!callee) {
|
|
110
|
+
callee = f;
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
if (f.display === callee.display)
|
|
114
|
+
continue;
|
|
115
|
+
caller = f;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
const callerText = !callee ? '' : caller ? callee.display + exports.ARROW + caller.display : callee.display;
|
|
119
|
+
// chain: every project frame that survives filters, consecutive duplicates collapsed
|
|
120
|
+
const chain = [];
|
|
121
|
+
for (const f of frames) {
|
|
122
|
+
if (!isProjectFrame(f, cfg) || filteredOut(f, cfg))
|
|
123
|
+
continue;
|
|
124
|
+
if (chain[chain.length - 1] !== f.display)
|
|
125
|
+
chain.push(f.display);
|
|
126
|
+
}
|
|
127
|
+
return { caller: callerText, chain: chain.join(exports.ARROW) };
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=caller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caller.js","sourceRoot":"","sources":["../src/caller.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { LevelName } from './theme';
|
|
2
|
+
export type RootLevel = 'debug' | 'info' | 'warn' | 'error' | 'off';
|
|
3
|
+
export type AttachPolicy = 'on-failure' | 'always' | 'never';
|
|
4
|
+
export interface FileToggles {
|
|
5
|
+
/** Everything (all levels) plus caller suffix. */
|
|
6
|
+
debugTrace: boolean;
|
|
7
|
+
/** Console-visible lines only, no caller suffix. */
|
|
8
|
+
partialTrace: boolean;
|
|
9
|
+
/** Everything plus [CHAIN] suffix. */
|
|
10
|
+
fullTrace: boolean;
|
|
11
|
+
/** One structured JSON record per log call (QoL addition, off by default). */
|
|
12
|
+
jsonl: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface LogConfig {
|
|
15
|
+
/** Root threshold for console + partial-trace. Debug/full traces always capture everything. */
|
|
16
|
+
level: RootLevel;
|
|
17
|
+
/** ANSI output on/off. This is the theme toggle: on = HIGH_CONTRAST, off = plain text. */
|
|
18
|
+
ansi: boolean;
|
|
19
|
+
/** Console-only: color the caller suffix separately. Breaks one-ANSI-block-per-line. */
|
|
20
|
+
callerColor: boolean;
|
|
21
|
+
/** Java-style pattern (yyyy MM dd HH mm ss SSS) or a formatter function. */
|
|
22
|
+
tsFormat: string | ((d: Date) => string);
|
|
23
|
+
segmentDivider: string;
|
|
24
|
+
tableCellLimit: number;
|
|
25
|
+
tableCellLimitEnabled: boolean;
|
|
26
|
+
/** Frames whose class or file path contains any of these are dropped from caller/chain. */
|
|
27
|
+
suppressContains: Set<string>;
|
|
28
|
+
suppressMethodPrefixes: Set<string>;
|
|
29
|
+
/** When non-empty, only frames whose file path contains / class starts with one of these are kept. */
|
|
30
|
+
includeOnlyPrefixes: Set<string>;
|
|
31
|
+
/** Frames under these roots (and not in node_modules) form the [CHAIN]. */
|
|
32
|
+
projectRoots: string[];
|
|
33
|
+
console: boolean;
|
|
34
|
+
files: FileToggles;
|
|
35
|
+
logDir: string;
|
|
36
|
+
/** Emit ::error:: / ::warning:: workflow commands when running under GitHub Actions. */
|
|
37
|
+
githubAnnotations: boolean;
|
|
38
|
+
/** Mask values of these field keys (case-insensitive substring match) in tree/table/row output. */
|
|
39
|
+
redactKeys: string[];
|
|
40
|
+
/** Playwright integration: when to attach the per-test log to the report. */
|
|
41
|
+
attach: AttachPolicy;
|
|
42
|
+
}
|
|
43
|
+
export declare const levelEnabled: (root: RootLevel, level: LevelName) => boolean;
|
|
44
|
+
/** Explicit env wins, then NO_COLOR/FORCE_COLOR, then TTY/terminal hints, then CI renderers that show ANSI. */
|
|
45
|
+
export declare function detectAnsiSupport(env?: NodeJS.ProcessEnv, isTTY?: boolean): boolean;
|
|
46
|
+
export declare const config: () => LogConfig;
|
|
47
|
+
export type LogConfigPatch = Partial<Omit<LogConfig, 'files' | 'suppressContains' | 'suppressMethodPrefixes' | 'includeOnlyPrefixes'>> & {
|
|
48
|
+
files?: Partial<FileToggles>;
|
|
49
|
+
suppressContains?: Iterable<string>;
|
|
50
|
+
suppressMethodPrefixes?: Iterable<string>;
|
|
51
|
+
includeOnlyPrefixes?: Iterable<string>;
|
|
52
|
+
};
|
|
53
|
+
/** Merge a patch, or mutate in place with a callback. Set-typed fields accept arrays in a patch. */
|
|
54
|
+
export declare function configure(patch: LogConfigPatch | ((cfg: LogConfig) => void)): LogConfig;
|
|
55
|
+
/** Restore defaults (re-reads env). Mainly for tests. */
|
|
56
|
+
export declare function resetConfig(): LogConfig;
|
|
57
|
+
export declare const enableAnsi: () => void;
|
|
58
|
+
export declare const disableAnsi: () => void;
|
|
59
|
+
export declare const isAnsiEnabled: () => boolean;
|
|
60
|
+
export declare const enableCallerColor: () => void;
|
|
61
|
+
export declare const disableCallerColor: () => void;
|
|
62
|
+
export declare const isCallerColorEnabled: () => boolean;
|
|
63
|
+
export declare const isDebugEnabled: () => boolean;
|
|
64
|
+
export declare function includeOnlyPackages(...prefixes: string[]): void;
|
|
65
|
+
export declare function suppressClassContains(...substrings: string[]): void;
|
|
66
|
+
export declare function suppressMethodPrefix(...prefixes: string[]): void;
|
|
67
|
+
export declare const clearIncludes: () => void;
|
|
68
|
+
export declare const LINE_BREAKS: RegExp;
|
|
69
|
+
export declare const LINE_BREAKS_NO_G: RegExp;
|
|
70
|
+
export declare function truncateCell(s: unknown): string;
|
|
71
|
+
/** Set a table cell limit (min 4) and enable it. */
|
|
72
|
+
export declare function setTableCellLimit(limit: number): void;
|
|
73
|
+
export declare const disableTableCellLimit: () => void;
|
|
74
|
+
export declare function formatTs(cfg: LogConfig, d: Date): string;
|
|
75
|
+
/**
|
|
76
|
+
* Set VOID_RUN_ID / VOID_RUN_DATE if absent so every Playwright worker (which inherits the runner's env)
|
|
77
|
+
* shares one run id. Call from globalSetup. Idempotent.
|
|
78
|
+
*/
|
|
79
|
+
export declare function initRun(): {
|
|
80
|
+
runId: string;
|
|
81
|
+
runDate: string;
|
|
82
|
+
};
|
|
83
|
+
export declare function getRun(): {
|
|
84
|
+
runId: string;
|
|
85
|
+
runDate: string;
|
|
86
|
+
};
|
|
87
|
+
/** Worker label for the thread column: w<TEST_WORKER_INDEX> under Playwright, else "main". */
|
|
88
|
+
export declare function workerLabel(env?: NodeJS.ProcessEnv): string;
|
|
89
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|