@contrast/agent-bundle 5.46.0 → 5.48.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/README.md +1 -1
- package/node_modules/@contrast/agent/README.md +1 -1
- package/node_modules/@contrast/agent/package.json +12 -12
- package/node_modules/@contrast/agentify/package.json +15 -15
- package/node_modules/@contrast/architecture-components/package.json +5 -5
- package/node_modules/@contrast/assess/lib/{session-configuration → configuration-analysis}/common.js +1 -1
- package/node_modules/@contrast/assess/lib/{session-configuration → configuration-analysis}/handlers.js +23 -10
- package/node_modules/@contrast/assess/lib/{session-configuration → configuration-analysis}/index.js +6 -4
- package/node_modules/@contrast/assess/lib/configuration-analysis/install/apollo-server.js +92 -0
- package/node_modules/@contrast/assess/lib/{session-configuration → configuration-analysis}/install/express-session.js +2 -2
- package/node_modules/@contrast/assess/lib/{session-configuration → configuration-analysis}/install/fastify-cookie.js +2 -2
- package/node_modules/@contrast/assess/lib/configuration-analysis/install/graphql-yoga.js +90 -0
- package/node_modules/@contrast/assess/lib/{session-configuration → configuration-analysis}/install/hapi.js +2 -2
- package/node_modules/@contrast/assess/lib/{session-configuration → configuration-analysis}/install/koa.js +3 -3
- package/node_modules/@contrast/assess/lib/dataflow/propagation/install/string/substring.js +1 -1
- package/node_modules/@contrast/assess/lib/dataflow/sinks/install/fs.js +8 -15
- package/node_modules/@contrast/assess/lib/dataflow/sources/handler.js +9 -2
- package/node_modules/@contrast/assess/lib/dataflow/sources/index.js +2 -0
- package/node_modules/@contrast/assess/lib/dataflow/sources/install/fastify-websocket.js +63 -0
- package/node_modules/@contrast/assess/lib/dataflow/sources/install/http.js +42 -38
- package/node_modules/@contrast/assess/lib/dataflow/sources/install/koa/index.js +1 -1
- package/node_modules/@contrast/assess/lib/dataflow/sources/install/koa/koa-bodyparsers.js +76 -48
- package/node_modules/@contrast/assess/lib/dataflow/sources/install/koa/koa-multer.js +1 -1
- package/node_modules/@contrast/assess/lib/dataflow/sources/install/koa/koa-routers.js +2 -2
- package/node_modules/@contrast/assess/lib/dataflow/sources/install/koa/{koa2.js → koa.js} +3 -3
- package/node_modules/@contrast/assess/lib/dataflow/sources/install/socket.io.js +80 -0
- package/node_modules/@contrast/assess/lib/index.d.ts +4 -3
- package/node_modules/@contrast/assess/lib/index.js +1 -1
- package/node_modules/@contrast/assess/lib/policy.js +2 -2
- package/node_modules/@contrast/assess/package.json +12 -12
- package/node_modules/@contrast/common/lib/constants.d.ts +12 -4
- package/node_modules/@contrast/common/lib/constants.js +16 -7
- package/node_modules/@contrast/common/lib/types.d.ts +5 -1
- package/node_modules/@contrast/common/package.json +1 -1
- package/node_modules/@contrast/config/lib/common.js +1 -0
- package/node_modules/@contrast/config/lib/options.js +7 -1
- package/node_modules/@contrast/config/package.json +3 -3
- package/node_modules/@contrast/core/package.json +5 -5
- package/node_modules/@contrast/deadzones/package.json +5 -5
- package/node_modules/@contrast/dep-hooks/lib/export-handler-registry.js +1 -10
- package/node_modules/@contrast/dep-hooks/lib/export-hook-descriptor.js +1 -1
- package/node_modules/@contrast/dep-hooks/lib/index.d.ts +1 -1
- package/node_modules/@contrast/dep-hooks/lib/index.js +1 -1
- package/node_modules/@contrast/dep-hooks/lib/package-finder.d.ts +3 -2
- package/node_modules/@contrast/dep-hooks/lib/package-finder.js +14 -4
- package/node_modules/@contrast/dep-hooks/package.json +4 -4
- package/node_modules/@contrast/esm-hooks/README.md +2 -2
- package/node_modules/@contrast/esm-hooks/package.json +6 -6
- package/node_modules/@contrast/instrumentation/package.json +5 -5
- package/node_modules/@contrast/library-analysis/lib/install/library-reporting/dep.json +166 -224
- package/node_modules/@contrast/library-analysis/lib/install/library-reporting/index.js +2 -11
- package/node_modules/@contrast/library-analysis/lib/install/library-reporting/utils.js +2 -0
- package/node_modules/@contrast/library-analysis/lib/install/library-usage/index.js +3 -1
- package/node_modules/@contrast/library-analysis/lib/util.js +0 -2
- package/node_modules/@contrast/library-analysis/package.json +4 -4
- package/node_modules/@contrast/logger/package.json +4 -4
- package/node_modules/@contrast/metrics/package.json +6 -6
- package/node_modules/@contrast/patcher/package.json +2 -2
- package/node_modules/@contrast/protect/lib/error-handlers/index.js +1 -1
- package/node_modules/@contrast/protect/lib/error-handlers/install/{koa2.js → koa.js} +4 -4
- package/node_modules/@contrast/protect/lib/index.d.ts +1 -1
- package/node_modules/@contrast/protect/lib/input-analysis/index.js +2 -3
- package/node_modules/@contrast/protect/lib/input-analysis/install/koa-bodyparsers.js +92 -0
- package/node_modules/@contrast/protect/lib/input-analysis/install/{koa2.js → koa.js} +5 -5
- package/node_modules/@contrast/protect/lib/input-tracing/install/fs.js +0 -8
- package/node_modules/@contrast/protect/package.json +11 -11
- package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/application-activity/translations.js +6 -10
- package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/routes-observed.js +4 -0
- package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/traces/index.d.ts +1 -1
- package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/traces/index.js +1 -1
- package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/traces/translations.d.ts +1 -1
- package/node_modules/@contrast/reporter/lib/reporters/contrast-ui/endpoints/traces/translations.js +22 -9
- package/node_modules/@contrast/reporter/lib/reporters/file.js +1 -1
- package/node_modules/@contrast/reporter/package.json +6 -6
- package/node_modules/@contrast/rewriter/package.json +5 -5
- package/node_modules/@contrast/route-coverage/lib/index.d.ts +2 -2
- package/node_modules/@contrast/route-coverage/lib/index.js +12 -2
- package/node_modules/@contrast/route-coverage/lib/install/express.js +535 -0
- package/node_modules/@contrast/route-coverage/lib/install/fastify/fastify-express.js +71 -0
- package/node_modules/@contrast/route-coverage/lib/install/fastify/fastify-middie.js +67 -0
- package/node_modules/@contrast/route-coverage/lib/install/{fastify.js → fastify/fastify.js} +32 -22
- package/node_modules/@contrast/route-coverage/lib/install/{express → fastify}/index.js +6 -5
- package/node_modules/@contrast/route-coverage/lib/install/graphql.js +6 -1
- package/node_modules/@contrast/route-coverage/lib/install/koa.js +39 -45
- package/node_modules/@contrast/route-coverage/lib/install/socket.io.js +127 -0
- package/node_modules/@contrast/route-coverage/lib/utils/route-info.js +26 -1
- package/node_modules/@contrast/route-coverage/package.json +8 -8
- package/node_modules/@contrast/scopes/package.json +5 -5
- package/node_modules/@contrast/sec-obs/package.json +9 -9
- package/node_modules/@contrast/sources/lib/index.js +65 -22
- package/node_modules/@contrast/sources/lib/index.test.js +78 -33
- package/node_modules/@contrast/sources/lib/source-info.js +1 -10
- package/node_modules/@contrast/sources/package.json +3 -3
- package/node_modules/@contrast/telemetry/package.json +5 -5
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.d.ts +697 -30
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js +697 -30
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.d.ts +6 -0
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js +6 -0
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.d.ts +877 -49
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js +877 -49
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.d.ts +13 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js +13 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.d.ts +697 -30
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js +697 -30
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.d.ts +6 -0
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js +6 -0
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.d.ts +877 -49
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js +877 -49
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.d.ts +13 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js +13 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.d.ts +697 -30
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js +729 -61
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.d.ts +6 -0
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js +7 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.d.ts +877 -49
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js +886 -56
- package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.d.ts +13 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js +13 -4
- package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js.map +1 -1
- package/node_modules/@opentelemetry/semantic-conventions/package.json +3 -5
- package/node_modules/{pino → @pinojs/redact}/.github/dependabot.yml +1 -1
- 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/{pino/node_modules/sonic-boom → @pinojs/redact}/LICENSE +1 -1
- 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/@types/node/README.md +1 -1
- package/node_modules/@types/node/assert.d.ts +37 -2
- package/node_modules/@types/node/buffer.buffer.d.ts +9 -0
- package/node_modules/@types/node/buffer.d.ts +8 -4
- package/node_modules/@types/node/child_process.d.ts +65 -42
- package/node_modules/@types/node/cluster.d.ts +4 -5
- package/node_modules/@types/node/console.d.ts +3 -2
- package/node_modules/@types/node/crypto.d.ts +1079 -338
- package/node_modules/@types/node/dgram.d.ts +9 -8
- package/node_modules/@types/node/diagnostics_channel.d.ts +0 -2
- package/node_modules/@types/node/dns.d.ts +1 -1
- package/node_modules/@types/node/events.d.ts +1 -1
- package/node_modules/@types/node/fs/promises.d.ts +39 -21
- package/node_modules/@types/node/fs.d.ts +104 -87
- package/node_modules/@types/node/globals.d.ts +2 -0
- package/node_modules/@types/node/globals.typedarray.d.ts +19 -0
- package/node_modules/@types/node/http.d.ts +66 -27
- package/node_modules/@types/node/http2.d.ts +178 -52
- package/node_modules/@types/node/https.d.ts +91 -62
- package/node_modules/@types/node/index.d.ts +2 -0
- package/node_modules/@types/node/inspector.d.ts +24 -0
- package/node_modules/@types/node/inspector.generated.d.ts +181 -0
- package/node_modules/@types/node/net.d.ts +12 -11
- package/node_modules/@types/node/os.d.ts +14 -3
- package/node_modules/@types/node/package.json +3 -3
- package/node_modules/@types/node/perf_hooks.d.ts +6 -8
- package/node_modules/@types/node/process.d.ts +19 -23
- package/node_modules/@types/node/readline/promises.d.ts +1 -1
- package/node_modules/@types/node/sea.d.ts +9 -0
- package/node_modules/@types/node/sqlite.d.ts +226 -10
- package/node_modules/@types/node/stream/consumers.d.ts +2 -2
- package/node_modules/@types/node/stream/web.d.ts +6 -55
- package/node_modules/@types/node/stream.d.ts +38 -23
- package/node_modules/@types/node/string_decoder.d.ts +2 -2
- package/node_modules/@types/node/test.d.ts +29 -3
- package/node_modules/@types/node/tls.d.ts +90 -66
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +10 -2
- package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +16 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +2 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +2 -0
- package/node_modules/@types/node/url.d.ts +34 -10
- package/node_modules/@types/node/util.d.ts +12 -3
- package/node_modules/@types/node/v8.d.ts +38 -5
- package/node_modules/@types/node/vm.d.ts +169 -88
- package/node_modules/@types/node/wasi.d.ts +1 -1
- package/node_modules/@types/node/web-globals/crypto.d.ts +32 -0
- package/node_modules/@types/node/web-globals/streams.d.ts +22 -0
- package/node_modules/@types/node/worker_threads.d.ts +76 -1
- package/node_modules/@types/node/zlib.d.ts +25 -24
- package/node_modules/axios/CHANGELOG.md +410 -346
- package/node_modules/axios/README.md +79 -51
- package/node_modules/axios/dist/axios.js +121 -46
- package/node_modules/axios/dist/axios.js.map +1 -1
- package/node_modules/axios/dist/axios.min.js +2 -2
- package/node_modules/axios/dist/axios.min.js.map +1 -1
- package/node_modules/axios/dist/browser/axios.cjs +126 -57
- package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
- package/node_modules/axios/dist/esm/axios.js +126 -57
- package/node_modules/axios/dist/esm/axios.js.map +1 -1
- package/node_modules/axios/dist/esm/axios.min.js +2 -2
- package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
- package/node_modules/axios/dist/node/axios.cjs +351 -97
- package/node_modules/axios/dist/node/axios.cjs.map +1 -1
- package/node_modules/axios/index.d.cts +4 -0
- package/node_modules/axios/index.d.ts +4 -0
- package/node_modules/axios/lib/adapters/adapters.js +85 -40
- package/node_modules/axios/lib/adapters/fetch.js +1 -1
- package/node_modules/axios/lib/adapters/http.js +224 -42
- package/node_modules/axios/lib/core/InterceptorManager.js +1 -1
- package/node_modules/axios/lib/core/mergeConfig.js +4 -4
- package/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/axios/lib/helpers/HttpStatusCode.js +6 -0
- package/node_modules/axios/lib/helpers/bind.js +7 -0
- package/node_modules/axios/lib/helpers/cookies.js +24 -13
- package/node_modules/axios/package.json +9 -4
- package/node_modules/detect-libc/lib/filesystem.js +1 -1
- package/node_modules/detect-libc/package.json +3 -1
- package/node_modules/form-data/CHANGELOG.md +60 -2
- package/node_modules/form-data/README.md +4 -4
- package/node_modules/form-data/lib/form_data.js +2 -2
- package/node_modules/form-data/package.json +4 -4
- package/node_modules/ipaddr.js/README.md +1 -0
- package/node_modules/ipaddr.js/ipaddr.min.js +1 -1
- package/node_modules/ipaddr.js/lib/ipaddr.js +11 -0
- package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +1 -0
- package/node_modules/ipaddr.js/package.json +2 -3
- package/node_modules/nan/.github/workflows/ci.yml +3 -1
- package/node_modules/nan/CHANGELOG.md +4 -1
- package/node_modules/nan/README.md +2 -2
- package/node_modules/nan/nan.h +25 -15
- package/node_modules/nan/nan_maybe_43_inl.h +5 -1
- package/node_modules/nan/package.json +2 -2
- package/node_modules/node-abi/abi_registry.json +19 -2
- package/node_modules/node-abi/package.json +3 -6
- package/node_modules/pino/CONTRIBUTING.md +4 -0
- package/node_modules/pino/LICENSE +1 -1
- package/node_modules/pino/README.md +20 -3
- package/node_modules/pino/benchmarks/basic.bench.js +1 -1
- package/node_modules/pino/benchmarks/child-child.bench.js +1 -1
- package/node_modules/pino/benchmarks/child-creation.bench.js +1 -1
- package/node_modules/pino/benchmarks/child.bench.js +1 -1
- package/node_modules/pino/benchmarks/deep-object.bench.js +1 -1
- package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +1 -1
- package/node_modules/pino/benchmarks/internal/just-pino.bench.js +1 -1
- package/node_modules/pino/benchmarks/internal/redact.bench.js +1 -1
- package/node_modules/pino/benchmarks/long-string.bench.js +1 -1
- package/node_modules/pino/benchmarks/multi-arg.bench.js +1 -1
- package/node_modules/pino/benchmarks/multistream.js +1 -1
- package/node_modules/pino/benchmarks/object.bench.js +1 -1
- package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +2 -2
- package/node_modules/pino/benchmarks/utils/runbench.js +3 -3
- package/node_modules/pino/benchmarks/utils/wrap-log-level.js +2 -2
- package/node_modules/pino/browser.js +76 -36
- package/node_modules/pino/build/sync-version.js +18 -3
- package/node_modules/pino/docs/api.md +155 -13
- package/node_modules/pino/docs/browser.md +16 -1
- package/node_modules/pino/docs/bundling.md +5 -3
- 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 +29 -3
- package/node_modules/pino/docs/lts.md +5 -4
- package/node_modules/pino/docs/transports.md +442 -271
- package/node_modules/pino/docs/web.md +59 -9
- package/node_modules/pino/eslint.config.js +19 -0
- package/node_modules/pino/examples/transport.js +2 -2
- package/node_modules/pino/file.js +1 -1
- 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 +35 -11
- 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 +37 -8
- package/node_modules/pino/lib/transport-stream.js +10 -4
- package/node_modules/pino/lib/transport.js +23 -9
- package/node_modules/pino/lib/worker.js +164 -24
- package/node_modules/pino/package.json +28 -27
- package/node_modules/pino/pino.d.ts +244 -203
- package/node_modules/pino/pino.js +7 -3
- package/node_modules/pino/test/basic.test.js +181 -169
- package/node_modules/pino/test/broken-pipe.test.js +18 -16
- package/node_modules/pino/test/browser-child.test.js +26 -0
- package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
- package/node_modules/pino/test/browser-serializers.test.js +0 -2
- package/node_modules/pino/test/browser-transmit.test.js +68 -0
- package/node_modules/pino/test/browser.test.js +98 -13
- 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 +48 -43
- package/node_modules/pino/test/escaping.test.js +8 -6
- 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 +9 -8
- package/node_modules/pino/test/exit.test.js +18 -16
- package/node_modules/pino/test/fixtures/broken-pipe/basic.js +1 -1
- package/node_modules/pino/test/fixtures/broken-pipe/destination.js +1 -1
- package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +1 -1
- package/node_modules/pino/test/fixtures/console-transport.js +1 -1
- package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
- package/node_modules/pino/test/fixtures/default-exit.js +1 -1
- package/node_modules/pino/test/fixtures/destination-exit.js +1 -1
- package/node_modules/pino/test/fixtures/noop-transport.js +1 -1
- package/node_modules/pino/test/fixtures/pretty/null-prototype.js +1 -1
- package/node_modules/pino/test/fixtures/stdout-hack-protection.js +1 -1
- package/node_modules/pino/test/fixtures/syncfalse-child.js +1 -1
- package/node_modules/pino/test/fixtures/syncfalse-exit.js +1 -1
- package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +1 -1
- package/node_modules/pino/test/fixtures/syncfalse.js +1 -1
- package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
- package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +3 -3
- package/node_modules/pino/test/fixtures/to-file-transport.js +2 -2
- package/node_modules/pino/test/fixtures/to-file-transport.mjs +2 -2
- package/node_modules/pino/test/fixtures/transport/index.js +2 -2
- package/node_modules/pino/test/fixtures/transport-main.js +1 -1
- package/node_modules/pino/test/fixtures/transport-transform.js +1 -1
- package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +1 -1
- package/node_modules/pino/test/fixtures/transport-worker-data.js +1 -1
- package/node_modules/pino/test/fixtures/transport-worker.js +2 -2
- package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +3 -3
- package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +2 -2
- package/node_modules/pino/test/fixtures/ts/transpile.cjs +1 -1
- package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +1 -1
- package/node_modules/pino/test/fixtures/ts/transport-main.ts +1 -1
- package/node_modules/pino/test/fixtures/ts/transport-worker.ts +1 -1
- package/node_modules/pino/test/formatters.test.js +46 -37
- package/node_modules/pino/test/helper.d.ts +1 -1
- package/node_modules/pino/test/helper.js +37 -10
- package/node_modules/pino/test/hooks.test.js +45 -28
- package/node_modules/pino/test/http.test.js +39 -67
- package/node_modules/pino/test/internals/version.test.js +11 -9
- package/node_modules/pino/test/is-level-enabled.test.js +66 -72
- package/node_modules/pino/test/levels.test.js +245 -141
- package/node_modules/pino/test/metadata.test.js +45 -31
- package/node_modules/pino/test/mixin-merge-strategy.test.js +9 -7
- package/node_modules/pino/test/mixin.test.js +63 -40
- package/node_modules/pino/test/multistream.test.js +174 -118
- 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 +14 -12
- package/node_modules/pino/test/syncfalse.test.js +29 -34
- 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 +11 -12
- package/node_modules/pino/test/transport/bundlers-support.test.js +15 -43
- package/node_modules/pino/test/transport/caller.test.js +9 -8
- package/node_modules/pino/test/transport/core.test.js +175 -145
- package/node_modules/pino/test/transport/core.transpiled.test.ts +17 -19
- package/node_modules/pino/test/transport/crash.test.js +36 -0
- package/node_modules/pino/test/transport/module-link.test.js +21 -19
- package/node_modules/pino/test/transport/pipeline.test.js +109 -8
- package/node_modules/pino/test/transport/repl.test.js +4 -3
- package/node_modules/pino/test/transport/{syncfalse.test.js → sync-false.test.js} +14 -12
- package/node_modules/pino/test/transport/sync-true.test.js +57 -0
- package/node_modules/pino/test/transport/targets.test.js +25 -5
- package/node_modules/pino/test/transport/uses-pino-config.test.js +16 -17
- package/node_modules/pino/test/transport-stream.test.js +40 -0
- 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 +1 -1
- package/node_modules/pino/test/types/pino-top-export.test-d.ts +1 -0
- package/node_modules/pino/test/types/pino-transport.test-d.ts +1 -1
- package/node_modules/pino/test/types/pino-type-only.test-d.ts +24 -6
- package/node_modules/pino/test/types/pino.test-d.ts +161 -6
- package/node_modules/pino/test/types/pino.ts +31 -19
- package/node_modules/pino/tsconfig.json +1 -1
- package/node_modules/pino-abstract-transport/.github/workflows/ci.yml +2 -4
- package/node_modules/pino-abstract-transport/index.js +1 -1
- package/node_modules/pino-abstract-transport/package.json +2 -3
- package/node_modules/pino-abstract-transport/test/base.test.js +1 -1
- package/node_modules/pino-abstract-transport/test/worker.test.js +7 -14
- package/node_modules/pino-std-serializers/.github/workflows/ci.yml +5 -5
- package/node_modules/pino-std-serializers/Readme.md +1 -0
- package/node_modules/pino-std-serializers/package.json +9 -8
- package/node_modules/pino-std-serializers/test/err-with-cause.test.js +72 -88
- package/node_modules/pino-std-serializers/test/err.test.js +76 -91
- package/node_modules/pino-std-serializers/test/req.test.js +142 -98
- package/node_modules/pino-std-serializers/test/res.test.js +42 -31
- package/node_modules/process-warning/.github/dependabot.yml +1 -1
- package/node_modules/process-warning/.github/workflows/ci.yml +1 -2
- package/node_modules/process-warning/README.md +4 -4
- package/node_modules/process-warning/eslint.config.js +6 -0
- package/node_modules/process-warning/package.json +39 -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 +11 -6
- package/node_modules/process-warning/test/emit-reset.test.js +10 -6
- package/node_modules/process-warning/test/emit-set.test.js +10 -5
- package/node_modules/process-warning/test/emit-unlimited.test.js +12 -7
- 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 +9 -9
- package/node_modules/process-warning/test/promise.js +10 -0
- package/node_modules/process-warning/types/index.d.ts +5 -5
- package/node_modules/semver/classes/range.js +1 -0
- package/node_modules/semver/classes/semver.js +19 -5
- package/node_modules/semver/internal/identifiers.js +4 -0
- package/node_modules/semver/package.json +3 -3
- package/node_modules/thread-stream/.github/workflows/ci.yml +4 -8
- package/node_modules/thread-stream/index.d.ts +4 -5
- package/node_modules/thread-stream/lib/worker.js +5 -2
- package/node_modules/thread-stream/package.json +6 -4
- package/node_modules/thread-stream/test/base.test.js +12 -0
- package/node_modules/thread-stream/test/never-drain.test.js +3 -1
- package/node_modules/thread-stream/test/pkg/pkg.test.js +2 -0
- package/node_modules/thread-stream/test/syntax-error.mjs +2 -0
- package/node_modules/thread-stream/tsconfig.json +8 -0
- package/node_modules/undici-types/agent.d.ts +1 -0
- package/node_modules/undici-types/diagnostics-channel.d.ts +0 -1
- package/node_modules/undici-types/errors.d.ts +5 -15
- package/node_modules/undici-types/eventsource.d.ts +6 -1
- package/node_modules/undici-types/index.d.ts +4 -1
- package/node_modules/undici-types/interceptors.d.ts +5 -0
- package/node_modules/undici-types/package.json +1 -1
- package/node_modules/undici-types/snapshot-agent.d.ts +5 -3
- package/node_modules/undici-types/webidl.d.ts +82 -21
- package/node_modules/yaml/browser/dist/compose/compose-collection.js +1 -1
- package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +1 -1
- package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +2 -2
- package/node_modules/yaml/browser/dist/errors.js +1 -1
- package/node_modules/yaml/browser/dist/nodes/Alias.js +1 -1
- package/node_modules/yaml/browser/dist/parse/parser.js +2 -2
- package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +1 -1
- package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +1 -1
- package/node_modules/yaml/dist/compose/compose-collection.js +1 -1
- package/node_modules/yaml/dist/compose/resolve-block-seq.js +1 -1
- package/node_modules/yaml/dist/compose/resolve-flow-collection.js +2 -2
- package/node_modules/yaml/dist/errors.js +1 -1
- package/node_modules/yaml/dist/nodes/Alias.js +1 -1
- package/node_modules/yaml/dist/parse/parser.js +2 -2
- package/node_modules/yaml/dist/stringify/stringifyNumber.js +1 -1
- package/node_modules/yaml/dist/stringify/stringifyPair.js +1 -1
- package/node_modules/yaml/package.json +4 -4
- package/package.json +3 -3
- package/node_modules/@contrast/protect/lib/input-analysis/install/koa-body5.js +0 -63
- package/node_modules/@contrast/protect/lib/input-analysis/install/koa-bodyparser4.js +0 -64
- package/node_modules/@contrast/route-coverage/lib/install/express/express4.js +0 -157
- package/node_modules/@contrast/route-coverage/lib/install/express/express5.js +0 -538
- package/node_modules/abort-controller/LICENSE +0 -21
- 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/LICENSE +0 -22
- 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/LICENSE +0 -21
- 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/LICENSE +0 -11
- 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/ci.yml +0 -86
- package/node_modules/pino/.github/workflows/lock-threads.yml +0 -30
- package/node_modules/pino/.github/workflows/package-manager-ci.yml +0 -99
- 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/lib/worker-pipeline.js +0 -38
- package/node_modules/pino/node_modules/sonic-boom/.eslintignore +0 -2
- package/node_modules/pino/node_modules/sonic-boom/.husky/pre-commit +0 -4
- package/node_modules/pino/node_modules/sonic-boom/.taprc.yaml +0 -11
- package/node_modules/pino/node_modules/sonic-boom/README.md +0 -151
- package/node_modules/pino/node_modules/sonic-boom/bench.js +0 -98
- package/node_modules/pino/node_modules/sonic-boom/check.js +0 -18
- package/node_modules/pino/node_modules/sonic-boom/example.js +0 -8
- package/node_modules/pino/node_modules/sonic-boom/fixtures/firehose.js +0 -22
- package/node_modules/pino/node_modules/sonic-boom/index.js +0 -690
- package/node_modules/pino/node_modules/sonic-boom/package.json +0 -50
- package/node_modules/pino/node_modules/sonic-boom/test/destroy.test.js +0 -49
- package/node_modules/pino/node_modules/sonic-boom/test/end.test.js +0 -98
- package/node_modules/pino/node_modules/sonic-boom/test/flush-sync.test.js +0 -140
- package/node_modules/pino/node_modules/sonic-boom/test/flush.test.js +0 -419
- package/node_modules/pino/node_modules/sonic-boom/test/fsync.test.js +0 -63
- package/node_modules/pino/node_modules/sonic-boom/test/helper.js +0 -42
- package/node_modules/pino/node_modules/sonic-boom/test/minlength.test.js +0 -35
- package/node_modules/pino/node_modules/sonic-boom/test/mode.test.js +0 -116
- package/node_modules/pino/node_modules/sonic-boom/test/reopen.test.js +0 -239
- package/node_modules/pino/node_modules/sonic-boom/test/retry.test.js +0 -414
- package/node_modules/pino/node_modules/sonic-boom/test/sync.test.js +0 -261
- package/node_modules/pino/node_modules/sonic-boom/test/write.test.js +0 -465
- package/node_modules/pino/node_modules/sonic-boom/types/index.d.ts +0 -62
- package/node_modules/pino/node_modules/sonic-boom/types/tests/test.ts +0 -4
- 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/transport/core.test.ts +0 -236
- package/node_modules/pino-std-serializers/.taprc +0 -2
- 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/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
|
@@ -1,76 +1,78 @@
|
|
|
1
1
|
'use strict'
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const test = require('node:test')
|
|
4
|
+
const assert = require('node:assert')
|
|
5
|
+
|
|
4
6
|
const { sink, once } = require('./helper')
|
|
5
7
|
const pino = require('../')
|
|
6
8
|
|
|
7
|
-
test('redact option – throws if not array', async (
|
|
8
|
-
throws(() => {
|
|
9
|
+
test('redact option – throws if not array', async () => {
|
|
10
|
+
assert.throws(() => {
|
|
9
11
|
pino({ redact: 'req.headers.cookie' })
|
|
10
12
|
})
|
|
11
13
|
})
|
|
12
14
|
|
|
13
|
-
test('redact option – throws if array does not only contain strings', async (
|
|
14
|
-
throws(() => {
|
|
15
|
+
test('redact option – throws if array does not only contain strings', async () => {
|
|
16
|
+
assert.throws(() => {
|
|
15
17
|
pino({ redact: ['req.headers.cookie', {}] })
|
|
16
18
|
})
|
|
17
19
|
})
|
|
18
20
|
|
|
19
|
-
test('redact option – throws if array contains an invalid path', async (
|
|
20
|
-
throws(() => {
|
|
21
|
+
test('redact option – throws if array contains an invalid path', async () => {
|
|
22
|
+
assert.throws(() => {
|
|
21
23
|
pino({ redact: ['req,headers.cookie'] })
|
|
22
24
|
})
|
|
23
25
|
})
|
|
24
26
|
|
|
25
|
-
test('redact.paths option – throws if not array', async (
|
|
26
|
-
throws(() => {
|
|
27
|
+
test('redact.paths option – throws if not array', async () => {
|
|
28
|
+
assert.throws(() => {
|
|
27
29
|
pino({ redact: { paths: 'req.headers.cookie' } })
|
|
28
30
|
})
|
|
29
31
|
})
|
|
30
32
|
|
|
31
|
-
test('redact.paths option – throws if array does not only contain strings', async (
|
|
32
|
-
throws(() => {
|
|
33
|
+
test('redact.paths option – throws if array does not only contain strings', async () => {
|
|
34
|
+
assert.throws(() => {
|
|
33
35
|
pino({ redact: { paths: ['req.headers.cookie', {}] } })
|
|
34
36
|
})
|
|
35
37
|
})
|
|
36
38
|
|
|
37
|
-
test('redact.paths option – throws if array contains an invalid path', async (
|
|
38
|
-
throws(() => {
|
|
39
|
+
test('redact.paths option – throws if array contains an invalid path', async () => {
|
|
40
|
+
assert.throws(() => {
|
|
39
41
|
pino({ redact: { paths: ['req,headers.cookie'] } })
|
|
40
42
|
})
|
|
41
43
|
})
|
|
42
44
|
|
|
43
|
-
test('redact option – top level key', async (
|
|
45
|
+
test('redact option – top level key', async () => {
|
|
44
46
|
const stream = sink()
|
|
45
47
|
const instance = pino({ redact: ['key'] }, stream)
|
|
46
48
|
instance.info({
|
|
47
49
|
key: { redact: 'me' }
|
|
48
50
|
})
|
|
49
51
|
const { key } = await once(stream, 'data')
|
|
50
|
-
equal(key, '[Redacted]')
|
|
52
|
+
assert.equal(key, '[Redacted]')
|
|
51
53
|
})
|
|
52
54
|
|
|
53
|
-
test('redact option – top level key next level key', async (
|
|
55
|
+
test('redact option – top level key next level key', async () => {
|
|
54
56
|
const stream = sink()
|
|
55
57
|
const instance = pino({ redact: ['key', 'key.foo'] }, stream)
|
|
56
58
|
instance.info({
|
|
57
59
|
key: { redact: 'me' }
|
|
58
60
|
})
|
|
59
61
|
const { key } = await once(stream, 'data')
|
|
60
|
-
equal(key, '[Redacted]')
|
|
62
|
+
assert.equal(key, '[Redacted]')
|
|
61
63
|
})
|
|
62
64
|
|
|
63
|
-
test('redact option – next level key then top level key', async (
|
|
65
|
+
test('redact option – next level key then top level key', async () => {
|
|
64
66
|
const stream = sink()
|
|
65
67
|
const instance = pino({ redact: ['key.foo', 'key'] }, stream)
|
|
66
68
|
instance.info({
|
|
67
69
|
key: { redact: 'me' }
|
|
68
70
|
})
|
|
69
71
|
const { key } = await once(stream, 'data')
|
|
70
|
-
equal(key, '[Redacted]')
|
|
72
|
+
assert.equal(key, '[Redacted]')
|
|
71
73
|
})
|
|
72
74
|
|
|
73
|
-
test('redact option – object', async (
|
|
75
|
+
test('redact option – object', async () => {
|
|
74
76
|
const stream = sink()
|
|
75
77
|
const instance = pino({ redact: ['req.headers.cookie'] }, stream)
|
|
76
78
|
instance.info({
|
|
@@ -88,10 +90,10 @@ test('redact option – object', async ({ equal }) => {
|
|
|
88
90
|
}
|
|
89
91
|
})
|
|
90
92
|
const { req } = await once(stream, 'data')
|
|
91
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
93
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
92
94
|
})
|
|
93
95
|
|
|
94
|
-
test('redact option – child object', async (
|
|
96
|
+
test('redact option – child object', async () => {
|
|
95
97
|
const stream = sink()
|
|
96
98
|
const instance = pino({ redact: ['req.headers.cookie'] }, stream)
|
|
97
99
|
instance.child({
|
|
@@ -109,10 +111,10 @@ test('redact option – child object', async ({ equal }) => {
|
|
|
109
111
|
}
|
|
110
112
|
}).info('message completed')
|
|
111
113
|
const { req } = await once(stream, 'data')
|
|
112
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
114
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
113
115
|
})
|
|
114
116
|
|
|
115
|
-
test('redact option – interpolated object', async (
|
|
117
|
+
test('redact option – interpolated object', async () => {
|
|
116
118
|
const stream = sink()
|
|
117
119
|
const instance = pino({ redact: ['req.headers.cookie'] }, stream)
|
|
118
120
|
|
|
@@ -131,10 +133,10 @@ test('redact option – interpolated object', async ({ equal }) => {
|
|
|
131
133
|
}
|
|
132
134
|
})
|
|
133
135
|
const { msg } = await once(stream, 'data')
|
|
134
|
-
equal(JSON.parse(msg.replace(/test /, '')).req.headers.cookie, '[Redacted]')
|
|
136
|
+
assert.equal(JSON.parse(msg.replace(/test /, '')).req.headers.cookie, '[Redacted]')
|
|
135
137
|
})
|
|
136
138
|
|
|
137
|
-
test('redact.paths option – object', async (
|
|
139
|
+
test('redact.paths option – object', async () => {
|
|
138
140
|
const stream = sink()
|
|
139
141
|
const instance = pino({ redact: { paths: ['req.headers.cookie'] } }, stream)
|
|
140
142
|
instance.info({
|
|
@@ -152,10 +154,10 @@ test('redact.paths option – object', async ({ equal }) => {
|
|
|
152
154
|
}
|
|
153
155
|
})
|
|
154
156
|
const { req } = await once(stream, 'data')
|
|
155
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
157
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
156
158
|
})
|
|
157
159
|
|
|
158
|
-
test('redact.paths option – child object', async (
|
|
160
|
+
test('redact.paths option – child object', async () => {
|
|
159
161
|
const stream = sink()
|
|
160
162
|
const instance = pino({ redact: { paths: ['req.headers.cookie'] } }, stream)
|
|
161
163
|
instance.child({
|
|
@@ -173,10 +175,10 @@ test('redact.paths option – child object', async ({ equal }) => {
|
|
|
173
175
|
}
|
|
174
176
|
}).info('message completed')
|
|
175
177
|
const { req } = await once(stream, 'data')
|
|
176
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
178
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
177
179
|
})
|
|
178
180
|
|
|
179
|
-
test('redact.paths option – interpolated object', async (
|
|
181
|
+
test('redact.paths option – interpolated object', async () => {
|
|
180
182
|
const stream = sink()
|
|
181
183
|
const instance = pino({ redact: { paths: ['req.headers.cookie'] } }, stream)
|
|
182
184
|
|
|
@@ -195,10 +197,10 @@ test('redact.paths option – interpolated object', async ({ equal }) => {
|
|
|
195
197
|
}
|
|
196
198
|
})
|
|
197
199
|
const { msg } = await once(stream, 'data')
|
|
198
|
-
equal(JSON.parse(msg.replace(/test /, '')).req.headers.cookie, '[Redacted]')
|
|
200
|
+
assert.equal(JSON.parse(msg.replace(/test /, '')).req.headers.cookie, '[Redacted]')
|
|
199
201
|
})
|
|
200
202
|
|
|
201
|
-
test('redact.censor option – sets the redact value', async (
|
|
203
|
+
test('redact.censor option – sets the redact value', async () => {
|
|
202
204
|
const stream = sink()
|
|
203
205
|
const instance = pino({ redact: { paths: ['req.headers.cookie'], censor: 'test' } }, stream)
|
|
204
206
|
instance.info({
|
|
@@ -216,20 +218,20 @@ test('redact.censor option – sets the redact value', async ({ equal }) => {
|
|
|
216
218
|
}
|
|
217
219
|
})
|
|
218
220
|
const { req } = await once(stream, 'data')
|
|
219
|
-
equal(req.headers.cookie, 'test')
|
|
221
|
+
assert.equal(req.headers.cookie, 'test')
|
|
220
222
|
})
|
|
221
223
|
|
|
222
|
-
test('redact.censor option – can be a function that accepts value and path arguments', async (
|
|
224
|
+
test('redact.censor option – can be a function that accepts value and path arguments', async () => {
|
|
223
225
|
const stream = sink()
|
|
224
226
|
const instance = pino({ redact: { paths: ['topLevel'], censor: (value, path) => value + ' ' + path.join('.') } }, stream)
|
|
225
227
|
instance.info({
|
|
226
228
|
topLevel: 'test'
|
|
227
229
|
})
|
|
228
230
|
const { topLevel } = await once(stream, 'data')
|
|
229
|
-
equal(topLevel, 'test topLevel')
|
|
231
|
+
assert.equal(topLevel, 'test topLevel')
|
|
230
232
|
})
|
|
231
233
|
|
|
232
|
-
test('redact.censor option – can be a function that accepts value and path arguments (nested path)', async (
|
|
234
|
+
test('redact.censor option – can be a function that accepts value and path arguments (nested path)', async () => {
|
|
233
235
|
const stream = sink()
|
|
234
236
|
const instance = pino({ redact: { paths: ['req.headers.cookie'], censor: (value, path) => value + ' ' + path.join('.') } }, stream)
|
|
235
237
|
instance.info({
|
|
@@ -247,10 +249,10 @@ test('redact.censor option – can be a function that accepts value and path arg
|
|
|
247
249
|
}
|
|
248
250
|
})
|
|
249
251
|
const { req } = await once(stream, 'data')
|
|
250
|
-
equal(req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1; req.headers.cookie')
|
|
252
|
+
assert.equal(req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1; req.headers.cookie')
|
|
251
253
|
})
|
|
252
254
|
|
|
253
|
-
test('redact.remove option – removes both key and value', async (
|
|
255
|
+
test('redact.remove option – removes both key and value', async () => {
|
|
254
256
|
const stream = sink()
|
|
255
257
|
const instance = pino({ redact: { paths: ['req.headers.cookie'], remove: true } }, stream)
|
|
256
258
|
instance.info({
|
|
@@ -268,49 +270,49 @@ test('redact.remove option – removes both key and value', async ({ equal }) =>
|
|
|
268
270
|
}
|
|
269
271
|
})
|
|
270
272
|
const { req } = await once(stream, 'data')
|
|
271
|
-
equal('cookie' in req.headers, false)
|
|
273
|
+
assert.equal('cookie' in req.headers, false)
|
|
272
274
|
})
|
|
273
275
|
|
|
274
|
-
test('redact.remove – top level key - object value', async (
|
|
276
|
+
test('redact.remove – top level key - object value', async () => {
|
|
275
277
|
const stream = sink()
|
|
276
278
|
const instance = pino({ redact: { paths: ['key'], remove: true } }, stream)
|
|
277
279
|
instance.info({
|
|
278
280
|
key: { redact: 'me' }
|
|
279
281
|
})
|
|
280
282
|
const o = await once(stream, 'data')
|
|
281
|
-
equal('key' in o, false)
|
|
283
|
+
assert.equal('key' in o, false)
|
|
282
284
|
})
|
|
283
285
|
|
|
284
|
-
test('redact.remove – top level key - number value', async (
|
|
286
|
+
test('redact.remove – top level key - number value', async () => {
|
|
285
287
|
const stream = sink()
|
|
286
288
|
const instance = pino({ redact: { paths: ['key'], remove: true } }, stream)
|
|
287
289
|
instance.info({
|
|
288
290
|
key: 1
|
|
289
291
|
})
|
|
290
292
|
const o = await once(stream, 'data')
|
|
291
|
-
equal('key' in o, false)
|
|
293
|
+
assert.equal('key' in o, false)
|
|
292
294
|
})
|
|
293
295
|
|
|
294
|
-
test('redact.remove – top level key - boolean value', async (
|
|
296
|
+
test('redact.remove – top level key - boolean value', async () => {
|
|
295
297
|
const stream = sink()
|
|
296
298
|
const instance = pino({ redact: { paths: ['key'], remove: true } }, stream)
|
|
297
299
|
instance.info({
|
|
298
300
|
key: false
|
|
299
301
|
})
|
|
300
302
|
const o = await once(stream, 'data')
|
|
301
|
-
equal('key' in o, false)
|
|
303
|
+
assert.equal('key' in o, false)
|
|
302
304
|
})
|
|
303
305
|
|
|
304
|
-
test('redact.remove – top level key in child logger', async (
|
|
306
|
+
test('redact.remove – top level key in child logger', async () => {
|
|
305
307
|
const stream = sink()
|
|
306
308
|
const opts = { redact: { paths: ['key'], remove: true } }
|
|
307
309
|
const instance = pino(opts, stream).child({ key: { redact: 'me' } })
|
|
308
310
|
instance.info('test')
|
|
309
311
|
const o = await once(stream, 'data')
|
|
310
|
-
equal('key' in o, false)
|
|
312
|
+
assert.equal('key' in o, false)
|
|
311
313
|
})
|
|
312
314
|
|
|
313
|
-
test('redact.paths preserves original object values after the log write', async (
|
|
315
|
+
test('redact.paths preserves original object values after the log write', async () => {
|
|
314
316
|
const stream = sink()
|
|
315
317
|
const instance = pino({ redact: ['req.headers.cookie'] }, stream)
|
|
316
318
|
const obj = {
|
|
@@ -329,11 +331,11 @@ test('redact.paths preserves original object values after the log write', async
|
|
|
329
331
|
}
|
|
330
332
|
instance.info(obj)
|
|
331
333
|
const o = await once(stream, 'data')
|
|
332
|
-
equal(o.req.headers.cookie, '[Redacted]')
|
|
333
|
-
equal(obj.req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;')
|
|
334
|
+
assert.equal(o.req.headers.cookie, '[Redacted]')
|
|
335
|
+
assert.equal(obj.req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;')
|
|
334
336
|
})
|
|
335
337
|
|
|
336
|
-
test('redact.paths preserves original object values after the log write', async (
|
|
338
|
+
test('redact.paths preserves original object values after the log write', async () => {
|
|
337
339
|
const stream = sink()
|
|
338
340
|
const instance = pino({ redact: { paths: ['req.headers.cookie'] } }, stream)
|
|
339
341
|
const obj = {
|
|
@@ -352,11 +354,11 @@ test('redact.paths preserves original object values after the log write', async
|
|
|
352
354
|
}
|
|
353
355
|
instance.info(obj)
|
|
354
356
|
const o = await once(stream, 'data')
|
|
355
|
-
equal(o.req.headers.cookie, '[Redacted]')
|
|
356
|
-
equal(obj.req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;')
|
|
357
|
+
assert.equal(o.req.headers.cookie, '[Redacted]')
|
|
358
|
+
assert.equal(obj.req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;')
|
|
357
359
|
})
|
|
358
360
|
|
|
359
|
-
test('redact.censor preserves original object values after the log write', async (
|
|
361
|
+
test('redact.censor preserves original object values after the log write', async () => {
|
|
360
362
|
const stream = sink()
|
|
361
363
|
const instance = pino({ redact: { paths: ['req.headers.cookie'], censor: 'test' } }, stream)
|
|
362
364
|
const obj = {
|
|
@@ -375,11 +377,11 @@ test('redact.censor preserves original object values after the log write', async
|
|
|
375
377
|
}
|
|
376
378
|
instance.info(obj)
|
|
377
379
|
const o = await once(stream, 'data')
|
|
378
|
-
equal(o.req.headers.cookie, 'test')
|
|
379
|
-
equal(obj.req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;')
|
|
380
|
+
assert.equal(o.req.headers.cookie, 'test')
|
|
381
|
+
assert.equal(obj.req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;')
|
|
380
382
|
})
|
|
381
383
|
|
|
382
|
-
test('redact.remove preserves original object values after the log write', async (
|
|
384
|
+
test('redact.remove preserves original object values after the log write', async () => {
|
|
383
385
|
const stream = sink()
|
|
384
386
|
const instance = pino({ redact: { paths: ['req.headers.cookie'], remove: true } }, stream)
|
|
385
387
|
const obj = {
|
|
@@ -398,11 +400,11 @@ test('redact.remove preserves original object values after the log write', async
|
|
|
398
400
|
}
|
|
399
401
|
instance.info(obj)
|
|
400
402
|
const o = await once(stream, 'data')
|
|
401
|
-
equal('cookie' in o.req.headers, false)
|
|
402
|
-
equal('cookie' in obj.req.headers, true)
|
|
403
|
+
assert.equal('cookie' in o.req.headers, false)
|
|
404
|
+
assert.equal('cookie' in obj.req.headers, true)
|
|
403
405
|
})
|
|
404
406
|
|
|
405
|
-
test('redact – supports last position wildcard paths', async (
|
|
407
|
+
test('redact – supports last position wildcard paths', async () => {
|
|
406
408
|
const stream = sink()
|
|
407
409
|
const instance = pino({ redact: ['req.headers.*'] }, stream)
|
|
408
410
|
instance.info({
|
|
@@ -420,12 +422,12 @@ test('redact – supports last position wildcard paths', async ({ equal }) => {
|
|
|
420
422
|
}
|
|
421
423
|
})
|
|
422
424
|
const { req } = await once(stream, 'data')
|
|
423
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
424
|
-
equal(req.headers.host, '[Redacted]')
|
|
425
|
-
equal(req.headers.connection, '[Redacted]')
|
|
425
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
426
|
+
assert.equal(req.headers.host, '[Redacted]')
|
|
427
|
+
assert.equal(req.headers.connection, '[Redacted]')
|
|
426
428
|
})
|
|
427
429
|
|
|
428
|
-
test('redact – supports first position wildcard paths', async (
|
|
430
|
+
test('redact – supports first position wildcard paths', async () => {
|
|
429
431
|
const stream = sink()
|
|
430
432
|
const instance = pino({ redact: ['*.headers'] }, stream)
|
|
431
433
|
instance.info({
|
|
@@ -443,10 +445,10 @@ test('redact – supports first position wildcard paths', async ({ equal }) => {
|
|
|
443
445
|
}
|
|
444
446
|
})
|
|
445
447
|
const { req } = await once(stream, 'data')
|
|
446
|
-
equal(req.headers, '[Redacted]')
|
|
448
|
+
assert.equal(req.headers, '[Redacted]')
|
|
447
449
|
})
|
|
448
450
|
|
|
449
|
-
test('redact – supports first position wildcards before other paths', async (
|
|
451
|
+
test('redact – supports first position wildcards before other paths', async () => {
|
|
450
452
|
const stream = sink()
|
|
451
453
|
const instance = pino({ redact: ['*.headers.cookie', 'req.id'] }, stream)
|
|
452
454
|
instance.info({
|
|
@@ -464,11 +466,11 @@ test('redact – supports first position wildcards before other paths', async ({
|
|
|
464
466
|
}
|
|
465
467
|
})
|
|
466
468
|
const { req } = await once(stream, 'data')
|
|
467
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
468
|
-
equal(req.id, '[Redacted]')
|
|
469
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
470
|
+
assert.equal(req.id, '[Redacted]')
|
|
469
471
|
})
|
|
470
472
|
|
|
471
|
-
test('redact – supports first position wildcards after other paths', async (
|
|
473
|
+
test('redact – supports first position wildcards after other paths', async () => {
|
|
472
474
|
const stream = sink()
|
|
473
475
|
const instance = pino({ redact: ['req.id', '*.headers.cookie'] }, stream)
|
|
474
476
|
instance.info({
|
|
@@ -486,11 +488,11 @@ test('redact – supports first position wildcards after other paths', async ({
|
|
|
486
488
|
}
|
|
487
489
|
})
|
|
488
490
|
const { req } = await once(stream, 'data')
|
|
489
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
490
|
-
equal(req.id, '[Redacted]')
|
|
491
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
492
|
+
assert.equal(req.id, '[Redacted]')
|
|
491
493
|
})
|
|
492
494
|
|
|
493
|
-
test('redact – supports first position wildcards after top level keys', async (
|
|
495
|
+
test('redact – supports first position wildcards after top level keys', async () => {
|
|
494
496
|
const stream = sink()
|
|
495
497
|
const instance = pino({ redact: ['key', '*.headers.cookie'] }, stream)
|
|
496
498
|
instance.info({
|
|
@@ -508,10 +510,10 @@ test('redact – supports first position wildcards after top level keys', async
|
|
|
508
510
|
}
|
|
509
511
|
})
|
|
510
512
|
const { req } = await once(stream, 'data')
|
|
511
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
513
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
512
514
|
})
|
|
513
515
|
|
|
514
|
-
test('redact – supports top level wildcard', async (
|
|
516
|
+
test('redact – supports top level wildcard', async () => {
|
|
515
517
|
const stream = sink()
|
|
516
518
|
const instance = pino({ redact: ['*'] }, stream)
|
|
517
519
|
instance.info({
|
|
@@ -529,10 +531,10 @@ test('redact – supports top level wildcard', async ({ equal }) => {
|
|
|
529
531
|
}
|
|
530
532
|
})
|
|
531
533
|
const { req } = await once(stream, 'data')
|
|
532
|
-
equal(req, '[Redacted]')
|
|
534
|
+
assert.equal(req, '[Redacted]')
|
|
533
535
|
})
|
|
534
536
|
|
|
535
|
-
test('redact – supports top level wildcard with a censor function', async (
|
|
537
|
+
test('redact – supports top level wildcard with a censor function', async () => {
|
|
536
538
|
const stream = sink()
|
|
537
539
|
const instance = pino({
|
|
538
540
|
redact: {
|
|
@@ -555,10 +557,10 @@ test('redact – supports top level wildcard with a censor function', async ({ e
|
|
|
555
557
|
}
|
|
556
558
|
})
|
|
557
559
|
const { req } = await once(stream, 'data')
|
|
558
|
-
equal(req, '[Redacted]')
|
|
560
|
+
assert.equal(req, '[Redacted]')
|
|
559
561
|
})
|
|
560
562
|
|
|
561
|
-
test('redact – supports top level wildcard and leading wildcard', async (
|
|
563
|
+
test('redact – supports top level wildcard and leading wildcard', async () => {
|
|
562
564
|
const stream = sink()
|
|
563
565
|
const instance = pino({ redact: ['*', '*.req'] }, stream)
|
|
564
566
|
instance.info({
|
|
@@ -576,10 +578,10 @@ test('redact – supports top level wildcard and leading wildcard', async ({ equ
|
|
|
576
578
|
}
|
|
577
579
|
})
|
|
578
580
|
const { req } = await once(stream, 'data')
|
|
579
|
-
equal(req, '[Redacted]')
|
|
581
|
+
assert.equal(req, '[Redacted]')
|
|
580
582
|
})
|
|
581
583
|
|
|
582
|
-
test('redact – supports intermediate wildcard paths', async (
|
|
584
|
+
test('redact – supports intermediate wildcard paths', async () => {
|
|
583
585
|
const stream = sink()
|
|
584
586
|
const instance = pino({ redact: ['req.*.cookie'] }, stream)
|
|
585
587
|
instance.info({
|
|
@@ -597,10 +599,10 @@ test('redact – supports intermediate wildcard paths', async ({ equal }) => {
|
|
|
597
599
|
}
|
|
598
600
|
})
|
|
599
601
|
const { req } = await once(stream, 'data')
|
|
600
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
602
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
601
603
|
})
|
|
602
604
|
|
|
603
|
-
test('redacts numbers at the top level', async (
|
|
605
|
+
test('redacts numbers at the top level', async () => {
|
|
604
606
|
const stream = sink()
|
|
605
607
|
const instance = pino({ redact: ['id'] }, stream)
|
|
606
608
|
const obj = {
|
|
@@ -608,10 +610,10 @@ test('redacts numbers at the top level', async ({ equal }) => {
|
|
|
608
610
|
}
|
|
609
611
|
instance.info(obj)
|
|
610
612
|
const o = await once(stream, 'data')
|
|
611
|
-
equal(o.id, '[Redacted]')
|
|
613
|
+
assert.equal(o.id, '[Redacted]')
|
|
612
614
|
})
|
|
613
615
|
|
|
614
|
-
test('redacts booleans at the top level', async (
|
|
616
|
+
test('redacts booleans at the top level', async () => {
|
|
615
617
|
const stream = sink()
|
|
616
618
|
const instance = pino({ redact: ['maybe'] }, stream)
|
|
617
619
|
const obj = {
|
|
@@ -619,10 +621,10 @@ test('redacts booleans at the top level', async ({ equal }) => {
|
|
|
619
621
|
}
|
|
620
622
|
instance.info(obj)
|
|
621
623
|
const o = await once(stream, 'data')
|
|
622
|
-
equal(o.maybe, '[Redacted]')
|
|
624
|
+
assert.equal(o.maybe, '[Redacted]')
|
|
623
625
|
})
|
|
624
626
|
|
|
625
|
-
test('redacts strings at the top level', async (
|
|
627
|
+
test('redacts strings at the top level', async () => {
|
|
626
628
|
const stream = sink()
|
|
627
629
|
const instance = pino({ redact: ['s'] }, stream)
|
|
628
630
|
const obj = {
|
|
@@ -630,10 +632,10 @@ test('redacts strings at the top level', async ({ equal }) => {
|
|
|
630
632
|
}
|
|
631
633
|
instance.info(obj)
|
|
632
634
|
const o = await once(stream, 'data')
|
|
633
|
-
equal(o.s, '[Redacted]')
|
|
635
|
+
assert.equal(o.s, '[Redacted]')
|
|
634
636
|
})
|
|
635
637
|
|
|
636
|
-
test('does not redact primitives if not objects', async (
|
|
638
|
+
test('does not redact primitives if not objects', async () => {
|
|
637
639
|
const stream = sink()
|
|
638
640
|
const instance = pino({ redact: ['a.b'] }, stream)
|
|
639
641
|
const obj = {
|
|
@@ -641,10 +643,10 @@ test('does not redact primitives if not objects', async ({ equal }) => {
|
|
|
641
643
|
}
|
|
642
644
|
instance.info(obj)
|
|
643
645
|
const o = await once(stream, 'data')
|
|
644
|
-
equal(o.a, 42)
|
|
646
|
+
assert.equal(o.a, 42)
|
|
645
647
|
})
|
|
646
648
|
|
|
647
|
-
test('redacts null at the top level', async (
|
|
649
|
+
test('redacts null at the top level', async () => {
|
|
648
650
|
const stream = sink()
|
|
649
651
|
const instance = pino({ redact: ['n'] }, stream)
|
|
650
652
|
const obj = {
|
|
@@ -652,10 +654,10 @@ test('redacts null at the top level', async ({ equal }) => {
|
|
|
652
654
|
}
|
|
653
655
|
instance.info(obj)
|
|
654
656
|
const o = await once(stream, 'data')
|
|
655
|
-
equal(o.n, '[Redacted]')
|
|
657
|
+
assert.equal(o.n, '[Redacted]')
|
|
656
658
|
})
|
|
657
659
|
|
|
658
|
-
test('supports bracket notation', async (
|
|
660
|
+
test('supports bracket notation', async () => {
|
|
659
661
|
const stream = sink()
|
|
660
662
|
const instance = pino({ redact: ['a["b.b"]'] }, stream)
|
|
661
663
|
const obj = {
|
|
@@ -663,10 +665,10 @@ test('supports bracket notation', async ({ equal }) => {
|
|
|
663
665
|
}
|
|
664
666
|
instance.info(obj)
|
|
665
667
|
const o = await once(stream, 'data')
|
|
666
|
-
equal(o.a['b.b'], '[Redacted]')
|
|
668
|
+
assert.equal(o.a['b.b'], '[Redacted]')
|
|
667
669
|
})
|
|
668
670
|
|
|
669
|
-
test('supports bracket notation with further nesting', async (
|
|
671
|
+
test('supports bracket notation with further nesting', async () => {
|
|
670
672
|
const stream = sink()
|
|
671
673
|
const instance = pino({ redact: ['a["b.b"].c'] }, stream)
|
|
672
674
|
const obj = {
|
|
@@ -674,10 +676,10 @@ test('supports bracket notation with further nesting', async ({ equal }) => {
|
|
|
674
676
|
}
|
|
675
677
|
instance.info(obj)
|
|
676
678
|
const o = await once(stream, 'data')
|
|
677
|
-
equal(o.a['b.b'].c, '[Redacted]')
|
|
679
|
+
assert.equal(o.a['b.b'].c, '[Redacted]')
|
|
678
680
|
})
|
|
679
681
|
|
|
680
|
-
test('supports bracket notation with empty string as path segment', async (
|
|
682
|
+
test('supports bracket notation with empty string as path segment', async () => {
|
|
681
683
|
const stream = sink()
|
|
682
684
|
const instance = pino({ redact: ['a[""].c'] }, stream)
|
|
683
685
|
const obj = {
|
|
@@ -685,10 +687,10 @@ test('supports bracket notation with empty string as path segment', async ({ equ
|
|
|
685
687
|
}
|
|
686
688
|
instance.info(obj)
|
|
687
689
|
const o = await once(stream, 'data')
|
|
688
|
-
equal(o.a[''].c, '[Redacted]')
|
|
690
|
+
assert.equal(o.a[''].c, '[Redacted]')
|
|
689
691
|
})
|
|
690
692
|
|
|
691
|
-
test('supports leading bracket notation (single quote)', async (
|
|
693
|
+
test('supports leading bracket notation (single quote)', async () => {
|
|
692
694
|
const stream = sink()
|
|
693
695
|
const instance = pino({ redact: ['[\'a.a\'].b'] }, stream)
|
|
694
696
|
const obj = {
|
|
@@ -696,10 +698,10 @@ test('supports leading bracket notation (single quote)', async ({ equal }) => {
|
|
|
696
698
|
}
|
|
697
699
|
instance.info(obj)
|
|
698
700
|
const o = await once(stream, 'data')
|
|
699
|
-
equal(o['a.a'].b, '[Redacted]')
|
|
701
|
+
assert.equal(o['a.a'].b, '[Redacted]')
|
|
700
702
|
})
|
|
701
703
|
|
|
702
|
-
test('supports leading bracket notation (double quote)', async (
|
|
704
|
+
test('supports leading bracket notation (double quote)', async () => {
|
|
703
705
|
const stream = sink()
|
|
704
706
|
const instance = pino({ redact: ['["a.a"].b'] }, stream)
|
|
705
707
|
const obj = {
|
|
@@ -707,10 +709,10 @@ test('supports leading bracket notation (double quote)', async ({ equal }) => {
|
|
|
707
709
|
}
|
|
708
710
|
instance.info(obj)
|
|
709
711
|
const o = await once(stream, 'data')
|
|
710
|
-
equal(o['a.a'].b, '[Redacted]')
|
|
712
|
+
assert.equal(o['a.a'].b, '[Redacted]')
|
|
711
713
|
})
|
|
712
714
|
|
|
713
|
-
test('supports leading bracket notation (backtick quote)', async (
|
|
715
|
+
test('supports leading bracket notation (backtick quote)', async () => {
|
|
714
716
|
const stream = sink()
|
|
715
717
|
const instance = pino({ redact: ['[`a.a`].b'] }, stream)
|
|
716
718
|
const obj = {
|
|
@@ -718,10 +720,10 @@ test('supports leading bracket notation (backtick quote)', async ({ equal }) =>
|
|
|
718
720
|
}
|
|
719
721
|
instance.info(obj)
|
|
720
722
|
const o = await once(stream, 'data')
|
|
721
|
-
equal(o['a.a'].b, '[Redacted]')
|
|
723
|
+
assert.equal(o['a.a'].b, '[Redacted]')
|
|
722
724
|
})
|
|
723
725
|
|
|
724
|
-
test('supports leading bracket notation (single-segment path)', async (
|
|
726
|
+
test('supports leading bracket notation (single-segment path)', async () => {
|
|
725
727
|
const stream = sink()
|
|
726
728
|
const instance = pino({ redact: ['[`a.a`]'] }, stream)
|
|
727
729
|
const obj = {
|
|
@@ -729,10 +731,10 @@ test('supports leading bracket notation (single-segment path)', async ({ equal }
|
|
|
729
731
|
}
|
|
730
732
|
instance.info(obj)
|
|
731
733
|
const o = await once(stream, 'data')
|
|
732
|
-
equal(o['a.a'], '[Redacted]')
|
|
734
|
+
assert.equal(o['a.a'], '[Redacted]')
|
|
733
735
|
})
|
|
734
736
|
|
|
735
|
-
test('supports leading bracket notation (single-segment path, wildcard)', async (
|
|
737
|
+
test('supports leading bracket notation (single-segment path, wildcard)', async () => {
|
|
736
738
|
const stream = sink()
|
|
737
739
|
const instance = pino({ redact: ['[*]'] }, stream)
|
|
738
740
|
const obj = {
|
|
@@ -740,10 +742,10 @@ test('supports leading bracket notation (single-segment path, wildcard)', async
|
|
|
740
742
|
}
|
|
741
743
|
instance.info(obj)
|
|
742
744
|
const o = await once(stream, 'data')
|
|
743
|
-
equal(o['a.a'], '[Redacted]')
|
|
745
|
+
assert.equal(o['a.a'], '[Redacted]')
|
|
744
746
|
})
|
|
745
747
|
|
|
746
|
-
test('child bindings are redacted using wildcard path', async (
|
|
748
|
+
test('child bindings are redacted using wildcard path', async () => {
|
|
747
749
|
const stream = sink()
|
|
748
750
|
const instance = pino({ redact: ['*.headers.cookie'] }, stream)
|
|
749
751
|
instance.child({
|
|
@@ -756,10 +758,10 @@ test('child bindings are redacted using wildcard path', async ({ equal }) => {
|
|
|
756
758
|
}
|
|
757
759
|
}).info('message completed')
|
|
758
760
|
const { req } = await once(stream, 'data')
|
|
759
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
761
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
760
762
|
})
|
|
761
763
|
|
|
762
|
-
test('child bindings are redacted using wildcard and plain path keys', async (
|
|
764
|
+
test('child bindings are redacted using wildcard and plain path keys', async () => {
|
|
763
765
|
const stream = sink()
|
|
764
766
|
const instance = pino({ redact: ['req.method', '*.headers.cookie'] }, stream)
|
|
765
767
|
instance.child({
|
|
@@ -772,11 +774,11 @@ test('child bindings are redacted using wildcard and plain path keys', async ({
|
|
|
772
774
|
}
|
|
773
775
|
}).info('message completed')
|
|
774
776
|
const { req } = await once(stream, 'data')
|
|
775
|
-
equal(req.headers.cookie, '[Redacted]')
|
|
776
|
-
equal(req.method, '[Redacted]')
|
|
777
|
+
assert.equal(req.headers.cookie, '[Redacted]')
|
|
778
|
+
assert.equal(req.method, '[Redacted]')
|
|
777
779
|
})
|
|
778
780
|
|
|
779
|
-
test('redacts boolean at the top level', async (
|
|
781
|
+
test('redacts boolean at the top level', async () => {
|
|
780
782
|
const stream = sink()
|
|
781
783
|
const instance = pino({ redact: ['msg'] }, stream)
|
|
782
784
|
const obj = {
|
|
@@ -784,11 +786,11 @@ test('redacts boolean at the top level', async ({ equal }) => {
|
|
|
784
786
|
}
|
|
785
787
|
instance.info(obj, true)
|
|
786
788
|
const o = await once(stream, 'data')
|
|
787
|
-
equal(o.s, 's')
|
|
788
|
-
equal(o.msg, '[Redacted]')
|
|
789
|
+
assert.equal(o.s, 's')
|
|
790
|
+
assert.equal(o.msg, '[Redacted]')
|
|
789
791
|
})
|
|
790
792
|
|
|
791
|
-
test('child can customize redact', async (
|
|
793
|
+
test('child can customize redact', async () => {
|
|
792
794
|
const stream = sink()
|
|
793
795
|
const instance = pino({ redact: ['req.method', '*.headers.cookie'] }, stream)
|
|
794
796
|
instance.child({
|
|
@@ -803,12 +805,12 @@ test('child can customize redact', async ({ equal }) => {
|
|
|
803
805
|
redact: ['req.url']
|
|
804
806
|
}).info('message completed')
|
|
805
807
|
const { req } = await once(stream, 'data')
|
|
806
|
-
equal(req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;')
|
|
807
|
-
equal(req.method, 'GET')
|
|
808
|
-
equal(req.url, '[Redacted]')
|
|
808
|
+
assert.equal(req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;')
|
|
809
|
+
assert.equal(req.method, 'GET')
|
|
810
|
+
assert.equal(req.url, '[Redacted]')
|
|
809
811
|
})
|
|
810
812
|
|
|
811
|
-
test('child can remove parent redact by array', async (
|
|
813
|
+
test('child can remove parent redact by array', async () => {
|
|
812
814
|
const stream = sink()
|
|
813
815
|
const instance = pino({ redact: ['req.method', '*.headers.cookie'] }, stream)
|
|
814
816
|
instance.child({
|
|
@@ -823,11 +825,11 @@ test('child can remove parent redact by array', async ({ equal }) => {
|
|
|
823
825
|
redact: []
|
|
824
826
|
}).info('message completed')
|
|
825
827
|
const { req } = await once(stream, 'data')
|
|
826
|
-
equal(req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;')
|
|
827
|
-
equal(req.method, 'GET')
|
|
828
|
+
assert.equal(req.headers.cookie, 'SESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;')
|
|
829
|
+
assert.equal(req.method, 'GET')
|
|
828
830
|
})
|
|
829
831
|
|
|
830
|
-
test('redact safe stringify', async (
|
|
832
|
+
test('redact safe stringify', async () => {
|
|
831
833
|
const stream = sink()
|
|
832
834
|
const instance = pino({ redact: { paths: ['that.secret'] } }, stream)
|
|
833
835
|
|
|
@@ -841,7 +843,51 @@ test('redact safe stringify', async ({ equal }) => {
|
|
|
841
843
|
}
|
|
842
844
|
})
|
|
843
845
|
const { that, other } = await once(stream, 'data')
|
|
844
|
-
equal(that.secret, '[Redacted]')
|
|
845
|
-
equal(that.myBigInt, 123)
|
|
846
|
-
equal(other.mySecondBigInt, 222)
|
|
846
|
+
assert.equal(that.secret, '[Redacted]')
|
|
847
|
+
assert.equal(that.myBigInt, 123)
|
|
848
|
+
assert.equal(other.mySecondBigInt, 222)
|
|
849
|
+
})
|
|
850
|
+
|
|
851
|
+
test('censor function should not be called for non-existent nested paths (issue #2313)', async () => {
|
|
852
|
+
const stream = sink()
|
|
853
|
+
const censorCalls = []
|
|
854
|
+
|
|
855
|
+
const instance = pino({
|
|
856
|
+
redact: {
|
|
857
|
+
paths: ['a.b.c', 'req.authorization', 'url'],
|
|
858
|
+
censor (value, path) {
|
|
859
|
+
censorCalls.push({ value, path: path.join('.') })
|
|
860
|
+
if (typeof value !== 'string') {
|
|
861
|
+
return '***'
|
|
862
|
+
}
|
|
863
|
+
return '***'
|
|
864
|
+
}
|
|
865
|
+
}
|
|
866
|
+
}, stream)
|
|
867
|
+
|
|
868
|
+
// Test case 1: parent exists but nested path doesn't
|
|
869
|
+
censorCalls.length = 0
|
|
870
|
+
instance.info({ req: { id: 'test' } }, 'test message')
|
|
871
|
+
await once(stream, 'data')
|
|
872
|
+
assert.equal(censorCalls.length, 0, 'censor should not be called when req.authorization does not exist')
|
|
873
|
+
|
|
874
|
+
// Test case 2: parent exists but deeply nested path doesn't
|
|
875
|
+
censorCalls.length = 0
|
|
876
|
+
instance.info({ a: { d: 'test' } }, 'test message')
|
|
877
|
+
await once(stream, 'data')
|
|
878
|
+
assert.equal(censorCalls.length, 0, 'censor should not be called when a.b.c does not exist')
|
|
879
|
+
|
|
880
|
+
// Test case 3: multiple parent keys exist but nested paths don't
|
|
881
|
+
censorCalls.length = 0
|
|
882
|
+
instance.info({ a: { c: 'should-not-show-me' }, req: { id: 'test' } }, 'test message')
|
|
883
|
+
await once(stream, 'data')
|
|
884
|
+
assert.equal(censorCalls.length, 0, 'censor should not be called when neither a.b.c nor req.authorization exist')
|
|
885
|
+
|
|
886
|
+
// Test case 4: verify censor IS called when path exists
|
|
887
|
+
censorCalls.length = 0
|
|
888
|
+
instance.info({ req: { authorization: 'bearer token' } }, 'test message')
|
|
889
|
+
await once(stream, 'data')
|
|
890
|
+
assert.equal(censorCalls.length, 1, 'censor should be called when req.authorization exists')
|
|
891
|
+
assert.equal(censorCalls[0].path, 'req.authorization')
|
|
892
|
+
assert.equal(censorCalls[0].value, 'bearer token')
|
|
847
893
|
})
|