@zuplo/cli 7.0.2 → 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/delete/handler.js +2 -2
- package/dist/delete/handler.js.map +1 -1
- package/dist/deploy/handler.js +1 -1
- package/dist/deploy/handler.js.map +1 -1
- package/dist/deploy/poll-deployment.js +1 -1
- package/dist/deploy/poll-deployment.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@pinojs/redact/.github/dependabot.yml +13 -0
- package/node_modules/@pinojs/redact/.github/workflows/ci.yml +48 -0
- package/node_modules/@pinojs/redact/.github/workflows/publish-release.yml +43 -0
- package/node_modules/{event-target-shim → @pinojs/redact}/LICENSE +2 -3
- package/node_modules/@pinojs/redact/README.md +350 -0
- package/node_modules/@pinojs/redact/benchmarks/basic.js +184 -0
- package/node_modules/@pinojs/redact/eslint.config.js +1 -0
- package/node_modules/@pinojs/redact/index.d.ts +52 -0
- package/node_modules/@pinojs/redact/index.js +529 -0
- package/node_modules/@pinojs/redact/index.test-d.ts +22 -0
- package/node_modules/@pinojs/redact/package.json +37 -0
- package/node_modules/@pinojs/redact/scripts/sync-version.mjs +20 -0
- package/node_modules/@pinojs/redact/test/actual-redact-comparison.test.js +211 -0
- package/node_modules/@pinojs/redact/test/index.test.js +824 -0
- package/node_modules/@pinojs/redact/test/integration.test.js +390 -0
- package/node_modules/@pinojs/redact/test/multiple-wildcards.test.js +227 -0
- package/node_modules/@pinojs/redact/test/prototype-pollution.test.js +223 -0
- package/node_modules/@pinojs/redact/test/selective-clone.test.js +115 -0
- package/node_modules/@pinojs/redact/tsconfig.json +19 -0
- package/node_modules/@zuplo/core/customer.cli.minified.js +240 -240
- package/node_modules/@zuplo/core/index.minified.js +258 -258
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/{abort-controller → @zuplo/editor/node_modules/fast-copy}/LICENSE +1 -1
- package/node_modules/@zuplo/editor/node_modules/fast-copy/README.md +395 -0
- package/node_modules/@zuplo/editor/node_modules/fast-copy/dist/cjs/index.cjs +406 -0
- package/node_modules/@zuplo/editor/node_modules/fast-copy/dist/cjs/index.cjs.map +1 -0
- package/node_modules/@zuplo/editor/node_modules/fast-copy/dist/umd/index.js +412 -0
- package/node_modules/@zuplo/editor/node_modules/fast-copy/dist/umd/index.js.map +1 -0
- package/node_modules/@zuplo/editor/node_modules/fast-copy/index.d.ts +55 -0
- package/node_modules/@zuplo/editor/node_modules/fast-copy/package.json +103 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/.github/workflows/ci.yml +97 -0
- package/node_modules/{fast-redact → @zuplo/editor/node_modules/pino-abstract-transport}/LICENSE +3 -3
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/README.md +172 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/index.d.ts +122 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/index.js +128 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/package.json +40 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/test/base.test.js +445 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/test/fixtures/transport-async-iteration.js +22 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/test/fixtures/transport-on-data.js +22 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/test/fixtures/transport-transform.js +24 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/test/fixtures/worker-pipeline.js +15 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/test/types/index.test-d.ts +31 -0
- package/node_modules/@zuplo/editor/node_modules/pino-abstract-transport/test/worker.test.js +357 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/.airtap.yml +7 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/.github/dependabot.yml +13 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/.github/stale.yml +21 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/.github/workflows/ci.yml +137 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/README.md +126 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/benchmarks/ignore.js +35 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/benchmarks/no__proto__.js +40 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/benchmarks/package.json +15 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/benchmarks/remove.js +39 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/benchmarks/throw.js +49 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/benchmarks/valid.js +49 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/index.js +126 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/package.json +41 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/test/index.test.js +505 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/types/index.d.ts +57 -0
- package/node_modules/@zuplo/editor/node_modules/secure-json-parse/types/index.test-d.ts +31 -0
- package/node_modules/@zuplo/editor/node_modules/strip-json-comments/index.d.ts +36 -0
- package/node_modules/@zuplo/editor/node_modules/strip-json-comments/index.js +77 -0
- package/node_modules/@zuplo/editor/node_modules/strip-json-comments/license +9 -0
- package/node_modules/@zuplo/editor/node_modules/strip-json-comments/package.json +47 -0
- package/node_modules/@zuplo/editor/node_modules/strip-json-comments/readme.md +78 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/.claude/settings.local.json +15 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/.github/dependabot.yml +13 -0
- package/node_modules/{pino → @zuplo/editor/node_modules/thread-stream}/.github/workflows/ci.yml +25 -19
- package/node_modules/@zuplo/editor/node_modules/thread-stream/.husky/pre-commit +4 -0
- package/node_modules/@zuplo/editor/node_modules/{process-warning → thread-stream}/LICENSE +1 -1
- package/node_modules/@zuplo/editor/node_modules/thread-stream/README.md +136 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/bench.js +85 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/index.d.ts +92 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/index.js +565 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/lib/indexes.js +11 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/lib/wait.js +61 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/lib/worker.js +186 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/package.json +57 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/base.test.js +258 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/bench.test.js +38 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/bundlers.test.js +60 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/close-on-gc.js +37 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/commonjs-fallback.test.js +80 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/context.test.js +21 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/create-and-exit.js +16 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/custom-worker.js +9 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/dir with spaces/test-package.zip +0 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/emit-event.js +22 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/end.test.js +61 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/error.js +14 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/esm.test.mjs +47 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/event.test.js +23 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/exit.js +14 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/get-context.js +22 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/helper.d.ts +1 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/helper.js +35 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/indexes.test.js +11 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/message-without-code.js +19 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/multibyte-chars.test.mjs +74 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/on-message.js +18 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/pkg/index.js +37 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/pkg/pkg.config.json +15 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/pkg/pkg.test.js +46 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/port.js +16 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/post-message.test.js +24 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/string-limit-2.test.js +41 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/string-limit.test.js +42 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/syntax-error.mjs +2 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/thread-management.test.js +121 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/to-file-on-destroy.js +23 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/to-file-on-final.js +24 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/to-file.js +12 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/to-file.mjs +8 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/to-next.js +9 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/transpiled.test.js +30 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/ts/to-file.ts +10 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/ts/transpile.sh +19 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/ts-commonjs-default-export.zip +0 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/uncaughtException.js +21 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/unhandledRejection.js +21 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/watch-mode.test.js +28 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/test/yarnrc.yml +7 -0
- package/node_modules/@zuplo/editor/node_modules/thread-stream/tsconfig.json +8 -0
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-XLNOQPTE.js → chunk-RS7HF7BL.js} +63 -63
- package/node_modules/@zuplo/runtime/out/esm/chunk-RS7HF7BL.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/types/index.d.ts +16 -19
- package/node_modules/@zuplo/runtime/out/types/internal/index.d.ts +1 -2
- package/node_modules/@zuplo/runtime/out/types/mcp/messages/index.d.ts +1 -2
- package/node_modules/@zuplo/runtime/out/types/mcp-gateway/index.d.ts +1 -2
- package/node_modules/@zuplo/runtime/out/types/mocks/index.d.ts +1 -2
- package/node_modules/@zuplo/runtime/out/types/sdks/aws/index.d.ts +1 -2
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/node_modules/fast-copy/LICENSE +1 -1
- package/node_modules/fast-copy/README.md +186 -154
- package/node_modules/fast-copy/dist/cjs/index.cjs +143 -214
- package/node_modules/fast-copy/dist/cjs/index.cjs.map +1 -1
- package/node_modules/fast-copy/dist/cjs/index.d.cts +54 -0
- package/node_modules/fast-copy/dist/es/index.d.mts +54 -0
- package/node_modules/fast-copy/dist/es/index.mjs +331 -0
- package/node_modules/fast-copy/dist/es/index.mjs.map +1 -0
- package/node_modules/fast-copy/dist/umd/index.d.ts +54 -0
- package/node_modules/fast-copy/dist/umd/index.js +143 -214
- package/node_modules/fast-copy/dist/umd/index.js.map +1 -1
- package/node_modules/fast-copy/index.d.ts +37 -38
- package/node_modules/fast-copy/package.json +68 -61
- package/node_modules/pino/CONTRIBUTING.md +4 -4
- package/node_modules/pino/LICENSE +1 -1
- package/node_modules/pino/README.md +18 -2
- package/node_modules/pino/SECURITY.md +19 -0
- package/node_modules/pino/browser.js +76 -13
- package/node_modules/pino/build/sync-version.js +16 -1
- package/node_modules/pino/docs/api.md +128 -5
- package/node_modules/pino/docs/browser.md +51 -0
- package/node_modules/pino/docs/diagnostics.md +16 -0
- package/node_modules/pino/docs/ecosystem.md +15 -12
- package/node_modules/pino/docs/help.md +28 -2
- package/node_modules/pino/docs/transports.md +188 -20
- package/node_modules/pino/docs/web.md +40 -0
- package/node_modules/pino/eslint.config.js +28 -0
- package/node_modules/pino/lib/meta.js +1 -1
- package/node_modules/pino/lib/multistream.js +17 -2
- package/node_modules/pino/lib/proto.js +34 -10
- package/node_modules/pino/lib/redaction.js +9 -13
- package/node_modules/pino/lib/time.js +29 -1
- package/node_modules/pino/lib/tools.js +42 -9
- package/node_modules/pino/lib/transport.js +125 -3
- package/node_modules/pino/package.json +25 -25
- package/node_modules/pino/pino.d.ts +228 -203
- package/node_modules/pino/pino.js +2 -1
- package/node_modules/pino/test/basic.test.js +179 -167
- package/node_modules/pino/test/broken-pipe.test.js +16 -14
- package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
- package/node_modules/pino/test/browser.test.js +39 -0
- package/node_modules/pino/test/complex-objects.test.js +8 -6
- package/node_modules/pino/test/crlf.test.js +7 -5
- package/node_modules/pino/test/custom-levels.test.js +80 -66
- 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 +47 -42
- package/node_modules/pino/test/escaping.test.js +7 -5
- package/node_modules/pino/test/esm/esm.mjs +5 -3
- package/node_modules/pino/test/esm/index.test.js +14 -27
- package/node_modules/pino/test/esm/named-exports.mjs +8 -6
- package/node_modules/pino/test/exit.test.js +17 -15
- package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
- package/node_modules/pino/test/fixtures/transport-invalid-node-options.js +26 -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-worker-name.js +24 -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 +1 -1
- package/node_modules/pino/test/formatters.test.js +43 -34
- package/node_modules/pino/test/helper.d.ts +3 -3
- package/node_modules/pino/test/helper.js +36 -9
- package/node_modules/pino/test/hooks.test.js +45 -28
- package/node_modules/pino/test/http.test.js +38 -66
- package/node_modules/pino/test/internals/version.test.js +9 -7
- package/node_modules/pino/test/is-level-enabled.test.js +66 -72
- package/node_modules/pino/test/levels.test.js +191 -153
- package/node_modules/pino/test/metadata.test.js +44 -30
- package/node_modules/pino/test/mixin-merge-strategy.test.js +9 -7
- package/node_modules/pino/test/mixin.test.js +62 -39
- package/node_modules/pino/test/multistream.test.js +173 -117
- package/node_modules/pino/test/redact.test.js +172 -126
- package/node_modules/pino/test/serializers.test.js +61 -57
- package/node_modules/pino/test/stdout-protection.test.js +12 -10
- package/node_modules/pino/test/syncfalse.test.js +24 -26
- package/node_modules/pino/test/timestamp-nano.test.js +37 -0
- package/node_modules/pino/test/timestamp.test.js +37 -34
- package/node_modules/pino/test/transport/big.test.js +8 -9
- package/node_modules/pino/test/transport/bundlers-support.test.js +12 -10
- package/node_modules/pino/test/transport/caller.test.js +8 -7
- package/node_modules/pino/test/transport/core.test.js +232 -143
- package/node_modules/pino/test/transport/core.transpiled.test.ts +15 -13
- package/node_modules/pino/test/transport/crash.test.js +36 -0
- package/node_modules/pino/test/transport/module-link.test.js +17 -15
- 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 +14 -12
- package/node_modules/pino/test/transport/preload.test.js +54 -0
- package/node_modules/pino/test/transport/repl.test.js +4 -3
- package/node_modules/pino/test/transport/{syncfalse.test.js → sync-false.test.js} +15 -16
- package/node_modules/pino/test/transport/{syncTrue.test.js → sync-true.test.js} +6 -4
- package/node_modules/pino/test/transport/targets.test.js +13 -9
- package/node_modules/pino/test/transport/uses-pino-config.test.js +13 -14
- package/node_modules/pino/test/transport-stream.test.js +22 -8
- package/node_modules/pino/test/types/{pino-import.test-d.ts → pino-import.test-d.cts} +4 -3
- package/node_modules/pino/test/types/pino-multistream.test-d.ts +4 -4
- package/node_modules/pino/test/types/pino-top-export.test-d.ts +26 -27
- package/node_modules/pino/test/types/pino-transport.test-d.ts +99 -88
- package/node_modules/pino/test/types/pino-type-only.test-d.ts +55 -44
- package/node_modules/pino/test/types/pino.test-d.ts +500 -281
- package/node_modules/pino/test/types/pino.ts +50 -37
- package/node_modules/pino/tsconfig.json +1 -1
- package/node_modules/pino-abstract-transport/.github/workflows/ci.yml +5 -22
- package/node_modules/pino-abstract-transport/README.md +0 -1
- package/node_modules/pino-abstract-transport/package.json +6 -5
- package/node_modules/pino-abstract-transport/test/base.test.js +108 -80
- package/node_modules/pino-abstract-transport/test/match.js +24 -0
- package/node_modules/pino-abstract-transport/test/worker.test.js +46 -31
- package/node_modules/pino-pretty/.borp.yaml +6 -0
- package/node_modules/pino-pretty/.github/dependabot.yml +1 -1
- package/node_modules/pino-pretty/.github/workflows/ci.yml +5 -12
- package/node_modules/pino-pretty/Readme.md +24 -3
- package/node_modules/pino-pretty/bin.js +5 -4
- package/node_modules/pino-pretty/eslint.config.js +3 -0
- package/node_modules/pino-pretty/index.d.ts +7 -7
- package/node_modules/pino-pretty/index.js +1 -1
- package/node_modules/pino-pretty/lib/colors.js +9 -4
- package/node_modules/pino-pretty/lib/colors.test.js +36 -36
- package/node_modules/pino-pretty/lib/pretty.js +7 -5
- package/node_modules/pino-pretty/lib/utils/build-safe-sonic-boom.js +2 -4
- package/node_modules/pino-pretty/lib/utils/build-safe-sonic-boom.test.js +17 -19
- package/node_modules/pino-pretty/lib/utils/create-date.test.js +7 -7
- package/node_modules/pino-pretty/lib/utils/delete-log-property.test.js +7 -7
- package/node_modules/pino-pretty/lib/utils/filter-log.test.js +33 -40
- package/node_modules/pino-pretty/lib/utils/format-time.js +1 -1
- package/node_modules/pino-pretty/lib/utils/format-time.test.js +25 -25
- package/node_modules/pino-pretty/lib/utils/get-property-value.test.js +11 -11
- package/node_modules/pino-pretty/lib/utils/handle-custom-levels-names-opts.test.js +15 -14
- package/node_modules/pino-pretty/lib/utils/handle-custom-levels-opts.test.js +11 -11
- package/node_modules/pino-pretty/lib/utils/index.test.js +8 -8
- package/node_modules/pino-pretty/lib/utils/interpret-conditionals.test.js +23 -23
- package/node_modules/pino-pretty/lib/utils/is-object.test.js +5 -5
- package/node_modules/pino-pretty/lib/utils/is-valid-date.test.js +6 -6
- package/node_modules/pino-pretty/lib/utils/join-lines-with-indentation.test.js +5 -5
- package/node_modules/pino-pretty/lib/utils/noop.test.js +5 -5
- package/node_modules/pino-pretty/lib/utils/prettify-error-log.test.js +26 -26
- package/node_modules/pino-pretty/lib/utils/prettify-error.test.js +3 -4
- package/node_modules/pino-pretty/lib/utils/prettify-level.test.js +9 -9
- package/node_modules/pino-pretty/lib/utils/prettify-message.js +2 -1
- package/node_modules/pino-pretty/lib/utils/prettify-message.test.js +73 -41
- package/node_modules/pino-pretty/lib/utils/prettify-metadata.test.js +37 -37
- package/node_modules/pino-pretty/lib/utils/prettify-object.js +1 -1
- package/node_modules/pino-pretty/lib/utils/prettify-object.test.js +71 -32
- package/node_modules/pino-pretty/lib/utils/prettify-time.test.js +29 -29
- package/node_modules/pino-pretty/lib/utils/split-property-key.test.js +11 -11
- package/node_modules/pino-pretty/package.json +22 -24
- package/node_modules/pino-pretty/test/basic.test.js +190 -181
- package/node_modules/pino-pretty/test/cli-rc.test.js +93 -73
- package/node_modules/pino-pretty/test/cli.test.js +169 -144
- package/node_modules/pino-pretty/test/crlf.test.js +6 -8
- package/node_modules/pino-pretty/test/error-objects.test.js +85 -90
- package/node_modules/pino-pretty/test/example/example.js +3 -1
- package/node_modules/pino-pretty/test/helper.js +19 -0
- package/node_modules/pino-pretty/test/types/pino-pretty.test-d.ts +4 -1
- package/node_modules/process-warning/.github/dependabot.yml +41 -1
- package/node_modules/process-warning/.github/workflows/ci.yml +12 -3
- package/node_modules/process-warning/LICENSE +1 -1
- package/node_modules/process-warning/README.md +42 -3
- package/node_modules/process-warning/index.js +85 -17
- package/node_modules/process-warning/package.json +7 -8
- package/node_modules/process-warning/test/emit-interpolated-string.test.js +11 -6
- package/node_modules/process-warning/test/emit-once-only.test.js +14 -9
- package/node_modules/process-warning/test/emit-reset.test.js +14 -10
- package/node_modules/process-warning/test/emit-set.test.js +10 -5
- package/node_modules/process-warning/test/emit-unlimited.test.js +14 -9
- package/node_modules/process-warning/test/index.test.js +20 -20
- package/node_modules/process-warning/test/issue-88.test.js +8 -3
- package/node_modules/process-warning/test/jest.test.js +17 -15
- package/node_modules/process-warning/test/no-warnings.test.js +7 -7
- package/node_modules/process-warning/types/index.d.ts +15 -1
- package/node_modules/secure-json-parse/.github/dependabot.yml +1 -1
- package/node_modules/secure-json-parse/.github/workflows/ci.yml +31 -19
- package/node_modules/{ieee754 → secure-json-parse}/LICENSE +9 -1
- package/node_modules/secure-json-parse/README.md +14 -8
- package/node_modules/secure-json-parse/benchmarks/ignore.js +1 -1
- package/node_modules/secure-json-parse/benchmarks/throw.js +3 -3
- package/node_modules/secure-json-parse/index.js +39 -4
- package/node_modules/secure-json-parse/package.json +41 -8
- package/node_modules/secure-json-parse/test/index.test.js +150 -6
- package/node_modules/secure-json-parse/types/index.d.ts +9 -6
- package/node_modules/secure-json-parse/types/index.test-d.ts +13 -1
- package/node_modules/strip-json-comments/index.d.ts +18 -13
- package/node_modules/strip-json-comments/index.js +75 -39
- package/node_modules/strip-json-comments/package.json +14 -5
- package/node_modules/strip-json-comments/readme.md +15 -18
- package/node_modules/thread-stream/.github/workflows/ci.yml +4 -24
- package/node_modules/thread-stream/README.md +2 -0
- package/node_modules/thread-stream/eslint.config.js +10 -0
- package/node_modules/thread-stream/index.d.ts +7 -0
- package/node_modules/thread-stream/index.js +189 -109
- package/node_modules/thread-stream/lib/wait.js +58 -42
- package/node_modules/thread-stream/lib/worker.js +126 -14
- package/node_modules/thread-stream/node_modules/real-require/LICENSE.md +21 -0
- package/node_modules/thread-stream/node_modules/real-require/README.md +51 -0
- package/node_modules/thread-stream/node_modules/real-require/package.json +38 -0
- package/node_modules/thread-stream/node_modules/real-require/src/index.js +14 -0
- package/node_modules/thread-stream/package.json +18 -25
- package/node_modules/thread-stream/test/base.test.js +97 -96
- package/node_modules/thread-stream/test/bench.test.js +3 -3
- package/node_modules/thread-stream/test/bundlers.test.js +8 -9
- package/node_modules/thread-stream/test/commonjs-fallback.test.js +17 -22
- package/node_modules/thread-stream/test/context.test.js +6 -6
- package/node_modules/thread-stream/test/end.test.js +22 -27
- package/node_modules/thread-stream/test/esm.test.mjs +8 -9
- package/node_modules/thread-stream/test/event.test.js +10 -9
- package/node_modules/thread-stream/test/flush-worker.js +68 -0
- package/node_modules/thread-stream/test/flush.test.js +112 -0
- package/node_modules/thread-stream/test/helper.js +1 -10
- package/node_modules/thread-stream/test/indexes.test.js +4 -4
- package/node_modules/thread-stream/test/multibyte-chars.test.mjs +14 -13
- package/node_modules/thread-stream/test/multibyte-overrun.test.mjs +33 -0
- package/node_modules/thread-stream/test/pkg/index.js +23 -23
- package/node_modules/thread-stream/test/pkg/pkg.config.json +3 -4
- package/node_modules/thread-stream/test/pkg/pkg.test.js +5 -6
- package/node_modules/thread-stream/test/post-message.test.js +4 -5
- package/node_modules/thread-stream/test/report-thread-name.js +16 -0
- package/node_modules/thread-stream/test/string-limit-2.test.js +24 -30
- package/node_modules/thread-stream/test/string-limit.test.js +24 -29
- package/node_modules/thread-stream/test/thread-management.test.js +46 -17
- package/node_modules/thread-stream/test/transpiled.test.js +5 -6
- package/node_modules/thread-stream/test/ts-native.test.mjs +35 -0
- package/node_modules/thread-stream/test/ts-node-fallback.test.js +35 -0
- package/node_modules/thread-stream/test/watch-mode.test.js +13 -11
- package/node_modules/thread-stream/test/worker-name.test.js +43 -0
- package/package.json +8 -8
- package/node_modules/@zuplo/editor/node_modules/process-warning/.github/dependabot.yml +0 -53
- package/node_modules/@zuplo/editor/node_modules/process-warning/.github/workflows/ci.yml +0 -33
- package/node_modules/@zuplo/editor/node_modules/process-warning/README.md +0 -157
- package/node_modules/@zuplo/editor/node_modules/process-warning/benchmarks/warn.js +0 -25
- package/node_modules/@zuplo/editor/node_modules/process-warning/examples/example.js +0 -11
- package/node_modules/@zuplo/editor/node_modules/process-warning/index.js +0 -192
- package/node_modules/@zuplo/editor/node_modules/process-warning/package.json +0 -72
- package/node_modules/@zuplo/editor/node_modules/process-warning/test/emit-interpolated-string.test.js +0 -34
- package/node_modules/@zuplo/editor/node_modules/process-warning/test/emit-once-only.test.js +0 -33
- package/node_modules/@zuplo/editor/node_modules/process-warning/test/emit-reset.test.js +0 -40
- package/node_modules/@zuplo/editor/node_modules/process-warning/test/emit-set.test.js +0 -35
- package/node_modules/@zuplo/editor/node_modules/process-warning/test/emit-unlimited.test.js +0 -42
- package/node_modules/@zuplo/editor/node_modules/process-warning/test/index.test.js +0 -99
- package/node_modules/@zuplo/editor/node_modules/process-warning/test/issue-88.test.js +0 -38
- package/node_modules/@zuplo/editor/node_modules/process-warning/test/jest.test.js +0 -24
- package/node_modules/@zuplo/editor/node_modules/process-warning/test/no-warnings.test.js +0 -80
- package/node_modules/@zuplo/editor/node_modules/process-warning/types/index.d.ts +0 -51
- package/node_modules/@zuplo/runtime/out/esm/chunk-XLNOQPTE.js.map +0 -1
- package/node_modules/abort-controller/README.md +0 -98
- package/node_modules/abort-controller/browser.js +0 -13
- package/node_modules/abort-controller/browser.mjs +0 -11
- package/node_modules/abort-controller/dist/abort-controller.d.ts +0 -43
- package/node_modules/abort-controller/dist/abort-controller.js +0 -127
- package/node_modules/abort-controller/dist/abort-controller.js.map +0 -1
- package/node_modules/abort-controller/dist/abort-controller.mjs +0 -118
- package/node_modules/abort-controller/dist/abort-controller.mjs.map +0 -1
- package/node_modules/abort-controller/dist/abort-controller.umd.js +0 -5
- package/node_modules/abort-controller/dist/abort-controller.umd.js.map +0 -1
- package/node_modules/abort-controller/package.json +0 -97
- package/node_modules/abort-controller/polyfill.js +0 -21
- package/node_modules/abort-controller/polyfill.mjs +0 -19
- package/node_modules/base64-js/LICENSE +0 -21
- package/node_modules/base64-js/README.md +0 -34
- package/node_modules/base64-js/base64js.min.js +0 -1
- package/node_modules/base64-js/index.d.ts +0 -3
- package/node_modules/base64-js/index.js +0 -150
- package/node_modules/base64-js/package.json +0 -47
- package/node_modules/buffer/AUTHORS.md +0 -73
- package/node_modules/buffer/LICENSE +0 -21
- package/node_modules/buffer/README.md +0 -410
- package/node_modules/buffer/index.d.ts +0 -194
- package/node_modules/buffer/index.js +0 -2106
- package/node_modules/buffer/package.json +0 -93
- package/node_modules/event-target-shim/README.md +0 -293
- package/node_modules/event-target-shim/dist/event-target-shim.js +0 -871
- package/node_modules/event-target-shim/dist/event-target-shim.js.map +0 -1
- package/node_modules/event-target-shim/dist/event-target-shim.mjs +0 -862
- package/node_modules/event-target-shim/dist/event-target-shim.mjs.map +0 -1
- package/node_modules/event-target-shim/dist/event-target-shim.umd.js +0 -6
- package/node_modules/event-target-shim/dist/event-target-shim.umd.js.map +0 -1
- package/node_modules/event-target-shim/index.d.ts +0 -399
- package/node_modules/event-target-shim/package.json +0 -82
- package/node_modules/events/.airtap.yml +0 -15
- package/node_modules/events/.github/FUNDING.yml +0 -12
- package/node_modules/events/.travis.yml +0 -18
- package/node_modules/events/History.md +0 -118
- package/node_modules/events/LICENSE +0 -22
- package/node_modules/events/Readme.md +0 -50
- package/node_modules/events/events.js +0 -497
- package/node_modules/events/package.json +0 -37
- package/node_modules/events/security.md +0 -10
- package/node_modules/events/tests/add-listeners.js +0 -111
- package/node_modules/events/tests/check-listener-leaks.js +0 -101
- package/node_modules/events/tests/common.js +0 -104
- package/node_modules/events/tests/errors.js +0 -13
- package/node_modules/events/tests/events-list.js +0 -28
- package/node_modules/events/tests/events-once.js +0 -234
- package/node_modules/events/tests/index.js +0 -64
- package/node_modules/events/tests/legacy-compat.js +0 -16
- package/node_modules/events/tests/listener-count.js +0 -37
- package/node_modules/events/tests/listeners-side-effects.js +0 -56
- package/node_modules/events/tests/listeners.js +0 -168
- package/node_modules/events/tests/max-listeners.js +0 -47
- package/node_modules/events/tests/method-names.js +0 -35
- package/node_modules/events/tests/modify-in-emit.js +0 -90
- package/node_modules/events/tests/num-args.js +0 -60
- package/node_modules/events/tests/once.js +0 -83
- package/node_modules/events/tests/prepend.js +0 -31
- package/node_modules/events/tests/remove-all-listeners.js +0 -133
- package/node_modules/events/tests/remove-listeners.js +0 -212
- package/node_modules/events/tests/set-max-listeners-side-effects.js +0 -31
- package/node_modules/events/tests/special-event-names.js +0 -45
- package/node_modules/events/tests/subclass.js +0 -66
- package/node_modules/events/tests/symbols.js +0 -25
- package/node_modules/fast-redact/.github/workflows/ci.yml +0 -37
- package/node_modules/fast-redact/benchmark/index.js +0 -223
- package/node_modules/fast-redact/example/default-usage.js +0 -14
- package/node_modules/fast-redact/example/intermediate-wildcard-array.js +0 -11
- package/node_modules/fast-redact/example/multi-wildcard-array-depth.js +0 -11
- package/node_modules/fast-redact/example/multi-wildcard-array-end.js +0 -11
- package/node_modules/fast-redact/example/multi-wildcard-array.js +0 -11
- package/node_modules/fast-redact/example/serialize-false.js +0 -11
- package/node_modules/fast-redact/example/serialize-function.js +0 -4
- package/node_modules/fast-redact/example/top-wildcard-object.js +0 -9
- package/node_modules/fast-redact/index.js +0 -56
- package/node_modules/fast-redact/lib/modifiers.js +0 -291
- package/node_modules/fast-redact/lib/parse.js +0 -44
- package/node_modules/fast-redact/lib/redactor.js +0 -108
- package/node_modules/fast-redact/lib/restorer.js +0 -92
- package/node_modules/fast-redact/lib/rx.js +0 -16
- package/node_modules/fast-redact/lib/state.js +0 -20
- package/node_modules/fast-redact/lib/validator.js +0 -33
- package/node_modules/fast-redact/package.json +0 -50
- package/node_modules/fast-redact/readme.md +0 -282
- package/node_modules/fast-redact/test/index.js +0 -1502
- package/node_modules/ieee754/README.md +0 -51
- package/node_modules/ieee754/index.d.ts +0 -10
- package/node_modules/ieee754/index.js +0 -85
- package/node_modules/ieee754/package.json +0 -52
- package/node_modules/pino/.eslintignore +0 -2
- package/node_modules/pino/.eslintrc +0 -8
- package/node_modules/pino/.github/workflows/bench.yml +0 -61
- package/node_modules/pino/.github/workflows/lock-threads.yml +0 -30
- package/node_modules/pino/.github/workflows/target-main.yml +0 -23
- package/node_modules/pino/.taprc.yaml +0 -8
- package/node_modules/pino/docsify/sidebar.md +0 -26
- package/node_modules/pino/favicon-16x16.png +0 -0
- package/node_modules/pino/favicon-32x32.png +0 -0
- package/node_modules/pino/pino-banner.png +0 -0
- package/node_modules/pino/pino-logo-hire.png +0 -0
- package/node_modules/pino/pino-tree.png +0 -0
- package/node_modules/pino/pretty-demo.png +0 -0
- package/node_modules/pino/test/errorKey.test.js +0 -34
- package/node_modules/pino/test/pkg/index.js +0 -46
- package/node_modules/pino/test/pkg/pkg.config.json +0 -17
- package/node_modules/pino/test/pkg/pkg.test.js +0 -56
- package/node_modules/pino/test/transport/core.test.ts +0 -236
- package/node_modules/process/.eslintrc +0 -21
- package/node_modules/process/LICENSE +0 -22
- package/node_modules/process/README.md +0 -26
- package/node_modules/process/browser.js +0 -184
- package/node_modules/process/index.js +0 -2
- package/node_modules/process/package.json +0 -27
- package/node_modules/process/test.js +0 -199
- package/node_modules/process-warning/.taprc +0 -2
- package/node_modules/process-warning/types/index.test-d.ts +0 -36
- package/node_modules/readable-stream/LICENSE +0 -47
- package/node_modules/readable-stream/README.md +0 -116
- package/node_modules/readable-stream/lib/_stream_duplex.js +0 -4
- package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -4
- package/node_modules/readable-stream/lib/_stream_readable.js +0 -4
- package/node_modules/readable-stream/lib/_stream_transform.js +0 -4
- package/node_modules/readable-stream/lib/_stream_writable.js +0 -4
- package/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +0 -52
- package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -157
- package/node_modules/readable-stream/lib/internal/streams/compose.js +0 -194
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -290
- package/node_modules/readable-stream/lib/internal/streams/duplex.js +0 -143
- package/node_modules/readable-stream/lib/internal/streams/duplexify.js +0 -378
- package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -286
- package/node_modules/readable-stream/lib/internal/streams/from.js +0 -98
- package/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +0 -51
- package/node_modules/readable-stream/lib/internal/streams/legacy.js +0 -89
- package/node_modules/readable-stream/lib/internal/streams/operators.js +0 -457
- package/node_modules/readable-stream/lib/internal/streams/passthrough.js +0 -39
- package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -471
- package/node_modules/readable-stream/lib/internal/streams/readable.js +0 -1290
- package/node_modules/readable-stream/lib/internal/streams/state.js +0 -39
- package/node_modules/readable-stream/lib/internal/streams/transform.js +0 -180
- package/node_modules/readable-stream/lib/internal/streams/utils.js +0 -327
- package/node_modules/readable-stream/lib/internal/streams/writable.js +0 -819
- package/node_modules/readable-stream/lib/internal/validators.js +0 -530
- package/node_modules/readable-stream/lib/ours/browser.js +0 -35
- package/node_modules/readable-stream/lib/ours/errors.js +0 -343
- package/node_modules/readable-stream/lib/ours/index.js +0 -65
- package/node_modules/readable-stream/lib/ours/primordials.js +0 -124
- package/node_modules/readable-stream/lib/ours/util/inspect.js +0 -55
- package/node_modules/readable-stream/lib/ours/util.js +0 -148
- package/node_modules/readable-stream/lib/stream/promises.js +0 -43
- package/node_modules/readable-stream/lib/stream.js +0 -143
- package/node_modules/readable-stream/package.json +0 -88
- package/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/safe-buffer/index.d.ts +0 -187
- package/node_modules/safe-buffer/index.js +0 -65
- package/node_modules/safe-buffer/package.json +0 -51
- package/node_modules/string_decoder/LICENSE +0 -48
- package/node_modules/string_decoder/README.md +0 -47
- package/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/node_modules/string_decoder/package.json +0 -34
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/.release-it.beta.json +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/.release-it.json +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/CHANGELOG.md +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/cjs/types/copier.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/cjs/types/index.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/cjs/types/utils.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/esm/index.mjs +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/esm/index.mjs.map +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/esm/types/copier.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/esm/types/index.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/esm/types/utils.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/min/index.js +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/min/index.js.map +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/min/types/copier.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/min/types/index.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/min/types/utils.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/umd/types/copier.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/umd/types/index.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/dist/umd/types/utils.d.ts +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/flow-typed/fast-copy.js +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/rollup/config.base.js +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/rollup/config.cjs.js +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/rollup/config.esm.js +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/rollup/config.min.js +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/rollup/config.umd.js +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/rollup/packageJson.js +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/tsconfig/base.json +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/tsconfig/cjs.json +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/tsconfig/declarations.json +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/tsconfig/esm.json +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/tsconfig/min.json +0 -0
- /package/node_modules/{fast-copy → @zuplo/editor/node_modules/fast-copy}/tsconfig/umd.json +0 -0
- /package/node_modules/{pino → @zuplo/editor/node_modules/pino-abstract-transport}/.github/dependabot.yml +0 -0
- /package/node_modules/{thread-stream → @zuplo/editor/node_modules/pino-abstract-transport}/.husky/pre-commit +0 -0
- /package/node_modules/{secure-json-parse → @zuplo/editor/node_modules/secure-json-parse}/LICENSE.md +0 -0
- /package/node_modules/{thread-stream → @zuplo/editor/node_modules/thread-stream}/.taprc +0 -0
- /package/node_modules/{thread-stream → @zuplo/editor/node_modules/thread-stream}/CLAUDE.md +0 -0
- /package/node_modules/{thread-stream → @zuplo/editor/node_modules/thread-stream}/test/never-drain.test.js +0 -0
- /package/node_modules/{thread-stream → @zuplo/editor/node_modules/thread-stream}/test/ts.test.ts +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-XLNOQPTE.js.LEGAL.txt → chunk-RS7HF7BL.js.LEGAL.txt} +0 -0
- /package/node_modules/{@zuplo/editor/node_modules/process-warning → process-warning}/.github/workflows/lock-threads.yml +0 -0
- /package/node_modules/{@zuplo/editor/node_modules/process-warning → process-warning}/test/promise.js +0 -0
- /package/node_modules/{@zuplo/editor/node_modules/process-warning → process-warning}/test/spy-warning.test.js +0 -0
- /package/node_modules/{@zuplo/editor/node_modules/process-warning → process-warning}/types/index.tst.ts +0 -0
- /package/node_modules/{@zuplo/editor/node_modules/process-warning → secure-json-parse}/.gitattributes +0 -0
- /package/node_modules/{@zuplo/editor/node_modules/process-warning → secure-json-parse}/eslint.config.js +0 -0
|
@@ -85,7 +85,7 @@ This means that the options object can only contain types that are supported by
|
|
|
85
85
|
[Structured Clone Algorithm][sca] which is used to (de)serialize objects between threads.
|
|
86
86
|
|
|
87
87
|
What if we wanted to use both transports, but send only error logs to `my-transport.mjs` while
|
|
88
|
-
sending all logs to `some-file-transport`? We can use the
|
|
88
|
+
sending all logs to `some-file-transport`? We can use the per-target `level` option:
|
|
89
89
|
|
|
90
90
|
```js
|
|
91
91
|
const pino = require('pino')
|
|
@@ -98,6 +98,54 @@ const transport = pino.transport({
|
|
|
98
98
|
pino(transport)
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
+
### How level filtering works with transports
|
|
102
|
+
|
|
103
|
+
Pino applies level filtering in two different places depending on the transport configuration.
|
|
104
|
+
|
|
105
|
+
#### A) Single `target` (or single `pipeline`)
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
Main thread Worker thread
|
|
109
|
+
──────────────────────────────────────────── ─────────────────────────────────
|
|
110
|
+
logger.debug()/info()/... transport target (stream)
|
|
111
|
+
│ ▲
|
|
112
|
+
▼ │
|
|
113
|
+
logger.level gate (enabled methods) ──ThreadStream─────┘
|
|
114
|
+
|
|
115
|
+
Result:
|
|
116
|
+
- `logger.level` decides what is emitted.
|
|
117
|
+
- `transport.level` is not used in this path.
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
#### B) `targets` (multiple destinations)
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
Main thread Worker thread
|
|
124
|
+
──────────────────────────────────────────── ─────────────────────────────────
|
|
125
|
+
logger.debug()/info()/... pino.multistream
|
|
126
|
+
│ (per-target level filter)
|
|
127
|
+
▼ │
|
|
128
|
+
logger.level gate (enabled methods) ──ThreadStream────┼──> target #1 (level: ...)
|
|
129
|
+
├──> target #2 (level: ...)
|
|
130
|
+
└──> target #N (default: info)
|
|
131
|
+
|
|
132
|
+
Result:
|
|
133
|
+
- `logger.level` is the first gate.
|
|
134
|
+
- each `targets[i].level` is the second gate.
|
|
135
|
+
- missing `targets[i].level` defaults to `info`.
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Summary:
|
|
139
|
+
|
|
140
|
+
- Single `target`/single `pipeline`: only `logger.level` filters messages.
|
|
141
|
+
- Multiple `targets`: `logger.level` is applied first, then each `targets[i].level` is applied.
|
|
142
|
+
- If `targets[i].level` is missing, it defaults to `info`.
|
|
143
|
+
|
|
144
|
+
If you need `debug` (or lower) logs to reach one or more targets, set:
|
|
145
|
+
|
|
146
|
+
1. `logger.level` low enough, and
|
|
147
|
+
2. `level` on each target that should receive those messages.
|
|
148
|
+
|
|
101
149
|
If we're using custom levels, they should be passed in when using more than one transport.
|
|
102
150
|
```js
|
|
103
151
|
const pino = require('pino')
|
|
@@ -139,6 +187,27 @@ pino(transport);
|
|
|
139
187
|
|
|
140
188
|
For more details on `pino.transport` see the [API docs for `pino.transport`][pino-transport].
|
|
141
189
|
|
|
190
|
+
### Using transports with `--import` or `--require` preloads
|
|
191
|
+
|
|
192
|
+
Pino transports work correctly when loaded via Node.js preload flags (`--import` or `--require`).
|
|
193
|
+
Pino automatically detects when it's being loaded during the preload phase and filters out the
|
|
194
|
+
preload flags from the transport worker's `execArgv` to prevent infinite worker spawning.
|
|
195
|
+
|
|
196
|
+
```js
|
|
197
|
+
// preload.mjs
|
|
198
|
+
import pino from 'pino'
|
|
199
|
+
|
|
200
|
+
export const logger = pino({
|
|
201
|
+
transport: {
|
|
202
|
+
target: 'pino-pretty'
|
|
203
|
+
}
|
|
204
|
+
})
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
node --import=./preload.mjs app.js
|
|
209
|
+
```
|
|
210
|
+
|
|
142
211
|
[pino-transport]: /docs/api.md#pino-transport
|
|
143
212
|
[sca]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
|
|
144
213
|
|
|
@@ -222,7 +291,7 @@ In case you want to both use a custom transport, and output the log entries with
|
|
|
222
291
|
}
|
|
223
292
|
]
|
|
224
293
|
|
|
225
|
-
const logger = pino(pino.transport({ targets: transports })
|
|
294
|
+
const logger = pino(pino.transport({ targets: transports }))
|
|
226
295
|
```
|
|
227
296
|
|
|
228
297
|
### Creating a transport pipeline
|
|
@@ -286,19 +355,63 @@ a terminating target, i.e. a `Writable` stream.__
|
|
|
286
355
|
|
|
287
356
|
### TypeScript compatibility
|
|
288
357
|
|
|
289
|
-
Pino provides
|
|
358
|
+
Pino provides support for transports written in TypeScript.
|
|
359
|
+
|
|
360
|
+
#### Node.js 22+ with Type Stripping
|
|
361
|
+
|
|
362
|
+
Starting with Node.js 22.6.0, you can use TypeScript transports directly with native type stripping support. This provides full ESM support without any transpilation or additional tooling:
|
|
363
|
+
|
|
364
|
+
```ts
|
|
365
|
+
// my-transport.mts
|
|
366
|
+
import { createWriteStream } from 'node:fs'
|
|
290
367
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
368
|
+
export default (options: { destination: string }) => {
|
|
369
|
+
return createWriteStream(options.destination)
|
|
370
|
+
}
|
|
371
|
+
```
|
|
294
372
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
373
|
+
```js
|
|
374
|
+
// app.js
|
|
375
|
+
const pino = require('pino')
|
|
376
|
+
const transport = pino.transport({
|
|
377
|
+
target: './my-transport.mts',
|
|
378
|
+
options: { destination: '/path/to/file' }
|
|
379
|
+
})
|
|
380
|
+
pino(transport)
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
**Version requirements:**
|
|
384
|
+
|
|
385
|
+
- **Node.js 22.6.0 - 22.17.x**: Use the `--experimental-strip-types` flag:
|
|
386
|
+
```sh
|
|
387
|
+
node --experimental-strip-types app.ts
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
- **Node.js 22.18.0+ and 24.0.0+**: Type stripping is enabled by default, no flag needed:
|
|
391
|
+
```sh
|
|
392
|
+
node app.ts
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
**Important notes:**
|
|
396
|
+
- Use the `.mts` extension for TypeScript ESM modules to ensure proper module resolution
|
|
397
|
+
- Alternatively, you can use `.ts` extension if your `package.json` has `"type": "module"`, but this requires your entire application to use ESM
|
|
398
|
+
- Type stripping is not available in Node.js 20.x or earlier versions
|
|
399
|
+
- This approach provides the cleanest TypeScript experience with full ESM support and no build step required
|
|
400
|
+
|
|
401
|
+
#### Using TS-Node (Legacy)
|
|
402
|
+
|
|
403
|
+
For older Node.js versions, you can use tools such as [TS-Node](https://typestrong.org/ts-node/) to execute TypeScript
|
|
404
|
+
code without explicit transpilation, but there are some known caveats:
|
|
405
|
+
- For "pure" TypeScript code, ES imports are not fully supported (ES imports are
|
|
298
406
|
supported once the code is transpiled).
|
|
299
|
-
- Only TS-Node is supported
|
|
300
|
-
- Running transports TypeScript code on TS-Node
|
|
301
|
-
Windows systems
|
|
407
|
+
- Only TS-Node is supported. Other TypeScript loaders like [TSM](https://github.com/lukeed/tsm) are not currently supported.
|
|
408
|
+
- Running transports TypeScript code on TS-Node may be problematic on
|
|
409
|
+
Windows systems.
|
|
410
|
+
|
|
411
|
+
#### Transpiled TypeScript (Recommended for Production)
|
|
412
|
+
|
|
413
|
+
For maximum compatibility and production use, it's still recommended to transpile
|
|
414
|
+
TypeScript transports to JavaScript before deployment.
|
|
302
415
|
|
|
303
416
|
### Notable transports
|
|
304
417
|
|
|
@@ -426,16 +539,19 @@ PRs to this document are welcome for any new transports!
|
|
|
426
539
|
+ [@axiomhq/pino](#@axiomhq/pino)
|
|
427
540
|
+ [@logtail/pino](#@logtail/pino)
|
|
428
541
|
+ [@macfja/pino-fingers-crossed](#macfja-pino-fingers-crossed)
|
|
542
|
+
+ [@openobserve/pino-openobserve](#pino-openobserve)
|
|
543
|
+
+ [datadog-logger-integrations](#datadog-logger-integrations)
|
|
429
544
|
+ [pino-airbrake-transport](#pino-airbrake-transport)
|
|
430
545
|
+ [pino-axiom](#pino-axiom)
|
|
431
|
-
+ [pino-datadog-transport](#pino-datadog-transport)
|
|
432
546
|
+ [pino-discord-webhook](#pino-discord-webhook)
|
|
433
547
|
+ [pino-elasticsearch](#pino-elasticsearch)
|
|
434
548
|
+ [pino-hana](#pino-hana)
|
|
549
|
+
+ [pino-logflare](#pino-logflare)
|
|
435
550
|
+ [pino-logfmt](#pino-logfmt)
|
|
436
551
|
+ [pino-loki](#pino-loki)
|
|
437
552
|
+ [pino-opentelemetry-transport](#pino-opentelemetry-transport)
|
|
438
553
|
+ [pino-pretty](#pino-pretty)
|
|
554
|
+
+ [pino-roll](#pino-roll)
|
|
439
555
|
+ [pino-seq-transport](#pino-seq-transport)
|
|
440
556
|
+ [pino-sentry-transport](#pino-sentry-transport)
|
|
441
557
|
+ [pino-slack-webhook](#pino-slack-webhook)
|
|
@@ -453,7 +569,6 @@ PRs to this document are welcome for any new transports!
|
|
|
453
569
|
+ [pino-http-send](#pino-http-send)
|
|
454
570
|
+ [pino-kafka](#pino-kafka)
|
|
455
571
|
+ [pino-logdna](#pino-logdna)
|
|
456
|
-
+ [pino-logflare](#pino-logflare)
|
|
457
572
|
+ [pino-loki](#pino-loki)
|
|
458
573
|
+ [pino-mq](#pino-mq)
|
|
459
574
|
+ [pino-mysql](#pino-mysql)
|
|
@@ -525,6 +640,35 @@ logger.info('Will NOT appear')
|
|
|
525
640
|
logger.info({ [enable]: false }, 'Will appear immedialty')
|
|
526
641
|
logger.info('Will NOT appear')
|
|
527
642
|
```
|
|
643
|
+
<a id="pino-openobserve"></a>
|
|
644
|
+
### @openobserve/pino-openobserve
|
|
645
|
+
|
|
646
|
+
[@openobserve/pino-openobserve](https://github.com/openobserve/pino-openobserve) is a
|
|
647
|
+
Pino v7+ transport that will send logs to an
|
|
648
|
+
[OpenObserve](https://openobserve.ai) instance.
|
|
649
|
+
|
|
650
|
+
```
|
|
651
|
+
const pino = require('pino');
|
|
652
|
+
const OpenobserveTransport = require('@openobserve/pino-openobserve');
|
|
653
|
+
|
|
654
|
+
const logger = pino({
|
|
655
|
+
level: 'info',
|
|
656
|
+
transport: {
|
|
657
|
+
target: OpenobserveTransport,
|
|
658
|
+
options: {
|
|
659
|
+
url: 'https://your-openobserve-server.com',
|
|
660
|
+
organization: 'your-organization',
|
|
661
|
+
streamName: 'your-stream',
|
|
662
|
+
auth: {
|
|
663
|
+
username: 'your-username',
|
|
664
|
+
password: 'your-password',
|
|
665
|
+
},
|
|
666
|
+
},
|
|
667
|
+
},
|
|
668
|
+
});
|
|
669
|
+
```
|
|
670
|
+
|
|
671
|
+
For full documentation check the [README](https://github.com/openobserve/pino-openobserve).
|
|
528
672
|
|
|
529
673
|
<a id="pino-airbrake-transport"></a>
|
|
530
674
|
### pino-airbrake-transport
|
|
@@ -631,18 +775,18 @@ $ node foo | pino-datadog --key blablabla
|
|
|
631
775
|
|
|
632
776
|
For full documentation of command line switches read [README](https://github.com/ovhemert/pino-datadog#readme)
|
|
633
777
|
|
|
634
|
-
<a id="
|
|
635
|
-
###
|
|
778
|
+
<a id="datadog-logger-integrations"></a>
|
|
779
|
+
### datadog-logger-integrations
|
|
636
780
|
|
|
637
|
-
[
|
|
781
|
+
[datadog-logger-integrations][datadog-logger-integrations] is a Pino v7+ compatible transport to forward log events to [Datadog][Datadog]
|
|
638
782
|
from a dedicated worker:
|
|
639
783
|
|
|
640
784
|
```js
|
|
641
785
|
const pino = require('pino')
|
|
642
786
|
const transport = pino.transport({
|
|
643
|
-
target: '
|
|
787
|
+
target: 'datadog-logger-integrations',
|
|
644
788
|
options: {
|
|
645
|
-
|
|
789
|
+
ddClientConfig: {
|
|
646
790
|
authMethods: {
|
|
647
791
|
apiKeyAuth: <your datadog API key>
|
|
648
792
|
}
|
|
@@ -653,7 +797,7 @@ const transport = pino.transport({
|
|
|
653
797
|
pino(transport)
|
|
654
798
|
```
|
|
655
799
|
|
|
656
|
-
[
|
|
800
|
+
[datadog-logger-integrations]: https://github.com/marklai1998/datadog-logger-integrations
|
|
657
801
|
[Datadog]: https://www.datadoghq.com/
|
|
658
802
|
|
|
659
803
|
#### Logstash
|
|
@@ -964,6 +1108,30 @@ $ node app.js | pino-redis -U redis://username:password@localhost:6379
|
|
|
964
1108
|
[pino-redis]: https://github.com/buianhthang/pino-redis
|
|
965
1109
|
[Redis]: https://redis.io/
|
|
966
1110
|
|
|
1111
|
+
<a id="pino-roll"></a>
|
|
1112
|
+
### pino-roll
|
|
1113
|
+
|
|
1114
|
+
`pino-roll` is a Pino transport that automatically rolls your log files based on size or time frequency.
|
|
1115
|
+
|
|
1116
|
+
```js
|
|
1117
|
+
import { join } from 'path';
|
|
1118
|
+
import pino from 'pino';
|
|
1119
|
+
|
|
1120
|
+
const transport = pino.transport({
|
|
1121
|
+
target: 'pino-roll',
|
|
1122
|
+
options: { file: join('logs', 'log'), frequency: 'daily', mkdir: true }
|
|
1123
|
+
});
|
|
1124
|
+
|
|
1125
|
+
const logger = pino(transport);
|
|
1126
|
+
```
|
|
1127
|
+
|
|
1128
|
+
then you can use the logger as usual:
|
|
1129
|
+
|
|
1130
|
+
```js
|
|
1131
|
+
logger.info('Hello from pino-roll!');
|
|
1132
|
+
```
|
|
1133
|
+
For full documentation check the [README](https://github.com/mcollina/pino-roll?tab=readme-ov-file#pino-roll).
|
|
1134
|
+
|
|
967
1135
|
<a id="pino-sentry"></a>
|
|
968
1136
|
### pino-sentry
|
|
969
1137
|
|
|
@@ -12,6 +12,7 @@ web framework ecosystem.
|
|
|
12
12
|
- [Pino with Node core `http`](#pino-with-node-core-http)
|
|
13
13
|
- [Pino with Nest](#pino-with-nest)
|
|
14
14
|
- [Pino with H3](#pino-with-h3)
|
|
15
|
+
- [Pino with Hono](#pino-with-hono)
|
|
15
16
|
|
|
16
17
|
<a id="fastify"></a>
|
|
17
18
|
## Pino with Fastify
|
|
@@ -267,3 +268,42 @@ router.get(
|
|
|
267
268
|
Execute `npx --yes listhen -w --open ./server.mjs`.
|
|
268
269
|
|
|
269
270
|
See the [pino-http README](https://npm.im/pino-http) for more info.
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
<a id="hono"></a>
|
|
274
|
+
## Pino with Hono
|
|
275
|
+
|
|
276
|
+
```sh
|
|
277
|
+
npm install pino pino-http hono
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
```js
|
|
281
|
+
import { serve } from '@hono/node-server';
|
|
282
|
+
import { Hono } from 'hono';
|
|
283
|
+
import { requestId } from 'hono/request-id';
|
|
284
|
+
import { pinoHttp } from 'pino-http';
|
|
285
|
+
|
|
286
|
+
const app = new Hono();
|
|
287
|
+
app.use(requestId());
|
|
288
|
+
app.use(async (c, next) => {
|
|
289
|
+
// pass hono's request-id to pino-http
|
|
290
|
+
c.env.incoming.id = c.var.requestId;
|
|
291
|
+
|
|
292
|
+
// map express style middleware to hono
|
|
293
|
+
await new Promise((resolve) => pinoHttp()(c.env.incoming, c.env.outgoing, () => resolve()));
|
|
294
|
+
|
|
295
|
+
c.set('logger', c.env.incoming.log);
|
|
296
|
+
|
|
297
|
+
await next();
|
|
298
|
+
});
|
|
299
|
+
|
|
300
|
+
app.get('/', (c) => {
|
|
301
|
+
c.var.logger.info('something');
|
|
302
|
+
|
|
303
|
+
return c.text('Hello Node.js!');
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
serve(app);
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
See the [pino-http README](https://npm.im/pino-http) for more info.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
const { defineConfig, globalIgnores } = require('eslint/config')
|
|
4
|
+
const neostandard = require('neostandard')
|
|
5
|
+
|
|
6
|
+
module.exports = defineConfig([
|
|
7
|
+
neostandard({
|
|
8
|
+
ts: true
|
|
9
|
+
}),
|
|
10
|
+
globalIgnores([
|
|
11
|
+
'pino.d.ts',
|
|
12
|
+
'test/fixtures/syntax-error-esm.mjs',
|
|
13
|
+
'test/fixtures/ts/*cjs',
|
|
14
|
+
]),
|
|
15
|
+
{
|
|
16
|
+
rules: {
|
|
17
|
+
'no-var': 'off',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
files: ['test/types/**/*'],
|
|
22
|
+
rules: {
|
|
23
|
+
'@typescript-eslint/no-unused-expressions': 'off',
|
|
24
|
+
'@typescript-eslint/no-unused-vars': 'off',
|
|
25
|
+
'n/handle-callback-err': 'off',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
])
|
|
@@ -6,7 +6,6 @@ const { DEFAULT_LEVELS } = require('./constants')
|
|
|
6
6
|
const DEFAULT_INFO_LEVEL = DEFAULT_LEVELS.info
|
|
7
7
|
|
|
8
8
|
function multistream (streamsArray, opts) {
|
|
9
|
-
let counter = 0
|
|
10
9
|
streamsArray = streamsArray || []
|
|
11
10
|
opts = opts || { dedupe: false }
|
|
12
11
|
|
|
@@ -21,10 +20,12 @@ function multistream (streamsArray, opts) {
|
|
|
21
20
|
const res = {
|
|
22
21
|
write,
|
|
23
22
|
add,
|
|
23
|
+
remove,
|
|
24
24
|
emit,
|
|
25
25
|
flushSync,
|
|
26
26
|
end,
|
|
27
27
|
minLevel: 0,
|
|
28
|
+
lastId: 0,
|
|
28
29
|
streams: [],
|
|
29
30
|
clone,
|
|
30
31
|
[metadata]: true,
|
|
@@ -126,7 +127,7 @@ function multistream (streamsArray, opts) {
|
|
|
126
127
|
stream: stream_,
|
|
127
128
|
level,
|
|
128
129
|
levelVal: undefined,
|
|
129
|
-
id:
|
|
130
|
+
id: ++res.lastId
|
|
130
131
|
}
|
|
131
132
|
|
|
132
133
|
streams.unshift(dest_)
|
|
@@ -137,6 +138,19 @@ function multistream (streamsArray, opts) {
|
|
|
137
138
|
return res
|
|
138
139
|
}
|
|
139
140
|
|
|
141
|
+
function remove (id) {
|
|
142
|
+
const { streams } = this
|
|
143
|
+
const index = streams.findIndex(s => s.id === id)
|
|
144
|
+
|
|
145
|
+
if (index >= 0) {
|
|
146
|
+
streams.splice(index, 1)
|
|
147
|
+
streams.sort(compareByLevel)
|
|
148
|
+
this.minLevel = streams.length > 0 ? streams[0].level : -1
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return res
|
|
152
|
+
}
|
|
153
|
+
|
|
140
154
|
function end () {
|
|
141
155
|
for (const { stream } of this.streams) {
|
|
142
156
|
if (typeof stream.flushSync === 'function') {
|
|
@@ -159,6 +173,7 @@ function multistream (streamsArray, opts) {
|
|
|
159
173
|
return {
|
|
160
174
|
write,
|
|
161
175
|
add,
|
|
176
|
+
remove,
|
|
162
177
|
minLevel: level,
|
|
163
178
|
streams,
|
|
164
179
|
clone,
|
|
@@ -9,7 +9,6 @@ const {
|
|
|
9
9
|
setLevelSym,
|
|
10
10
|
getLevelSym,
|
|
11
11
|
chindingsSym,
|
|
12
|
-
parsedChindingsSym,
|
|
13
12
|
mixinSym,
|
|
14
13
|
asJsonSym,
|
|
15
14
|
writeSym,
|
|
@@ -27,7 +26,8 @@ const {
|
|
|
27
26
|
stringifySym,
|
|
28
27
|
formatOptsSym,
|
|
29
28
|
stringifiersSym,
|
|
30
|
-
msgPrefixSym
|
|
29
|
+
msgPrefixSym,
|
|
30
|
+
hooksSym
|
|
31
31
|
} = require('./symbols')
|
|
32
32
|
const {
|
|
33
33
|
getLevel,
|
|
@@ -42,7 +42,8 @@ const {
|
|
|
42
42
|
asChindings,
|
|
43
43
|
asJson,
|
|
44
44
|
buildFormatters,
|
|
45
|
-
stringify
|
|
45
|
+
stringify,
|
|
46
|
+
noop
|
|
46
47
|
} = require('./tools')
|
|
47
48
|
const {
|
|
48
49
|
version
|
|
@@ -64,6 +65,8 @@ const prototype = {
|
|
|
64
65
|
set level (lvl) { this[setLevelSym](lvl) },
|
|
65
66
|
get levelVal () { return this[levelValSym] },
|
|
66
67
|
set levelVal (n) { throw Error('levelVal is read-only') },
|
|
68
|
+
get msgPrefix () { return this[msgPrefixSym] },
|
|
69
|
+
get [Symbol.toStringTag] () { return 'Pino' },
|
|
67
70
|
[lsCacheSym]: initialLsCache,
|
|
68
71
|
[writeSym]: write,
|
|
69
72
|
[asJsonSym]: asJson,
|
|
@@ -83,11 +86,32 @@ function child (bindings, options) {
|
|
|
83
86
|
if (!bindings) {
|
|
84
87
|
throw Error('missing bindings for child Pino')
|
|
85
88
|
}
|
|
86
|
-
options = options || {} // default options to empty object
|
|
87
89
|
const serializers = this[serializersSym]
|
|
88
90
|
const formatters = this[formattersSym]
|
|
89
91
|
const instance = Object.create(this)
|
|
90
92
|
|
|
93
|
+
// If an `options` object was not supplied, we can improve
|
|
94
|
+
// the performance of child creation by skipping
|
|
95
|
+
// the checks for set options and simply return
|
|
96
|
+
// a baseline instance.
|
|
97
|
+
if (options == null) {
|
|
98
|
+
if (instance[formattersSym].bindings !== resetChildingsFormatter) {
|
|
99
|
+
instance[formattersSym] = buildFormatters(
|
|
100
|
+
formatters.level,
|
|
101
|
+
resetChildingsFormatter,
|
|
102
|
+
formatters.log
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
instance[chindingsSym] = asChindings(instance, bindings)
|
|
107
|
+
|
|
108
|
+
if (this.onChild !== noop) {
|
|
109
|
+
this.onChild(instance)
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return instance
|
|
113
|
+
}
|
|
114
|
+
|
|
91
115
|
if (options.hasOwnProperty('serializers') === true) {
|
|
92
116
|
instance[serializersSym] = Object.create(null)
|
|
93
117
|
|
|
@@ -145,8 +169,10 @@ function child (bindings, options) {
|
|
|
145
169
|
}
|
|
146
170
|
|
|
147
171
|
instance[chindingsSym] = asChindings(instance, bindings)
|
|
148
|
-
|
|
149
|
-
|
|
172
|
+
if ((options.level !== undefined && options.level !== this.level) || options.hasOwnProperty('customLevels')) {
|
|
173
|
+
const childLevel = options.level || this.level
|
|
174
|
+
instance[setLevelSym](childLevel)
|
|
175
|
+
}
|
|
150
176
|
this.onChild(instance)
|
|
151
177
|
return instance
|
|
152
178
|
}
|
|
@@ -163,7 +189,6 @@ function bindings () {
|
|
|
163
189
|
function setBindings (newBindings) {
|
|
164
190
|
const chindings = asChindings(this, newBindings)
|
|
165
191
|
this[chindingsSym] = chindings
|
|
166
|
-
delete this[parsedChindingsSym]
|
|
167
192
|
}
|
|
168
193
|
|
|
169
194
|
/**
|
|
@@ -185,6 +210,7 @@ function write (_obj, msg, num) {
|
|
|
185
210
|
const messageKey = this[messageKeySym]
|
|
186
211
|
const mixinMergeStrategy = this[mixinMergeStrategySym] || defaultMixinMergeStrategy
|
|
187
212
|
let obj
|
|
213
|
+
const streamWriteHook = this[hooksSym].streamWrite
|
|
188
214
|
|
|
189
215
|
if (_obj === undefined || _obj === null) {
|
|
190
216
|
obj = {}
|
|
@@ -214,11 +240,9 @@ function write (_obj, msg, num) {
|
|
|
214
240
|
stream.lastTime = t.slice(this[timeSliceIndexSym])
|
|
215
241
|
stream.lastLogger = this // for child loggers
|
|
216
242
|
}
|
|
217
|
-
stream.write(s)
|
|
243
|
+
stream.write(streamWriteHook ? streamWriteHook(s) : s)
|
|
218
244
|
}
|
|
219
245
|
|
|
220
|
-
function noop () {}
|
|
221
|
-
|
|
222
246
|
function flush (cb) {
|
|
223
247
|
if (cb != null && typeof cb !== 'function') {
|
|
224
248
|
throw Error('callback must be a function')
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const Redact = require('@pinojs/redact')
|
|
4
4
|
const { redactFmtSym, wildcardFirstSym } = require('./symbols')
|
|
5
|
-
const { rx, validator } = fastRedact
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
ERR_INVALID_PATH: (s) => `pino – redact paths array contains an invalid path (${s})`
|
|
10
|
-
})
|
|
6
|
+
// Custom rx regex equivalent to fast-redact's rx
|
|
7
|
+
const rx = /[^.[\]]+|\[([^[\]]*?)\]/g
|
|
11
8
|
|
|
12
9
|
const CENSOR = '[Redacted]'
|
|
13
10
|
const strict = false // TODO should this be configurable?
|
|
14
11
|
|
|
15
12
|
function redaction (opts, serialize) {
|
|
16
|
-
const { paths, censor } = handle(opts)
|
|
13
|
+
const { paths, censor, remove } = handle(opts)
|
|
17
14
|
|
|
18
15
|
const shape = paths.reduce((o, str) => {
|
|
19
16
|
rx.lastIndex = 0
|
|
@@ -73,7 +70,7 @@ function redaction (opts, serialize) {
|
|
|
73
70
|
// provides top level redaction for instances where
|
|
74
71
|
// an object is interpolated into the msg string
|
|
75
72
|
const result = {
|
|
76
|
-
[redactFmtSym]:
|
|
73
|
+
[redactFmtSym]: Redact({ paths, censor, serialize, strict, remove })
|
|
77
74
|
}
|
|
78
75
|
|
|
79
76
|
const topCensor = (...args) => {
|
|
@@ -90,11 +87,12 @@ function redaction (opts, serialize) {
|
|
|
90
87
|
return censor(value, [k, ...path])
|
|
91
88
|
}
|
|
92
89
|
: censor
|
|
93
|
-
o[k] =
|
|
90
|
+
o[k] = Redact({
|
|
94
91
|
paths: shape[k],
|
|
95
92
|
censor: wrappedCensor,
|
|
96
93
|
serialize,
|
|
97
|
-
strict
|
|
94
|
+
strict,
|
|
95
|
+
remove
|
|
98
96
|
})
|
|
99
97
|
}
|
|
100
98
|
return o
|
|
@@ -104,15 +102,13 @@ function redaction (opts, serialize) {
|
|
|
104
102
|
function handle (opts) {
|
|
105
103
|
if (Array.isArray(opts)) {
|
|
106
104
|
opts = { paths: opts, censor: CENSOR }
|
|
107
|
-
validate(opts)
|
|
108
105
|
return opts
|
|
109
106
|
}
|
|
110
107
|
let { paths, censor = CENSOR, remove } = opts
|
|
111
108
|
if (Array.isArray(paths) === false) { throw Error('pino – redact must contain an array of strings') }
|
|
112
109
|
if (remove === true) censor = undefined
|
|
113
|
-
validate({ paths, censor })
|
|
114
110
|
|
|
115
|
-
return { paths, censor }
|
|
111
|
+
return { paths, censor, remove }
|
|
116
112
|
}
|
|
117
113
|
|
|
118
114
|
module.exports = redaction
|
|
@@ -8,4 +8,32 @@ const unixTime = () => `,"time":${Math.round(Date.now() / 1000.0)}`
|
|
|
8
8
|
|
|
9
9
|
const isoTime = () => `,"time":"${new Date(Date.now()).toISOString()}"` // using Date.now() for testability
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
const NS_PER_MS = 1_000_000n
|
|
12
|
+
const NS_PER_SEC = 1_000_000_000n
|
|
13
|
+
|
|
14
|
+
const startWallTimeNs = BigInt(Date.now()) * NS_PER_MS
|
|
15
|
+
const startHrTime = process.hrtime.bigint()
|
|
16
|
+
|
|
17
|
+
const isoTimeNano = () => {
|
|
18
|
+
const elapsedNs = process.hrtime.bigint() - startHrTime
|
|
19
|
+
const currentTimeNs = startWallTimeNs + elapsedNs
|
|
20
|
+
|
|
21
|
+
const secondsSinceEpoch = currentTimeNs / NS_PER_SEC
|
|
22
|
+
const nanosWithinSecond = currentTimeNs % NS_PER_SEC
|
|
23
|
+
|
|
24
|
+
const msSinceEpoch = Number(secondsSinceEpoch * 1000n + nanosWithinSecond / 1_000_000n)
|
|
25
|
+
const date = new Date(msSinceEpoch)
|
|
26
|
+
|
|
27
|
+
const year = date.getUTCFullYear()
|
|
28
|
+
const month = (date.getUTCMonth() + 1).toString().padStart(2, '0')
|
|
29
|
+
const day = date.getUTCDate().toString().padStart(2, '0')
|
|
30
|
+
const hours = date.getUTCHours().toString().padStart(2, '0')
|
|
31
|
+
const minutes = date.getUTCMinutes().toString().padStart(2, '0')
|
|
32
|
+
const seconds = date.getUTCSeconds().toString().padStart(2, '0')
|
|
33
|
+
|
|
34
|
+
return `,"time":"${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${nanosWithinSecond
|
|
35
|
+
.toString()
|
|
36
|
+
.padStart(9, '0')}Z"`
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
module.exports = { nullTime, epochTime, unixTime, isoTime, isoTimeNano }
|