@wbce/projen-d9 0.0.27 → 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.
- package/.jsii +185 -46
- package/API.md +153 -37
- package/CHANGELOG.md +20 -0
- package/README.md +10 -3
- package/docs/D9-plumbing.md +189 -0
- package/lib/cli/atlas.d.ts +10 -0
- package/lib/cli/atlas.js +65 -0
- package/lib/cli/commands/cedar/cedar-format.d.ts +7 -0
- package/lib/cli/commands/cedar/cedar-format.js +75 -0
- package/lib/cli/commands/cedar/cedar-to-d9-translations.d.ts +12 -0
- package/lib/cli/commands/cedar/cedar-to-d9-translations.js +130 -0
- package/lib/cli/commands/cedar/cedar-to-d9.d.ts +57 -0
- package/lib/cli/commands/cedar/cedar-to-d9.js +221 -0
- package/lib/cli/commands/cedar/cedar-translations.d.ts +9 -0
- package/lib/cli/commands/cedar/cedar-translations.js +213 -0
- package/lib/cli/commands/cedar/d9-permission.d.ts +27 -0
- package/lib/cli/commands/cedar/d9-permission.js +45 -0
- package/lib/cli/commands/cedar/d9-to-cedar.d.ts +33 -0
- package/lib/cli/commands/cedar/d9-to-cedar.js +157 -0
- package/lib/cli/commands/cedar/roles-table.d.ts +14 -0
- package/lib/cli/commands/cedar/roles-table.js +29 -0
- package/lib/cli/commands/save/apply-snapshot.js +39 -30
- package/lib/cli/commands/save/check-unsaved.d.ts +9 -0
- package/lib/cli/commands/save/check-unsaved.js +81 -0
- package/lib/cli/commands/save/env.d.ts +33 -0
- package/lib/cli/commands/save/env.js +109 -0
- package/lib/cli/commands/save/save-snapshot.d.ts +9 -0
- package/lib/cli/commands/save/save-snapshot.js +232 -0
- package/lib/cli/commands/save/sync-files.d.ts +5 -0
- package/lib/cli/commands/save/sync-files.js +46 -0
- package/lib/cli/commands/save/transfer.d.ts +18 -0
- package/lib/cli/commands/save/transfer.js +96 -0
- package/lib/cli/commands/save/utils.d.ts +5 -0
- package/lib/cli/commands/save/utils.js +33 -3
- package/lib/cli/commands/sync.js +4 -3
- package/lib/cli/index.js +65 -25
- package/lib/cli/logger.d.ts +2 -0
- package/lib/cli/logger.js +10 -0
- package/lib/cli/plumbing-config.d.ts +11 -0
- package/lib/cli/plumbing-config.js +13 -0
- package/lib/index.d.ts +44 -5
- package/lib/index.js +54 -41
- package/node_modules/@cedar-policy/cedar-wasm/README.md +181 -0
- package/node_modules/@cedar-policy/cedar-wasm/esm/README.md +181 -0
- package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm.d.ts +427 -0
- package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm.js +9 -0
- package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm_bg.js +434 -0
- package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm_bg.wasm +0 -0
- package/node_modules/@cedar-policy/cedar-wasm/esm/cedar_wasm_bg.wasm.d.ts +34 -0
- package/node_modules/@cedar-policy/cedar-wasm/esm/package.json +23 -0
- package/node_modules/@cedar-policy/cedar-wasm/nodejs/README.md +181 -0
- package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm.d.ts +427 -0
- package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm.js +463 -0
- package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm_bg.wasm +0 -0
- package/node_modules/@cedar-policy/cedar-wasm/nodejs/cedar_wasm_bg.wasm.d.ts +34 -0
- package/node_modules/@cedar-policy/cedar-wasm/nodejs/package.json +18 -0
- package/node_modules/@cedar-policy/cedar-wasm/package.json +53 -0
- package/node_modules/@cedar-policy/cedar-wasm/web/README.md +181 -0
- package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm.d.ts +486 -0
- package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm.js +534 -0
- package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm_bg.wasm +0 -0
- package/node_modules/@cedar-policy/cedar-wasm/web/cedar_wasm_bg.wasm.d.ts +34 -0
- package/node_modules/@cedar-policy/cedar-wasm/web/package.json +21 -0
- package/node_modules/@types/node/README.md +5 -6
- package/node_modules/@types/node/assert/strict.d.ts +111 -0
- package/node_modules/@types/node/assert.d.ts +1040 -79
- package/node_modules/@types/node/async_hooks.d.ts +476 -119
- package/node_modules/@types/node/buffer.buffer.d.ts +472 -0
- package/node_modules/@types/node/buffer.d.ts +1925 -13
- package/node_modules/@types/node/child_process.d.ts +1204 -235
- package/node_modules/@types/node/cluster.d.ts +455 -137
- package/node_modules/@types/node/compatibility/disposable.d.ts +14 -0
- package/node_modules/@types/node/compatibility/index.d.ts +9 -0
- package/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
- package/node_modules/@types/node/compatibility/iterators.d.ts +20 -0
- package/node_modules/@types/node/console.d.ts +450 -1
- package/node_modules/@types/node/constants.d.ts +20 -447
- package/node_modules/@types/node/crypto.d.ts +3962 -600
- package/node_modules/@types/node/dgram.d.ts +515 -33
- package/node_modules/@types/node/diagnostics_channel.d.ts +578 -0
- package/node_modules/@types/node/dns/promises.d.ts +503 -0
- package/node_modules/@types/node/dns.d.ts +798 -247
- package/node_modules/@types/node/domain.d.ts +164 -10
- package/node_modules/@types/node/events.d.ts +954 -25
- package/node_modules/@types/node/fs/promises.d.ts +1295 -0
- package/node_modules/@types/node/fs.d.ts +3463 -1569
- package/node_modules/@types/node/globals.d.ts +98 -1277
- package/node_modules/@types/node/globals.typedarray.d.ts +38 -0
- package/node_modules/@types/node/http.d.ts +1933 -300
- package/node_modules/@types/node/http2.d.ts +1946 -254
- package/node_modules/@types/node/https.d.ts +557 -134
- package/node_modules/@types/node/index.d.ts +54 -48
- package/node_modules/@types/node/inspector.d.ts +227 -3014
- package/node_modules/@types/node/inspector.generated.d.ts +4052 -0
- package/node_modules/@types/node/module.d.ts +890 -2
- package/node_modules/@types/node/net.d.ts +872 -105
- package/node_modules/@types/node/os.d.ts +452 -209
- package/node_modules/@types/node/package.json +78 -128
- package/node_modules/@types/node/path.d.ts +196 -155
- package/node_modules/@types/node/perf_hooks.d.ts +829 -120
- package/node_modules/@types/node/process.d.ts +2072 -3
- package/node_modules/@types/node/punycode.d.ts +69 -27
- package/node_modules/@types/node/querystring.d.ts +132 -9
- package/node_modules/@types/node/readline/promises.d.ts +161 -0
- package/node_modules/@types/node/readline.d.ts +485 -49
- package/node_modules/@types/node/repl.d.ts +121 -83
- package/node_modules/@types/node/sea.d.ts +153 -0
- package/node_modules/@types/node/sqlite.d.ts +721 -0
- package/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/node_modules/@types/node/stream/promises.d.ts +90 -0
- package/node_modules/@types/node/stream/web.d.ts +622 -0
- package/node_modules/@types/node/stream.d.ts +1470 -140
- package/node_modules/@types/node/string_decoder.d.ts +64 -4
- package/node_modules/@types/node/test.d.ts +2163 -0
- package/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/node_modules/@types/node/timers.d.ts +284 -13
- package/node_modules/@types/node/tls.d.ts +850 -244
- package/node_modules/@types/node/trace_events.d.ts +147 -11
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +34 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +97 -0
- package/node_modules/@types/node/tty.d.ts +160 -18
- package/node_modules/@types/node/url.d.ts +890 -53
- package/node_modules/@types/node/util.d.ts +2566 -160
- package/node_modules/@types/node/v8.d.ts +806 -83
- package/node_modules/@types/node/vm.d.ts +932 -44
- package/node_modules/@types/node/wasi.d.ts +148 -22
- package/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
- package/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/node_modules/@types/node/web-globals/events.d.ts +97 -0
- package/node_modules/@types/node/web-globals/fetch.d.ts +55 -0
- package/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
- package/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/node_modules/@types/node/worker_threads.d.ts +657 -80
- package/node_modules/@types/node/zlib.d.ts +510 -119
- package/node_modules/pino/.prettierignore +1 -0
- package/node_modules/pino/CNAME +1 -0
- package/node_modules/pino/CONTRIBUTING.md +34 -0
- package/node_modules/pino/LICENSE +21 -0
- package/node_modules/pino/README.md +177 -0
- package/node_modules/pino/SECURITY.md +103 -0
- package/node_modules/pino/benchmarks/basic.bench.js +95 -0
- package/node_modules/pino/benchmarks/child-child.bench.js +52 -0
- package/node_modules/pino/benchmarks/child-creation.bench.js +73 -0
- package/node_modules/pino/benchmarks/child.bench.js +62 -0
- package/node_modules/pino/benchmarks/deep-object.bench.js +88 -0
- package/node_modules/pino/benchmarks/formatters.bench.js +50 -0
- package/node_modules/pino/benchmarks/internal/custom-levels.js +67 -0
- package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +76 -0
- package/node_modules/pino/benchmarks/internal/just-pino.bench.js +182 -0
- package/node_modules/pino/benchmarks/internal/parent-vs-child.bench.js +75 -0
- package/node_modules/pino/benchmarks/internal/redact.bench.js +86 -0
- package/node_modules/pino/benchmarks/long-string.bench.js +81 -0
- package/node_modules/pino/benchmarks/multi-arg.bench.js +193 -0
- package/node_modules/pino/benchmarks/multistream.js +98 -0
- package/node_modules/pino/benchmarks/object.bench.js +82 -0
- package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +36 -0
- package/node_modules/pino/benchmarks/utils/runbench.js +138 -0
- package/node_modules/pino/benchmarks/utils/wrap-log-level.js +55 -0
- package/node_modules/pino/bin.js +6 -0
- package/node_modules/pino/browser.js +607 -0
- package/node_modules/pino/build/sync-version.js +25 -0
- package/node_modules/pino/docs/api.md +1664 -0
- package/node_modules/pino/docs/asynchronous.md +55 -0
- package/node_modules/pino/docs/benchmarks.md +55 -0
- package/node_modules/pino/docs/browser.md +341 -0
- package/node_modules/pino/docs/bundling.md +40 -0
- package/node_modules/pino/docs/child-loggers.md +116 -0
- package/node_modules/pino/docs/diagnostics.md +16 -0
- package/node_modules/pino/docs/ecosystem.md +87 -0
- package/node_modules/pino/docs/help.md +353 -0
- package/node_modules/pino/docs/lts.md +93 -0
- package/node_modules/pino/docs/pretty.md +38 -0
- package/node_modules/pino/docs/redaction.md +130 -0
- package/node_modules/pino/docs/transports.md +1447 -0
- package/node_modules/pino/docs/web.md +306 -0
- package/node_modules/pino/eslint.config.js +36 -0
- package/node_modules/pino/examples/basic.js +43 -0
- package/node_modules/pino/examples/transport.js +68 -0
- package/node_modules/pino/favicon.ico +0 -0
- package/node_modules/pino/file.js +12 -0
- package/node_modules/pino/inc-version.sh +42 -0
- package/node_modules/pino/index.html +55 -0
- package/node_modules/pino/lib/caller.js +40 -0
- package/node_modules/pino/lib/constants.js +28 -0
- package/node_modules/pino/lib/deprecations.js +8 -0
- package/node_modules/pino/lib/levels.js +241 -0
- package/node_modules/pino/lib/meta.js +3 -0
- package/node_modules/pino/lib/multistream.js +211 -0
- package/node_modules/pino/lib/proto.js +256 -0
- package/node_modules/pino/lib/redaction.js +119 -0
- package/node_modules/pino/lib/symbols.js +76 -0
- package/node_modules/pino/lib/time.js +39 -0
- package/node_modules/pino/lib/tools.js +427 -0
- package/node_modules/pino/lib/transport-stream.js +56 -0
- package/node_modules/pino/lib/transport.js +302 -0
- package/node_modules/pino/lib/worker.js +197 -0
- package/node_modules/pino/package.json +112 -0
- package/node_modules/pino/pino.d.ts +881 -0
- package/node_modules/pino/pino.js +259 -0
- package/node_modules/pino/test/basic.test.js +952 -0
- package/node_modules/pino/test/broken-pipe.test.js +59 -0
- package/node_modules/pino/test/browser-bindings.test.js +114 -0
- package/node_modules/pino/test/browser-child.test.js +132 -0
- package/node_modules/pino/test/browser-disabled.test.js +87 -0
- package/node_modules/pino/test/browser-early-console-freeze.test.js +12 -0
- package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
- package/node_modules/pino/test/browser-levels.test.js +241 -0
- package/node_modules/pino/test/browser-redaction.test.js +264 -0
- package/node_modules/pino/test/browser-serializers.test.js +352 -0
- package/node_modules/pino/test/browser-set-bindings.test.js +99 -0
- package/node_modules/pino/test/browser-timestamp.test.js +88 -0
- package/node_modules/pino/test/browser-transmit.test.js +417 -0
- package/node_modules/pino/test/browser.test.js +698 -0
- package/node_modules/pino/test/caller.test.js +20 -0
- package/node_modules/pino/test/complex-objects.test.js +36 -0
- package/node_modules/pino/test/crlf.test.js +34 -0
- package/node_modules/pino/test/custom-levels.test.js +267 -0
- package/node_modules/pino/test/diagnostics.test.js +107 -0
- package/node_modules/pino/test/error-key.test.js +37 -0
- package/node_modules/pino/test/error.test.js +403 -0
- package/node_modules/pino/test/escaping.test.js +110 -0
- package/node_modules/pino/test/esm/esm.mjs +14 -0
- package/node_modules/pino/test/esm/index.test.js +21 -0
- package/node_modules/pino/test/esm/named-exports.mjs +29 -0
- package/node_modules/pino/test/exit.test.js +79 -0
- package/node_modules/pino/test/fixtures/broken-pipe/basic.js +9 -0
- package/node_modules/pino/test/fixtures/broken-pipe/destination.js +10 -0
- package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +12 -0
- package/node_modules/pino/test/fixtures/caller-loop.js +6 -0
- package/node_modules/pino/test/fixtures/console-transport.js +13 -0
- package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
- package/node_modules/pino/test/fixtures/default-exit.js +8 -0
- package/node_modules/pino/test/fixtures/destination-exit.js +8 -0
- package/node_modules/pino/test/fixtures/eval/index.js +13 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/14-files.js +3 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/2-files.js +3 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file1.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file10.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file11.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file12.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file13.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file14.js +11 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file2.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file3.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file4.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file5.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file6.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file7.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file8.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file9.js +5 -0
- package/node_modules/pino/test/fixtures/noop-transport.js +10 -0
- package/node_modules/pino/test/fixtures/pretty/null-prototype.js +8 -0
- package/node_modules/pino/test/fixtures/stdout-hack-protection.js +11 -0
- package/node_modules/pino/test/fixtures/syncfalse-child.js +6 -0
- package/node_modules/pino/test/fixtures/syncfalse-exit.js +9 -0
- package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +10 -0
- package/node_modules/pino/test/fixtures/syncfalse.js +6 -0
- package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
- package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +20 -0
- package/node_modules/pino/test/fixtures/to-file-transport.js +13 -0
- package/node_modules/pino/test/fixtures/to-file-transport.mjs +8 -0
- package/node_modules/pino/test/fixtures/transport/index.js +12 -0
- package/node_modules/pino/test/fixtures/transport/package.json +5 -0
- package/node_modules/pino/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
- package/node_modules/pino/test/fixtures/transport-exit-immediately.js +11 -0
- package/node_modules/pino/test/fixtures/transport-exit-on-ready.js +12 -0
- package/node_modules/pino/test/fixtures/transport-invalid-node-options.js +26 -0
- package/node_modules/pino/test/fixtures/transport-main.js +9 -0
- package/node_modules/pino/test/fixtures/transport-many-lines.js +29 -0
- package/node_modules/pino/test/fixtures/transport-preload-main.mjs +13 -0
- package/node_modules/pino/test/fixtures/transport-preload.mjs +13 -0
- package/node_modules/pino/test/fixtures/transport-string-stdout.js +9 -0
- package/node_modules/pino/test/fixtures/transport-transform.js +21 -0
- package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +33 -0
- package/node_modules/pino/test/fixtures/transport-with-on-exit.js +12 -0
- package/node_modules/pino/test/fixtures/transport-worker-data.js +19 -0
- package/node_modules/pino/test/fixtures/transport-worker-name.js +24 -0
- package/node_modules/pino/test/fixtures/transport-worker.js +15 -0
- package/node_modules/pino/test/fixtures/transport-wrong-export-type.js +3 -0
- package/node_modules/pino/test/fixtures/ts/to-file-transport-native.mts +15 -0
- package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
- package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +11 -0
- package/node_modules/pino/test/fixtures/ts/transpile.cjs +36 -0
- package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
- package/node_modules/pino/test/fixtures/ts/transport-exit-immediately.ts +10 -0
- package/node_modules/pino/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
- package/node_modules/pino/test/fixtures/ts/transport-main.ts +8 -0
- package/node_modules/pino/test/fixtures/ts/transport-string-stdout.ts +8 -0
- package/node_modules/pino/test/fixtures/ts/transport-worker.ts +14 -0
- package/node_modules/pino/test/formatters.test.js +364 -0
- package/node_modules/pino/test/helper.d.ts +4 -0
- package/node_modules/pino/test/helper.js +159 -0
- package/node_modules/pino/test/hooks.test.js +114 -0
- package/node_modules/pino/test/http.test.js +214 -0
- package/node_modules/pino/test/internals/version.test.js +17 -0
- package/node_modules/pino/test/is-level-enabled.test.js +179 -0
- package/node_modules/pino/test/jest/basic.spec.js +10 -0
- package/node_modules/pino/test/levels.test.js +810 -0
- package/node_modules/pino/test/metadata.test.js +120 -0
- package/node_modules/pino/test/mixin-merge-strategy.test.js +57 -0
- package/node_modules/pino/test/mixin.test.js +241 -0
- package/node_modules/pino/test/multistream.test.js +793 -0
- package/node_modules/pino/test/redact.test.js +923 -0
- package/node_modules/pino/test/serializers.test.js +257 -0
- package/node_modules/pino/test/smoke.js +59 -0
- package/node_modules/pino/test/stdout-protection.test.js +41 -0
- package/node_modules/pino/test/syncfalse.test.js +186 -0
- package/node_modules/pino/test/timestamp-nano.test.js +37 -0
- package/node_modules/pino/test/timestamp.test.js +124 -0
- package/node_modules/pino/test/transport/big.test.js +42 -0
- package/node_modules/pino/test/transport/bundlers-support.test.js +99 -0
- package/node_modules/pino/test/transport/caller.test.js +24 -0
- package/node_modules/pino/test/transport/core.test.js +818 -0
- package/node_modules/pino/test/transport/core.transpiled.test.ts +114 -0
- package/node_modules/pino/test/transport/crash.test.js +36 -0
- package/node_modules/pino/test/transport/module-link.test.js +241 -0
- package/node_modules/pino/test/transport/native-type-stripping.test.mjs +151 -0
- package/node_modules/pino/test/transport/node-options.test.js +116 -0
- package/node_modules/pino/test/transport/pipeline.test.js +137 -0
- package/node_modules/pino/test/transport/preload.test.js +54 -0
- package/node_modules/pino/test/transport/repl.test.js +15 -0
- package/node_modules/pino/test/transport/sync-false.test.js +79 -0
- package/node_modules/pino/test/transport/sync-true.test.js +57 -0
- package/node_modules/pino/test/transport/targets.test.js +48 -0
- package/node_modules/pino/test/transport/uses-pino-config.test.js +166 -0
- package/node_modules/pino/test/transport-stream.test.js +40 -0
- package/node_modules/pino/test/types/pino-import.tst.cts +30 -0
- package/node_modules/pino/test/types/pino-import.tst.js +73 -0
- package/node_modules/pino/test/types/pino-multistream.tst.ts +49 -0
- package/node_modules/pino/test/types/pino-top-export.tst.ts +32 -0
- package/node_modules/pino/test/types/pino-transport.tst.ts +171 -0
- package/node_modules/pino/test/types/pino-type-only.tst.ts +77 -0
- package/node_modules/pino/test/types/pino.ts +98 -0
- package/node_modules/pino/test/types/pino.tst.ts +681 -0
- package/node_modules/pino/test/types/tsconfig.json +10 -0
- package/node_modules/pino/tsconfig.json +14 -0
- package/node_modules/pino-pretty/.borp.yaml +6 -0
- package/node_modules/pino-pretty/.editorconfig +13 -0
- package/node_modules/pino-pretty/.github/dependabot.yml +13 -0
- package/node_modules/pino-pretty/.github/workflows/ci.yml +83 -0
- package/node_modules/pino-pretty/LICENSE +21 -0
- package/node_modules/pino-pretty/Readme.md +425 -0
- package/node_modules/pino-pretty/SECURITY.md +146 -0
- package/node_modules/pino-pretty/benchmark.js +105 -0
- package/node_modules/pino-pretty/bin.js +113 -0
- package/node_modules/pino-pretty/demo.png +0 -0
- package/node_modules/pino-pretty/docs/help.md +24 -0
- package/node_modules/pino-pretty/eslint.config.js +5 -0
- package/node_modules/pino-pretty/help/help.txt +68 -0
- package/node_modules/pino-pretty/index.d.ts +227 -0
- package/node_modules/pino-pretty/index.js +234 -0
- package/node_modules/pino-pretty/lib/colors.js +134 -0
- package/node_modules/pino-pretty/lib/colors.test.js +132 -0
- package/node_modules/pino-pretty/lib/constants.js +55 -0
- package/node_modules/pino-pretty/lib/pretty.js +171 -0
- package/node_modules/pino-pretty/lib/utils/build-safe-sonic-boom.js +69 -0
- package/node_modules/pino-pretty/lib/utils/build-safe-sonic-boom.test.js +84 -0
- package/node_modules/pino-pretty/lib/utils/create-date.js +26 -0
- package/node_modules/pino-pretty/lib/utils/create-date.test.js +20 -0
- package/node_modules/pino-pretty/lib/utils/delete-log-property.js +28 -0
- package/node_modules/pino-pretty/lib/utils/delete-log-property.test.js +31 -0
- package/node_modules/pino-pretty/lib/utils/filter-log.js +99 -0
- package/node_modules/pino-pretty/lib/utils/filter-log.test.js +265 -0
- package/node_modules/pino-pretty/lib/utils/format-time.js +66 -0
- package/node_modules/pino-pretty/lib/utils/format-time.test.js +71 -0
- package/node_modules/pino-pretty/lib/utils/get-level-label-data.js +29 -0
- package/node_modules/pino-pretty/lib/utils/get-property-value.js +30 -0
- package/node_modules/pino-pretty/lib/utils/get-property-value.test.js +31 -0
- package/node_modules/pino-pretty/lib/utils/handle-custom-levels-names-opts.js +38 -0
- package/node_modules/pino-pretty/lib/utils/handle-custom-levels-names-opts.test.js +45 -0
- package/node_modules/pino-pretty/lib/utils/handle-custom-levels-opts.js +39 -0
- package/node_modules/pino-pretty/lib/utils/handle-custom-levels-opts.test.js +47 -0
- package/node_modules/pino-pretty/lib/utils/index.js +108 -0
- package/node_modules/pino-pretty/lib/utils/index.test.js +37 -0
- package/node_modules/pino-pretty/lib/utils/interpret-conditionals.js +41 -0
- package/node_modules/pino-pretty/lib/utils/interpret-conditionals.test.js +84 -0
- package/node_modules/pino-pretty/lib/utils/is-object.js +7 -0
- package/node_modules/pino-pretty/lib/utils/is-object.test.js +10 -0
- package/node_modules/pino-pretty/lib/utils/is-valid-date.js +14 -0
- package/node_modules/pino-pretty/lib/utils/is-valid-date.test.js +16 -0
- package/node_modules/pino-pretty/lib/utils/join-lines-with-indentation.js +29 -0
- package/node_modules/pino-pretty/lib/utils/join-lines-with-indentation.test.js +16 -0
- package/node_modules/pino-pretty/lib/utils/noop.js +3 -0
- package/node_modules/pino-pretty/lib/utils/noop.test.js +12 -0
- package/node_modules/pino-pretty/lib/utils/parse-factory-options.js +171 -0
- package/node_modules/pino-pretty/lib/utils/prettify-error-log.js +76 -0
- package/node_modules/pino-pretty/lib/utils/prettify-error-log.test.js +143 -0
- package/node_modules/pino-pretty/lib/utils/prettify-error.js +54 -0
- package/node_modules/pino-pretty/lib/utils/prettify-error.test.js +25 -0
- package/node_modules/pino-pretty/lib/utils/prettify-level.js +41 -0
- package/node_modules/pino-pretty/lib/utils/prettify-level.test.js +70 -0
- package/node_modules/pino-pretty/lib/utils/prettify-message.js +65 -0
- package/node_modules/pino-pretty/lib/utils/prettify-message.test.js +287 -0
- package/node_modules/pino-pretty/lib/utils/prettify-metadata.js +75 -0
- package/node_modules/pino-pretty/lib/utils/prettify-metadata.test.js +170 -0
- package/node_modules/pino-pretty/lib/utils/prettify-object.js +115 -0
- package/node_modules/pino-pretty/lib/utils/prettify-object.test.js +217 -0
- package/node_modules/pino-pretty/lib/utils/prettify-time.js +43 -0
- package/node_modules/pino-pretty/lib/utils/prettify-time.test.js +264 -0
- package/node_modules/pino-pretty/lib/utils/split-property-key.js +49 -0
- package/node_modules/pino-pretty/lib/utils/split-property-key.test.js +29 -0
- package/node_modules/pino-pretty/lib/utils/strip-unsafe-control-chars.js +18 -0
- package/node_modules/pino-pretty/lib/utils/strip-unsafe-control-chars.test.js +9 -0
- package/node_modules/pino-pretty/package.json +64 -0
- package/node_modules/pino-pretty/test/basic.test.js +1305 -0
- package/node_modules/pino-pretty/test/boolean-options.test.js +228 -0
- package/node_modules/pino-pretty/test/cli-rc.test.js +275 -0
- package/node_modules/pino-pretty/test/cli.test.js +360 -0
- package/node_modules/pino-pretty/test/crlf.test.js +33 -0
- package/node_modules/pino-pretty/test/error-objects.test.js +494 -0
- package/node_modules/pino-pretty/test/example/example.js +33 -0
- package/node_modules/pino-pretty/test/helper.js +19 -0
- package/node_modules/pino-pretty/test/types/exports.tst.ts +15 -0
- package/node_modules/pino-pretty/test/types/pino-pretty.tst.ts +140 -0
- package/node_modules/pino-pretty/test/types/tsconfig.json +9 -0
- package/package.json +14 -7
- package/lib/cli/commands/init.d.ts +0 -1
- package/lib/cli/commands/init.js +0 -8
- package/lib/cli/commands/save/draft.js +0 -2
- package/node_modules/@types/node/globals.global.d.ts +0 -1
- /package/{lib/cli/commands/save/draft.d.ts → node_modules/pino/.nojekyll} +0 -0
|
@@ -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
|
+
}
|
|
Binary file
|
|
@@ -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,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
|