@wbce/projen-d9 0.0.28 → 0.1.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 (421) hide show
  1. package/.jsii +184 -45
  2. package/API.md +153 -37
  3. package/CHANGELOG.md +13 -0
  4. package/README.md +10 -3
  5. package/docs/D9-plumbing.md +189 -0
  6. package/lib/cli/atlas.d.ts +10 -0
  7. package/lib/cli/atlas.js +65 -0
  8. package/lib/cli/commands/cedar/cedar-format.d.ts +7 -0
  9. package/lib/cli/commands/cedar/cedar-format.js +75 -0
  10. package/lib/cli/commands/cedar/cedar-to-d9-translations.d.ts +12 -0
  11. package/lib/cli/commands/cedar/cedar-to-d9-translations.js +130 -0
  12. package/lib/cli/commands/cedar/cedar-to-d9.d.ts +57 -0
  13. package/lib/cli/commands/cedar/cedar-to-d9.js +221 -0
  14. package/lib/cli/commands/cedar/cedar-translations.d.ts +9 -0
  15. package/lib/cli/commands/cedar/cedar-translations.js +213 -0
  16. package/lib/cli/commands/cedar/d9-permission.d.ts +27 -0
  17. package/lib/cli/commands/cedar/d9-permission.js +45 -0
  18. package/lib/cli/commands/cedar/d9-to-cedar.d.ts +33 -0
  19. package/lib/cli/commands/cedar/d9-to-cedar.js +157 -0
  20. package/lib/cli/commands/cedar/roles-table.d.ts +14 -0
  21. package/lib/cli/commands/cedar/roles-table.js +29 -0
  22. package/lib/cli/commands/save/apply-snapshot.js +39 -30
  23. package/lib/cli/commands/save/check-unsaved.d.ts +9 -0
  24. package/lib/cli/commands/save/check-unsaved.js +81 -0
  25. package/lib/cli/commands/save/env.d.ts +33 -0
  26. package/lib/cli/commands/save/env.js +109 -0
  27. package/lib/cli/commands/save/save-snapshot.d.ts +9 -0
  28. package/lib/cli/commands/save/save-snapshot.js +232 -0
  29. package/lib/cli/commands/save/sync-files.d.ts +5 -0
  30. package/lib/cli/commands/save/sync-files.js +46 -0
  31. package/lib/cli/commands/save/transfer.d.ts +18 -0
  32. package/lib/cli/commands/save/transfer.js +96 -0
  33. package/lib/cli/commands/save/utils.d.ts +5 -0
  34. package/lib/cli/commands/save/utils.js +33 -3
  35. package/lib/cli/commands/sync.js +4 -3
  36. package/lib/cli/index.js +65 -25
  37. package/lib/cli/logger.d.ts +2 -0
  38. package/lib/cli/logger.js +10 -0
  39. package/lib/cli/plumbing-config.d.ts +11 -0
  40. package/lib/cli/plumbing-config.js +13 -0
  41. package/lib/index.d.ts +44 -5
  42. package/lib/index.js +54 -41
  43. package/node_modules/@cedar-policy/cedar-wasm/README.md +181 -0
  44. package/node_modules/@cedar-policy/cedar-wasm/esm/README.md +181 -0
  45. package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm.d.ts +427 -0
  46. package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm.js +9 -0
  47. package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm_bg.js +434 -0
  48. package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm_bg.wasm +0 -0
  49. package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm_bg.wasm.d.ts +34 -0
  50. package/node_modules/@cedar-policy/cedar-wasm/esm/package.json +23 -0
  51. package/node_modules/@cedar-policy/cedar-wasm/nodejs/README.md +181 -0
  52. package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm.d.ts +427 -0
  53. package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm.js +463 -0
  54. package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm_bg.wasm +0 -0
  55. package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm_bg.wasm.d.ts +34 -0
  56. package/node_modules/@cedar-policy/cedar-wasm/nodejs/package.json +18 -0
  57. package/node_modules/@cedar-policy/cedar-wasm/package.json +53 -0
  58. package/node_modules/@cedar-policy/cedar-wasm/web/README.md +181 -0
  59. package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm.d.ts +486 -0
  60. package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm.js +534 -0
  61. package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm_bg.wasm +0 -0
  62. package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm_bg.wasm.d.ts +34 -0
  63. package/node_modules/@cedar-policy/cedar-wasm/web/package.json +21 -0
  64. package/node_modules/@types/node/README.md +5 -6
  65. package/node_modules/@types/node/assert/strict.d.ts +111 -0
  66. package/node_modules/@types/node/assert.d.ts +1040 -79
  67. package/node_modules/@types/node/async_hooks.d.ts +476 -119
  68. package/node_modules/@types/node/buffer.buffer.d.ts +472 -0
  69. package/node_modules/@types/node/buffer.d.ts +1925 -13
  70. package/node_modules/@types/node/child_process.d.ts +1204 -235
  71. package/node_modules/@types/node/cluster.d.ts +455 -137
  72. package/node_modules/@types/node/compatibility/disposable.d.ts +14 -0
  73. package/node_modules/@types/node/compatibility/index.d.ts +9 -0
  74. package/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
  75. package/node_modules/@types/node/compatibility/iterators.d.ts +20 -0
  76. package/node_modules/@types/node/console.d.ts +450 -1
  77. package/node_modules/@types/node/constants.d.ts +20 -447
  78. package/node_modules/@types/node/crypto.d.ts +3962 -600
  79. package/node_modules/@types/node/dgram.d.ts +515 -33
  80. package/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
  81. package/node_modules/@types/node/dns/promises.d.ts +503 -0
  82. package/node_modules/@types/node/dns.d.ts +798 -247
  83. package/node_modules/@types/node/domain.d.ts +164 -10
  84. package/node_modules/@types/node/events.d.ts +954 -25
  85. package/node_modules/@types/node/fs/promises.d.ts +1295 -0
  86. package/node_modules/@types/node/fs.d.ts +3463 -1569
  87. package/node_modules/@types/node/globals.d.ts +98 -1277
  88. package/node_modules/@types/node/globals.typedarray.d.ts +38 -0
  89. package/node_modules/@types/node/http.d.ts +1933 -300
  90. package/node_modules/@types/node/http2.d.ts +1946 -254
  91. package/node_modules/@types/node/https.d.ts +557 -134
  92. package/node_modules/@types/node/index.d.ts +54 -48
  93. package/node_modules/@types/node/inspector.d.ts +227 -3014
  94. package/node_modules/@types/node/inspector.generated.d.ts +4052 -0
  95. package/node_modules/@types/node/module.d.ts +890 -2
  96. package/node_modules/@types/node/net.d.ts +872 -105
  97. package/node_modules/@types/node/os.d.ts +452 -209
  98. package/node_modules/@types/node/package.json +78 -128
  99. package/node_modules/@types/node/path.d.ts +196 -155
  100. package/node_modules/@types/node/perf_hooks.d.ts +829 -120
  101. package/node_modules/@types/node/process.d.ts +2072 -3
  102. package/node_modules/@types/node/punycode.d.ts +69 -27
  103. package/node_modules/@types/node/querystring.d.ts +132 -9
  104. package/node_modules/@types/node/readline/promises.d.ts +161 -0
  105. package/node_modules/@types/node/readline.d.ts +485 -49
  106. package/node_modules/@types/node/repl.d.ts +121 -83
  107. package/node_modules/@types/node/sea.d.ts +153 -0
  108. package/node_modules/@types/node/sqlite.d.ts +721 -0
  109. package/node_modules/@types/node/stream/consumers.d.ts +38 -0
  110. package/node_modules/@types/node/stream/promises.d.ts +90 -0
  111. package/node_modules/@types/node/stream/web.d.ts +622 -0
  112. package/node_modules/@types/node/stream.d.ts +1470 -140
  113. package/node_modules/@types/node/string_decoder.d.ts +64 -4
  114. package/node_modules/@types/node/test.d.ts +2163 -0
  115. package/node_modules/@types/node/timers/promises.d.ts +108 -0
  116. package/node_modules/@types/node/timers.d.ts +284 -13
  117. package/node_modules/@types/node/tls.d.ts +850 -244
  118. package/node_modules/@types/node/trace_events.d.ts +147 -11
  119. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
  120. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
  121. package/node_modules/@types/node/ts5.6/index.d.ts +97 -0
  122. package/node_modules/@types/node/tty.d.ts +160 -18
  123. package/node_modules/@types/node/url.d.ts +890 -53
  124. package/node_modules/@types/node/util.d.ts +2566 -160
  125. package/node_modules/@types/node/v8.d.ts +806 -83
  126. package/node_modules/@types/node/vm.d.ts +932 -44
  127. package/node_modules/@types/node/wasi.d.ts +148 -22
  128. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  129. package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  130. package/node_modules/@types/node/web-globals/events.d.ts +97 -0
  131. package/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
  132. package/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
  133. package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  134. package/node_modules/@types/node/worker_threads.d.ts +657 -80
  135. package/node_modules/@types/node/zlib.d.ts +510 -119
  136. package/node_modules/pino/.nojekyll +0 -0
  137. package/node_modules/pino/.prettierignore +1 -0
  138. package/node_modules/pino/CNAME +1 -0
  139. package/node_modules/pino/CONTRIBUTING.md +34 -0
  140. package/node_modules/pino/LICENSE +21 -0
  141. package/node_modules/pino/README.md +177 -0
  142. package/node_modules/pino/SECURITY.md +103 -0
  143. package/node_modules/pino/benchmarks/basic.bench.js +95 -0
  144. package/node_modules/pino/benchmarks/child-child.bench.js +52 -0
  145. package/node_modules/pino/benchmarks/child-creation.bench.js +73 -0
  146. package/node_modules/pino/benchmarks/child.bench.js +62 -0
  147. package/node_modules/pino/benchmarks/deep-object.bench.js +88 -0
  148. package/node_modules/pino/benchmarks/formatters.bench.js +50 -0
  149. package/node_modules/pino/benchmarks/internal/custom-levels.js +67 -0
  150. package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +76 -0
  151. package/node_modules/pino/benchmarks/internal/just-pino.bench.js +182 -0
  152. package/node_modules/pino/benchmarks/internal/parent-vs-child.bench.js +75 -0
  153. package/node_modules/pino/benchmarks/internal/redact.bench.js +86 -0
  154. package/node_modules/pino/benchmarks/long-string.bench.js +81 -0
  155. package/node_modules/pino/benchmarks/multi-arg.bench.js +193 -0
  156. package/node_modules/pino/benchmarks/multistream.js +98 -0
  157. package/node_modules/pino/benchmarks/object.bench.js +82 -0
  158. package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +36 -0
  159. package/node_modules/pino/benchmarks/utils/runbench.js +138 -0
  160. package/node_modules/pino/benchmarks/utils/wrap-log-level.js +55 -0
  161. package/node_modules/pino/bin.js +6 -0
  162. package/node_modules/pino/browser.js +607 -0
  163. package/node_modules/pino/build/sync-version.js +25 -0
  164. package/node_modules/pino/docs/api.md +1664 -0
  165. package/node_modules/pino/docs/asynchronous.md +55 -0
  166. package/node_modules/pino/docs/benchmarks.md +55 -0
  167. package/node_modules/pino/docs/browser.md +341 -0
  168. package/node_modules/pino/docs/bundling.md +40 -0
  169. package/node_modules/pino/docs/child-loggers.md +116 -0
  170. package/node_modules/pino/docs/diagnostics.md +16 -0
  171. package/node_modules/pino/docs/ecosystem.md +87 -0
  172. package/node_modules/pino/docs/help.md +353 -0
  173. package/node_modules/pino/docs/lts.md +93 -0
  174. package/node_modules/pino/docs/pretty.md +38 -0
  175. package/node_modules/pino/docs/redaction.md +130 -0
  176. package/node_modules/pino/docs/transports.md +1447 -0
  177. package/node_modules/pino/docs/web.md +306 -0
  178. package/node_modules/pino/eslint.config.js +36 -0
  179. package/node_modules/pino/examples/basic.js +43 -0
  180. package/node_modules/pino/examples/transport.js +68 -0
  181. package/node_modules/pino/favicon.ico +0 -0
  182. package/node_modules/pino/file.js +12 -0
  183. package/node_modules/pino/inc-version.sh +42 -0
  184. package/node_modules/pino/index.html +55 -0
  185. package/node_modules/pino/lib/caller.js +40 -0
  186. package/node_modules/pino/lib/constants.js +28 -0
  187. package/node_modules/pino/lib/deprecations.js +8 -0
  188. package/node_modules/pino/lib/levels.js +241 -0
  189. package/node_modules/pino/lib/meta.js +3 -0
  190. package/node_modules/pino/lib/multistream.js +211 -0
  191. package/node_modules/pino/lib/proto.js +256 -0
  192. package/node_modules/pino/lib/redaction.js +119 -0
  193. package/node_modules/pino/lib/symbols.js +76 -0
  194. package/node_modules/pino/lib/time.js +39 -0
  195. package/node_modules/pino/lib/tools.js +427 -0
  196. package/node_modules/pino/lib/transport-stream.js +56 -0
  197. package/node_modules/pino/lib/transport.js +302 -0
  198. package/node_modules/pino/lib/worker.js +197 -0
  199. package/node_modules/pino/package.json +112 -0
  200. package/node_modules/pino/pino.d.ts +881 -0
  201. package/node_modules/pino/pino.js +259 -0
  202. package/node_modules/pino/test/basic.test.js +952 -0
  203. package/node_modules/pino/test/broken-pipe.test.js +59 -0
  204. package/node_modules/pino/test/browser-bindings.test.js +114 -0
  205. package/node_modules/pino/test/browser-child.test.js +132 -0
  206. package/node_modules/pino/test/browser-disabled.test.js +87 -0
  207. package/node_modules/pino/test/browser-early-console-freeze.test.js +12 -0
  208. package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
  209. package/node_modules/pino/test/browser-levels.test.js +241 -0
  210. package/node_modules/pino/test/browser-redaction.test.js +264 -0
  211. package/node_modules/pino/test/browser-serializers.test.js +352 -0
  212. package/node_modules/pino/test/browser-set-bindings.test.js +99 -0
  213. package/node_modules/pino/test/browser-timestamp.test.js +88 -0
  214. package/node_modules/pino/test/browser-transmit.test.js +417 -0
  215. package/node_modules/pino/test/browser.test.js +698 -0
  216. package/node_modules/pino/test/caller.test.js +20 -0
  217. package/node_modules/pino/test/complex-objects.test.js +36 -0
  218. package/node_modules/pino/test/crlf.test.js +34 -0
  219. package/node_modules/pino/test/custom-levels.test.js +267 -0
  220. package/node_modules/pino/test/diagnostics.test.js +107 -0
  221. package/node_modules/pino/test/error-key.test.js +37 -0
  222. package/node_modules/pino/test/error.test.js +403 -0
  223. package/node_modules/pino/test/escaping.test.js +110 -0
  224. package/node_modules/pino/test/esm/esm.mjs +14 -0
  225. package/node_modules/pino/test/esm/index.test.js +21 -0
  226. package/node_modules/pino/test/esm/named-exports.mjs +29 -0
  227. package/node_modules/pino/test/exit.test.js +79 -0
  228. package/node_modules/pino/test/fixtures/broken-pipe/basic.js +9 -0
  229. package/node_modules/pino/test/fixtures/broken-pipe/destination.js +10 -0
  230. package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +12 -0
  231. package/node_modules/pino/test/fixtures/caller-loop.js +6 -0
  232. package/node_modules/pino/test/fixtures/console-transport.js +13 -0
  233. package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
  234. package/node_modules/pino/test/fixtures/default-exit.js +8 -0
  235. package/node_modules/pino/test/fixtures/destination-exit.js +8 -0
  236. package/node_modules/pino/test/fixtures/eval/index.js +13 -0
  237. package/node_modules/pino/test/fixtures/eval/node_modules/14-files.js +3 -0
  238. package/node_modules/pino/test/fixtures/eval/node_modules/2-files.js +3 -0
  239. package/node_modules/pino/test/fixtures/eval/node_modules/file1.js +5 -0
  240. package/node_modules/pino/test/fixtures/eval/node_modules/file10.js +5 -0
  241. package/node_modules/pino/test/fixtures/eval/node_modules/file11.js +5 -0
  242. package/node_modules/pino/test/fixtures/eval/node_modules/file12.js +5 -0
  243. package/node_modules/pino/test/fixtures/eval/node_modules/file13.js +5 -0
  244. package/node_modules/pino/test/fixtures/eval/node_modules/file14.js +11 -0
  245. package/node_modules/pino/test/fixtures/eval/node_modules/file2.js +5 -0
  246. package/node_modules/pino/test/fixtures/eval/node_modules/file3.js +5 -0
  247. package/node_modules/pino/test/fixtures/eval/node_modules/file4.js +5 -0
  248. package/node_modules/pino/test/fixtures/eval/node_modules/file5.js +5 -0
  249. package/node_modules/pino/test/fixtures/eval/node_modules/file6.js +5 -0
  250. package/node_modules/pino/test/fixtures/eval/node_modules/file7.js +5 -0
  251. package/node_modules/pino/test/fixtures/eval/node_modules/file8.js +5 -0
  252. package/node_modules/pino/test/fixtures/eval/node_modules/file9.js +5 -0
  253. package/node_modules/pino/test/fixtures/noop-transport.js +10 -0
  254. package/node_modules/pino/test/fixtures/pretty/null-prototype.js +8 -0
  255. package/node_modules/pino/test/fixtures/stdout-hack-protection.js +11 -0
  256. package/node_modules/pino/test/fixtures/syncfalse-child.js +6 -0
  257. package/node_modules/pino/test/fixtures/syncfalse-exit.js +9 -0
  258. package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +10 -0
  259. package/node_modules/pino/test/fixtures/syncfalse.js +6 -0
  260. package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
  261. package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +20 -0
  262. package/node_modules/pino/test/fixtures/to-file-transport.js +13 -0
  263. package/node_modules/pino/test/fixtures/to-file-transport.mjs +8 -0
  264. package/node_modules/pino/test/fixtures/transport/index.js +12 -0
  265. package/node_modules/pino/test/fixtures/transport/package.json +5 -0
  266. package/node_modules/pino/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
  267. package/node_modules/pino/test/fixtures/transport-exit-immediately.js +11 -0
  268. package/node_modules/pino/test/fixtures/transport-exit-on-ready.js +12 -0
  269. package/node_modules/pino/test/fixtures/transport-invalid-node-options.js +26 -0
  270. package/node_modules/pino/test/fixtures/transport-main.js +9 -0
  271. package/node_modules/pino/test/fixtures/transport-many-lines.js +29 -0
  272. package/node_modules/pino/test/fixtures/transport-preload-main.mjs +13 -0
  273. package/node_modules/pino/test/fixtures/transport-preload.mjs +13 -0
  274. package/node_modules/pino/test/fixtures/transport-string-stdout.js +9 -0
  275. package/node_modules/pino/test/fixtures/transport-transform.js +21 -0
  276. package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +33 -0
  277. package/node_modules/pino/test/fixtures/transport-with-on-exit.js +12 -0
  278. package/node_modules/pino/test/fixtures/transport-worker-data.js +19 -0
  279. package/node_modules/pino/test/fixtures/transport-worker-name.js +24 -0
  280. package/node_modules/pino/test/fixtures/transport-worker.js +15 -0
  281. package/node_modules/pino/test/fixtures/transport-wrong-export-type.js +3 -0
  282. package/node_modules/pino/test/fixtures/ts/to-file-transport-native.mts +15 -0
  283. package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
  284. package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +11 -0
  285. package/node_modules/pino/test/fixtures/ts/transpile.cjs +36 -0
  286. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
  287. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately.ts +10 -0
  288. package/node_modules/pino/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
  289. package/node_modules/pino/test/fixtures/ts/transport-main.ts +8 -0
  290. package/node_modules/pino/test/fixtures/ts/transport-string-stdout.ts +8 -0
  291. package/node_modules/pino/test/fixtures/ts/transport-worker.ts +14 -0
  292. package/node_modules/pino/test/formatters.test.js +364 -0
  293. package/node_modules/pino/test/helper.d.ts +4 -0
  294. package/node_modules/pino/test/helper.js +159 -0
  295. package/node_modules/pino/test/hooks.test.js +114 -0
  296. package/node_modules/pino/test/http.test.js +214 -0
  297. package/node_modules/pino/test/internals/version.test.js +17 -0
  298. package/node_modules/pino/test/is-level-enabled.test.js +179 -0
  299. package/node_modules/pino/test/jest/basic.spec.js +10 -0
  300. package/node_modules/pino/test/levels.test.js +810 -0
  301. package/node_modules/pino/test/metadata.test.js +120 -0
  302. package/node_modules/pino/test/mixin-merge-strategy.test.js +57 -0
  303. package/node_modules/pino/test/mixin.test.js +241 -0
  304. package/node_modules/pino/test/multistream.test.js +793 -0
  305. package/node_modules/pino/test/redact.test.js +923 -0
  306. package/node_modules/pino/test/serializers.test.js +257 -0
  307. package/node_modules/pino/test/smoke.js +59 -0
  308. package/node_modules/pino/test/stdout-protection.test.js +41 -0
  309. package/node_modules/pino/test/syncfalse.test.js +186 -0
  310. package/node_modules/pino/test/timestamp-nano.test.js +37 -0
  311. package/node_modules/pino/test/timestamp.test.js +124 -0
  312. package/node_modules/pino/test/transport/big.test.js +42 -0
  313. package/node_modules/pino/test/transport/bundlers-support.test.js +99 -0
  314. package/node_modules/pino/test/transport/caller.test.js +24 -0
  315. package/node_modules/pino/test/transport/core.test.js +818 -0
  316. package/node_modules/pino/test/transport/core.transpiled.test.ts +114 -0
  317. package/node_modules/pino/test/transport/crash.test.js +36 -0
  318. package/node_modules/pino/test/transport/module-link.test.js +241 -0
  319. package/node_modules/pino/test/transport/native-type-stripping.test.mjs +151 -0
  320. package/node_modules/pino/test/transport/node-options.test.js +116 -0
  321. package/node_modules/pino/test/transport/pipeline.test.js +137 -0
  322. package/node_modules/pino/test/transport/preload.test.js +54 -0
  323. package/node_modules/pino/test/transport/repl.test.js +15 -0
  324. package/node_modules/pino/test/transport/sync-false.test.js +79 -0
  325. package/node_modules/pino/test/transport/sync-true.test.js +57 -0
  326. package/node_modules/pino/test/transport/targets.test.js +48 -0
  327. package/node_modules/pino/test/transport/uses-pino-config.test.js +166 -0
  328. package/node_modules/pino/test/transport-stream.test.js +40 -0
  329. package/node_modules/pino/test/types/pino-import.tst.cts +30 -0
  330. package/node_modules/pino/test/types/pino-import.tst.js +73 -0
  331. package/node_modules/pino/test/types/pino-multistream.tst.ts +49 -0
  332. package/node_modules/pino/test/types/pino-top-export.tst.ts +32 -0
  333. package/node_modules/pino/test/types/pino-transport.tst.ts +171 -0
  334. package/node_modules/pino/test/types/pino-type-only.tst.ts +77 -0
  335. package/node_modules/pino/test/types/pino.ts +98 -0
  336. package/node_modules/pino/test/types/pino.tst.ts +681 -0
  337. package/node_modules/pino/test/types/tsconfig.json +10 -0
  338. package/node_modules/pino/tsconfig.json +14 -0
  339. package/node_modules/pino-pretty/.borp.yaml +6 -0
  340. package/node_modules/pino-pretty/.editorconfig +13 -0
  341. package/node_modules/pino-pretty/.github/dependabot.yml +13 -0
  342. package/node_modules/pino-pretty/.github/workflows/ci.yml +83 -0
  343. package/node_modules/pino-pretty/LICENSE +21 -0
  344. package/node_modules/pino-pretty/Readme.md +425 -0
  345. package/node_modules/pino-pretty/SECURITY.md +146 -0
  346. package/node_modules/pino-pretty/benchmark.js +105 -0
  347. package/node_modules/pino-pretty/bin.js +113 -0
  348. package/node_modules/pino-pretty/demo.png +0 -0
  349. package/node_modules/pino-pretty/docs/help.md +24 -0
  350. package/node_modules/pino-pretty/eslint.config.js +5 -0
  351. package/node_modules/pino-pretty/help/help.txt +68 -0
  352. package/node_modules/pino-pretty/index.d.ts +227 -0
  353. package/node_modules/pino-pretty/index.js +234 -0
  354. package/node_modules/pino-pretty/lib/colors.js +134 -0
  355. package/node_modules/pino-pretty/lib/colors.test.js +132 -0
  356. package/node_modules/pino-pretty/lib/constants.js +55 -0
  357. package/node_modules/pino-pretty/lib/pretty.js +171 -0
  358. package/node_modules/pino-pretty/lib/utils/build-safe-sonic-boom.js +69 -0
  359. package/node_modules/pino-pretty/lib/utils/build-safe-sonic-boom.test.js +84 -0
  360. package/node_modules/pino-pretty/lib/utils/create-date.js +26 -0
  361. package/node_modules/pino-pretty/lib/utils/create-date.test.js +20 -0
  362. package/node_modules/pino-pretty/lib/utils/delete-log-property.js +28 -0
  363. package/node_modules/pino-pretty/lib/utils/delete-log-property.test.js +31 -0
  364. package/node_modules/pino-pretty/lib/utils/filter-log.js +99 -0
  365. package/node_modules/pino-pretty/lib/utils/filter-log.test.js +265 -0
  366. package/node_modules/pino-pretty/lib/utils/format-time.js +66 -0
  367. package/node_modules/pino-pretty/lib/utils/format-time.test.js +71 -0
  368. package/node_modules/pino-pretty/lib/utils/get-level-label-data.js +29 -0
  369. package/node_modules/pino-pretty/lib/utils/get-property-value.js +30 -0
  370. package/node_modules/pino-pretty/lib/utils/get-property-value.test.js +31 -0
  371. package/node_modules/pino-pretty/lib/utils/handle-custom-levels-names-opts.js +38 -0
  372. package/node_modules/pino-pretty/lib/utils/handle-custom-levels-names-opts.test.js +45 -0
  373. package/node_modules/pino-pretty/lib/utils/handle-custom-levels-opts.js +39 -0
  374. package/node_modules/pino-pretty/lib/utils/handle-custom-levels-opts.test.js +47 -0
  375. package/node_modules/pino-pretty/lib/utils/index.js +108 -0
  376. package/node_modules/pino-pretty/lib/utils/index.test.js +37 -0
  377. package/node_modules/pino-pretty/lib/utils/interpret-conditionals.js +41 -0
  378. package/node_modules/pino-pretty/lib/utils/interpret-conditionals.test.js +84 -0
  379. package/node_modules/pino-pretty/lib/utils/is-object.js +7 -0
  380. package/node_modules/pino-pretty/lib/utils/is-object.test.js +10 -0
  381. package/node_modules/pino-pretty/lib/utils/is-valid-date.js +14 -0
  382. package/node_modules/pino-pretty/lib/utils/is-valid-date.test.js +16 -0
  383. package/node_modules/pino-pretty/lib/utils/join-lines-with-indentation.js +29 -0
  384. package/node_modules/pino-pretty/lib/utils/join-lines-with-indentation.test.js +16 -0
  385. package/node_modules/pino-pretty/lib/utils/noop.js +3 -0
  386. package/node_modules/pino-pretty/lib/utils/noop.test.js +12 -0
  387. package/node_modules/pino-pretty/lib/utils/parse-factory-options.js +171 -0
  388. package/node_modules/pino-pretty/lib/utils/prettify-error-log.js +76 -0
  389. package/node_modules/pino-pretty/lib/utils/prettify-error-log.test.js +143 -0
  390. package/node_modules/pino-pretty/lib/utils/prettify-error.js +54 -0
  391. package/node_modules/pino-pretty/lib/utils/prettify-error.test.js +25 -0
  392. package/node_modules/pino-pretty/lib/utils/prettify-level.js +41 -0
  393. package/node_modules/pino-pretty/lib/utils/prettify-level.test.js +70 -0
  394. package/node_modules/pino-pretty/lib/utils/prettify-message.js +65 -0
  395. package/node_modules/pino-pretty/lib/utils/prettify-message.test.js +287 -0
  396. package/node_modules/pino-pretty/lib/utils/prettify-metadata.js +75 -0
  397. package/node_modules/pino-pretty/lib/utils/prettify-metadata.test.js +170 -0
  398. package/node_modules/pino-pretty/lib/utils/prettify-object.js +115 -0
  399. package/node_modules/pino-pretty/lib/utils/prettify-object.test.js +217 -0
  400. package/node_modules/pino-pretty/lib/utils/prettify-time.js +43 -0
  401. package/node_modules/pino-pretty/lib/utils/prettify-time.test.js +264 -0
  402. package/node_modules/pino-pretty/lib/utils/split-property-key.js +49 -0
  403. package/node_modules/pino-pretty/lib/utils/split-property-key.test.js +29 -0
  404. package/node_modules/pino-pretty/lib/utils/strip-unsafe-control-chars.js +18 -0
  405. package/node_modules/pino-pretty/lib/utils/strip-unsafe-control-chars.test.js +9 -0
  406. package/node_modules/pino-pretty/package.json +64 -0
  407. package/node_modules/pino-pretty/test/basic.test.js +1305 -0
  408. package/node_modules/pino-pretty/test/boolean-options.test.js +228 -0
  409. package/node_modules/pino-pretty/test/cli-rc.test.js +275 -0
  410. package/node_modules/pino-pretty/test/cli.test.js +360 -0
  411. package/node_modules/pino-pretty/test/crlf.test.js +33 -0
  412. package/node_modules/pino-pretty/test/error-objects.test.js +494 -0
  413. package/node_modules/pino-pretty/test/example/example.js +33 -0
  414. package/node_modules/pino-pretty/test/helper.js +19 -0
  415. package/node_modules/pino-pretty/test/types/exports.tst.ts +15 -0
  416. package/node_modules/pino-pretty/test/types/pino-pretty.tst.ts +140 -0
  417. package/node_modules/pino-pretty/test/types/tsconfig.json +9 -0
  418. package/package.json +12 -5
  419. package/lib/cli/commands/init.d.ts +0 -1
  420. package/lib/cli/commands/init.js +0 -8
  421. package/node_modules/@types/node/globals.global.d.ts +0 -1
@@ -0,0 +1,105 @@
1
+ 'use strict'
2
+
3
+ // We do not expect amazing numbers from `pino-pretty` as the whole purpose
4
+ // of the module is a very slow operation. However, this benchmark should give
5
+ // us some guidance on how features, or code changes, will affect the
6
+ // performance of the module.
7
+
8
+ const bench = require('fastbench')
9
+ const {
10
+ prettyFactory
11
+ } = require('./index')
12
+
13
+ const max = 10
14
+ const tstampMillis = 1693401358754
15
+
16
+ /* eslint-disable no-var */
17
+ const run = bench([
18
+ function basicLog (cb) {
19
+ const pretty = prettyFactory({})
20
+ const input = `{"time":${tstampMillis},"pid":1,"hostname":"foo","msg":"benchmark","foo":"foo","bar":{"bar":"bar"}}\n`
21
+ for (var i = 0; i < max; i += 1) {
22
+ pretty(input)
23
+ }
24
+ setImmediate(cb)
25
+ },
26
+
27
+ function objectLog (cb) {
28
+ const pretty = prettyFactory({})
29
+ const input = {
30
+ time: tstampMillis,
31
+ pid: 1,
32
+ hostname: 'foo',
33
+ msg: 'benchmark',
34
+ foo: 'foo',
35
+ bar: { bar: 'bar' }
36
+ }
37
+ for (var i = 0; i < max; i += 1) {
38
+ pretty(input)
39
+ }
40
+ setImmediate(cb)
41
+ },
42
+
43
+ function coloredLog (cb) {
44
+ const pretty = prettyFactory({ colorize: true })
45
+ const input = `{"time":${tstampMillis},"pid":1,"hostname":"foo","msg":"benchmark","foo":"foo","bar":{"bar":"bar"}}\n`
46
+ for (var i = 0; i < max; i += 1) {
47
+ pretty(input)
48
+ }
49
+ setImmediate(cb)
50
+ },
51
+
52
+ function customPrettifiers (cb) {
53
+ const pretty = prettyFactory({
54
+ customPrettifiers: {
55
+ time (tstamp) {
56
+ return tstamp
57
+ },
58
+ pid () {
59
+ return ''
60
+ }
61
+ }
62
+ })
63
+ const input = `{"time":${tstampMillis},"pid":1,"hostname":"foo","msg":"benchmark","foo":"foo","bar":{"bar":"bar"}}\n`
64
+ for (var i = 0; i < max; i += 1) {
65
+ pretty(input)
66
+ }
67
+ setImmediate(cb)
68
+ },
69
+
70
+ function logWithErrorObject (cb) {
71
+ const pretty = prettyFactory({})
72
+ const err = Error('boom')
73
+ const input = `{"time":${tstampMillis},"pid":1,"hostname":"foo","msg":"benchmark","foo":"foo","bar":{"bar":"bar"},"err":{"message":"${err.message}","stack":"${err.stack}"}}\n`
74
+ for (var i = 0; i < max; i += 1) {
75
+ pretty(input)
76
+ }
77
+ setImmediate(cb)
78
+ },
79
+
80
+ function logRemappedMsgErrKeys (cb) {
81
+ const pretty = prettyFactory({
82
+ messageKey: 'message',
83
+ errorLikeObjectKeys: ['myError']
84
+ })
85
+ const err = Error('boom')
86
+ const input = `{"time":${tstampMillis},"pid":1,"hostname":"foo","message":"benchmark","foo":"foo","bar":{"bar":"bar"},"myError":{"message":"${err.message}","stack":"${err.stack}"}}\n`
87
+ for (var i = 0; i < max; i += 1) {
88
+ pretty(input)
89
+ }
90
+ setImmediate(cb)
91
+ },
92
+
93
+ function messageFormatString (cb) {
94
+ const pretty = prettyFactory({
95
+ messageFormat: '{levelLabel}{if pid} {pid} - {end}{msg}'
96
+ })
97
+ const input = `{"time":${tstampMillis},"pid":1,"hostname":"foo","msg":"benchmark","foo":"foo","bar":{"bar":"bar"}}\n`
98
+ for (var i = 0; i < max; i += 1) {
99
+ pretty(input)
100
+ }
101
+ setImmediate(cb)
102
+ }
103
+ ], 10000)
104
+
105
+ run(run)
@@ -0,0 +1,113 @@
1
+ #!/usr/bin/env node
2
+
3
+ 'use strict'
4
+
5
+ const fs = require('node:fs')
6
+ const path = require('node:path')
7
+ const help = require('help-me')({
8
+ dir: path.join(__dirname, 'help'),
9
+ ext: '.txt'
10
+ })
11
+ const pump = require('pump')
12
+ const sjp = require('secure-json-parse')
13
+ const JoyCon = require('joycon')
14
+ const { default: stripJsonComments } = require('strip-json-comments')
15
+
16
+ const build = require('./')
17
+ const CONSTANTS = require('./lib/constants')
18
+ const { isObject } = require('./lib/utils')
19
+ const minimist = require('minimist')
20
+
21
+ const parseJSON = input => {
22
+ return sjp.parse(stripJsonComments(input), { protoAction: 'remove' })
23
+ }
24
+
25
+ const joycon = new JoyCon({
26
+ parseJSON,
27
+ files: [
28
+ 'pino-pretty.config.cjs',
29
+ 'pino-pretty.config.js',
30
+ '.pino-prettyrc',
31
+ '.pino-prettyrc.json'
32
+ ],
33
+ stopDir: path.dirname(process.cwd())
34
+ })
35
+
36
+ const cmd = minimist(process.argv.slice(2))
37
+
38
+ if (cmd.h || cmd.help) {
39
+ help.toStdout()
40
+ } else {
41
+ const DEFAULT_VALUE = '\0default'
42
+
43
+ let opts = minimist(process.argv, {
44
+ alias: {
45
+ colorize: 'c',
46
+ crlf: 'f',
47
+ errorProps: 'e',
48
+ levelFirst: 'l',
49
+ minimumLevel: 'L',
50
+ customLevels: 'x',
51
+ customColors: 'X',
52
+ useOnlyCustomProps: 'U',
53
+ errorLikeObjectKeys: 'k',
54
+ messageKey: 'm',
55
+ levelKey: CONSTANTS.LEVEL_KEY,
56
+ levelLabel: 'b',
57
+ messageFormat: 'o',
58
+ timestampKey: 'a',
59
+ translateTime: 't',
60
+ ignore: 'i',
61
+ include: 'I',
62
+ hideObject: 'H',
63
+ singleLine: 'S'
64
+ },
65
+ default: {
66
+ messageKey: DEFAULT_VALUE,
67
+ minimumLevel: DEFAULT_VALUE,
68
+ levelKey: DEFAULT_VALUE,
69
+ timestampKey: DEFAULT_VALUE
70
+ }
71
+ })
72
+
73
+ // Remove default values
74
+ opts = filter(opts, value => value !== DEFAULT_VALUE)
75
+ const config = loadConfig(opts.config)
76
+ // Override config with cli options
77
+ opts = Object.assign({}, config, opts)
78
+ // set defaults
79
+ opts.errorLikeObjectKeys = opts.errorLikeObjectKeys || 'err,error'
80
+ opts.errorProps = opts.errorProps || ''
81
+
82
+ const res = build(opts)
83
+ pump(process.stdin, res)
84
+
85
+ // https://github.com/pinojs/pino/pull/358
86
+ /* istanbul ignore next */
87
+ if (!process.stdin.isTTY && !fs.fstatSync(process.stdin.fd).isFile()) {
88
+ process.once('SIGINT', function noOp () {})
89
+ }
90
+
91
+ function loadConfig (configPath) {
92
+ const files = configPath ? [path.resolve(configPath)] : undefined
93
+ const result = joycon.loadSync(files)
94
+ if (result.path && !isObject(result.data)) {
95
+ configPath = configPath || path.basename(result.path)
96
+ throw new Error(`Invalid runtime configuration file: ${configPath}`)
97
+ }
98
+ if (configPath && !result.data) {
99
+ throw new Error(`Failed to load runtime configuration file: ${configPath}`)
100
+ }
101
+ return result.data
102
+ }
103
+
104
+ function filter (obj, cb) {
105
+ return Object.keys(obj).reduce((acc, key) => {
106
+ const value = obj[key]
107
+ if (cb(value, key)) {
108
+ acc[key] = value
109
+ }
110
+ return acc
111
+ }, {})
112
+ }
113
+ }
@@ -0,0 +1,24 @@
1
+ <a id="Systemd"></a>
2
+ ## Systemd example
3
+
4
+ If you run your Node.js process via [Systemd](https://www.freedesktop.org/wiki/Software/systemd/) and you examine your logs with [journalctl](https://www.freedesktop.org/software/systemd/man/journalctl.html) some data will be duplicated. You can use a combination of `journalctl` options and `pino-pretty` options to shape the output.
5
+
6
+ For example viewing the prettified logs of a process named `monitor` with `journalctl -u monitor -f | pino-pretty`, might output something like this:
7
+
8
+ ```
9
+ Apr 24 07:40:01 nanopi node[6080]: {"level":30,"time":1587706801902,"pid":6080,"hostname":"nanopi","msg":"TT
10
+ 21","v":1}
11
+ ```
12
+ As you can see, the timestamp, hostname, and pid are duplicated.
13
+ If you just want the bare prettified Pino logs you can strip out the duplicate items from the `journalctl` output with the `-o cat` option of `journalctl`:
14
+ ```
15
+ journalctl -u monitor -f -o cat | pino-pretty
16
+ ```
17
+ the output now looks something like this:
18
+ ```
19
+ [1587706801902] INFO (6080 on nanopi): TT 21
20
+ ```
21
+ Make the output even more human readable by using the pino-pretty options `-t` to format the timestamp and `-i pid, hostname` to filter out hostname and pid:
22
+ ```
23
+ [2020-04-24 05:42:24.836 +0000] INFO : TT 21
24
+ ```
@@ -0,0 +1,5 @@
1
+ 'use strict'
2
+
3
+ module.exports = require('neostandard')({
4
+ ts: true
5
+ })
@@ -0,0 +1,68 @@
1
+ Usage: pino-pretty [options] [command]
2
+
3
+ Commands:
4
+ help Display help
5
+ version Display version
6
+
7
+ Options:
8
+ -c, --colorize Force adding color sequences to the output
9
+ -C, --config specify a path to a json file containing the pino-pretty options
10
+ -f, --crlf Append CRLF instead of LF to formatted lines
11
+ -X, --customColors Override default colors using names from https://www.npmjs.com/package/colorette (`-X err:red,info:blue`)
12
+ -x, --customLevels Override default levels (`-x err:99,info:1`)
13
+ -k, --errorLikeObjectKeys Define which keys contain error objects (`-k err,error`) (defaults to `err,error`)
14
+ -e, --errorProps Comma separated list of properties on error objects to show (`*` for all properties) (defaults to ``)
15
+ -h, --help Output usage information
16
+ -H, --hideObject Hide objects from output (but not error object)
17
+ -i, --ignore Ignore one or several keys: (`-i time,hostname`)
18
+ -I, --include The opposite of `--ignore`, only include one or several keys: (`-I level,time`)
19
+ -l, --levelFirst Display the log level as the first output field
20
+ -L, --levelKey [value] Detect the log level under the specified key (defaults to "level")
21
+ -b, --levelLabel [value] Output the log level using the specified label (defaults to "levelLabel")
22
+ -o, --messageFormat Format output of message
23
+ -m, --messageKey [value] Highlight the message under the specified key (defaults to "msg")
24
+ -L, --minimumLevel Hide messages below the specified log level
25
+ -S, --singleLine Print all non-error objects on a single line
26
+ -a, --timestampKey [value] Display the timestamp from the specified key (defaults to "time")
27
+ -t, --translateTime Display epoch timestamps as UTC ISO format or according to an optional format string (default ISO 8601)
28
+ -U, --useOnlyCustomProps Only use custom levels and colors (if provided); don't fallback to default levels and colors (-U false)
29
+ -v, --version Output the version number
30
+
31
+ Examples:
32
+ - To prettify logs, simply pipe a log file through
33
+ $ cat log | pino-pretty
34
+
35
+ - To highlight a string at a key other than 'msg'
36
+ $ cat log | pino-pretty -m fooMessage
37
+
38
+ - To detect the log level at a key other than 'level'
39
+ $ cat log | pino-pretty --levelKey fooLevel
40
+
41
+ - To output the log level label using a key other than 'levelLabel'
42
+ $ cat log | pino-pretty --levelLabel LVL -o "{LVL}"
43
+
44
+ - To display timestamp from a key other than 'time'
45
+ $ cat log | pino-pretty -a fooTimestamp
46
+
47
+ - To convert Epoch timestamps to ISO timestamps use the -t option
48
+ $ cat log | pino-pretty -t
49
+
50
+ - To convert Epoch timestamps to local timezone format use the -t option with "SYS:" prefixed format string
51
+ $ cat log | pino-pretty -t "SYS:yyyy-mm-dd HH:MM:ss"
52
+
53
+ - To flip level and time/date in standard output use the -l option
54
+ $ cat log | pino-pretty -l
55
+
56
+ - Only prints messages with a minimum log level of info
57
+ $ cat log | pino-pretty -L info
58
+
59
+ - Prettify logs but don't print pid and hostname
60
+ $ cat log | pino-pretty -i pid,hostname
61
+
62
+ - Prettify logs but only print time and level
63
+ $ cat log | pino-pretty -I time,level
64
+
65
+ - Loads options from a config file
66
+ $ cat log | pino-pretty --config=/path/to/config.json
67
+
68
+
@@ -0,0 +1,227 @@
1
+ // Project: https://github.com/pinojs/pino-pretty#readme
2
+ // Definitions by: Adam Vigneaux <https://github.com/AdamVig>
3
+ // tearwyx <https://github.com/tearwyx>
4
+
5
+ /// <reference types="node" />
6
+
7
+ import { Transform } from 'node:stream'
8
+ import { OnUnknown } from 'pino-abstract-transport'
9
+ // @ts-ignore fall back to any if pino is not available, i.e. when running pino tests
10
+ import { DestinationStream, Level } from 'pino'
11
+ import * as Colorette from 'colorette'
12
+
13
+ declare function PinoPretty (options?: PinoPretty.PrettyOptions): PinoPretty.PrettyStream
14
+ declare namespace PinoPretty {
15
+ export function colorizerFactory (
16
+ useColors?: boolean,
17
+ customColors?: [number, string][],
18
+ useOnlyCustomProps?: boolean,
19
+ ): {
20
+ (
21
+ level?: number | string,
22
+ opts?: {
23
+ customLevels?: { [level: number]: string };
24
+ customLevelNames?: { [name: string]: number };
25
+ },
26
+ ): string,
27
+ message: (input: string | number) => string,
28
+ greyMessage: (input: string | number) => string,
29
+ }
30
+
31
+ export function prettyFactory (options: PrettyOptions): (inputData: any) => string
32
+
33
+ export interface PrettyOptions {
34
+ /**
35
+ * Hide objects from output (but not error object).
36
+ * @default false
37
+ */
38
+ hideObject?: boolean;
39
+ /**
40
+ * Translate the epoch time value into a human readable date and time string. This flag also can set the format
41
+ * string to apply when translating the date to human readable format. For a list of available pattern letters
42
+ * see the {@link https://www.npmjs.com/package/dateformat|dateformat documentation}.
43
+ * - The default format is `yyyy-mm-dd HH:MM:ss.l o` in UTC.
44
+ * - Requires a `SYS:` prefix to translate time to the local system's timezone. Use the shortcut `SYS:standard`
45
+ * to translate time to `yyyy-mm-dd HH:MM:ss.l o` in system timezone.
46
+ * @default false
47
+ */
48
+ translateTime?: boolean | string;
49
+ /**
50
+ * If set to true, it will print the name of the log level as the first field in the log line.
51
+ * @default false
52
+ */
53
+ levelFirst?: boolean;
54
+ /**
55
+ * Define the key that contains the level of the log.
56
+ * @default "level"
57
+ */
58
+ levelKey?: string;
59
+ /**
60
+ * Output the log level using the specified label.
61
+ * @default "levelLabel"
62
+ */
63
+ levelLabel?: string;
64
+ /**
65
+ * The key in the JSON object to use as the highlighted message.
66
+ * @default "msg"
67
+ *
68
+ * Not required when used with pino >= 8.21.0
69
+ */
70
+ messageKey?: string;
71
+ /**
72
+ * Print each log message on a single line (errors will still be multi-line).
73
+ * @default false
74
+ */
75
+ singleLine?: boolean;
76
+ /**
77
+ * The key in the JSON object to use for timestamp display.
78
+ * @default "time"
79
+ */
80
+ timestampKey?: string;
81
+ /**
82
+ * The minimum log level to include in the output.
83
+ * @default "trace"
84
+ */
85
+ minimumLevel?: Level;
86
+ /**
87
+ * Format output of message, e.g. {level} - {pid} will output message: INFO - 1123
88
+ * @default false
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * {
93
+ * messageFormat: (log, messageKey) => {
94
+ * const message = log[messageKey];
95
+ * if (log.requestId) return `[${log.requestId}] ${message}`;
96
+ * return message;
97
+ * }
98
+ * }
99
+ * ```
100
+ */
101
+ messageFormat?: false | string | MessageFormatFunc;
102
+ /**
103
+ * If set to true, will add color information to the formatted output message.
104
+ * @default false
105
+ */
106
+ colorize?: boolean;
107
+ /**
108
+ * If set to false while `colorize` is `true`, will output JSON objects without color.
109
+ * @default true
110
+ */
111
+ colorizeObjects?: boolean;
112
+ /**
113
+ * Appends carriage return and line feed, instead of just a line feed, to the formatted log line.
114
+ * @default false
115
+ */
116
+ crlf?: boolean;
117
+ /**
118
+ * Define the log keys that are associated with error like objects.
119
+ * @default ["err", "error"]
120
+ *
121
+ * Not required to handle custom errorKey when used with pino >= 8.21.0
122
+ */
123
+ errorLikeObjectKeys?: string[];
124
+ /**
125
+ * When formatting an error object, display this list of properties.
126
+ * The list should be a comma separated list of properties.
127
+ * @default ""
128
+ */
129
+ errorProps?: string;
130
+ /**
131
+ * Ignore one or several keys.
132
+ * Will be overridden by the option include if include is presented.
133
+ * @example "time,hostname"
134
+ */
135
+ ignore?: string;
136
+ /**
137
+ * Include one or several keys.
138
+ * @example "time,level"
139
+ */
140
+ include?: string;
141
+ /**
142
+ * Makes messaging synchronous.
143
+ * @default false
144
+ */
145
+ sync?: boolean;
146
+ /**
147
+ * The file, file descriptor, or stream to write to. Defaults to 1 (stdout).
148
+ * @default 1
149
+ */
150
+ destination?: string | number | DestinationStream | NodeJS.WritableStream;
151
+ /**
152
+ * Opens the file with the 'a' flag.
153
+ * @default true
154
+ */
155
+ append?: boolean;
156
+ /**
157
+ * Ensure directory for destination file exists.
158
+ * @default false
159
+ */
160
+ mkdir?: boolean;
161
+ /**
162
+ * Provides the ability to add a custom prettify function for specific log properties.
163
+ * `customPrettifiers` is an object, where keys are log properties that will be prettified
164
+ * and value is the prettify function itself.
165
+ * For example, if a log line contains a query property, you can specify a prettifier for it:
166
+ * @default {}
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * {
171
+ * customPrettifiers: {
172
+ * query: prettifyQuery
173
+ * }
174
+ * }
175
+ * //...
176
+ * const prettifyQuery = value => {
177
+ * // do some prettify magic
178
+ * }
179
+ * ```
180
+ */
181
+ customPrettifiers?: Record<string, Prettifier> &
182
+ {
183
+ level?: Prettifier
184
+ };
185
+ /**
186
+ * Change the level names and values to an user custom preset.
187
+ *
188
+ * Can be a CSV string in 'level_name:level_value' format or an object.
189
+ *
190
+ * @example ( CSV ) customLevels: 'info:10,some_level:40'
191
+ * @example ( Object ) customLevels: { info: 10, some_level: 40 }
192
+ *
193
+ * Not required when used with pino >= 8.21.0
194
+ */
195
+ customLevels?: string | object;
196
+ /**
197
+ * Change the level colors to an user custom preset.
198
+ *
199
+ * Can be a CSV string in 'level_name:color_value' format or an object.
200
+ * Also supports 'default' as level_name for fallback color.
201
+ *
202
+ * @example ( CSV ) customColors: 'info:white,some_level:red'
203
+ * @example ( Object ) customColors: { info: 'white', some_level: 'red' }
204
+ */
205
+ customColors?: string | object;
206
+ /**
207
+ * Only use custom levels and colors (if provided); else fallback to default levels and colors.
208
+ *
209
+ * @default true
210
+ */
211
+ useOnlyCustomProps?: boolean;
212
+ }
213
+
214
+ export function build (options?: PrettyOptions): PrettyStream
215
+
216
+ type PrettifierExtras = { colors: Colorette.Colorette, label: string, labelColorized: string }
217
+ export type Prettifier = (inputData: string | object, key: string, log: object, extras: PrettifierExtras) => string
218
+ export type MessageFormatFunc = (log: Record<string, unknown>, messageKey: string, levelLabel: string, extras: Pick<PrettifierExtras, 'colors'>) => string
219
+ export type PrettyStream = Transform & OnUnknown
220
+
221
+ // @ts-ignore
222
+ export const isColorSupported = Colorette.isColorSupported
223
+
224
+ export { PinoPretty }
225
+ }
226
+
227
+ export = PinoPretty