@void.01/advanced-logger 0.4.1 → 0.6.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.
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.loadedConfigFile = exports.CONFIG_FILE_NAMES = void 0;
36
+ exports.FILE_KEYS = exports.KEYS = exports.loadedConfigFile = exports.CONFIG_FILE_NAMES = void 0;
37
37
  exports.resolveConfigFile = resolveConfigFile;
38
38
  exports.loadConfigFile = loadConfigFile;
39
39
  exports.forgetConfigFile = forgetConfigFile;
@@ -127,7 +127,8 @@ const str = (v) => typeof v === 'string';
127
127
  const strList = (v) => (Array.isArray(v) || v instanceof Set) && [...v].every((x) => typeof x === 'string');
128
128
  const strArr = (v) => Array.isArray(v) && v.every((x) => typeof x === 'string');
129
129
  const oneOf = (...allowed) => (v) => typeof v === 'string' && allowed.includes(v);
130
- const KEYS = {
130
+ /** Every config option: its check and how to describe a valid value. init.ts lists the same options (a test keeps them in step). */
131
+ exports.KEYS = {
131
132
  level: [oneOf('debug', 'info', 'warn', 'error', 'off'), "one of 'debug' | 'info' | 'warn' | 'error' | 'off'"],
132
133
  ansi: [bool, 'a boolean'],
133
134
  fg: [bool, 'a boolean'],
@@ -155,16 +156,17 @@ const KEYS = {
155
156
  redactKeys: [strArr, 'an array of strings'],
156
157
  attach: [oneOf('on-failure', 'always', 'never'), "one of 'on-failure' | 'always' | 'never'"],
157
158
  };
158
- const FILE_KEYS = ['debugTrace', 'partialTrace', 'fullTrace', 'jsonl', 'tables'];
159
+ /** The entries `files` may have. */
160
+ exports.FILE_KEYS = ['debugTrace', 'partialTrace', 'fullTrace', 'jsonl', 'tables'];
159
161
  function checkPatch(value, where) {
160
162
  const out = {};
161
163
  const problems = [];
162
164
  for (const [key, v] of Object.entries(value)) {
163
165
  if (v === undefined)
164
166
  continue;
165
- const rule = KEYS[key];
167
+ const rule = exports.KEYS[key];
166
168
  if (!rule) {
167
- problems.push({ key, message: `[advanced-logger] ${where} has an unknown option '${key}'. Valid options: ${Object.keys(KEYS).join(', ')}.` });
169
+ problems.push({ key, message: `[advanced-logger] ${where} has an unknown option '${key}'. Valid options: ${Object.keys(exports.KEYS).join(', ')}.` });
168
170
  continue;
169
171
  }
170
172
  if (!rule[0](v)) {
@@ -176,8 +178,8 @@ function checkPatch(value, where) {
176
178
  for (const [fk, fv] of Object.entries(v)) {
177
179
  if (fv === undefined)
178
180
  continue;
179
- if (!FILE_KEYS.includes(fk) || typeof fv !== 'boolean') {
180
- problems.push({ key: `files.${fk}`, message: `[advanced-logger] ${where}: option 'files.${fk}' must be a boolean and one of ${FILE_KEYS.join(', ')}.` });
181
+ if (!exports.FILE_KEYS.includes(fk) || typeof fv !== 'boolean') {
182
+ problems.push({ key: `files.${fk}`, message: `[advanced-logger] ${where}: option 'files.${fk}' must be a boolean and one of ${exports.FILE_KEYS.join(', ')}.` });
181
183
  continue;
182
184
  }
183
185
  files[fk] = fv;
@@ -1 +1 @@
1
- {"version":3,"file":"configFile.js","sourceRoot":"","sources":["../src/configFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configFile.js","sourceRoot":"","sources":["../src/configFile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,SAAS,EAAe,MAAM,SAAS,CAAC;AAErE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAC;AAKlF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG7E;AACD,eAAO,MAAM,cAAc,QAAO,MAAM,GAAG,SAAwB,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAAG,IAAI,EACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;AAClC,+FAA+F;AAC/F,KAAK,CAAC,EAAE,SAAS,GAChB,IAAI,CA8BN;AAyCD,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAEtF"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,SAAS,EAAe,MAAM,SAAS,CAAC;AAErE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,SAAS,EAAgB,MAAM,SAAS,CAAC;AAKlF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG7E;AACD,eAAO,MAAM,cAAc,QAAO,MAAM,GAAG,SAAwB,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAAG,IAAI,EACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;AAClC,+FAA+F;AAC/F,KAAK,CAAC,EAAE,SAAS,GAChB,IAAI,CAuCN;AAyCD,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAEtF"}
package/dist/core.js CHANGED
@@ -42,16 +42,23 @@ table) {
42
42
  message.length > limit &&
43
43
  (0, config_1.levelEnabled)(cfg.level, 'INFO')) {
44
44
  const total = message.length;
45
- emit(level, intent, color, label, `${message.slice(0, limit)}... (${total} chars)`);
46
- emit('WARN', theme_1.LogIntent.BASE, themed('WARN', theme_1.LogIntent.BASE), 'WARN', `INFO log exceeded the ${limit} char threshold (${total} chars). Refer to the debug logs to see the full text. ${(0, config_1.infoLimitHint)()}`);
45
+ const hint = (0, config_1.infoLimitHint)();
46
+ const notice = `Some INFO logs exceed the ${limit} char limit. Any INFO log longer than ${limit} chars is truncated on the console ` +
47
+ `and in partial-trace. Refer to debug-trace for the full text. ${hint}`;
48
+ emit(level, intent, color, label, `${message.slice(0, limit)}... (${total} chars)`, {
49
+ truncation: { part: 'cut', limit, full: message, notice },
50
+ });
51
+ emit('WARN', theme_1.LogIntent.BASE, themed('WARN', theme_1.LogIntent.BASE), 'WARN', `INFO log exceeded the ${limit} char threshold (${total} chars). Refer to the debug logs to see the full text. ${hint}`, { truncation: { part: 'warn', limit } });
47
52
  // A plain log() line is labelled with its own level; the full-text copy is a DEBUG line, so relabel it.
48
53
  // BASE lines take the level's color, so the copy turns DEBUG grey; an action line keeps its own color.
49
- emit('DEBUG', intent, intent === theme_1.LogIntent.BASE ? themed('DEBUG', intent) : color, label === level ? 'DEBUG' : label, message);
54
+ emit('DEBUG', intent, intent === theme_1.LogIntent.BASE ? themed('DEBUG', intent) : color, label === level ? 'DEBUG' : label, message, {
55
+ truncation: { part: 'copy', limit },
56
+ });
50
57
  return;
51
58
  }
52
- emit(level, intent, color, label, message, table);
59
+ emit(level, intent, color, label, message, { table });
53
60
  }
54
- function emit(level, intent, color, label, message, table) {
61
+ function emit(level, intent, color, label, message, extra = {}) {
55
62
  const cfg = (0, config_1.config)();
56
63
  const sinks = (0, sinks_1.activeSinks)().filter((s) => s.accepts(level, cfg));
57
64
  if (sinks.length === 0)
@@ -71,7 +78,7 @@ function emit(level, intent, color, label, message, table) {
71
78
  worker: (0, config_1.workerLabel)(),
72
79
  test: currentTest,
73
80
  testTitle: currentTitle,
74
- table,
81
+ ...extra,
75
82
  };
76
83
  for (const s of sinks) {
77
84
  try {
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,5 +8,5 @@ export type { LevelName, LogAction } from './theme';
8
8
  export { stripAnsi, fgFromStyle } from './ansi';
9
9
  export { setTestContext, getTestContext } from './core';
10
10
  export { addSink, removeSink, captureLogs, closeAllFiles, traceFilePath, tableFilePath } from './sinks';
11
- export type { Sink, LogEvent, Capture, TableData } from './sinks';
11
+ export type { Sink, LogEvent, Capture, TableData, Truncation } from './sinks';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5D,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EACP,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACjF,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxG,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5D,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EACL,MAAM,EACN,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EACP,MAAM,EACN,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACjF,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxG,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
package/dist/init.d.ts ADDED
@@ -0,0 +1,54 @@
1
+ /**
2
+ * `npx @void.01/advanced-logger init`: writes a logger.config.ts with the common options set to their defaults and
3
+ * the advanced ones commented out (so the logger picks them, some detected at runtime), or adds the options an
4
+ * existing config file does not mention yet. Text-based, so the user's formatting and comments are kept; nothing
5
+ * already in the file is changed.
6
+ */
7
+ interface Option {
8
+ key: string;
9
+ /** Allowed values, shown above the key with the default. */
10
+ type: string;
11
+ about: string;
12
+ /** Commented out in the template: left that way, the logger picks the default. */
13
+ advanced: boolean;
14
+ /** The default, written as the value. */
15
+ value?: unknown;
16
+ /** Source text for a default that is not a plain value (`[process.cwd()]`). */
17
+ raw?: string;
18
+ /** Said instead of the value when the default is worked out at runtime. */
19
+ detected?: string;
20
+ }
21
+ /**
22
+ * Every top-level option, common ones first, in template order. test/init.test.ts checks the keys against
23
+ * configFile's KEYS and the values against the built-in defaults.
24
+ */
25
+ export declare const OPTIONS: Option[];
26
+ /** Entries of `files`, in template order. Always written as values: they are common, and none is detected. */
27
+ export declare const FILE_OPTIONS: Option[];
28
+ /** A new logger.config.ts importing defineConfig from `pkg`, without the stamp line (init adds it). */
29
+ export declare function template(pkg: string): string;
30
+ export interface MergeResult {
31
+ text: string;
32
+ added: string[];
33
+ /** True when the config is a function with a body: everything was added as comments above it. */
34
+ commentedOnly: boolean;
35
+ }
36
+ /** Works on \n text and gives the file's own line ends back (Windows files stay CRLF). */
37
+ export declare function addMissing(source: string): MergeResult;
38
+ /** What init did, for the CLI to print. */
39
+ export interface InitOutcome {
40
+ /** The config file created, updated or looked at. */
41
+ file: string;
42
+ /** 'refused': the file could not be read as a config (invalid JSON) and was left as is; the CLI exits 1. */
43
+ action: 'created' | 'updated' | 'unchanged' | 'refused';
44
+ /** Options added, `files.<entry>` for an entry of `files`. */
45
+ added: string[];
46
+ message: string;
47
+ }
48
+ /**
49
+ * Creates `dir`/logger.config.ts from the template, stamped, or adds the missing options to the first existing
50
+ * config file (CONFIG_FILE_NAMES order), backing it up first. Never removes or rewrites what the file has.
51
+ */
52
+ export declare function init(dir: string, pkg: string): InitOutcome;
53
+ export {};
54
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,UAAU,MAAM;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,EA4B3B,CAAC;AAEF,8GAA8G;AAC9G,eAAO,MAAM,YAAY,EAAE,MAAM,EAMhC,CAAC;AAwCF,uGAAuG;AACvG,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAU5C;AAmDD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iGAAiG;IACjG,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAItD;AA4CD,2CAA2C;AAC3C,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,4GAA4G;IAC5G,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IACxD,8DAA8D;IAC9D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAsCD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,CAsB1D"}
package/dist/init.js ADDED
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.FILE_OPTIONS = exports.OPTIONS = void 0;
37
+ exports.template = template;
38
+ exports.addMissing = addMissing;
39
+ exports.init = init;
40
+ const fs = __importStar(require("node:fs"));
41
+ const path = __importStar(require("node:path"));
42
+ const configBackup_1 = require("./configBackup");
43
+ const configFile_1 = require("./configFile");
44
+ /**
45
+ * Every top-level option, common ones first, in template order. test/init.test.ts checks the keys against
46
+ * configFile's KEYS and the values against the built-in defaults.
47
+ */
48
+ exports.OPTIONS = [
49
+ { key: 'level', type: "'debug' | 'info' | 'warn' | 'error' | 'off'", value: 'info', advanced: false, about: 'Console, partial-trace and the report attachment show this level and above. debug-trace and full-trace always record every level.' },
50
+ { key: 'console', type: 'boolean', value: true, advanced: false, about: 'Print log lines to the console.' },
51
+ { key: 'consoleWorker', type: 'boolean', value: false, advanced: false, about: 'Prefix console lines with the worker (w0, w1, ...).' },
52
+ { key: 'consoleTest', type: 'boolean', value: false, advanced: false, about: "Prefix console lines with the running test's title (max 40 chars)." },
53
+ { key: 'infoLogsCharLimit', type: 'number, or null for no limit', value: null, advanced: false, about: 'INFO logs longer than this are cut on the console and in partial-trace; debug-trace keeps the full text.' },
54
+ { key: 'logDir', type: 'string', value: './logs', advanced: false, about: 'Folder for trace files and table attachments.' },
55
+ { key: 'files', type: 'booleans', advanced: false, about: 'Which files to write.' },
56
+ { key: 'maxLogFiles', type: 'integer, or null to keep all', value: null, advanced: false, about: 'Keep the newest N trace files per kind.' },
57
+ { key: 'maxRuns', type: 'integer, or null to keep all', value: null, advanced: false, about: 'Keep the files of the newest N runs.' },
58
+ { key: 'redactKeys', type: 'string[]', value: ['password', 'passwd', 'secret', 'token', 'authorization', 'apikey', 'api_key'], advanced: false, about: 'Field keys whose values print as ***. Setting this replaces the defaults.' },
59
+ { key: 'attach', type: "'on-failure' | 'always' | 'never'", value: 'on-failure', advanced: false, about: "When the Playwright fixture attaches the test's log to the report." },
60
+ { key: 'ansi', type: 'boolean', value: true, detected: 'detected from NO_COLOR, FORCE_COLOR, the terminal and CI', advanced: true, about: 'Colors on or off. Off overrides fg and bg.' },
61
+ { key: 'fg', type: 'boolean', value: true, advanced: true, about: 'Per-action text colors (needs ansi).' },
62
+ { key: 'bg', type: 'boolean', value: true, advanced: true, about: 'Theme background color (needs ansi).' },
63
+ { key: 'callerColor', type: 'boolean', value: false, advanced: true, about: 'Color the caller suffix separately on the console.' },
64
+ { key: 'tsFormat', type: 'pattern string, or (date) => string', value: 'yyyy-MM-dd HH:mm:ss.SSS', advanced: true, about: 'Timestamp format.' },
65
+ { key: 'segmentDivider', type: 'string', value: ' │ ', advanced: true, about: 'Separator between the parts of a line.' },
66
+ { key: 'tableCellLimit', type: 'number', value: 40, advanced: true, about: 'Max characters per table cell, when tableCellLimitEnabled is true.' },
67
+ { key: 'tableCellLimitEnabled', type: 'boolean', value: false, advanced: true, about: 'Cut table cells at tableCellLimit.' },
68
+ { key: 'recentRunMinutes', type: 'number', value: 60, advanced: true, about: 'Never delete a run with a file changed in the last N minutes.' },
69
+ { key: 'redactText', type: 'boolean', value: true, advanced: true, about: 'Mask key=value secrets inside message text.' },
70
+ { key: 'suppressContains', type: 'string[]', value: ['node_modules', 'node:', '<anonymous>'], advanced: true, about: 'Stack frames containing any of these are left out of the caller and [CHAIN].' },
71
+ { key: 'suppressMethodPrefixes', type: 'string[]', value: [], advanced: true, about: 'Stack frames whose method starts with any of these are left out.' },
72
+ { key: 'includeOnlyPrefixes', type: 'string[], empty to keep all', value: [], advanced: true, about: 'When set, only frames from these paths or classes are kept.' },
73
+ { key: 'projectRoots', type: 'string[]', raw: '[process.cwd()]', advanced: true, about: 'Frames under these folders form the [CHAIN] in full-trace.' },
74
+ { key: 'githubAnnotations', type: 'boolean', value: false, detected: 'true under GitHub Actions, else false', advanced: true, about: 'Also print ::error:: / ::warning:: lines for GitHub.' },
75
+ ];
76
+ /** Entries of `files`, in template order. Always written as values: they are common, and none is detected. */
77
+ exports.FILE_OPTIONS = [
78
+ { key: 'debugTrace', type: 'boolean', value: true, advanced: false, about: 'Every level, with the caller.' },
79
+ { key: 'partialTrace', type: 'boolean', value: true, advanced: false, about: 'The lines visible at `level`.' },
80
+ { key: 'fullTrace', type: 'boolean', value: true, advanced: false, about: 'Every level, with the [CHAIN].' },
81
+ { key: 'jsonl', type: 'boolean', value: false, advanced: false, about: 'One JSON record per log call.' },
82
+ { key: 'tables', type: 'boolean', value: true, advanced: false, about: 'A CSV and a JSON file for every logged table.' },
83
+ ];
84
+ /** A value as TypeScript/JavaScript source, single-quoted. */
85
+ function literal(v) {
86
+ if (typeof v === 'string')
87
+ return `'${v.replace(/\\/g, '\\\\').replace(/'/g, "\\'")}'`;
88
+ if (Array.isArray(v))
89
+ return `[${v.map(literal).join(', ')}]`;
90
+ if (v !== null && typeof v === 'object')
91
+ return `{ ${Object.entries(v).map(([k, x]) => `${k}: ${literal(x)}`).join(', ')} }`;
92
+ return String(v);
93
+ }
94
+ const FILES_DEFAULT = Object.fromEntries(exports.FILE_OPTIONS.map((o) => [o.key, o.value]));
95
+ const sourceOf = (o) => o.raw ?? literal(o.key === 'files' ? FILES_DEFAULT : o.value);
96
+ const describe = (o) => `// ${o.about} Type: ${o.type}. Default: ${o.detected ?? sourceOf(o)}.`;
97
+ /** The option's comment and its line; `commented` writes `// key: default,`, which the logger ignores. */
98
+ function optionLines(o, indent, commented = o.advanced) {
99
+ if (o.key === 'files' && !commented) {
100
+ const inner = indent + ' ';
101
+ return [`${indent}${describe(o)}`, `${indent}files: {`, ...exports.FILE_OPTIONS.flatMap((f) => optionLines(f, inner)), `${indent}},`];
102
+ }
103
+ return [`${indent}${describe(o)}`, `${indent}${commented ? '// ' : ''}${o.key}: ${sourceOf(o)},`];
104
+ }
105
+ const COMMON_HEADER = ['// ---- Common options ----', '// Set to their defaults. Change any value.'];
106
+ const ADVANCED_HEADER = [
107
+ '// ---- Advanced options ----',
108
+ '// Commented out, so the logger picks the default (some are detected at runtime). Uncomment one to change it.',
109
+ ];
110
+ /** Common options under their header, then the advanced ones under theirs. `commented` comments out every line. */
111
+ function optionSection(options, indent, commented) {
112
+ const common = options.filter((o) => !o.advanced);
113
+ const advanced = options.filter((o) => o.advanced);
114
+ const section = (header, list) => list.length === 0 ? [] : [...header.map((h) => indent + h), ...list.flatMap((o) => optionLines(o, indent, commented))];
115
+ const first = section(COMMON_HEADER, common);
116
+ const second = section(ADVANCED_HEADER, advanced);
117
+ return [...first, ...(first.length && second.length ? [''] : []), ...second];
118
+ }
119
+ /** A new logger.config.ts importing defineConfig from `pkg`, without the stamp line (init adds it). */
120
+ function template(pkg) {
121
+ return [
122
+ `import { defineConfig } from '${pkg}';`,
123
+ '',
124
+ `// After upgrading, run \`npx ${pkg} init\` again to add options that are new.`,
125
+ 'export default defineConfig({',
126
+ ...optionSection(exports.OPTIONS, ' '),
127
+ '});',
128
+ '',
129
+ ].join('\n');
130
+ }
131
+ // -- Adding missing options to an existing file -------------------------------
132
+ /** The key appears as a property (or a commented-out one): at a line start, or after `{` or `,`. */
133
+ const mentions = (text, key) => new RegExp(`(^|[{,])\\s*(?://\\s*)?['"]?${key}['"]?\\s*:`, 'm').test(text);
134
+ /** A line up to its `//` comment, ignoring `//` inside quotes (URLs in strings). */
135
+ function codeOf(line) {
136
+ let quote = null;
137
+ for (let i = 0; i < line.length; i++) {
138
+ const c = line[i];
139
+ if (quote) {
140
+ if (c === '\\')
141
+ i++;
142
+ else if (c === quote)
143
+ quote = null;
144
+ }
145
+ else if (c === "'" || c === '"' || c === '`')
146
+ quote = c;
147
+ else if (c === '/' && line[i + 1] === '/')
148
+ return line.slice(0, i);
149
+ }
150
+ return line;
151
+ }
152
+ /** Index of the last code character before `end`, skipping whitespace and line comments; -1 when none. */
153
+ function lastCodeChar(text, end) {
154
+ let i = end - 1;
155
+ while (i >= 0) {
156
+ const start = text.lastIndexOf('\n', i) + 1;
157
+ const code = codeOf(text.slice(start, i + 1)).trimEnd();
158
+ if (code.trim() !== '')
159
+ return start + code.length - 1;
160
+ i = start - 2;
161
+ }
162
+ return -1;
163
+ }
164
+ const indentOfLine = (text, at) => /^[ \t]*/.exec(text.slice(text.lastIndexOf('\n', at - 1) + 1))[0];
165
+ /**
166
+ * Insert `lines` just before the `}` at `close`, adding a comma after the last property when it has none.
167
+ * Returns the new text.
168
+ */
169
+ function insertBefore(text, close, lines) {
170
+ const last = lastCodeChar(text, close);
171
+ let out = text;
172
+ if (last >= 0 && out[last] !== ',' && out[last] !== '{') {
173
+ out = out.slice(0, last + 1) + ',' + out.slice(last + 1);
174
+ close++;
175
+ }
176
+ const head = out.slice(0, close).replace(/[ \t]*$/, '');
177
+ const closingIndent = out.slice(head.length, close);
178
+ return `${head}${head.endsWith('\n') ? '' : '\n'}${lines.join('\n')}\n${closingIndent}${out.slice(close)}`;
179
+ }
180
+ /** Works on \n text and gives the file's own line ends back (Windows files stay CRLF). */
181
+ function addMissing(source) {
182
+ const crlf = source.includes('\r\n');
183
+ const result = addMissingLf(crlf ? source.replace(/\r\n/g, '\n') : source);
184
+ return crlf ? { ...result, text: result.text.replace(/\n/g, '\r\n') } : result;
185
+ }
186
+ function addMissingLf(text) {
187
+ const missingTop = exports.OPTIONS.filter((o) => !mentions(text, o.key));
188
+ const filesAt = /files\s*:\s*\{/.exec(text);
189
+ const missingFiles = filesAt ? exports.FILE_OPTIONS.filter((o) => !mentions(text, o.key)) : [];
190
+ const added = [...missingTop.map((o) => o.key), ...missingFiles.map((o) => `files.${o.key}`)];
191
+ if (added.length === 0)
192
+ return { text, added, commentedOnly: false };
193
+ // The exported object closes at the file's last `}`. A function with a block body ends `...; }` instead: there
194
+ // is no object to put values in, but comments are safe anywhere, so the options go above the export as comments.
195
+ const close = text.lastIndexOf('}');
196
+ if (close < 0 || text[lastCodeChar(text, close)] === ';') {
197
+ const exportAt = /^.*(?:export\s+default|module\.exports)/m.exec(text);
198
+ const at = exportAt ? exportAt.index : 0;
199
+ const lines = [
200
+ '// Added by advanced-logger init: options this config does not set. To use one, put it in the object the',
201
+ '// function returns. Left out, each uses the default shown.',
202
+ ...optionSection(missingTop, '', true),
203
+ ...missingFiles.flatMap((o) => optionLines(o, '', true)),
204
+ '',
205
+ ];
206
+ return { text: text.slice(0, at) + lines.join('\n') + '\n' + text.slice(at), added, commentedOnly: true };
207
+ }
208
+ let out = text;
209
+ // Top-level options first: they go at the end, so the files insertion point (earlier in the text) does not move.
210
+ if (missingTop.length > 0) {
211
+ const indent = indentOfLine(out, lastCodeChar(out, close)) || ' ';
212
+ out = insertBefore(out, close, [`${indent}// Added by advanced-logger init: options this file did not mention.`, ...optionSection(missingTop, indent)]);
213
+ }
214
+ if (missingFiles.length > 0) {
215
+ const open = /files\s*:\s*\{/.exec(out);
216
+ const at = open.index + open[0].length;
217
+ const inner = indentOfLine(out, open.index) + ' ';
218
+ const lines = missingFiles.flatMap((o) => optionLines(o, inner));
219
+ // After the `{`: each line ends in a comma, so whatever followed stays valid.
220
+ out = `${out.slice(0, at)}\n${lines.join('\n')}${out[at] === '\n' ? '' : '\n' + inner}${out.slice(at)}`;
221
+ }
222
+ return { text: out, added, commentedOnly: false };
223
+ }
224
+ /**
225
+ * JSON has no comments, so only the common options can be added, as their default values. The advanced ones are
226
+ * left out, which is the same as commented out: the logger picks their defaults.
227
+ */
228
+ function initJson(file) {
229
+ const name = path.basename(file);
230
+ let json;
231
+ try {
232
+ json = JSON.parse(fs.readFileSync(file, 'utf8'));
233
+ }
234
+ catch (err) {
235
+ return { file, action: 'refused', added: [], message: `${name} was left as is: it is not valid JSON (${err.message}).` };
236
+ }
237
+ const added = [];
238
+ for (const o of exports.OPTIONS.filter((x) => !x.advanced && !(x.key in json))) {
239
+ json[o.key] = o.key === 'files' ? { ...FILES_DEFAULT } : o.value;
240
+ added.push(o.key);
241
+ }
242
+ const files = json.files;
243
+ for (const o of exports.FILE_OPTIONS.filter((x) => !added.includes('files') && !(x.key in files))) {
244
+ files[o.key] = o.value;
245
+ added.push(`files.${o.key}`);
246
+ }
247
+ const unset = exports.OPTIONS.filter((o) => o.advanced && !(o.key in json)).map((o) => o.key);
248
+ const advancedNote = unset.length ? ` JSON has no comments, so the advanced options are not listed; left out, they use their defaults: ${unset.join(', ')}.` : '';
249
+ if (added.length === 0)
250
+ return { file, action: 'unchanged', added, message: `${name} already sets every common option.${advancedNote}` };
251
+ (0, configBackup_1.backupConfig)(file);
252
+ fs.writeFileSync(file, JSON.stringify(json, null, 2) + '\n');
253
+ return { file, action: 'updated', added, message: `Added ${added.length} common option(s) to ${name}, set to their defaults: ${added.join(', ')}.${advancedNote}${backedUp(file)}` };
254
+ }
255
+ /** Tells the user where the previous version went and how to get it back. */
256
+ function backedUp(file) {
257
+ const n = (0, configBackup_1.listBackups)(path.dirname(file)).length;
258
+ return ` The previous version is backup ${n} (the newest); "restore ${n}" puts it back.`;
259
+ }
260
+ /**
261
+ * Creates `dir`/logger.config.ts from the template, stamped, or adds the missing options to the first existing
262
+ * config file (CONFIG_FILE_NAMES order), backing it up first. Never removes or rewrites what the file has.
263
+ */
264
+ function init(dir, pkg) {
265
+ const existing = configFile_1.CONFIG_FILE_NAMES.map((n) => path.join(dir, n)).find((f) => fs.existsSync(f));
266
+ if (!existing) {
267
+ const file = path.join(dir, 'logger.config.ts');
268
+ fs.writeFileSync(file, (0, configBackup_1.withStamp)(template(pkg), 'init'));
269
+ return { file, action: 'created', added: [], message: `Created ${file}: common options set to their defaults, advanced ones commented out (the logger picks those).` };
270
+ }
271
+ if (existing.endsWith('.json'))
272
+ return initJson(existing);
273
+ const name = path.basename(existing);
274
+ const result = addMissing(fs.readFileSync(existing, 'utf8'));
275
+ if (result.added.length === 0)
276
+ return { file: existing, action: 'unchanged', added: [], message: `${name} already lists every option.` };
277
+ (0, configBackup_1.backupConfig)(existing);
278
+ fs.writeFileSync(existing, (0, configBackup_1.withStamp)(result.text, 'init'));
279
+ const how = result.commentedOnly
280
+ ? 'as comments above the export (the config is a function, so they could not go in its object)'
281
+ : 'common ones set to their defaults, advanced ones commented out';
282
+ return {
283
+ file: existing,
284
+ action: 'updated',
285
+ added: result.added,
286
+ message: `Added ${result.added.length} missing option(s) to ${name}, ${how}: ${result.added.join(', ')}.${backedUp(existing)}`,
287
+ };
288
+ }
289
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/dist/sinks.d.ts CHANGED
@@ -24,6 +24,22 @@ export interface LogEvent {
24
24
  testTitle?: string;
25
25
  /** Set on a rendered table's event: its rows as data, for the CSV/JSON attachment sink and custom sinks. */
26
26
  table?: TableData;
27
+ /** Set on the events of an infoLogsCharLimit cut, so the trace files can treat them differently (see Truncation). */
28
+ truncation?: Truncation;
29
+ }
30
+ /**
31
+ * One over-limit INFO log becomes three events. full-trace and the other sinks write all three. partial-trace and
32
+ * debug-trace skip the per-log WARN and instead write `notice` once per file (and limit); debug-trace also writes the
33
+ * cut line with its full text and skips the DEBUG copy.
34
+ */
35
+ export interface Truncation {
36
+ /** 'cut': the shortened INFO line. 'warn': its per-log WARN. 'copy': the full-text DEBUG copy. */
37
+ part: 'cut' | 'warn' | 'copy';
38
+ limit: number;
39
+ /** On 'cut': the original, untruncated message. */
40
+ full?: string;
41
+ /** On 'cut': the one-time WARN text for partial-trace and debug-trace. */
42
+ notice?: string;
27
43
  }
28
44
  /** A rendered table as data. Values are already redacted by key (at any depth); never truncated. */
29
45
  export interface TableData {
@@ -49,7 +65,7 @@ export declare function traceFilePath(cfg: LogConfig, kind: FileKind | 'jsonl',
49
65
  export declare function headingSlug(heading: string): string;
50
66
  /**
51
67
  * The next table's attachment name, `<runId>-<worker>/<NNN>-<heading>`, or undefined when files.tables is off.
52
- * The folder `<runId>-<worker>` is the part every trace file of this worker shares (`<kind>-<runId>-<worker>.log`),
68
+ * The folder `<runId>-<worker>` is the part every trace file of this worker shares (`<PT|DT|FT>-<runId>-<worker>.log`),
53
69
  * so each parent log has its own folder. NNN counts tables in this process; a number whose file already exists
54
70
  * (another process with the same run id and worker label) is skipped rather than overwritten.
55
71
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sinks.d.ts","sourceRoot":"","sources":["../src/sinks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sinks.d.ts","sourceRoot":"","sources":["../src/sinks.ts"],"names":[],"mappings":"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"}