nightingale 14.2.1 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +204 -57
  3. package/dist/definitions/config.d.ts +1 -1
  4. package/dist/definitions/debug/debug.d.ts +5 -0
  5. package/dist/definitions/debug/debug.d.ts.map +1 -0
  6. package/dist/definitions/debug/debug.test.d.ts +2 -0
  7. package/dist/definitions/debug/debug.test.d.ts.map +1 -0
  8. package/dist/definitions/formatter-utils/formatObject.d.ts +9 -0
  9. package/dist/definitions/formatter-utils/formatObject.d.ts.map +1 -0
  10. package/dist/definitions/formatter-utils/formatObject.test.d.ts +2 -0
  11. package/dist/definitions/formatter-utils/formatObject.test.d.ts.map +1 -0
  12. package/dist/definitions/formatter-utils/formatRecordToString.d.ts +4 -0
  13. package/dist/definitions/formatter-utils/formatRecordToString.d.ts.map +1 -0
  14. package/dist/definitions/formatter-utils/index.d.ts +15 -0
  15. package/dist/definitions/formatter-utils/index.d.ts.map +1 -0
  16. package/dist/definitions/formatter-utils/index.test.d.ts +2 -0
  17. package/dist/definitions/formatter-utils/index.test.d.ts.map +1 -0
  18. package/dist/definitions/formatter-utils/levelToStyles.d.ts +3 -0
  19. package/dist/definitions/formatter-utils/levelToStyles.d.ts.map +1 -0
  20. package/dist/definitions/formatter-utils/levelToSymbol.d.ts +3 -0
  21. package/dist/definitions/formatter-utils/levelToSymbol.d.ts.map +1 -0
  22. package/dist/definitions/formatter-utils/styleToHexColor.d.ts +7 -0
  23. package/dist/definitions/formatter-utils/styleToHexColor.d.ts.map +1 -0
  24. package/dist/definitions/formatter-utils/styleToHtmlStyle.d.ts +109 -0
  25. package/dist/definitions/formatter-utils/styleToHtmlStyle.d.ts.map +1 -0
  26. package/dist/definitions/formatters/ANSIFormatter.d.ts +6 -0
  27. package/dist/definitions/formatters/ANSIFormatter.d.ts.map +1 -0
  28. package/dist/definitions/formatters/ANSIFormatter.test.d.ts +2 -0
  29. package/dist/definitions/formatters/ANSIFormatter.test.d.ts.map +1 -0
  30. package/dist/definitions/formatters/BrowserConsoleFormatter.d.ts +10 -0
  31. package/dist/definitions/formatters/BrowserConsoleFormatter.d.ts.map +1 -0
  32. package/dist/definitions/formatters/BrowserConsoleFormatter.test.d.ts +2 -0
  33. package/dist/definitions/formatters/BrowserConsoleFormatter.test.d.ts.map +1 -0
  34. package/dist/definitions/formatters/HTMLFormatter.d.ts +5 -0
  35. package/dist/definitions/formatters/HTMLFormatter.d.ts.map +1 -0
  36. package/dist/definitions/formatters/HTMLFormatter.test.d.ts +2 -0
  37. package/dist/definitions/formatters/HTMLFormatter.test.d.ts.map +1 -0
  38. package/dist/definitions/formatters/JSONFormatter.d.ts +4 -0
  39. package/dist/definitions/formatters/JSONFormatter.d.ts.map +1 -0
  40. package/dist/definitions/formatters/JSONFormatter.test.d.ts +2 -0
  41. package/dist/definitions/formatters/JSONFormatter.test.d.ts.map +1 -0
  42. package/dist/definitions/formatters/MarkdownFormatter.d.ts +5 -0
  43. package/dist/definitions/formatters/MarkdownFormatter.d.ts.map +1 -0
  44. package/dist/definitions/formatters/MarkdownFormatter.test.d.ts +2 -0
  45. package/dist/definitions/formatters/MarkdownFormatter.test.d.ts.map +1 -0
  46. package/dist/definitions/formatters/RawFormatter.d.ts +5 -0
  47. package/dist/definitions/formatters/RawFormatter.d.ts.map +1 -0
  48. package/dist/definitions/formatters/RawFormatter.test.d.ts +2 -0
  49. package/dist/definitions/formatters/RawFormatter.test.d.ts.map +1 -0
  50. package/dist/definitions/handlers/BrowserConsoleHandler.d.ts +14 -0
  51. package/dist/definitions/handlers/BrowserConsoleHandler.d.ts.map +1 -0
  52. package/dist/definitions/handlers/ConsoleCLIHandler.d.ts +12 -0
  53. package/dist/definitions/handlers/ConsoleCLIHandler.d.ts.map +1 -0
  54. package/dist/definitions/handlers/ConsoleHandler.d.ts +14 -0
  55. package/dist/definitions/handlers/ConsoleHandler.d.ts.map +1 -0
  56. package/dist/definitions/handlers/StringHandler.d.ts +9 -0
  57. package/dist/definitions/handlers/StringHandler.d.ts.map +1 -0
  58. package/dist/definitions/index.d.ts +18 -4
  59. package/dist/definitions/index.d.ts.map +1 -1
  60. package/dist/definitions/loggers/LoggerCLI.d.ts +23 -0
  61. package/dist/definitions/loggers/LoggerCLI.d.ts.map +1 -0
  62. package/dist/definitions/outputs/cliConsoleOutput.d.ts +3 -0
  63. package/dist/definitions/outputs/cliConsoleOutput.d.ts.map +1 -0
  64. package/dist/definitions/outputs/consoleOutput.d.ts +3 -0
  65. package/dist/definitions/outputs/consoleOutput.d.ts.map +1 -0
  66. package/dist/index-browser.es.js +936 -46
  67. package/dist/index-browser.es.js.map +1 -1
  68. package/dist/index-node20.mjs +1023 -0
  69. package/dist/index-node20.mjs.map +1 -0
  70. package/package.json +31 -37
  71. package/src/config.ts +12 -12
  72. package/src/debug/debug.test.ts +50 -0
  73. package/src/debug/debug.ts +100 -0
  74. package/src/formatter-utils/formatObject.test.ts +153 -0
  75. package/src/formatter-utils/formatObject.ts +462 -0
  76. package/src/formatter-utils/formatRecordToString.ts +67 -0
  77. package/src/formatter-utils/index.test.ts +33 -0
  78. package/src/formatter-utils/index.ts +20 -0
  79. package/src/formatter-utils/levelToStyles.ts +14 -0
  80. package/src/formatter-utils/levelToSymbol.ts +14 -0
  81. package/src/formatter-utils/styleToHexColor.ts +9 -0
  82. package/src/formatter-utils/styleToHtmlStyle.ts +69 -0
  83. package/src/formatters/ANSIFormatter.test.ts +27 -0
  84. package/src/formatters/ANSIFormatter.ts +68 -0
  85. package/src/formatters/BrowserConsoleFormatter.test.ts +59 -0
  86. package/src/formatters/BrowserConsoleFormatter.ts +45 -0
  87. package/src/formatters/HTMLFormatter.test.ts +23 -0
  88. package/src/formatters/HTMLFormatter.ts +28 -0
  89. package/src/formatters/JSONFormatter.test.ts +62 -0
  90. package/src/formatters/JSONFormatter.ts +62 -0
  91. package/src/formatters/MarkdownFormatter.test.ts +19 -0
  92. package/src/formatters/MarkdownFormatter.ts +31 -0
  93. package/src/formatters/RawFormatter.test.ts +21 -0
  94. package/src/formatters/RawFormatter.ts +13 -0
  95. package/src/handlers/BrowserConsoleHandler.ts +78 -0
  96. package/src/handlers/ConsoleCLIHandler.ts +41 -0
  97. package/src/handlers/ConsoleHandler.ts +55 -0
  98. package/src/handlers/StringHandler.ts +21 -0
  99. package/src/index.test.ts +29 -29
  100. package/src/index.ts +24 -10
  101. package/src/loggers/LoggerCLI.ts +91 -0
  102. package/src/outputs/cliConsoleOutput.ts +17 -0
  103. package/src/outputs/consoleOutput.ts +18 -0
  104. package/dist/index-browsermodern.es.js +0 -120
  105. package/dist/index-browsermodern.es.js.map +0 -1
  106. package/dist/index-node18.mjs +0 -120
  107. package/dist/index-node18.mjs.map +0 -1
  108. package/src/.eslintrc.json +0 -30
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-node18.mjs","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["import type { ComputedConfigForKey, Config } from 'nightingale-logger';\nimport type { Handler, Level } from 'nightingale-types';\n\nconst globalOrWindow: typeof global =\n typeof global !== 'undefined' ? global : (window as typeof global);\n\nif (\n process.env.NODE_ENV !== 'production' &&\n globalOrWindow.__NIGHTINGALE_GLOBAL_HANDLERS\n) {\n throw new Error('nightingale: update all to ^5.0.0');\n}\n\nif (!globalOrWindow.__NIGHTINGALE_CONFIG) {\n globalOrWindow.__NIGHTINGALE_CONFIG = [];\n globalOrWindow.__NIGHTINGALE_LOGGER_MAP_CACHE = new Map<\n string,\n ComputedConfigForKey\n >();\n globalOrWindow.__NIGHTINGALE_CONFIG_DEFAULT = {\n handlers: [],\n processors: [],\n };\n}\n\nfunction clearCache(): void {\n globalOrWindow.__NIGHTINGALE_LOGGER_MAP_CACHE.clear();\n}\n\nfunction handleConfig(config: Config): Config {\n if (config.keys) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n if (config.key) {\n throw new Error('Cannot have key and keys for the same config');\n }\n } else if (config.key) {\n if (config.pattern) {\n throw new Error('Cannot have key and pattern for the same config');\n }\n config.keys = [config.key];\n delete config.key;\n }\n\n if (config.handler) {\n if (config.handlers) {\n throw new Error('Cannot have handler and handlers for the same config');\n }\n config.handlers = [config.handler];\n delete config.handler;\n }\n\n if (config.processor) {\n if (config.processors) {\n throw new Error(\n 'Cannot have processors and processors for the same config',\n );\n }\n config.processors = [config.processor];\n delete config.processor;\n }\n\n return config;\n}\n\nexport function configure(config: Config[]): void {\n if (globalOrWindow.__NIGHTINGALE_CONFIG.length > 0) {\n // eslint-disable-next-line no-console\n console.log('nightingale: warning: config overridden');\n }\n\n clearCache();\n globalOrWindow.__NIGHTINGALE_CONFIG = config.map(handleConfig);\n}\n\nexport function addConfig(config: Config, unshift = false): void {\n config = handleConfig(config);\n globalOrWindow.__NIGHTINGALE_CONFIG[unshift ? 'unshift' : 'push'](config);\n clearCache();\n}\n\nconst configIsForKey = (key: string) => (config: Config) => {\n if (config.keys) return config.keys.includes(key);\n if (config.pattern) return config.pattern.test(key);\n return true;\n};\n\nglobalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER = (\n key: string,\n): ComputedConfigForKey => {\n const globalCache = globalOrWindow.__NIGHTINGALE_LOGGER_MAP_CACHE;\n\n const existingCache = globalCache.get(key);\n\n if (existingCache) {\n return existingCache;\n }\n\n const loggerConfig: ComputedConfigForKey = {\n handlers: [],\n processors: [],\n };\n\n globalOrWindow.__NIGHTINGALE_CONFIG\n .filter(configIsForKey(key))\n .some((config: Config) => {\n if (config.handlers) loggerConfig.handlers.push(...config.handlers);\n if (config.processors) loggerConfig.processors.push(...config.processors);\n return config.stop;\n });\n\n globalCache.set(key, loggerConfig);\n return loggerConfig;\n};\n\nif (globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD) {\n globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD = (\n key: string,\n level: Level,\n ): ComputedConfigForKey => {\n const { handlers, processors }: ComputedConfigForKey =\n globalOrWindow.__NIGHTINGALE_GET_CONFIG_FOR_LOGGER(key);\n\n return {\n handlers: handlers.filter(\n (handler: Handler) =>\n level >= handler.minLevel &&\n (!handler.isHandling || handler.isHandling(level, key)),\n ),\n processors,\n };\n };\n}\n","import { Logger } from 'nightingale-logger';\n\nexport { Logger } from 'nightingale-logger';\nexport { Level, Level as levels } from 'nightingale-levels';\nexport { configure, addConfig } from './config';\n\n/**\n * listen to uncaughtException and unhandledRejection\n * @param {Logger} [logger]\n */\nexport function listenUnhandledErrors(\n logger: Logger = new Logger(\n 'nightingale:listenUnhandledErrors',\n 'UnhandledErrors',\n ),\n): void {\n process.on('uncaughtException', (error) => {\n logger.error(error, {\n unhandled: true,\n type: 'uncaughtException',\n });\n });\n process.on('unhandledRejection', (error) => {\n logger.error(error as Error, {\n unhandled: true,\n type: 'unhandledRejection',\n });\n });\n}\n"],"names":["globalOrWindow","global","window","process","env","NODE_ENV","__NIGHTINGALE_GLOBAL_HANDLERS","Error","__NIGHTINGALE_CONFIG","__NIGHTINGALE_LOGGER_MAP_CACHE","Map","__NIGHTINGALE_CONFIG_DEFAULT","handlers","processors","clearCache","clear","handleConfig","config","keys","pattern","key","handler","processor","configure","length","console","log","map","addConfig","unshift","configIsForKey","includes","test","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER","globalCache","existingCache","get","loggerConfig","filter","some","push","stop","set","__NIGHTINGALE_GET_CONFIG_FOR_LOGGER_RECORD","level","minLevel","isHandling","listenUnhandledErrors","logger","Logger","on","error","unhandled","type"],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- {
2
- "root": true,
3
- "parser": "@typescript-eslint/parser",
4
- "parserOptions": {
5
- "project": "packages/nightingale/tsconfig.json"
6
- },
7
- "plugins": ["@typescript-eslint"],
8
- "extends": ["@pob/eslint-config-typescript"],
9
- "ignorePatterns": ["*.d.ts"],
10
- "rules": {
11
- "@typescript-eslint/max-params": "warn"
12
- },
13
- "overrides": [
14
- {
15
- "files": ["**/*.test.ts", "__tests__/**/*.ts"],
16
- "extends": ["@pob/eslint-config-typescript/test"],
17
- "env": {
18
- "jest": true
19
- },
20
- "rules": {
21
- "import/no-extraneous-dependencies": [
22
- "error",
23
- {
24
- "devDependencies": true
25
- }
26
- ]
27
- }
28
- }
29
- ]
30
- }