node-ansi-logger 2.0.6 → 2.0.8

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/logger.d.ts CHANGED
@@ -117,6 +117,8 @@ export type AnsiLoggerCallback = (level: string, time: string, name: string, mes
117
117
  export declare class AnsiLogger {
118
118
  private _hbLog;
119
119
  private _logName;
120
+ private _logFilePath;
121
+ private _logFileSize;
120
122
  private _logLevel;
121
123
  private _logWithColors;
122
124
  private _logTimestampFormat;
@@ -170,6 +172,24 @@ export declare class AnsiLogger {
170
172
  * @param {boolean} logWithColors - The logWithColors parameter to set.
171
173
  */
172
174
  set logWithColors(logWithColors: boolean);
175
+ /**
176
+ * Gets the file path of the log.
177
+ *
178
+ * @returns {string | undefined} The file path of the log, or undefined if not set.
179
+ */
180
+ get logFilePath(): string | undefined;
181
+ /**
182
+ * Sets the file path for logging.
183
+ *
184
+ * @param {string | undefined} value - The file path to set for logging.
185
+ */
186
+ set logFilePath(value: string | undefined);
187
+ /**
188
+ * Gets the size of log file.
189
+ *
190
+ * @returns {number | undefined} The size of log file, or undefined if not set.
191
+ */
192
+ get logFileSize(): number | undefined;
173
193
  /**
174
194
  * Enables or disables logging with ANSI colors.
175
195
  * @param {boolean} logWithColors - Flag to enable or disable ANSI color logging.
@@ -198,14 +218,27 @@ export declare class AnsiLogger {
198
218
  stopTimer(message: string): void;
199
219
  /**
200
220
  * Sets the callback function to be used by the logger.
201
- * @param {AnsiLoggerCallback} callback - The callback function that takes three parameters: type, subtype, and message, or undefined if no callback is set.
221
+ * @param {AnsiLoggerCallback} callback - The callback function.
202
222
  */
203
223
  setCallback(callback: AnsiLoggerCallback | undefined): void;
204
224
  /**
205
225
  * Gets the callback function currently used by the logger.
206
- * @returns {AnsiLoggerCallback | undefined} The callback function that takes three parameters: type, subtype, and message, or undefined if no callback is set.
226
+ * @returns {AnsiLoggerCallback | undefined} The callback function.
207
227
  */
208
228
  getCallback(): AnsiLoggerCallback | undefined;
229
+ /**
230
+ * Sets the global callback function to be used by the logger.
231
+ * @param {AnsiLoggerCallback | undefined} callback - The callback function.
232
+ * @param {LogLevel} [callbackLevel=LogLevel.DEBUG] - The log level of the log file (default LogLevel.DEBUG).
233
+ *
234
+ * @returns {AnsiLoggerCallback | undefined} The path name of the log file.
235
+ */
236
+ static setGlobalCallback(callback: AnsiLoggerCallback | undefined, callbackLevel?: LogLevel): AnsiLoggerCallback | undefined;
237
+ /**
238
+ * Gets the global callback function currently used by the logger.
239
+ * @returns {AnsiLoggerCallback | undefined} The callback function.
240
+ */
241
+ static getGlobalCallback(): AnsiLoggerCallback | undefined;
209
242
  /**
210
243
  * Sets the global callback function to be used by the logger.
211
244
  * @param {AnsiLoggerCallback} callback - The callback function that takes three parameters: type, subtype, and message, or undefined if no callback is set.
@@ -216,6 +249,58 @@ export declare class AnsiLogger {
216
249
  * @returns {AnsiLoggerCallback | undefined} The callback function that takes three parameters: type, subtype, and message, or undefined if no callback is set.
217
250
  */
218
251
  getGlobalCallback(): AnsiLoggerCallback | undefined;
252
+ /**
253
+ * Gets the global callback log level used by the logger.
254
+ *
255
+ * @returns {LogLevel | undefined} The log level of the global callback.
256
+ */
257
+ static getGlobalCallbackLevel(): LogLevel | undefined;
258
+ /**
259
+ * Sets the global callback log level for the logger.
260
+ *
261
+ * @param {LogLevel} logLevel - The log level to set. Defaults to LogLevel.DEBUG.
262
+ *
263
+ * @returns {LogLevel | undefined} The log level that was set.
264
+ */
265
+ static setGlobalCallbackLevel(logLevel?: LogLevel): LogLevel | undefined;
266
+ /**
267
+ * Sets the global logfile to be used by the logger.
268
+ * @param {string} logfilePath - The path name of the log file.
269
+ * @param {LogLevel} logfileLevel - Optional: the log level of the log file. Default LogLevel.DEBUG.
270
+ * @param {boolean} unlink - Optional: whether to unlink (delete) the log file if it exists. Default false.
271
+ *
272
+ * @returns {string | undefined} The absolute path name of the log file.
273
+ */
274
+ static setGlobalLogfile(logfilePath: string | undefined, logfileLevel?: LogLevel, unlink?: boolean): string | undefined;
275
+ /**
276
+ * Gets the global logfile currently used by the logger.
277
+ *
278
+ * @returns {string | undefined} The path name of the log file.
279
+ */
280
+ static getGlobalLogfile(): string | undefined;
281
+ /**
282
+ * Gets the global logfile log level used by the loggers.
283
+ *
284
+ * @returns {LogLevel | undefined} The log level of the global logfile.
285
+ */
286
+ static getGlobalLogfileLevel(): LogLevel | undefined;
287
+ /**
288
+ * Sets the global logfile log level used by the loggers.
289
+ *
290
+ * @param {LogLevel} logfileLevel - Optional: the global logfile log level used by the loggers.
291
+ *
292
+ * @returns {LogLevel | undefined} The log level of the global logfile.
293
+ */
294
+ static setGlobalLogfileLevel(logfileLevel?: LogLevel): LogLevel | undefined;
295
+ /**
296
+ * Determines whether a log message with the given level should be logged based on the configured log level.
297
+ *
298
+ * @param {LogLevel} level - The level of the log message.
299
+ * @param {LogLevel | undefined} configuredLevel - The configured log level.
300
+ *
301
+ * @returns {boolean} A boolean indicating whether the log message should be logged.
302
+ */
303
+ private shouldLog;
219
304
  /**
220
305
  * Formats a Date object into a custom string format.
221
306
  * @param {Date} date - The Date object to format.
@@ -238,6 +323,16 @@ export declare class AnsiLogger {
238
323
  * @returns {string} The timestamp string.
239
324
  */
240
325
  private getTimestamp;
326
+ /**
327
+ * Writes a log message to a file.
328
+ *
329
+ * @param {string} filePath - The path of the file to write the log message to.
330
+ * @param {LogLevel} level - The log level of the message.
331
+ * @param {string} message - The log message.
332
+ * @param {...any[]} parameters - Additional parameters to include in the log message.
333
+ * @returns {number} - The length of the log message including the appended newline character.
334
+ */
335
+ private logToFile;
241
336
  /**
242
337
  * Logs a message with a specific level (e.g. debug, info, notice, warn, error, fatal) and additional parameters.
243
338
  * This method formats the log message with ANSI colors based on the log level and other logger settings.
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/dist/logger.js CHANGED
@@ -21,7 +21,9 @@
21
21
  * See the License for the specific language governing permissions and
22
22
  * limitations under the License.
23
23
  */
24
- import { colorStringify, debugStringify, historyStringify, mqttStringify, payloadStringify } from './stringify.js';
24
+ import path from 'path';
25
+ import { debugStringify } from './stringify.js';
26
+ import * as fs from 'fs';
25
27
  // ANSI color codes and styles are defined here for use in the logger
26
28
  export const RESET = '\x1b[40;0m';
27
29
  export const BRIGHT = '\x1b[1m';
@@ -92,9 +94,18 @@ export var TimestampFormat;
92
94
  TimestampFormat[TimestampFormat["HOMEBRIDGE"] = 5] = "HOMEBRIDGE";
93
95
  TimestampFormat[TimestampFormat["CUSTOM"] = 6] = "CUSTOM";
94
96
  })(TimestampFormat || (TimestampFormat = {}));
95
- // Initialize the global variable
97
+ // Initialize the global variables
96
98
  if (typeof globalThis.__AnsiLoggerCallback__ === 'undefined')
97
99
  globalThis.__AnsiLoggerCallback__ = undefined;
100
+ if (typeof globalThis.__AnsiLoggerCallbackLoglevel__ === 'undefined')
101
+ globalThis.__AnsiLoggerCallbackLoglevel__ = undefined;
102
+ if (typeof globalThis.__AnsiLoggerFilePath__ === 'undefined')
103
+ globalThis.__AnsiLoggerFilePath__ = undefined;
104
+ if (typeof globalThis.__AnsiLoggerFileLoglevel__ === 'undefined')
105
+ globalThis.__AnsiLoggerFileLoglevel__ = undefined;
106
+ if (typeof globalThis.__AnsiLoggerFileLogSize__ === 'undefined')
107
+ globalThis.__AnsiLoggerFileLogSize__ = undefined;
108
+ const maxFileSize = 100000000; // 100MB
98
109
  /**
99
110
  * AnsiLogger provides a customizable logging utility with ANSI color support.
100
111
  * It allows for various configurations such as enabling debug logs, customizing log name, and more.
@@ -102,6 +113,8 @@ if (typeof globalThis.__AnsiLoggerCallback__ === 'undefined')
102
113
  export class AnsiLogger {
103
114
  _hbLog;
104
115
  _logName;
116
+ _logFilePath;
117
+ _logFileSize;
105
118
  _logLevel;
106
119
  _logWithColors;
107
120
  _logTimestampFormat;
@@ -182,6 +195,55 @@ export class AnsiLogger {
182
195
  set logWithColors(logWithColors) {
183
196
  this._logWithColors = logWithColors;
184
197
  }
198
+ /**
199
+ * Gets the file path of the log.
200
+ *
201
+ * @returns {string | undefined} The file path of the log, or undefined if not set.
202
+ */
203
+ get logFilePath() {
204
+ return this._logFilePath;
205
+ }
206
+ /**
207
+ * Sets the file path for logging.
208
+ *
209
+ * @param {string | undefined} value - The file path to set for logging.
210
+ */
211
+ set logFilePath(value) {
212
+ if (value && typeof value === 'string' && value !== '') {
213
+ // Convert relative path to absolute path
214
+ try {
215
+ this._logFilePath = path.resolve(value);
216
+ }
217
+ catch (error) {
218
+ console.error(`Error resolving log file path: ${error instanceof Error ? error.message : error}`);
219
+ this._logFilePath = undefined;
220
+ return;
221
+ }
222
+ // Check if the file exists and unlink
223
+ if (this._logFilePath && fs.existsSync(this._logFilePath)) {
224
+ try {
225
+ fs.unlinkSync(this._logFilePath);
226
+ }
227
+ catch (error) {
228
+ console.error(`${er}Error unlinking the log file ${CYAN}${this._logFilePath}${er}: ${error instanceof Error ? error.message : error}`);
229
+ this._logFilePath = undefined;
230
+ }
231
+ }
232
+ this._logFileSize = 0;
233
+ }
234
+ else {
235
+ this._logFilePath = undefined;
236
+ this._logFileSize = undefined;
237
+ }
238
+ }
239
+ /**
240
+ * Gets the size of log file.
241
+ *
242
+ * @returns {number | undefined} The size of log file, or undefined if not set.
243
+ */
244
+ get logFileSize() {
245
+ return this._logFilePath && this._logFileSize ? this._logFileSize : undefined;
246
+ }
185
247
  /**
186
248
  * Enables or disables logging with ANSI colors.
187
249
  * @param {boolean} logWithColors - Flag to enable or disable ANSI color logging.
@@ -225,24 +287,49 @@ export class AnsiLogger {
225
287
  }
226
288
  /**
227
289
  * Sets the callback function to be used by the logger.
228
- * @param {AnsiLoggerCallback} callback - The callback function that takes three parameters: type, subtype, and message, or undefined if no callback is set.
290
+ * @param {AnsiLoggerCallback} callback - The callback function.
229
291
  */
230
292
  setCallback(callback) {
231
293
  this.callback = callback;
232
294
  }
233
295
  /**
234
296
  * Gets the callback function currently used by the logger.
235
- * @returns {AnsiLoggerCallback | undefined} The callback function that takes three parameters: type, subtype, and message, or undefined if no callback is set.
297
+ * @returns {AnsiLoggerCallback | undefined} The callback function.
236
298
  */
237
299
  getCallback() {
238
300
  return this.callback;
239
301
  }
302
+ /**
303
+ * Sets the global callback function to be used by the logger.
304
+ * @param {AnsiLoggerCallback | undefined} callback - The callback function.
305
+ * @param {LogLevel} [callbackLevel=LogLevel.DEBUG] - The log level of the log file (default LogLevel.DEBUG).
306
+ *
307
+ * @returns {AnsiLoggerCallback | undefined} The path name of the log file.
308
+ */
309
+ static setGlobalCallback(callback, callbackLevel = "debug" /* LogLevel.DEBUG */) {
310
+ __AnsiLoggerCallback__ = callback;
311
+ __AnsiLoggerCallbackLoglevel__ = callbackLevel;
312
+ return __AnsiLoggerCallback__;
313
+ }
314
+ /**
315
+ * Gets the global callback function currently used by the logger.
316
+ * @returns {AnsiLoggerCallback | undefined} The callback function.
317
+ */
318
+ static getGlobalCallback() {
319
+ if (__AnsiLoggerCallback__) {
320
+ return __AnsiLoggerCallback__;
321
+ }
322
+ else {
323
+ return undefined;
324
+ }
325
+ }
240
326
  /**
241
327
  * Sets the global callback function to be used by the logger.
242
328
  * @param {AnsiLoggerCallback} callback - The callback function that takes three parameters: type, subtype, and message, or undefined if no callback is set.
243
329
  */
244
330
  setGlobalCallback(callback) {
245
331
  __AnsiLoggerCallback__ = callback;
332
+ __AnsiLoggerCallbackLoglevel__ = "debug" /* LogLevel.DEBUG */;
246
333
  }
247
334
  /**
248
335
  * Gets the global callback function currently used by the logger.
@@ -256,6 +343,151 @@ export class AnsiLogger {
256
343
  return undefined;
257
344
  }
258
345
  }
346
+ /**
347
+ * Gets the global callback log level used by the logger.
348
+ *
349
+ * @returns {LogLevel | undefined} The log level of the global callback.
350
+ */
351
+ static getGlobalCallbackLevel() {
352
+ if (__AnsiLoggerCallbackLoglevel__) {
353
+ return __AnsiLoggerCallbackLoglevel__;
354
+ }
355
+ else {
356
+ return undefined;
357
+ }
358
+ }
359
+ /**
360
+ * Sets the global callback log level for the logger.
361
+ *
362
+ * @param {LogLevel} logLevel - The log level to set. Defaults to LogLevel.DEBUG.
363
+ *
364
+ * @returns {LogLevel | undefined} The log level that was set.
365
+ */
366
+ static setGlobalCallbackLevel(logLevel = "debug" /* LogLevel.DEBUG */) {
367
+ __AnsiLoggerCallbackLoglevel__ = logLevel;
368
+ return __AnsiLoggerCallbackLoglevel__;
369
+ }
370
+ /**
371
+ * Sets the global logfile to be used by the logger.
372
+ * @param {string} logfilePath - The path name of the log file.
373
+ * @param {LogLevel} logfileLevel - Optional: the log level of the log file. Default LogLevel.DEBUG.
374
+ * @param {boolean} unlink - Optional: whether to unlink (delete) the log file if it exists. Default false.
375
+ *
376
+ * @returns {string | undefined} The absolute path name of the log file.
377
+ */
378
+ static setGlobalLogfile(logfilePath, logfileLevel = "debug" /* LogLevel.DEBUG */, unlink = false) {
379
+ if (logfilePath && typeof logfilePath === 'string' && logfilePath !== '') {
380
+ // Convert relative path to absolute path
381
+ logfilePath = path.resolve(logfilePath);
382
+ // Check if the file exists and unlink it if requested
383
+ if (unlink && fs.existsSync(logfilePath)) {
384
+ try {
385
+ fs.unlinkSync(logfilePath);
386
+ }
387
+ catch (error) {
388
+ console.error(`${er}Error unlinking the log file ${CYAN}${logfilePath}${er}: ${error instanceof Error ? error.message : error}`);
389
+ }
390
+ }
391
+ __AnsiLoggerFilePath__ = logfilePath;
392
+ __AnsiLoggerFileLoglevel__ = logfileLevel;
393
+ __AnsiLoggerFileLogSize__ = 0;
394
+ return __AnsiLoggerFilePath__;
395
+ }
396
+ __AnsiLoggerFilePath__ = undefined;
397
+ __AnsiLoggerFileLogSize__ = undefined;
398
+ return undefined;
399
+ }
400
+ /**
401
+ * Gets the global logfile currently used by the logger.
402
+ *
403
+ * @returns {string | undefined} The path name of the log file.
404
+ */
405
+ static getGlobalLogfile() {
406
+ if (__AnsiLoggerFilePath__) {
407
+ return __AnsiLoggerFilePath__;
408
+ }
409
+ else {
410
+ return undefined;
411
+ }
412
+ }
413
+ /**
414
+ * Gets the global logfile log level used by the loggers.
415
+ *
416
+ * @returns {LogLevel | undefined} The log level of the global logfile.
417
+ */
418
+ static getGlobalLogfileLevel() {
419
+ if (__AnsiLoggerFileLoglevel__) {
420
+ return __AnsiLoggerFileLoglevel__;
421
+ }
422
+ else {
423
+ return undefined;
424
+ }
425
+ }
426
+ /**
427
+ * Sets the global logfile log level used by the loggers.
428
+ *
429
+ * @param {LogLevel} logfileLevel - Optional: the global logfile log level used by the loggers.
430
+ *
431
+ * @returns {LogLevel | undefined} The log level of the global logfile.
432
+ */
433
+ static setGlobalLogfileLevel(logfileLevel = "debug" /* LogLevel.DEBUG */) {
434
+ __AnsiLoggerFileLoglevel__ = logfileLevel;
435
+ return __AnsiLoggerFileLoglevel__;
436
+ }
437
+ /**
438
+ * Determines whether a log message with the given level should be logged based on the configured log level.
439
+ *
440
+ * @param {LogLevel} level - The level of the log message.
441
+ * @param {LogLevel | undefined} configuredLevel - The configured log level.
442
+ *
443
+ * @returns {boolean} A boolean indicating whether the log message should be logged.
444
+ */
445
+ shouldLog(level, configuredLevel) {
446
+ switch (level) {
447
+ case "debug" /* LogLevel.DEBUG */:
448
+ if (configuredLevel === "debug" /* LogLevel.DEBUG */) {
449
+ return true;
450
+ }
451
+ break;
452
+ case "info" /* LogLevel.INFO */:
453
+ if (configuredLevel === "debug" /* LogLevel.DEBUG */ || configuredLevel === "info" /* LogLevel.INFO */) {
454
+ return true;
455
+ }
456
+ break;
457
+ case "notice" /* LogLevel.NOTICE */:
458
+ if (configuredLevel === "debug" /* LogLevel.DEBUG */ || configuredLevel === "info" /* LogLevel.INFO */ || configuredLevel === "notice" /* LogLevel.NOTICE */) {
459
+ return true;
460
+ }
461
+ break;
462
+ case "warn" /* LogLevel.WARN */:
463
+ if (configuredLevel === "debug" /* LogLevel.DEBUG */ || configuredLevel === "info" /* LogLevel.INFO */ || configuredLevel === "notice" /* LogLevel.NOTICE */ || configuredLevel === "warn" /* LogLevel.WARN */) {
464
+ return true;
465
+ }
466
+ break;
467
+ case "error" /* LogLevel.ERROR */:
468
+ if (configuredLevel === "debug" /* LogLevel.DEBUG */ ||
469
+ configuredLevel === "info" /* LogLevel.INFO */ ||
470
+ configuredLevel === "notice" /* LogLevel.NOTICE */ ||
471
+ configuredLevel === "warn" /* LogLevel.WARN */ ||
472
+ configuredLevel === "error" /* LogLevel.ERROR */) {
473
+ return true;
474
+ }
475
+ break;
476
+ case "fatal" /* LogLevel.FATAL */:
477
+ if (configuredLevel === "debug" /* LogLevel.DEBUG */ ||
478
+ configuredLevel === "info" /* LogLevel.INFO */ ||
479
+ configuredLevel === "notice" /* LogLevel.NOTICE */ ||
480
+ configuredLevel === "warn" /* LogLevel.WARN */ ||
481
+ configuredLevel === "error" /* LogLevel.ERROR */ ||
482
+ configuredLevel === "fatal" /* LogLevel.FATAL */) {
483
+ return true;
484
+ }
485
+ break;
486
+ default:
487
+ return false;
488
+ }
489
+ return false;
490
+ }
259
491
  /**
260
492
  * Formats a Date object into a custom string format.
261
493
  * @param {Date} date - The Date object to format.
@@ -325,6 +557,51 @@ export class AnsiLogger {
325
557
  return timestamp;
326
558
  }
327
559
  }
560
+ /**
561
+ * Writes a log message to a file.
562
+ *
563
+ * @param {string} filePath - The path of the file to write the log message to.
564
+ * @param {LogLevel} level - The log level of the message.
565
+ * @param {string} message - The log message.
566
+ * @param {...any[]} parameters - Additional parameters to include in the log message.
567
+ * @returns {number} - The length of the log message including the appended newline character.
568
+ */
569
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
570
+ logToFile(filePath, level, message, ...parameters) {
571
+ // console.error(`Message: ${message} parameter length: ${parameters.length}`);
572
+ const parametersString = parameters
573
+ .map((parameter) => {
574
+ // console.error('typeof parameter:', typeof parameter, 'isArray:', Array.isArray(parameter));
575
+ if (parameter === null)
576
+ return 'null';
577
+ if (parameter === undefined)
578
+ return 'undefined';
579
+ if (Array.isArray(parameter)) {
580
+ return ('[' +
581
+ parameter.map((item) => (item === null ? 'null' : item === undefined ? 'undefined' : typeof item === 'object' ? debugStringify(item) : item.toString())).join(', ') +
582
+ ']');
583
+ }
584
+ switch (typeof parameter) {
585
+ case 'object':
586
+ return debugStringify(parameter);
587
+ case 'string':
588
+ return parameter;
589
+ case 'undefined':
590
+ return 'undefined';
591
+ case 'function':
592
+ return 'function';
593
+ default:
594
+ return parameter.toString();
595
+ }
596
+ })
597
+ .join(' ');
598
+ let messageLog = `[${this.getTimestamp()}] [${this._logName}] [${level}] ` + message + ' ' + parametersString;
599
+ // messageLog = messageLog.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '').replace(/[\t\n\r]/g, '');
600
+ // eslint-disable-next-line no-control-regex
601
+ messageLog = messageLog.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');
602
+ fs.appendFileSync(filePath, messageLog + '\n');
603
+ return messageLog.length + 1;
604
+ }
328
605
  /**
329
606
  * Logs a message with a specific level (e.g. debug, info, notice, warn, error, fatal) and additional parameters.
330
607
  * This method formats the log message with ANSI colors based on the log level and other logger settings.
@@ -342,22 +619,59 @@ export class AnsiLogger {
342
619
  const s2ln = '\x1b[38;5;0;48;5;255m'; // Highlight LogName Black on White
343
620
  const s3ln = '\x1b[38;5;0;48;5;220m'; // Highlight LogName Black on Yellow
344
621
  const s4ln = '\x1b[38;5;0;48;5;9m'; // Highlight LogName Black on Red
622
+ // Local callback
345
623
  try {
346
- if (this.callback !== undefined) {
624
+ if (this.callback !== undefined && this.shouldLog(level, this._logLevel)) {
347
625
  // Convert parameters to string and append to message
348
626
  const parametersString = parameters.length > 0 ? ' ' + parameters.join(' ') : '';
349
- message += parametersString;
350
- this.callback(level, this.getTimestamp(), this._logName, message);
627
+ const newMessage = message + parametersString;
628
+ this.callback(level, this.getTimestamp(), this._logName, newMessage);
351
629
  }
352
- else if (__AnsiLoggerCallback__ && __AnsiLoggerCallback__ !== undefined) {
630
+ }
631
+ catch (error) {
632
+ console.error('Error executing local callback:', error);
633
+ }
634
+ // Global callback
635
+ try {
636
+ if (__AnsiLoggerCallback__ && __AnsiLoggerCallback__ !== undefined && this.shouldLog(level, __AnsiLoggerCallbackLoglevel__)) {
353
637
  // Convert parameters to string and append to message
354
638
  const parametersString = parameters.length > 0 ? ' ' + parameters.join(' ') : '';
355
- message += parametersString;
356
- __AnsiLoggerCallback__(level, this.getTimestamp(), this._logName, message);
639
+ const newMessage = message + parametersString;
640
+ __AnsiLoggerCallback__(level, this.getTimestamp(), this._logName, newMessage);
641
+ }
642
+ }
643
+ catch (error) {
644
+ console.error('Error executing global callback:', error);
645
+ }
646
+ // Local file logger
647
+ try {
648
+ if (this.logFilePath !== undefined && this._logFileSize !== undefined && this._logFileSize < maxFileSize && this.shouldLog(level, this._logLevel)) {
649
+ const size = this.logToFile(this.logFilePath, level, message, ...parameters);
650
+ this._logFileSize += size;
651
+ if (this._logFileSize >= maxFileSize) {
652
+ fs.appendFileSync(this.logFilePath, 'Logging on file has been stoppped because the file size is greater then 100MB.\n');
653
+ }
357
654
  }
358
655
  }
359
656
  catch (error) {
360
- console.error('Error executing callback:', error);
657
+ console.error(`Error writing to the local log file ${this.logFilePath}:`, error);
658
+ }
659
+ // Global file logger
660
+ try {
661
+ if (__AnsiLoggerFilePath__ &&
662
+ __AnsiLoggerFilePath__ !== undefined &&
663
+ __AnsiLoggerFileLogSize__ !== undefined &&
664
+ __AnsiLoggerFileLogSize__ < maxFileSize &&
665
+ this.shouldLog(level, __AnsiLoggerFileLoglevel__)) {
666
+ const size = this.logToFile(__AnsiLoggerFilePath__, level, message, ...parameters);
667
+ __AnsiLoggerFileLogSize__ += size;
668
+ if (__AnsiLoggerFileLogSize__ >= maxFileSize) {
669
+ fs.appendFileSync(__AnsiLoggerFilePath__, 'Logging on file has been stoppped because the file size is greater then 100MB.\n');
670
+ }
671
+ }
672
+ }
673
+ catch (error) {
674
+ console.error(`Error writing to the global log file ${__AnsiLoggerFilePath__}:`, error);
361
675
  }
362
676
  if (this._hbLog !== undefined) {
363
677
  if (level !== "" /* LogLevel.NONE */) {
@@ -388,42 +702,33 @@ export class AnsiLogger {
388
702
  }
389
703
  switch (level) {
390
704
  case "debug" /* LogLevel.DEBUG */:
391
- if (this._logLevel === "debug" /* LogLevel.DEBUG */) {
392
- console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${db}`, message, ...parameters, rs + rk);
705
+ if (this.shouldLog(level, this._logLevel)) {
706
+ console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${db}`, message + rs + rk, ...parameters);
393
707
  }
394
708
  break;
395
709
  case "info" /* LogLevel.INFO */:
396
- if (this._logLevel === "debug" /* LogLevel.DEBUG */ || this._logLevel === "info" /* LogLevel.INFO */) {
397
- console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${nf}`, message, ...parameters, rs + rk);
710
+ if (this.shouldLog(level, this._logLevel)) {
711
+ console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${nf}`, message + rs + rk, ...parameters);
398
712
  }
399
713
  break;
400
714
  case "notice" /* LogLevel.NOTICE */:
401
- if (this._logLevel === "debug" /* LogLevel.DEBUG */ || this._logLevel === "info" /* LogLevel.INFO */ || this._logLevel === "notice" /* LogLevel.NOTICE */) {
402
- console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${nt}`, message, ...parameters, rs + rk);
715
+ if (this.shouldLog(level, this._logLevel)) {
716
+ console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${nt}`, message + rs + rk, ...parameters);
403
717
  }
404
718
  break;
405
719
  case "warn" /* LogLevel.WARN */:
406
- if (this._logLevel === "debug" /* LogLevel.DEBUG */ || this._logLevel === "info" /* LogLevel.INFO */ || this._logLevel === "notice" /* LogLevel.NOTICE */ || this._logLevel === "warn" /* LogLevel.WARN */) {
407
- console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${wr}`, message, ...parameters, rs + rk);
720
+ if (this.shouldLog(level, this._logLevel)) {
721
+ console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${wr}`, message + rs + rk, ...parameters);
408
722
  }
409
723
  break;
410
724
  case "error" /* LogLevel.ERROR */:
411
- if (this._logLevel === "debug" /* LogLevel.DEBUG */ ||
412
- this._logLevel === "info" /* LogLevel.INFO */ ||
413
- this._logLevel === "notice" /* LogLevel.NOTICE */ ||
414
- this._logLevel === "warn" /* LogLevel.WARN */ ||
415
- this._logLevel === "error" /* LogLevel.ERROR */) {
416
- console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${er}`, message, ...parameters, rs + rk);
725
+ if (this.shouldLog(level, this._logLevel)) {
726
+ console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${er}`, message + rs + rk, ...parameters);
417
727
  }
418
728
  break;
419
729
  case "fatal" /* LogLevel.FATAL */:
420
- if (this._logLevel === "debug" /* LogLevel.DEBUG */ ||
421
- this._logLevel === "info" /* LogLevel.INFO */ ||
422
- this._logLevel === "notice" /* LogLevel.NOTICE */ ||
423
- this._logLevel === "warn" /* LogLevel.WARN */ ||
424
- this._logLevel === "error" /* LogLevel.ERROR */ ||
425
- this._logLevel === "fatal" /* LogLevel.FATAL */) {
426
- console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${ft}`, message, ...parameters, rs + rk);
730
+ if (this.shouldLog(level, this._logLevel)) {
731
+ console.log(`${rs}${ts}[${this.getTimestamp()}] ${logNameColor}[${this._logName}]${rs}${ft}`, message + rs + rk, ...parameters);
427
732
  }
428
733
  break;
429
734
  default:
@@ -434,22 +739,22 @@ export class AnsiLogger {
434
739
  switch (level) {
435
740
  case "debug" /* LogLevel.DEBUG */:
436
741
  if (this._logLevel === "debug" /* LogLevel.DEBUG */) {
437
- console.log(`${rs}[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
742
+ console.log(`[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
438
743
  }
439
744
  break;
440
745
  case "info" /* LogLevel.INFO */:
441
746
  if (this._logLevel === "debug" /* LogLevel.DEBUG */ || this._logLevel === "info" /* LogLevel.INFO */) {
442
- console.log(`${rs}[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
747
+ console.log(`[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
443
748
  }
444
749
  break;
445
750
  case "notice" /* LogLevel.NOTICE */:
446
751
  if (this._logLevel === "debug" /* LogLevel.DEBUG */ || this._logLevel === "info" /* LogLevel.INFO */ || this._logLevel === "notice" /* LogLevel.NOTICE */) {
447
- console.log(`${rs}[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
752
+ console.log(`[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
448
753
  }
449
754
  break;
450
755
  case "warn" /* LogLevel.WARN */:
451
756
  if (this._logLevel === "debug" /* LogLevel.DEBUG */ || this._logLevel === "info" /* LogLevel.INFO */ || this._logLevel === "notice" /* LogLevel.NOTICE */ || this._logLevel === "warn" /* LogLevel.WARN */) {
452
- console.log(`${rs}[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
757
+ console.log(`[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
453
758
  }
454
759
  break;
455
760
  case "error" /* LogLevel.ERROR */:
@@ -458,7 +763,7 @@ export class AnsiLogger {
458
763
  this._logLevel === "notice" /* LogLevel.NOTICE */ ||
459
764
  this._logLevel === "warn" /* LogLevel.WARN */ ||
460
765
  this._logLevel === "error" /* LogLevel.ERROR */) {
461
- console.log(`${rs}[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
766
+ console.log(`[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
462
767
  }
463
768
  break;
464
769
  case "fatal" /* LogLevel.FATAL */:
@@ -468,7 +773,7 @@ export class AnsiLogger {
468
773
  this._logLevel === "warn" /* LogLevel.WARN */ ||
469
774
  this._logLevel === "error" /* LogLevel.ERROR */ ||
470
775
  this._logLevel === "fatal" /* LogLevel.FATAL */) {
471
- console.log(`${rs}[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
776
+ console.log(`[${this.getTimestamp()}] [${this._logName}] [${level}] ${message}`, ...parameters);
472
777
  }
473
778
  break;
474
779
  default:
@@ -538,29 +843,62 @@ export class AnsiLogger {
538
843
  this.log("fatal" /* LogLevel.FATAL */, message, ...parameters);
539
844
  }
540
845
  }
846
+ // Use with node dist/logger.js --testAnsiLoggerColors to test ANSI colors
847
+ /*
541
848
  if (process.argv.includes('--testAnsiLoggerColors')) {
542
- for (let i = 0; i < 256; i++) {
543
- console.log(`\x1b[38;5;${i}mForeground color ${i.toString().padStart(3, ' ')} \x1b[1mbright\x1b[0m`);
544
- }
545
- console.log(`${db}Debug message${rs}`);
546
- console.log(`${nf}Info message${rs}`);
547
- console.log(`${nt}Notice message${rs}`);
548
- console.log(`${wr}Warn message${rs}`);
549
- console.log(`${er}Error message${rs}`);
550
- console.log(`${ft}Fatal message${rs}`);
551
- console.log(`${nf}Stringify payload: ${payloadStringify({ number: 1234, string: 'Text', boolean: true, null: null, undefined: undefined })}${rs}`);
552
- console.log(`${nf}Stringify color: ${colorStringify({ number: 1234, string: 'Text', boolean: true, null: null, undefined: undefined })}${rs}`);
553
- console.log(`${nf}Stringify history: ${historyStringify({ number: 1234, string: 'Text', boolean: true, null: null, undefined: undefined })}${rs}`);
554
- console.log(`${nf}Stringify mqtt: ${mqttStringify({ number: 1234, string: 'Text', boolean: true, null: null, undefined: undefined })}${rs}`);
555
- console.log(`${db}Stringify debug: ${debugStringify({ number: 1234, string: 'Text', boolean: true, null: null, undefined: undefined, object: { number: 1234, string: 'Text', boolean: true } })}${rs}`);
556
- const logger = new AnsiLogger({ logName: 'TestLogger', logLevel: "debug" /* LogLevel.DEBUG */, logWithColors: true, logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */ });
557
- logger.debug('Debug message');
558
- logger.info('Info message');
559
- logger.notice('Notice message');
560
- logger.warn('Warn message');
561
- logger.error('Error message');
562
- logger.fatal('Fatal message');
849
+ for (let i = 0; i < 256; i++) {
850
+ console.log(`\x1b[38;5;${i}mForeground color ${i.toString().padStart(3, ' ')} \x1b[1mbright\x1b[0m`);
851
+ }
852
+ console.log(`${db}Debug message${rs}`);
853
+ console.log(`${nf}Info message${rs}`);
854
+ console.log(`${nt}Notice message${rs}`);
855
+ console.log(`${wr}Warn message${rs}`);
856
+ console.log(`${er}Error message${rs}`);
857
+ console.log(`${ft}Fatal message${rs}`);
858
+ console.log(`${nf}Stringify payload: ${payloadStringify({ number: 1234, string: 'Text', boolean: true, null: null, undefined: undefined })}${rs}`);
859
+ console.log(`${nf}Stringify color: ${colorStringify({ number: 1234, string: 'Text', boolean: true, null: null, undefined: undefined })}${rs}`);
860
+ console.log(`${nf}Stringify history: ${historyStringify({ number: 1234, string: 'Text', boolean: true, null: null, undefined: undefined })}${rs}`);
861
+ console.log(
862
+ `${nf}Stringify mqtt: ${mqttStringify({
863
+ number: 1234,
864
+ string: 'Text',
865
+ boolean: true,
866
+ null: null,
867
+ undefined: undefined,
868
+ function: () => {
869
+ //
870
+ },
871
+ })}${rs}`,
872
+ );
873
+ console.log(
874
+ `${db}Stringify debug: ${debugStringify({ number: 1234, string: 'Text', boolean: true, null: null, undefined: undefined, object: { number: 1234, string: 'Text', boolean: true } })}${rs}`,
875
+ );
876
+
877
+ const logger = new AnsiLogger({ logName: 'TestLogger', logLevel: LogLevel.DEBUG, logWithColors: true, logTimestampFormat: TimestampFormat.TIME_MILLIS });
878
+ logger.logFilePath = 'test-local.log';
879
+ AnsiLogger.setGlobalLogfile('test-global.log', LogLevel.DEBUG, true);
880
+ logger.debug('Debug message');
881
+ logger.info('Info message');
882
+ logger.notice('Notice message');
883
+ logger.warn('Warn message');
884
+ logger.error('Error message');
885
+ logger.fatal('Fatal message');
886
+ const obj: object = {
887
+ logName: 'TestLogger',
888
+ logLevel: LogLevel.DEBUG,
889
+ logWithColors: true,
890
+ logTimestampFormat: TimestampFormat.TIME_MILLIS,
891
+ };
892
+ logger.log(LogLevel.DEBUG, `Debug message with params: ${rs}\n`, obj);
893
+ logger.log(LogLevel.DEBUG, `Debug message with params: ${rs}\n`, obj, 123, 212121111111111122121n, 'Text', true, null, undefined, () => {
894
+ //
895
+ });
896
+ logger.log(LogLevel.DEBUG, `Debug message with array params: ${rs}\n`, obj, [123, 'abc', { a: 1, b: 2 }], 123, 212121111111111122121n, 'Text', true, null, undefined, () => {
897
+ //
898
+ });
899
+ logger.log(LogLevel.DEBUG, `Debug message without params: ${debugStringify(obj)}`);
563
900
  }
901
+ */
564
902
  /*
565
903
  \x1b[0m - Reset (clear color)
566
904
  \x1b[1m - Bold
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -25,5 +25,5 @@ export declare function colorStringify(payload: object): string;
25
25
  export declare function historyStringify(payload: object): string;
26
26
  export declare function mqttStringify(payload: object): string;
27
27
  export declare function debugStringify(payload: object): string;
28
- export declare function stringify(payload: object, enableColors?: boolean, colorPayload?: number, colorKey?: number, colorString?: number, colorNumber?: number, colorBoolean?: number, colorUndefined?: number, keyQuote?: string, stringQuote?: string): string;
28
+ export declare function stringify(payload: object, enableColors?: boolean, colorPayload?: number, colorKey?: number, colorString?: number, colorNumber?: number, colorBoolean?: number, colorUndefined?: number, keyQuote?: string, stringQuote?: string, seenObjects?: Set<object>): string;
29
29
  //# sourceMappingURL=stringify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../src/stringify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,YAAY,UAAQ,EACpB,YAAY,SAAM,EAClB,QAAQ,SAAM,EACd,WAAW,SAAK,EAChB,WAAW,SAAM,EACjB,YAAY,SAAM,EAClB,cAAc,SAAI,EAClB,QAAQ,SAAK,EACb,WAAW,SAAM,GAChB,MAAM,CA8CR"}
1
+ {"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../src/stringify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,YAAY,UAAQ,EACpB,YAAY,SAAM,EAClB,QAAQ,SAAM,EACd,WAAW,SAAK,EAChB,WAAW,SAAM,EACjB,YAAY,SAAM,EAClB,cAAc,SAAI,EAClB,QAAQ,SAAK,EACb,WAAW,SAAM,EACjB,WAAW,cAAoB,GAC9B,MAAM,CA6DR"}
package/dist/stringify.js CHANGED
@@ -35,7 +35,7 @@ export function mqttStringify(payload) {
35
35
  export function debugStringify(payload) {
36
36
  return stringify(payload, true, 69, 245, 2, 3, 6, 168);
37
37
  }
38
- export function stringify(payload, enableColors = false, colorPayload = 252, colorKey = 250, colorString = 35, colorNumber = 220, colorBoolean = 159, colorUndefined = 1, keyQuote = '', stringQuote = "'") {
38
+ export function stringify(payload, enableColors = false, colorPayload = 252, colorKey = 250, colorString = 35, colorNumber = 220, colorBoolean = 159, colorUndefined = 1, keyQuote = '', stringQuote = "'", seenObjects = new Set()) {
39
39
  if (payload === null)
40
40
  return 'null';
41
41
  if (payload === undefined)
@@ -46,6 +46,12 @@ export function stringify(payload, enableColors = false, colorPayload = 252, col
46
46
  const reset = () => {
47
47
  return enableColors ? '\x1b[0m' : '';
48
48
  };
49
+ // Check if the object is already in the seenObjects set
50
+ if (seenObjects.has(payload)) {
51
+ return `${clr(colorUndefined)}[Circular]${reset()}`;
52
+ }
53
+ // Add the current object to the seenObjects set
54
+ seenObjects.add(payload);
49
55
  const isArray = Array.isArray(payload);
50
56
  let string = `${reset()}${clr(colorPayload)}` + (isArray ? '[ ' : '{ ');
51
57
  Object.entries(payload).forEach(([key, value], index) => {
@@ -73,9 +79,12 @@ export function stringify(payload, enableColors = false, colorPayload = 252, col
73
79
  else if (typeof newValue === 'undefined') {
74
80
  newValue = `${clr(colorUndefined)}undefined${reset()}`;
75
81
  }
82
+ else if (typeof newValue === 'function') {
83
+ newValue = `${clr(colorUndefined)}(function)${reset()}`;
84
+ }
76
85
  else if (typeof newValue === 'object') {
77
86
  if (Object.keys(newValue).length < 100) {
78
- newValue = stringify(newValue, enableColors, colorPayload, colorKey, colorString, colorNumber, colorBoolean, colorUndefined, keyQuote, stringQuote);
87
+ newValue = stringify(newValue, enableColors, colorPayload, colorKey, colorString, colorNumber, colorBoolean, colorUndefined, keyQuote, stringQuote, seenObjects);
79
88
  }
80
89
  else {
81
90
  newValue = '{...}';
@@ -91,6 +100,41 @@ export function stringify(payload, enableColors = false, colorPayload = 252, col
91
100
  string += `${clr(colorKey)}${keyQuote}${key}${keyQuote}${reset()}: ${newValue}`;
92
101
  }
93
102
  });
103
+ // Remove the current object from the seenObjects set after processing
104
+ seenObjects.delete(payload);
94
105
  return (string += ` ${clr(colorPayload)}` + (isArray ? ']' : '}') + `${reset()}`);
95
106
  }
107
+ // Use with node dist/stringify.js --testStringify to test stringify
108
+ /*
109
+ if (process.argv.includes('--testStringify')) {
110
+ const obj = {
111
+ number: 1234,
112
+ string: 'Text',
113
+ boolean: true,
114
+ null: null,
115
+ undefined: undefined,
116
+ bigint: 12321412241214141412412n,
117
+ array: [
118
+ 1,
119
+ '2',
120
+ true,
121
+ null,
122
+ undefined,
123
+ 12321412241214141412412n,
124
+ () => {
125
+ //
126
+ },
127
+ ],
128
+ function: () => {
129
+ //
130
+ },
131
+ };
132
+ // eslint-disable-next-line no-console
133
+ console.log(`Stringify payload: ${payloadStringify(obj)}`);
134
+ // eslint-disable-next-line no-console
135
+ console.log(`Stringify color: ${colorStringify(obj)}`);
136
+ // eslint-disable-next-line no-console
137
+ console.log(`Stringify history: ${historyStringify(obj)}`);
138
+ }
139
+ */
96
140
  //# sourceMappingURL=stringify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../src/stringify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../src/stringify.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-ansi-logger",
3
- "version": "2.0.6",
3
+ "version": "2.0.8",
4
4
  "description": "Enhanced Color-Coded Logging for Node.js in type script",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "MIT",
@@ -62,18 +62,18 @@
62
62
  "eslint": "latest"
63
63
  },
64
64
  "devDependencies": {
65
- "@eslint/js": "^9.7.0",
65
+ "@eslint/js": "^9.9.0",
66
66
  "@types/eslint__js": "^8.42.3",
67
67
  "@types/jest": "^29.5.12",
68
- "@types/node": "^20.14.11",
68
+ "@types/node": "^22.2.0",
69
69
  "eslint-config-prettier": "^9.1.0",
70
- "eslint-plugin-jest": "^28.6.0",
70
+ "eslint-plugin-jest": "^28.8.0",
71
71
  "eslint-plugin-prettier": "^5.2.1",
72
72
  "jest": "^29.7.0",
73
73
  "prettier": "^3.3.3",
74
74
  "rimraf": "^6.0.1",
75
- "ts-jest": "^29.2.3",
75
+ "ts-jest": "^29.2.4",
76
76
  "typescript": "^5.5.4",
77
- "typescript-eslint": "^7.17.0"
77
+ "typescript-eslint": "^8.0.1"
78
78
  }
79
79
  }