nightingale 16.2.0 → 17.0.1

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  3. package/dist/definitions/debug/getDebugString.d.ts +2 -0
  4. package/dist/definitions/debug/getDebugString.d.ts.map +1 -0
  5. package/dist/definitions/debug/getDebugString.web.d.ts +2 -0
  6. package/dist/definitions/debug/getDebugString.web.d.ts.map +1 -0
  7. package/dist/definitions/formatter-utils/formatRecordToString.d.ts +1 -1
  8. package/dist/definitions/formatter-utils/formatRecordToString.d.ts.map +1 -1
  9. package/dist/definitions/formatter-utils/index.d.ts +1 -4
  10. package/dist/definitions/formatter-utils/index.d.ts.map +1 -1
  11. package/dist/definitions/formatters/BrowserConsoleFormatter.d.ts +3 -3
  12. package/dist/definitions/formatters/BrowserConsoleFormatter.d.ts.map +1 -1
  13. package/dist/definitions/formatters/JSONFormatter.d.ts.map +1 -1
  14. package/dist/definitions/handlers/BrowserConsoleHandler.d.ts +0 -1
  15. package/dist/definitions/handlers/BrowserConsoleHandler.d.ts.map +1 -1
  16. package/dist/definitions/handlers/ConsoleCLIHandler.d.ts +1 -0
  17. package/dist/definitions/handlers/ConsoleCLIHandler.d.ts.map +1 -1
  18. package/dist/definitions/handlers/ConsoleHandler.d.ts +2 -1
  19. package/dist/definitions/handlers/ConsoleHandler.d.ts.map +1 -1
  20. package/dist/definitions/handlers/defaultFormatter.d.ts +2 -0
  21. package/dist/definitions/handlers/defaultFormatter.d.ts.map +1 -0
  22. package/dist/definitions/handlers/defaultFormatter.target-node.d.ts +2 -0
  23. package/dist/definitions/handlers/defaultFormatter.target-node.d.ts.map +1 -0
  24. package/dist/definitions/loggers/LoggerCLI.d.ts +6 -1
  25. package/dist/definitions/loggers/LoggerCLI.d.ts.map +1 -1
  26. package/dist/definitions/loggers/LoggerCLI.test.d.ts +2 -0
  27. package/dist/definitions/loggers/LoggerCLI.test.d.ts.map +1 -0
  28. package/dist/definitions/outputs/cliConsoleOutput.d.ts +1 -1
  29. package/dist/definitions/outputs/cliConsoleOutput.d.ts.map +1 -1
  30. package/dist/definitions/outputs/consoleOutput.d.ts +1 -1
  31. package/dist/definitions/outputs/consoleOutput.d.ts.map +1 -1
  32. package/dist/definitions/outputs/consoleOutput.target-node.d.ts +3 -0
  33. package/dist/definitions/outputs/consoleOutput.target-node.d.ts.map +1 -0
  34. package/dist/index-browser.es.js +262 -356
  35. package/dist/index-browser.es.js.map +1 -1
  36. package/dist/index-node20.mjs +256 -366
  37. package/dist/index-node20.mjs.map +1 -1
  38. package/dist/index-react-native.es.js +992 -0
  39. package/dist/index-react-native.es.js.map +1 -0
  40. package/package.json +17 -12
  41. package/src/debug/getDebugString.ts +3 -0
  42. package/src/debug/getDebugString.web.ts +24 -0
  43. package/src/formatter-utils/formatObject.test.ts +1 -3
  44. package/src/formatter-utils/formatRecordToString.ts +2 -2
  45. package/src/formatter-utils/index.ts +1 -5
  46. package/src/formatters/ANSIFormatter.test.ts +1 -1
  47. package/src/formatters/BrowserConsoleFormatter.ts +4 -6
  48. package/src/formatters/HTMLFormatter.test.ts +2 -2
  49. package/src/formatters/JSONFormatter.test.ts +5 -5
  50. package/src/formatters/JSONFormatter.ts +19 -15
  51. package/src/formatters/MarkdownFormatter.test.ts +3 -1
  52. package/src/formatters/RawFormatter.test.ts +2 -2
  53. package/src/handlers/BrowserConsoleHandler.ts +1 -25
  54. package/src/handlers/ConsoleCLIHandler.ts +11 -2
  55. package/src/handlers/ConsoleHandler.ts +3 -11
  56. package/src/handlers/StringHandler.ts +1 -1
  57. package/src/handlers/defaultFormatter.target-node.ts +7 -0
  58. package/src/handlers/defaultFormatter.ts +3 -0
  59. package/src/loggers/LoggerCLI.test.ts +19 -0
  60. package/src/loggers/LoggerCLI.ts +22 -2
  61. package/src/outputs/cliConsoleOutput.ts +2 -9
  62. package/src/outputs/consoleOutput.target-node.ts +10 -0
  63. package/src/outputs/consoleOutput.ts +2 -10
@@ -0,0 +1,19 @@
1
+ import { LoggerCLIString } from "./LoggerCLI";
2
+
3
+ describe("LoggerCLI", () => {
4
+ test("LoggerCLIString", () => {
5
+ import.meta.jest.useFakeTimers({
6
+ now: new Date("2023-10-01T10:57:49.000Z"),
7
+ });
8
+
9
+ const consoleLogSpy = import.meta.jest
10
+ .spyOn(console, "log")
11
+ .mockImplementation(() => {});
12
+ const logger = new LoggerCLIString("test", { noColor: true });
13
+ logger.info("Test message", { key: "value" });
14
+
15
+ expect(consoleLogSpy).toHaveBeenCalledWith(
16
+ 'test 10:57:49 → Test message { key: "value" }',
17
+ );
18
+ });
19
+ });
@@ -8,6 +8,7 @@ export interface LoggerCLIOptions {
8
8
  handlers?: Handler[];
9
9
  processors?: Processor[];
10
10
  json?: boolean;
11
+ noColor?: boolean;
11
12
  }
12
13
 
13
14
  export class LoggerCLI extends Logger {
@@ -16,10 +17,10 @@ export class LoggerCLI extends Logger {
16
17
  private json: boolean;
17
18
  constructor(
18
19
  key: string,
19
- { displayName, processors, json = false }: LoggerCLIOptions = {},
20
+ { displayName, processors, json = false, noColor }: LoggerCLIOptions = {},
20
21
  ) {
21
22
  super(key, displayName);
22
- this.handlers = [new ConsoleCLIHandler(Level.INFO, { json })];
23
+ this.handlers = [new ConsoleCLIHandler(Level.INFO, { json, noColor })];
23
24
  this.processors = processors ?? [];
24
25
  this.json = json;
25
26
  }
@@ -100,4 +101,23 @@ export class LoggerCLI extends Logger {
100
101
  }
101
102
  }
102
103
  }
104
+
105
+ separator(): void {
106
+ console.log();
107
+ }
108
+ }
109
+
110
+ export class LoggerCLIString extends LoggerCLI {
111
+ constructor(
112
+ key: string,
113
+ {
114
+ displayName,
115
+ handlers,
116
+ processors,
117
+ json = false,
118
+ noColor = false,
119
+ }: LoggerCLIOptions = {},
120
+ ) {
121
+ super(key, { displayName, handlers, processors, json, noColor });
122
+ }
103
123
  }
@@ -1,17 +1,10 @@
1
1
  /* eslint-disable no-console */
2
2
  import { Level } from "nightingale-levels";
3
3
  import type { LogRecord, Metadata } from "nightingale-types";
4
- import { POB_TARGET } from "pob-babel";
5
4
 
6
5
  export function cliConsoleOutput<T extends Metadata>(
7
- param: string[] | string,
6
+ param: [string, ...string[]],
8
7
  record: LogRecord<T>,
9
8
  ): void {
10
- if (POB_TARGET !== "browser") {
11
- console[record.level >= Level.ERROR ? "error" : "log"](param as string);
12
- } else {
13
- console[record.level >= Level.ERROR ? "error" : "log"](
14
- ...(param as string[]),
15
- );
16
- }
9
+ console[record.level >= Level.ERROR ? "error" : "log"](...param);
17
10
  }
@@ -0,0 +1,10 @@
1
+ import { Level } from "nightingale-levels";
2
+ import type { LogRecord, Metadata } from "nightingale-types";
3
+
4
+ export function consoleOutput<T extends Metadata>(
5
+ param: [string, ...string[]],
6
+ record: LogRecord<T>,
7
+ ): void {
8
+ const outKey = record.level >= Level.ERROR ? "stderr" : "stdout";
9
+ process[outKey].write(`${param[0]}\n`);
10
+ }
@@ -1,18 +1,10 @@
1
1
  /* eslint-disable no-console */
2
2
  import { Level } from "nightingale-levels";
3
3
  import type { LogRecord, Metadata } from "nightingale-types";
4
- import { POB_TARGET } from "pob-babel";
5
4
 
6
5
  export function consoleOutput<T extends Metadata>(
7
- param: string[] | string,
6
+ param: [string, ...string[]],
8
7
  record: LogRecord<T>,
9
8
  ): void {
10
- if (POB_TARGET !== "browser") {
11
- const outKey = record.level >= Level.ERROR ? "stderr" : "stdout";
12
- process[outKey].write(`${param as string}\n`);
13
- } else {
14
- console[record.level >= Level.ERROR ? "error" : "log"](
15
- ...(param as string[]),
16
- );
17
- }
9
+ console[record.level >= Level.ERROR ? "error" : "log"](...param);
18
10
  }