@storm-software/linting-tools 1.103.4 → 1.103.6

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 CHANGED
@@ -21,7 +21,7 @@ This package is part of the <b>⚡Storm-Ops</b> monorepo. The Storm-Ops packages
21
21
 
22
22
  <h3 align="center">💻 Visit <a href="https://stormsoftware.com" target="_blank">stormsoftware.com</a> to stay up to date with this developer</h3><br />
23
23
 
24
- [![Version](https://img.shields.io/badge/version-1.103.3-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
24
+ [![Version](https://img.shields.io/badge/version-1.103.5-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
25
25
 
26
26
  <!-- prettier-ignore-start -->
27
27
  <!-- markdownlint-disable -->
package/bin/lint.cjs CHANGED
@@ -44,6 +44,7 @@ var LogLevelLabel = {
44
44
  FATAL: "fatal",
45
45
  ERROR: "error",
46
46
  WARN: "warn",
47
+ SUCCESS: "success",
47
48
  INFO: "info",
48
49
  DEBUG: "debug",
49
50
  TRACE: "trace",
@@ -188,6 +189,7 @@ var StormConfigSchema = import_zod.default.object({
188
189
  "fatal",
189
190
  "error",
190
191
  "warn",
192
+ "success",
191
193
  "info",
192
194
  "debug",
193
195
  "trace",
@@ -391,12 +393,17 @@ var chalkDefault = {
391
393
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
392
394
  }), "bgHex"),
393
395
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright"),
396
+ gray: /* @__PURE__ */ __name((message) => message, "gray"),
394
397
  bold: {
395
398
  hex: /* @__PURE__ */ __name((_) => (message) => message, "hex"),
396
399
  bgHex: /* @__PURE__ */ __name((_) => ({
397
400
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
398
401
  }), "bgHex"),
399
402
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
403
+ },
404
+ dim: {
405
+ hex: /* @__PURE__ */ __name((_) => (message) => message, "hex"),
406
+ gray: /* @__PURE__ */ __name((message) => message, "gray")
400
407
  }
401
408
  };
402
409
  var getChalk = /* @__PURE__ */ __name(() => {
@@ -407,6 +414,38 @@ var getChalk = /* @__PURE__ */ __name(() => {
407
414
  return _chalk;
408
415
  }, "getChalk");
409
416
 
417
+ // ../config-tools/src/logger/is-unicode-supported.ts
418
+ var import_node_process = __toESM(require("process"));
419
+ function isUnicodeSupported() {
420
+ const { env } = import_node_process.default;
421
+ const { TERM, TERM_PROGRAM } = env;
422
+ if (import_node_process.default.platform !== "win32") {
423
+ return TERM !== "linux";
424
+ }
425
+ return Boolean(env.WT_SESSION) || // Windows Terminal
426
+ Boolean(env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
427
+ env.ConEmuTask === "{cmd::Cmder}" || // ConEmu and cmder
428
+ TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
429
+ }
430
+ __name(isUnicodeSupported, "isUnicodeSupported");
431
+
432
+ // ../config-tools/src/logger/console-icons.ts
433
+ var useIcon = /* @__PURE__ */ __name((c, fallback) => isUnicodeSupported() ? c : fallback, "useIcon");
434
+ var CONSOLE_ICONS = {
435
+ [LogLevelLabel.ERROR]: useIcon("\u2718", "\xD7"),
436
+ [LogLevelLabel.FATAL]: useIcon("\u{1F480}", "\xD7"),
437
+ [LogLevelLabel.WARN]: useIcon("\u26A0", "\u203C"),
438
+ [LogLevelLabel.INFO]: useIcon("\u2139", "i"),
439
+ [LogLevelLabel.SUCCESS]: useIcon("\u2714", "\u221A"),
440
+ [LogLevelLabel.DEBUG]: useIcon("\u{1F6E0}", "D"),
441
+ [LogLevelLabel.TRACE]: useIcon("\u2709", "\u2192")
442
+ };
443
+
444
+ // ../config-tools/src/logger/format-timestamp.ts
445
+ var formatTimestamp = /* @__PURE__ */ __name((date = /* @__PURE__ */ new Date()) => {
446
+ return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
447
+ }, "formatTimestamp");
448
+
410
449
  // ../config-tools/src/logger/get-log-level.ts
411
450
  var getLogLevel = /* @__PURE__ */ __name((label) => {
412
451
  switch (label) {
@@ -469,42 +508,49 @@ var getLogFn = /* @__PURE__ */ __name((logLevel = LogLevel.INFO, config = {}) =>
469
508
  }
470
509
  if (typeof logLevel === "number" && LogLevel.FATAL >= logLevel || typeof logLevel === "string" && LogLevel.FATAL >= getLogLevel(logLevel)) {
471
510
  return (message) => {
472
- console.error(`${_chalk.bold.hex(colors.fatal ?? "#7d1a1a")(">")} ${_chalk.bold.bgHex(colors.fatal ?? "#7d1a1a").whiteBright(" \u{1F480} Fatal ")} ${_chalk.hex(colors.fatal ?? "#7d1a1a")(formatLogMessage(message))}
511
+ console.error(`
512
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.fatal ?? "#7d1a1a")(`[${CONSOLE_ICONS[LogLevelLabel.FATAL]} Fatal]`)} ${_chalk.hex(colors.fatal ?? "#7d1a1a")(formatLogMessage(message))}
473
513
  `);
474
514
  };
475
515
  }
476
516
  if (typeof logLevel === "number" && LogLevel.ERROR >= logLevel || typeof logLevel === "string" && LogLevel.ERROR >= getLogLevel(logLevel)) {
477
517
  return (message) => {
478
- console.error(`${_chalk.bold.hex(colors.danger ?? "#f85149")(">")} ${_chalk.bold.bgHex(colors.danger ?? "#f85149").whiteBright(" \u2718 Error ")} ${_chalk.hex(colors.danger ?? "#f85149")(formatLogMessage(message))}
518
+ console.error(`
519
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.danger ?? "#f85149")(`[${CONSOLE_ICONS[LogLevelLabel.ERROR]} Error]`)} ${_chalk.hex(colors.danger ?? "#f85149")(formatLogMessage(message))}
479
520
  `);
480
521
  };
481
522
  }
482
523
  if (typeof logLevel === "number" && LogLevel.WARN >= logLevel || typeof logLevel === "string" && LogLevel.WARN >= getLogLevel(logLevel)) {
483
524
  return (message) => {
484
- console.warn(`${_chalk.bold.hex(colors.warning ?? "#e3b341")(">")} ${_chalk.bold.bgHex(colors.warning ?? "#e3b341").whiteBright(" \u26A0 Warn ")} ${_chalk.hex(colors.warning ?? "#e3b341")(formatLogMessage(message))}
525
+ console.warn(`
526
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.warning ?? "#e3b341")(`[${CONSOLE_ICONS[LogLevelLabel.WARN]} Warn]`)} ${_chalk.hex(colors.warning ?? "#e3b341")(formatLogMessage(message))}
485
527
  `);
486
528
  };
487
529
  }
488
530
  if (typeof logLevel === "number" && LogLevel.SUCCESS >= logLevel || typeof logLevel === "string" && LogLevel.SUCCESS >= getLogLevel(logLevel)) {
489
531
  return (message) => {
490
- console.info(`${_chalk.bold.hex(colors.success ?? "#56d364")(">")} ${_chalk.bold.bgHex(colors.success ?? "#56d364").whiteBright(" \u2713 Success ")} ${_chalk.hex(colors.success ?? "#56d364")(formatLogMessage(message))}
532
+ console.info(`
533
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.success ?? "#56d364")(`[${CONSOLE_ICONS[LogLevelLabel.SUCCESS]} Success]`)} ${_chalk.hex(colors.success ?? "#56d364")(formatLogMessage(message))}
491
534
  `);
492
535
  };
493
536
  }
494
537
  if (typeof logLevel === "number" && LogLevel.INFO >= logLevel || typeof logLevel === "string" && LogLevel.INFO >= getLogLevel(logLevel)) {
495
538
  return (message) => {
496
- console.info(`${_chalk.bold.hex(colors.info ?? "#58a6ff")(">")} ${_chalk.bold.bgHex(colors.info ?? "#58a6ff").whiteBright(" \u2139 Info ")} ${_chalk.hex(colors.info ?? "#58a6ff")(formatLogMessage(message))}
539
+ console.info(`
540
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.info ?? "#58a6ff")(`[${CONSOLE_ICONS[LogLevelLabel.INFO]} Info]`)} ${_chalk.hex(colors.info ?? "#58a6ff")(formatLogMessage(message))}
497
541
  `);
498
542
  };
499
543
  }
500
544
  if (typeof logLevel === "number" && LogLevel.TRACE >= logLevel || typeof logLevel === "string" && LogLevel.TRACE >= getLogLevel(logLevel)) {
501
545
  return (message) => {
502
- console.debug(`${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(">")} ${_chalk.bold.bgHex(colors.brand ?? "#1fb2a6").whiteBright(" \u{1F6E0} Debug ")} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
546
+ console.debug(`
547
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(`[${CONSOLE_ICONS[LogLevelLabel.TRACE]} Debug]`)} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
503
548
  `);
504
549
  };
505
550
  }
506
551
  return (message) => {
507
- console.log(`${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(">")} ${_chalk.bold.bgHex(colors.brand ?? "#1fb2a6").whiteBright(" \u2709 System ")} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
552
+ console.log(`
553
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(`[${CONSOLE_ICONS[LogLevelLabel.ALL]} System]`)} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
508
554
  `);
509
555
  };
510
556
  }, "getLogFn");
@@ -1609,7 +1655,9 @@ void (async () => {
1609
1655
  writeSuccess("\u{1F389} Code linting and fixing completed successfully!", config);
1610
1656
  exitWithSuccess(config);
1611
1657
  } catch (error) {
1612
- writeFatal(`A fatal error occurred while linting the workspace: ${error.message}`, config);
1658
+ writeFatal(`A fatal error occurred while running the Storm Lint tool:
1659
+ ${error?.message ? error.message : JSON.stringify(error)}${error?.stack ? `
1660
+ Stack Trace: ${error.stack}` : ""}`, config);
1613
1661
  exitWithError(config);
1614
1662
  process.exit(1);
1615
1663
  }
package/bin/lint.js CHANGED
@@ -23,6 +23,7 @@ var LogLevelLabel = {
23
23
  FATAL: "fatal",
24
24
  ERROR: "error",
25
25
  WARN: "warn",
26
+ SUCCESS: "success",
26
27
  INFO: "info",
27
28
  DEBUG: "debug",
28
29
  TRACE: "trace",
@@ -167,6 +168,7 @@ var StormConfigSchema = z.object({
167
168
  "fatal",
168
169
  "error",
169
170
  "warn",
171
+ "success",
170
172
  "info",
171
173
  "debug",
172
174
  "trace",
@@ -370,12 +372,17 @@ var chalkDefault = {
370
372
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
371
373
  }), "bgHex"),
372
374
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright"),
375
+ gray: /* @__PURE__ */ __name((message) => message, "gray"),
373
376
  bold: {
374
377
  hex: /* @__PURE__ */ __name((_) => (message) => message, "hex"),
375
378
  bgHex: /* @__PURE__ */ __name((_) => ({
376
379
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
377
380
  }), "bgHex"),
378
381
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
382
+ },
383
+ dim: {
384
+ hex: /* @__PURE__ */ __name((_) => (message) => message, "hex"),
385
+ gray: /* @__PURE__ */ __name((message) => message, "gray")
379
386
  }
380
387
  };
381
388
  var getChalk = /* @__PURE__ */ __name(() => {
@@ -386,6 +393,38 @@ var getChalk = /* @__PURE__ */ __name(() => {
386
393
  return _chalk;
387
394
  }, "getChalk");
388
395
 
396
+ // ../config-tools/src/logger/is-unicode-supported.ts
397
+ import process2 from "node:process";
398
+ function isUnicodeSupported() {
399
+ const { env } = process2;
400
+ const { TERM, TERM_PROGRAM } = env;
401
+ if (process2.platform !== "win32") {
402
+ return TERM !== "linux";
403
+ }
404
+ return Boolean(env.WT_SESSION) || // Windows Terminal
405
+ Boolean(env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
406
+ env.ConEmuTask === "{cmd::Cmder}" || // ConEmu and cmder
407
+ TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
408
+ }
409
+ __name(isUnicodeSupported, "isUnicodeSupported");
410
+
411
+ // ../config-tools/src/logger/console-icons.ts
412
+ var useIcon = /* @__PURE__ */ __name((c, fallback) => isUnicodeSupported() ? c : fallback, "useIcon");
413
+ var CONSOLE_ICONS = {
414
+ [LogLevelLabel.ERROR]: useIcon("\u2718", "\xD7"),
415
+ [LogLevelLabel.FATAL]: useIcon("\u{1F480}", "\xD7"),
416
+ [LogLevelLabel.WARN]: useIcon("\u26A0", "\u203C"),
417
+ [LogLevelLabel.INFO]: useIcon("\u2139", "i"),
418
+ [LogLevelLabel.SUCCESS]: useIcon("\u2714", "\u221A"),
419
+ [LogLevelLabel.DEBUG]: useIcon("\u{1F6E0}", "D"),
420
+ [LogLevelLabel.TRACE]: useIcon("\u2709", "\u2192")
421
+ };
422
+
423
+ // ../config-tools/src/logger/format-timestamp.ts
424
+ var formatTimestamp = /* @__PURE__ */ __name((date = /* @__PURE__ */ new Date()) => {
425
+ return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
426
+ }, "formatTimestamp");
427
+
389
428
  // ../config-tools/src/logger/get-log-level.ts
390
429
  var getLogLevel = /* @__PURE__ */ __name((label) => {
391
430
  switch (label) {
@@ -448,42 +487,49 @@ var getLogFn = /* @__PURE__ */ __name((logLevel = LogLevel.INFO, config = {}) =>
448
487
  }
449
488
  if (typeof logLevel === "number" && LogLevel.FATAL >= logLevel || typeof logLevel === "string" && LogLevel.FATAL >= getLogLevel(logLevel)) {
450
489
  return (message) => {
451
- console.error(`${_chalk.bold.hex(colors.fatal ?? "#7d1a1a")(">")} ${_chalk.bold.bgHex(colors.fatal ?? "#7d1a1a").whiteBright(" \u{1F480} Fatal ")} ${_chalk.hex(colors.fatal ?? "#7d1a1a")(formatLogMessage(message))}
490
+ console.error(`
491
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.fatal ?? "#7d1a1a")(`[${CONSOLE_ICONS[LogLevelLabel.FATAL]} Fatal]`)} ${_chalk.hex(colors.fatal ?? "#7d1a1a")(formatLogMessage(message))}
452
492
  `);
453
493
  };
454
494
  }
455
495
  if (typeof logLevel === "number" && LogLevel.ERROR >= logLevel || typeof logLevel === "string" && LogLevel.ERROR >= getLogLevel(logLevel)) {
456
496
  return (message) => {
457
- console.error(`${_chalk.bold.hex(colors.danger ?? "#f85149")(">")} ${_chalk.bold.bgHex(colors.danger ?? "#f85149").whiteBright(" \u2718 Error ")} ${_chalk.hex(colors.danger ?? "#f85149")(formatLogMessage(message))}
497
+ console.error(`
498
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.danger ?? "#f85149")(`[${CONSOLE_ICONS[LogLevelLabel.ERROR]} Error]`)} ${_chalk.hex(colors.danger ?? "#f85149")(formatLogMessage(message))}
458
499
  `);
459
500
  };
460
501
  }
461
502
  if (typeof logLevel === "number" && LogLevel.WARN >= logLevel || typeof logLevel === "string" && LogLevel.WARN >= getLogLevel(logLevel)) {
462
503
  return (message) => {
463
- console.warn(`${_chalk.bold.hex(colors.warning ?? "#e3b341")(">")} ${_chalk.bold.bgHex(colors.warning ?? "#e3b341").whiteBright(" \u26A0 Warn ")} ${_chalk.hex(colors.warning ?? "#e3b341")(formatLogMessage(message))}
504
+ console.warn(`
505
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.warning ?? "#e3b341")(`[${CONSOLE_ICONS[LogLevelLabel.WARN]} Warn]`)} ${_chalk.hex(colors.warning ?? "#e3b341")(formatLogMessage(message))}
464
506
  `);
465
507
  };
466
508
  }
467
509
  if (typeof logLevel === "number" && LogLevel.SUCCESS >= logLevel || typeof logLevel === "string" && LogLevel.SUCCESS >= getLogLevel(logLevel)) {
468
510
  return (message) => {
469
- console.info(`${_chalk.bold.hex(colors.success ?? "#56d364")(">")} ${_chalk.bold.bgHex(colors.success ?? "#56d364").whiteBright(" \u2713 Success ")} ${_chalk.hex(colors.success ?? "#56d364")(formatLogMessage(message))}
511
+ console.info(`
512
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.success ?? "#56d364")(`[${CONSOLE_ICONS[LogLevelLabel.SUCCESS]} Success]`)} ${_chalk.hex(colors.success ?? "#56d364")(formatLogMessage(message))}
470
513
  `);
471
514
  };
472
515
  }
473
516
  if (typeof logLevel === "number" && LogLevel.INFO >= logLevel || typeof logLevel === "string" && LogLevel.INFO >= getLogLevel(logLevel)) {
474
517
  return (message) => {
475
- console.info(`${_chalk.bold.hex(colors.info ?? "#58a6ff")(">")} ${_chalk.bold.bgHex(colors.info ?? "#58a6ff").whiteBright(" \u2139 Info ")} ${_chalk.hex(colors.info ?? "#58a6ff")(formatLogMessage(message))}
518
+ console.info(`
519
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.info ?? "#58a6ff")(`[${CONSOLE_ICONS[LogLevelLabel.INFO]} Info]`)} ${_chalk.hex(colors.info ?? "#58a6ff")(formatLogMessage(message))}
476
520
  `);
477
521
  };
478
522
  }
479
523
  if (typeof logLevel === "number" && LogLevel.TRACE >= logLevel || typeof logLevel === "string" && LogLevel.TRACE >= getLogLevel(logLevel)) {
480
524
  return (message) => {
481
- console.debug(`${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(">")} ${_chalk.bold.bgHex(colors.brand ?? "#1fb2a6").whiteBright(" \u{1F6E0} Debug ")} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
525
+ console.debug(`
526
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(`[${CONSOLE_ICONS[LogLevelLabel.TRACE]} Debug]`)} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
482
527
  `);
483
528
  };
484
529
  }
485
530
  return (message) => {
486
- console.log(`${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(">")} ${_chalk.bold.bgHex(colors.brand ?? "#1fb2a6").whiteBright(" \u2709 System ")} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
531
+ console.log(`
532
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(`[${CONSOLE_ICONS[LogLevelLabel.ALL]} System]`)} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
487
533
  `);
488
534
  };
489
535
  }, "getLogFn");
@@ -1588,7 +1634,9 @@ void (async () => {
1588
1634
  writeSuccess("\u{1F389} Code linting and fixing completed successfully!", config);
1589
1635
  exitWithSuccess(config);
1590
1636
  } catch (error) {
1591
- writeFatal(`A fatal error occurred while linting the workspace: ${error.message}`, config);
1637
+ writeFatal(`A fatal error occurred while running the Storm Lint tool:
1638
+ ${error?.message ? error.message : JSON.stringify(error)}${error?.stack ? `
1639
+ Stack Trace: ${error.stack}` : ""}`, config);
1592
1640
  exitWithError(config);
1593
1641
  process.exit(1);
1594
1642
  }
package/dist/index.cjs CHANGED
@@ -22,6 +22,7 @@ var LogLevelLabel = {
22
22
  FATAL: "fatal",
23
23
  ERROR: "error",
24
24
  WARN: "warn",
25
+ SUCCESS: "success",
25
26
  INFO: "info",
26
27
  DEBUG: "debug",
27
28
  TRACE: "trace",
@@ -166,6 +167,7 @@ var StormConfigSchema = _zod2.default.object({
166
167
  "fatal",
167
168
  "error",
168
169
  "warn",
170
+ "success",
169
171
  "info",
170
172
  "debug",
171
173
  "trace",
@@ -369,12 +371,17 @@ var chalkDefault = {
369
371
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
370
372
  }), "bgHex"),
371
373
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright"),
374
+ gray: /* @__PURE__ */ __name((message) => message, "gray"),
372
375
  bold: {
373
376
  hex: /* @__PURE__ */ __name((_) => (message) => message, "hex"),
374
377
  bgHex: /* @__PURE__ */ __name((_) => ({
375
378
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
376
379
  }), "bgHex"),
377
380
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
381
+ },
382
+ dim: {
383
+ hex: /* @__PURE__ */ __name((_) => (message) => message, "hex"),
384
+ gray: /* @__PURE__ */ __name((message) => message, "gray")
378
385
  }
379
386
  };
380
387
  var getChalk = /* @__PURE__ */ __name(() => {
@@ -385,6 +392,38 @@ var getChalk = /* @__PURE__ */ __name(() => {
385
392
  return _chalk;
386
393
  }, "getChalk");
387
394
 
395
+ // ../config-tools/src/logger/is-unicode-supported.ts
396
+ var _process = require('process'); var _process2 = _interopRequireDefault(_process);
397
+ function isUnicodeSupported() {
398
+ const { env } = _process2.default;
399
+ const { TERM, TERM_PROGRAM } = env;
400
+ if (_process2.default.platform !== "win32") {
401
+ return TERM !== "linux";
402
+ }
403
+ return Boolean(env.WT_SESSION) || // Windows Terminal
404
+ Boolean(env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
405
+ env.ConEmuTask === "{cmd::Cmder}" || // ConEmu and cmder
406
+ TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
407
+ }
408
+ __name(isUnicodeSupported, "isUnicodeSupported");
409
+
410
+ // ../config-tools/src/logger/console-icons.ts
411
+ var useIcon = /* @__PURE__ */ __name((c, fallback) => isUnicodeSupported() ? c : fallback, "useIcon");
412
+ var CONSOLE_ICONS = {
413
+ [LogLevelLabel.ERROR]: useIcon("\u2718", "\xD7"),
414
+ [LogLevelLabel.FATAL]: useIcon("\u{1F480}", "\xD7"),
415
+ [LogLevelLabel.WARN]: useIcon("\u26A0", "\u203C"),
416
+ [LogLevelLabel.INFO]: useIcon("\u2139", "i"),
417
+ [LogLevelLabel.SUCCESS]: useIcon("\u2714", "\u221A"),
418
+ [LogLevelLabel.DEBUG]: useIcon("\u{1F6E0}", "D"),
419
+ [LogLevelLabel.TRACE]: useIcon("\u2709", "\u2192")
420
+ };
421
+
422
+ // ../config-tools/src/logger/format-timestamp.ts
423
+ var formatTimestamp = /* @__PURE__ */ __name((date = /* @__PURE__ */ new Date()) => {
424
+ return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
425
+ }, "formatTimestamp");
426
+
388
427
  // ../config-tools/src/logger/get-log-level.ts
389
428
  var getLogLevel = /* @__PURE__ */ __name((label) => {
390
429
  switch (label) {
@@ -447,42 +486,49 @@ var getLogFn = /* @__PURE__ */ __name((logLevel = LogLevel.INFO, config = {}) =>
447
486
  }
448
487
  if (typeof logLevel === "number" && LogLevel.FATAL >= logLevel || typeof logLevel === "string" && LogLevel.FATAL >= getLogLevel(logLevel)) {
449
488
  return (message) => {
450
- console.error(`${_chalk.bold.hex(_nullishCoalesce(colors.fatal, () => ( "#7d1a1a")))(">")} ${_chalk.bold.bgHex(_nullishCoalesce(colors.fatal, () => ( "#7d1a1a"))).whiteBright(" \u{1F480} Fatal ")} ${_chalk.hex(_nullishCoalesce(colors.fatal, () => ( "#7d1a1a")))(formatLogMessage(message))}
489
+ console.error(`
490
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(_nullishCoalesce(colors.fatal, () => ( "#7d1a1a")))(`[${CONSOLE_ICONS[LogLevelLabel.FATAL]} Fatal]`)} ${_chalk.hex(_nullishCoalesce(colors.fatal, () => ( "#7d1a1a")))(formatLogMessage(message))}
451
491
  `);
452
492
  };
453
493
  }
454
494
  if (typeof logLevel === "number" && LogLevel.ERROR >= logLevel || typeof logLevel === "string" && LogLevel.ERROR >= getLogLevel(logLevel)) {
455
495
  return (message) => {
456
- console.error(`${_chalk.bold.hex(_nullishCoalesce(colors.danger, () => ( "#f85149")))(">")} ${_chalk.bold.bgHex(_nullishCoalesce(colors.danger, () => ( "#f85149"))).whiteBright(" \u2718 Error ")} ${_chalk.hex(_nullishCoalesce(colors.danger, () => ( "#f85149")))(formatLogMessage(message))}
496
+ console.error(`
497
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(_nullishCoalesce(colors.danger, () => ( "#f85149")))(`[${CONSOLE_ICONS[LogLevelLabel.ERROR]} Error]`)} ${_chalk.hex(_nullishCoalesce(colors.danger, () => ( "#f85149")))(formatLogMessage(message))}
457
498
  `);
458
499
  };
459
500
  }
460
501
  if (typeof logLevel === "number" && LogLevel.WARN >= logLevel || typeof logLevel === "string" && LogLevel.WARN >= getLogLevel(logLevel)) {
461
502
  return (message) => {
462
- console.warn(`${_chalk.bold.hex(_nullishCoalesce(colors.warning, () => ( "#e3b341")))(">")} ${_chalk.bold.bgHex(_nullishCoalesce(colors.warning, () => ( "#e3b341"))).whiteBright(" \u26A0 Warn ")} ${_chalk.hex(_nullishCoalesce(colors.warning, () => ( "#e3b341")))(formatLogMessage(message))}
503
+ console.warn(`
504
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(_nullishCoalesce(colors.warning, () => ( "#e3b341")))(`[${CONSOLE_ICONS[LogLevelLabel.WARN]} Warn]`)} ${_chalk.hex(_nullishCoalesce(colors.warning, () => ( "#e3b341")))(formatLogMessage(message))}
463
505
  `);
464
506
  };
465
507
  }
466
508
  if (typeof logLevel === "number" && LogLevel.SUCCESS >= logLevel || typeof logLevel === "string" && LogLevel.SUCCESS >= getLogLevel(logLevel)) {
467
509
  return (message) => {
468
- console.info(`${_chalk.bold.hex(_nullishCoalesce(colors.success, () => ( "#56d364")))(">")} ${_chalk.bold.bgHex(_nullishCoalesce(colors.success, () => ( "#56d364"))).whiteBright(" \u2713 Success ")} ${_chalk.hex(_nullishCoalesce(colors.success, () => ( "#56d364")))(formatLogMessage(message))}
510
+ console.info(`
511
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(_nullishCoalesce(colors.success, () => ( "#56d364")))(`[${CONSOLE_ICONS[LogLevelLabel.SUCCESS]} Success]`)} ${_chalk.hex(_nullishCoalesce(colors.success, () => ( "#56d364")))(formatLogMessage(message))}
469
512
  `);
470
513
  };
471
514
  }
472
515
  if (typeof logLevel === "number" && LogLevel.INFO >= logLevel || typeof logLevel === "string" && LogLevel.INFO >= getLogLevel(logLevel)) {
473
516
  return (message) => {
474
- console.info(`${_chalk.bold.hex(_nullishCoalesce(colors.info, () => ( "#58a6ff")))(">")} ${_chalk.bold.bgHex(_nullishCoalesce(colors.info, () => ( "#58a6ff"))).whiteBright(" \u2139 Info ")} ${_chalk.hex(_nullishCoalesce(colors.info, () => ( "#58a6ff")))(formatLogMessage(message))}
517
+ console.info(`
518
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(_nullishCoalesce(colors.info, () => ( "#58a6ff")))(`[${CONSOLE_ICONS[LogLevelLabel.INFO]} Info]`)} ${_chalk.hex(_nullishCoalesce(colors.info, () => ( "#58a6ff")))(formatLogMessage(message))}
475
519
  `);
476
520
  };
477
521
  }
478
522
  if (typeof logLevel === "number" && LogLevel.TRACE >= logLevel || typeof logLevel === "string" && LogLevel.TRACE >= getLogLevel(logLevel)) {
479
523
  return (message) => {
480
- console.debug(`${_chalk.bold.hex(_nullishCoalesce(colors.brand, () => ( "#1fb2a6")))(">")} ${_chalk.bold.bgHex(_nullishCoalesce(colors.brand, () => ( "#1fb2a6"))).whiteBright(" \u{1F6E0} Debug ")} ${_chalk.hex(_nullishCoalesce(colors.brand, () => ( "#1fb2a6")))(formatLogMessage(message))}
524
+ console.debug(`
525
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(_nullishCoalesce(colors.brand, () => ( "#1fb2a6")))(`[${CONSOLE_ICONS[LogLevelLabel.TRACE]} Debug]`)} ${_chalk.hex(_nullishCoalesce(colors.brand, () => ( "#1fb2a6")))(formatLogMessage(message))}
481
526
  `);
482
527
  };
483
528
  }
484
529
  return (message) => {
485
- console.log(`${_chalk.bold.hex(_nullishCoalesce(colors.brand, () => ( "#1fb2a6")))(">")} ${_chalk.bold.bgHex(_nullishCoalesce(colors.brand, () => ( "#1fb2a6"))).whiteBright(" \u2709 System ")} ${_chalk.hex(_nullishCoalesce(colors.brand, () => ( "#1fb2a6")))(formatLogMessage(message))}
530
+ console.log(`
531
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(_nullishCoalesce(colors.brand, () => ( "#1fb2a6")))(`[${CONSOLE_ICONS[LogLevelLabel.ALL]} System]`)} ${_chalk.hex(_nullishCoalesce(colors.brand, () => ( "#1fb2a6")))(formatLogMessage(message))}
486
532
  `);
487
533
  };
488
534
  }, "getLogFn");
package/dist/index.d.cts CHANGED
@@ -57,7 +57,7 @@ declare const StormConfigSchema: z.ZodObject<{
57
57
  packageManager: z.ZodDefault<z.ZodEnum<["npm", "yarn", "pnpm", "bun"]>>;
58
58
  timezone: z.ZodDefault<z.ZodString>;
59
59
  locale: z.ZodDefault<z.ZodString>;
60
- logLevel: z.ZodDefault<z.ZodEnum<["silent", "fatal", "error", "warn", "info", "debug", "trace", "all"]>>;
60
+ logLevel: z.ZodDefault<z.ZodEnum<["silent", "fatal", "error", "warn", "success", "info", "debug", "trace", "all"]>>;
61
61
  registry: z.ZodDefault<z.ZodObject<{
62
62
  github: z.ZodOptional<z.ZodString>;
63
63
  npm: z.ZodOptional<z.ZodString>;
@@ -821,7 +821,7 @@ declare const StormConfigSchema: z.ZodObject<{
821
821
  packageManager: "npm" | "yarn" | "pnpm" | "bun";
822
822
  timezone: string;
823
823
  locale: string;
824
- logLevel: "info" | "fatal" | "silent" | "error" | "warn" | "debug" | "trace" | "all";
824
+ logLevel: "success" | "info" | "fatal" | "silent" | "error" | "warn" | "debug" | "trace" | "all";
825
825
  registry: {
826
826
  github?: string | undefined;
827
827
  npm?: string | undefined;
@@ -1164,7 +1164,7 @@ declare const StormConfigSchema: z.ZodObject<{
1164
1164
  packageManager?: "npm" | "yarn" | "pnpm" | "bun" | undefined;
1165
1165
  timezone?: string | undefined;
1166
1166
  locale?: string | undefined;
1167
- logLevel?: "info" | "fatal" | "silent" | "error" | "warn" | "debug" | "trace" | "all" | undefined;
1167
+ logLevel?: "success" | "info" | "fatal" | "silent" | "error" | "warn" | "debug" | "trace" | "all" | undefined;
1168
1168
  registry?: {
1169
1169
  github?: string | undefined;
1170
1170
  npm?: string | undefined;
package/dist/index.d.ts CHANGED
@@ -57,7 +57,7 @@ declare const StormConfigSchema: z.ZodObject<{
57
57
  packageManager: z.ZodDefault<z.ZodEnum<["npm", "yarn", "pnpm", "bun"]>>;
58
58
  timezone: z.ZodDefault<z.ZodString>;
59
59
  locale: z.ZodDefault<z.ZodString>;
60
- logLevel: z.ZodDefault<z.ZodEnum<["silent", "fatal", "error", "warn", "info", "debug", "trace", "all"]>>;
60
+ logLevel: z.ZodDefault<z.ZodEnum<["silent", "fatal", "error", "warn", "success", "info", "debug", "trace", "all"]>>;
61
61
  registry: z.ZodDefault<z.ZodObject<{
62
62
  github: z.ZodOptional<z.ZodString>;
63
63
  npm: z.ZodOptional<z.ZodString>;
@@ -821,7 +821,7 @@ declare const StormConfigSchema: z.ZodObject<{
821
821
  packageManager: "npm" | "yarn" | "pnpm" | "bun";
822
822
  timezone: string;
823
823
  locale: string;
824
- logLevel: "info" | "fatal" | "silent" | "error" | "warn" | "debug" | "trace" | "all";
824
+ logLevel: "success" | "info" | "fatal" | "silent" | "error" | "warn" | "debug" | "trace" | "all";
825
825
  registry: {
826
826
  github?: string | undefined;
827
827
  npm?: string | undefined;
@@ -1164,7 +1164,7 @@ declare const StormConfigSchema: z.ZodObject<{
1164
1164
  packageManager?: "npm" | "yarn" | "pnpm" | "bun" | undefined;
1165
1165
  timezone?: string | undefined;
1166
1166
  locale?: string | undefined;
1167
- logLevel?: "info" | "fatal" | "silent" | "error" | "warn" | "debug" | "trace" | "all" | undefined;
1167
+ logLevel?: "success" | "info" | "fatal" | "silent" | "error" | "warn" | "debug" | "trace" | "all" | undefined;
1168
1168
  registry?: {
1169
1169
  github?: string | undefined;
1170
1170
  npm?: string | undefined;
package/dist/index.js CHANGED
@@ -22,6 +22,7 @@ var LogLevelLabel = {
22
22
  FATAL: "fatal",
23
23
  ERROR: "error",
24
24
  WARN: "warn",
25
+ SUCCESS: "success",
25
26
  INFO: "info",
26
27
  DEBUG: "debug",
27
28
  TRACE: "trace",
@@ -166,6 +167,7 @@ var StormConfigSchema = z.object({
166
167
  "fatal",
167
168
  "error",
168
169
  "warn",
170
+ "success",
169
171
  "info",
170
172
  "debug",
171
173
  "trace",
@@ -369,12 +371,17 @@ var chalkDefault = {
369
371
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
370
372
  }), "bgHex"),
371
373
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright"),
374
+ gray: /* @__PURE__ */ __name((message) => message, "gray"),
372
375
  bold: {
373
376
  hex: /* @__PURE__ */ __name((_) => (message) => message, "hex"),
374
377
  bgHex: /* @__PURE__ */ __name((_) => ({
375
378
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
376
379
  }), "bgHex"),
377
380
  whiteBright: /* @__PURE__ */ __name((message) => message, "whiteBright")
381
+ },
382
+ dim: {
383
+ hex: /* @__PURE__ */ __name((_) => (message) => message, "hex"),
384
+ gray: /* @__PURE__ */ __name((message) => message, "gray")
378
385
  }
379
386
  };
380
387
  var getChalk = /* @__PURE__ */ __name(() => {
@@ -385,6 +392,38 @@ var getChalk = /* @__PURE__ */ __name(() => {
385
392
  return _chalk;
386
393
  }, "getChalk");
387
394
 
395
+ // ../config-tools/src/logger/is-unicode-supported.ts
396
+ import process2 from "node:process";
397
+ function isUnicodeSupported() {
398
+ const { env } = process2;
399
+ const { TERM, TERM_PROGRAM } = env;
400
+ if (process2.platform !== "win32") {
401
+ return TERM !== "linux";
402
+ }
403
+ return Boolean(env.WT_SESSION) || // Windows Terminal
404
+ Boolean(env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
405
+ env.ConEmuTask === "{cmd::Cmder}" || // ConEmu and cmder
406
+ TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
407
+ }
408
+ __name(isUnicodeSupported, "isUnicodeSupported");
409
+
410
+ // ../config-tools/src/logger/console-icons.ts
411
+ var useIcon = /* @__PURE__ */ __name((c, fallback) => isUnicodeSupported() ? c : fallback, "useIcon");
412
+ var CONSOLE_ICONS = {
413
+ [LogLevelLabel.ERROR]: useIcon("\u2718", "\xD7"),
414
+ [LogLevelLabel.FATAL]: useIcon("\u{1F480}", "\xD7"),
415
+ [LogLevelLabel.WARN]: useIcon("\u26A0", "\u203C"),
416
+ [LogLevelLabel.INFO]: useIcon("\u2139", "i"),
417
+ [LogLevelLabel.SUCCESS]: useIcon("\u2714", "\u221A"),
418
+ [LogLevelLabel.DEBUG]: useIcon("\u{1F6E0}", "D"),
419
+ [LogLevelLabel.TRACE]: useIcon("\u2709", "\u2192")
420
+ };
421
+
422
+ // ../config-tools/src/logger/format-timestamp.ts
423
+ var formatTimestamp = /* @__PURE__ */ __name((date = /* @__PURE__ */ new Date()) => {
424
+ return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
425
+ }, "formatTimestamp");
426
+
388
427
  // ../config-tools/src/logger/get-log-level.ts
389
428
  var getLogLevel = /* @__PURE__ */ __name((label) => {
390
429
  switch (label) {
@@ -447,42 +486,49 @@ var getLogFn = /* @__PURE__ */ __name((logLevel = LogLevel.INFO, config = {}) =>
447
486
  }
448
487
  if (typeof logLevel === "number" && LogLevel.FATAL >= logLevel || typeof logLevel === "string" && LogLevel.FATAL >= getLogLevel(logLevel)) {
449
488
  return (message) => {
450
- console.error(`${_chalk.bold.hex(colors.fatal ?? "#7d1a1a")(">")} ${_chalk.bold.bgHex(colors.fatal ?? "#7d1a1a").whiteBright(" \u{1F480} Fatal ")} ${_chalk.hex(colors.fatal ?? "#7d1a1a")(formatLogMessage(message))}
489
+ console.error(`
490
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.fatal ?? "#7d1a1a")(`[${CONSOLE_ICONS[LogLevelLabel.FATAL]} Fatal]`)} ${_chalk.hex(colors.fatal ?? "#7d1a1a")(formatLogMessage(message))}
451
491
  `);
452
492
  };
453
493
  }
454
494
  if (typeof logLevel === "number" && LogLevel.ERROR >= logLevel || typeof logLevel === "string" && LogLevel.ERROR >= getLogLevel(logLevel)) {
455
495
  return (message) => {
456
- console.error(`${_chalk.bold.hex(colors.danger ?? "#f85149")(">")} ${_chalk.bold.bgHex(colors.danger ?? "#f85149").whiteBright(" \u2718 Error ")} ${_chalk.hex(colors.danger ?? "#f85149")(formatLogMessage(message))}
496
+ console.error(`
497
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.danger ?? "#f85149")(`[${CONSOLE_ICONS[LogLevelLabel.ERROR]} Error]`)} ${_chalk.hex(colors.danger ?? "#f85149")(formatLogMessage(message))}
457
498
  `);
458
499
  };
459
500
  }
460
501
  if (typeof logLevel === "number" && LogLevel.WARN >= logLevel || typeof logLevel === "string" && LogLevel.WARN >= getLogLevel(logLevel)) {
461
502
  return (message) => {
462
- console.warn(`${_chalk.bold.hex(colors.warning ?? "#e3b341")(">")} ${_chalk.bold.bgHex(colors.warning ?? "#e3b341").whiteBright(" \u26A0 Warn ")} ${_chalk.hex(colors.warning ?? "#e3b341")(formatLogMessage(message))}
503
+ console.warn(`
504
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.warning ?? "#e3b341")(`[${CONSOLE_ICONS[LogLevelLabel.WARN]} Warn]`)} ${_chalk.hex(colors.warning ?? "#e3b341")(formatLogMessage(message))}
463
505
  `);
464
506
  };
465
507
  }
466
508
  if (typeof logLevel === "number" && LogLevel.SUCCESS >= logLevel || typeof logLevel === "string" && LogLevel.SUCCESS >= getLogLevel(logLevel)) {
467
509
  return (message) => {
468
- console.info(`${_chalk.bold.hex(colors.success ?? "#56d364")(">")} ${_chalk.bold.bgHex(colors.success ?? "#56d364").whiteBright(" \u2713 Success ")} ${_chalk.hex(colors.success ?? "#56d364")(formatLogMessage(message))}
510
+ console.info(`
511
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.success ?? "#56d364")(`[${CONSOLE_ICONS[LogLevelLabel.SUCCESS]} Success]`)} ${_chalk.hex(colors.success ?? "#56d364")(formatLogMessage(message))}
469
512
  `);
470
513
  };
471
514
  }
472
515
  if (typeof logLevel === "number" && LogLevel.INFO >= logLevel || typeof logLevel === "string" && LogLevel.INFO >= getLogLevel(logLevel)) {
473
516
  return (message) => {
474
- console.info(`${_chalk.bold.hex(colors.info ?? "#58a6ff")(">")} ${_chalk.bold.bgHex(colors.info ?? "#58a6ff").whiteBright(" \u2139 Info ")} ${_chalk.hex(colors.info ?? "#58a6ff")(formatLogMessage(message))}
517
+ console.info(`
518
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.info ?? "#58a6ff")(`[${CONSOLE_ICONS[LogLevelLabel.INFO]} Info]`)} ${_chalk.hex(colors.info ?? "#58a6ff")(formatLogMessage(message))}
475
519
  `);
476
520
  };
477
521
  }
478
522
  if (typeof logLevel === "number" && LogLevel.TRACE >= logLevel || typeof logLevel === "string" && LogLevel.TRACE >= getLogLevel(logLevel)) {
479
523
  return (message) => {
480
- console.debug(`${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(">")} ${_chalk.bold.bgHex(colors.brand ?? "#1fb2a6").whiteBright(" \u{1F6E0} Debug ")} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
524
+ console.debug(`
525
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(`[${CONSOLE_ICONS[LogLevelLabel.TRACE]} Debug]`)} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
481
526
  `);
482
527
  };
483
528
  }
484
529
  return (message) => {
485
- console.log(`${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(">")} ${_chalk.bold.bgHex(colors.brand ?? "#1fb2a6").whiteBright(" \u2709 System ")} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
530
+ console.log(`
531
+ ${_chalk.gray(formatTimestamp())} ${_chalk.bold.hex(colors.brand ?? "#1fb2a6")(`[${CONSOLE_ICONS[LogLevelLabel.ALL]} System]`)} ${_chalk.hex(colors.brand ?? "#1fb2a6")(formatLogMessage(message))}
486
532
  `);
487
533
  };
488
534
  }, "getLogFn");
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@storm-software/linting-tools","version":"1.103.4","type":"module","description":"⚡ A package containing various linting tools used to validate syntax, enforce design standards, and format code in a Storm workspace.","repository":{"type":"github","url":"https://github.com/storm-software/storm-ops","directory":"packages/linting-tools"},"homepage":"https://stormsoftware.com","bugs":"https://github.com/storm-software/storm-ops/issues","author":{"name":"Storm Software","email":"contact@stormsoftware.com","url":"https://stormsoftware.com"},"maintainers":[{"name":"Storm Software","email":"contact@stormsoftware.com","url":"https://stormsoftware.com"},{"name":"Pat Sullivan","email":"admin@stormsoftware.com","url":"https://patsullivan.org"}],"contributors":[{"name":"Storm Software","email":"contact@stormsoftware.com","url":"https://stormsoftware.com"}],"funding":{"type":"github","url":"https://github.com/sponsors/storm-software"},"license":"Apache-2.0","private":false,"packageManager":"pnpm@9.15.2","engines":{"node":">=22.4.0","pnpm":">=9.15.2"},"bin":{"storm-lint":"./bin/lint.cjs","storm-lint-esm":"./bin/lint.js","storm-lint-cjs":"./bin/lint.cjs"},"main":"./dist/index.cjs","module":"./dist/index.js","exports":{"./package.json":"./package.json",".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./index":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./biome/*":"./biome/*","./ls-lint/*":"./ls-lint/*","./syncpack/*":"./syncpack/*","./cspell/*":"./cspell/*","./alex/*":"./alex/*","./taplo/*":"./taplo/*","./zizmor/*":"./zizmor/*","./dependency-cruiser/*":"./dependency-cruiser/*"},"types":"./dist/index.d.ts","files":["alex/**/*","bin/**/*","biome/**/*","cspell/**/*","dist/**/*","ls-lint/**/*","syncpack/**/*","taplo/**/*","zizmor/**/*"],"keywords":["storm-software","monorepo","storm-ops","sullivanpj","manypkg","ls-lint","cspell","biome","alex","taplo","syncpack","zizmor"],"peerDependencies":{"@storm-software/cspell":"workspace:*"},"peerDependenciesMeta":{"@storm-software/cspell":{"optional":false}},"dependencies":{"@angular-devkit/architect":"0.1900.6","@manypkg/cli":"0.21.4","@manypkg/get-packages":"2.2.1","alex":"11.0.1","check-dependency-version-consistency":"4.1.0","commander":"^12.1.0","dpdm":"3.14.0","fast-glob":"3.3.2","fs-extra":"11.2.0","octokit":"4.0.2","p-limit":"5.0.0","rehype-parse":"9.0.0","rehype-retext":"4.0.0","remark-frontmatter":"5.0.0","remark-gfm":"4.0.0","remark-mdx":"3.0.1","remark-parse":"11.0.0","remark-retext":"6.0.0","retext-english":"5.0.0","retext-equality":"7.1.0","retext-profanities":"8.0.0","spawndamnit":"2.0.0","tsconfig-paths":"4.2.0","unified":"11.0.5","unified-engine":"11.2.1","vfile-reporter":"8.1.1"},"devDependencies":{"@storm-software/cspell":"0.4.1","@types/node":"^22.10.2","cspell":"8.8.4","tsup":"8.3.5"},"publishConfig":{"access":"public"}}
1
+ {"name":"@storm-software/linting-tools","version":"1.103.6","type":"module","description":"⚡ A package containing various linting tools used to validate syntax, enforce design standards, and format code in a Storm workspace.","repository":{"type":"github","url":"https://github.com/storm-software/storm-ops","directory":"packages/linting-tools"},"homepage":"https://stormsoftware.com","bugs":"https://github.com/storm-software/storm-ops/issues","author":{"name":"Storm Software","email":"contact@stormsoftware.com","url":"https://stormsoftware.com"},"maintainers":[{"name":"Storm Software","email":"contact@stormsoftware.com","url":"https://stormsoftware.com"},{"name":"Pat Sullivan","email":"admin@stormsoftware.com","url":"https://patsullivan.org"}],"contributors":[{"name":"Storm Software","email":"contact@stormsoftware.com","url":"https://stormsoftware.com"}],"funding":{"type":"github","url":"https://github.com/sponsors/storm-software"},"license":"Apache-2.0","private":false,"packageManager":"pnpm@9.15.2","engines":{"node":">=22.4.0","pnpm":">=9.15.2"},"bin":{"storm-lint":"./bin/lint.cjs","storm-lint-esm":"./bin/lint.js","storm-lint-cjs":"./bin/lint.cjs"},"main":"./dist/index.cjs","module":"./dist/index.js","exports":{"./package.json":"./package.json",".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./index":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"default":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./biome/*":"./biome/*","./ls-lint/*":"./ls-lint/*","./syncpack/*":"./syncpack/*","./cspell/*":"./cspell/*","./alex/*":"./alex/*","./taplo/*":"./taplo/*","./zizmor/*":"./zizmor/*","./dependency-cruiser/*":"./dependency-cruiser/*"},"types":"./dist/index.d.ts","files":["alex/**/*","bin/**/*","biome/**/*","cspell/**/*","dist/**/*","ls-lint/**/*","syncpack/**/*","taplo/**/*","zizmor/**/*"],"keywords":["storm-software","monorepo","storm-ops","sullivanpj","manypkg","ls-lint","cspell","biome","alex","taplo","syncpack","zizmor"],"peerDependencies":{"@storm-software/cspell":"workspace:*"},"peerDependenciesMeta":{"@storm-software/cspell":{"optional":false}},"dependencies":{"@angular-devkit/architect":"0.1900.6","@manypkg/cli":"0.21.4","@manypkg/get-packages":"2.2.1","alex":"11.0.1","check-dependency-version-consistency":"4.1.0","commander":"^12.1.0","dpdm":"3.14.0","fast-glob":"3.3.2","fs-extra":"11.2.0","octokit":"4.0.2","p-limit":"5.0.0","rehype-parse":"9.0.0","rehype-retext":"4.0.0","remark-frontmatter":"5.0.0","remark-gfm":"4.0.0","remark-mdx":"3.0.1","remark-parse":"11.0.0","remark-retext":"6.0.0","retext-english":"5.0.0","retext-equality":"7.1.0","retext-profanities":"8.0.0","spawndamnit":"2.0.0","tsconfig-paths":"4.2.0","unified":"11.0.5","unified-engine":"11.2.1","vfile-reporter":"8.1.1"},"devDependencies":{"@storm-software/cspell":"0.5.4","@types/node":"^22.10.2","cspell":"8.8.4","tsup":"8.3.5"},"publishConfig":{"access":"public"}}