@contrast/agent-bundle 5.47.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/node_modules/@contrast/agent/package.json +10 -10
- package/node_modules/@contrast/agentify/package.json +14 -14
- package/node_modules/@contrast/architecture-components/package.json +4 -4
- package/node_modules/@contrast/assess/lib/configuration-analysis/install/apollo-server.js +1 -1
- package/node_modules/@contrast/assess/lib/configuration-analysis/install/graphql-yoga.js +1 -1
- package/node_modules/@contrast/assess/lib/dataflow/sinks/install/fs.js +8 -15
- package/node_modules/@contrast/assess/package.json +11 -11
- package/node_modules/@contrast/config/package.json +2 -2
- package/node_modules/@contrast/core/package.json +4 -4
- package/node_modules/@contrast/deadzones/package.json +4 -4
- 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 +2 -1
- package/node_modules/@contrast/dep-hooks/lib/package-finder.js +11 -2
- package/node_modules/@contrast/dep-hooks/package.json +3 -3
- package/node_modules/@contrast/esm-hooks/package.json +5 -5
- package/node_modules/@contrast/instrumentation/package.json +4 -4
- package/node_modules/@contrast/library-analysis/lib/install/library-reporting/dep.json +144 -202
- package/node_modules/@contrast/library-analysis/package.json +3 -3
- package/node_modules/@contrast/logger/package.json +3 -3
- package/node_modules/@contrast/metrics/package.json +5 -5
- package/node_modules/@contrast/patcher/package.json +2 -2
- package/node_modules/@contrast/protect/lib/input-tracing/install/fs.js +0 -8
- package/node_modules/@contrast/protect/package.json +10 -10
- package/node_modules/@contrast/reporter/package.json +5 -5
- package/node_modules/@contrast/rewriter/package.json +4 -4
- package/node_modules/@contrast/route-coverage/lib/index.d.ts +2 -0
- package/node_modules/@contrast/route-coverage/lib/index.js +2 -1
- 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} +12 -12
- package/node_modules/@contrast/route-coverage/lib/install/{express → fastify}/index.js +6 -5
- package/node_modules/@contrast/route-coverage/lib/install/koa.js +39 -45
- package/node_modules/@contrast/route-coverage/lib/utils/route-info.js +26 -1
- package/node_modules/@contrast/route-coverage/package.json +7 -7
- package/node_modules/@contrast/scopes/package.json +5 -5
- package/node_modules/@contrast/sec-obs/package.json +8 -8
- package/node_modules/@contrast/sources/package.json +2 -2
- package/node_modules/@contrast/telemetry/package.json +4 -4
- 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/{abort-controller → @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/console.d.ts +3 -2
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/process.d.ts +7 -0
- package/node_modules/@types/node/sqlite.d.ts +107 -0
- package/node_modules/@types/node/url.d.ts +32 -8
- package/node_modules/axios/CHANGELOG.md +18 -0
- package/node_modules/axios/README.md +1 -4
- package/node_modules/axios/dist/axios.js +2 -2
- 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 +2 -2
- package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
- package/node_modules/axios/dist/esm/axios.js +2 -2
- 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 +25 -20
- package/node_modules/axios/dist/node/axios.cjs.map +1 -1
- package/node_modules/axios/lib/adapters/http.js +22 -18
- package/node_modules/axios/lib/env/data.js +1 -1
- package/node_modules/axios/package.json +1 -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 +8 -1
- package/node_modules/node-abi/package.json +1 -1
- 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/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/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 +2 -2
- 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 -553
- 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/LICENSE +0 -21
- 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
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
const { test } = require('node:test')
|
|
2
|
+
const { strict: assert } = require('node:assert')
|
|
3
|
+
const slowRedact = require('../index.js')
|
|
4
|
+
|
|
5
|
+
/* eslint-disable no-proto */
|
|
6
|
+
|
|
7
|
+
test('prototype pollution: __proto__ path should not pollute Object prototype', () => {
|
|
8
|
+
const obj = {
|
|
9
|
+
user: { name: 'john' },
|
|
10
|
+
__proto__: { isAdmin: true }
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const redact = slowRedact({
|
|
14
|
+
paths: ['__proto__.isAdmin'],
|
|
15
|
+
serialize: false
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
const result = redact(obj)
|
|
19
|
+
|
|
20
|
+
// Should not pollute Object.prototype
|
|
21
|
+
assert.strictEqual(Object.prototype.isAdmin, undefined)
|
|
22
|
+
assert.strictEqual({}.isAdmin, undefined)
|
|
23
|
+
|
|
24
|
+
// Should redact the __proto__ property if it exists as a regular property
|
|
25
|
+
assert.strictEqual(result.__proto__.isAdmin, '[REDACTED]')
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
test('prototype pollution: constructor.prototype path should not pollute', () => {
|
|
29
|
+
const obj = {
|
|
30
|
+
user: { name: 'john' },
|
|
31
|
+
constructor: {
|
|
32
|
+
prototype: { isAdmin: true }
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const redact = slowRedact({
|
|
37
|
+
paths: ['constructor.prototype.isAdmin'],
|
|
38
|
+
serialize: false
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
const result = redact(obj)
|
|
42
|
+
|
|
43
|
+
// Should not pollute Object.prototype
|
|
44
|
+
assert.strictEqual(Object.prototype.isAdmin, undefined)
|
|
45
|
+
assert.strictEqual({}.isAdmin, undefined)
|
|
46
|
+
|
|
47
|
+
// Should redact the constructor.prototype property if it exists as a regular property
|
|
48
|
+
assert.strictEqual(result.constructor.prototype.isAdmin, '[REDACTED]')
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
test('prototype pollution: nested __proto__ should not pollute', () => {
|
|
52
|
+
const obj = {
|
|
53
|
+
user: {
|
|
54
|
+
settings: {
|
|
55
|
+
__proto__: { isAdmin: true }
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const redact = slowRedact({
|
|
61
|
+
paths: ['user.settings.__proto__.isAdmin'],
|
|
62
|
+
serialize: false
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
const result = redact(obj)
|
|
66
|
+
|
|
67
|
+
// Should not pollute Object.prototype
|
|
68
|
+
assert.strictEqual(Object.prototype.isAdmin, undefined)
|
|
69
|
+
assert.strictEqual({}.isAdmin, undefined)
|
|
70
|
+
|
|
71
|
+
// Should redact the nested __proto__ property
|
|
72
|
+
assert.strictEqual(result.user.settings.__proto__.isAdmin, '[REDACTED]')
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
test('prototype pollution: bracket notation __proto__ should not pollute', () => {
|
|
76
|
+
const obj = {
|
|
77
|
+
user: { name: 'john' },
|
|
78
|
+
__proto__: { isAdmin: true }
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const redact = slowRedact({
|
|
82
|
+
paths: ['["__proto__"]["isAdmin"]'],
|
|
83
|
+
serialize: false
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
const result = redact(obj)
|
|
87
|
+
|
|
88
|
+
// Should not pollute Object.prototype
|
|
89
|
+
assert.strictEqual(Object.prototype.isAdmin, undefined)
|
|
90
|
+
assert.strictEqual({}.isAdmin, undefined)
|
|
91
|
+
|
|
92
|
+
// Should redact the __proto__ property when accessed via bracket notation
|
|
93
|
+
assert.strictEqual(result.__proto__.isAdmin, '[REDACTED]')
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
test('prototype pollution: wildcard with __proto__ should not pollute', () => {
|
|
97
|
+
const obj = {
|
|
98
|
+
users: {
|
|
99
|
+
__proto__: { isAdmin: true },
|
|
100
|
+
user1: { name: 'john' },
|
|
101
|
+
user2: { name: 'jane' }
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const redact = slowRedact({
|
|
106
|
+
paths: ['users.*'],
|
|
107
|
+
serialize: false
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
const result = redact(obj)
|
|
111
|
+
|
|
112
|
+
// Should not pollute Object.prototype
|
|
113
|
+
assert.strictEqual(Object.prototype.isAdmin, undefined)
|
|
114
|
+
assert.strictEqual({}.isAdmin, undefined)
|
|
115
|
+
|
|
116
|
+
// Should redact only own properties
|
|
117
|
+
assert.strictEqual(result.users.user1, '[REDACTED]')
|
|
118
|
+
assert.strictEqual(result.users.user2, '[REDACTED]')
|
|
119
|
+
|
|
120
|
+
// __proto__ should only be redacted if it's an own property, not inherited
|
|
121
|
+
if (Object.prototype.hasOwnProperty.call(obj.users, '__proto__')) {
|
|
122
|
+
assert.strictEqual(result.users.__proto__, '[REDACTED]')
|
|
123
|
+
}
|
|
124
|
+
})
|
|
125
|
+
|
|
126
|
+
test('prototype pollution: malicious JSON payload should not pollute', () => {
|
|
127
|
+
// Simulate a malicious payload that might come from JSON.parse
|
|
128
|
+
const maliciousObj = JSON.parse('{"user": {"name": "john"}, "__proto__": {"isAdmin": true}}')
|
|
129
|
+
|
|
130
|
+
const redact = slowRedact({
|
|
131
|
+
paths: ['__proto__.isAdmin'],
|
|
132
|
+
serialize: false
|
|
133
|
+
})
|
|
134
|
+
|
|
135
|
+
const result = redact(maliciousObj)
|
|
136
|
+
|
|
137
|
+
// Should not pollute Object.prototype
|
|
138
|
+
assert.strictEqual(Object.prototype.isAdmin, undefined)
|
|
139
|
+
assert.strictEqual({}.isAdmin, undefined)
|
|
140
|
+
|
|
141
|
+
// The malicious payload should have been redacted
|
|
142
|
+
assert.strictEqual(result.__proto__.isAdmin, '[REDACTED]')
|
|
143
|
+
})
|
|
144
|
+
|
|
145
|
+
test('prototype pollution: verify prototype chain is preserved', () => {
|
|
146
|
+
function CustomClass () {
|
|
147
|
+
this.data = 'test'
|
|
148
|
+
}
|
|
149
|
+
CustomClass.prototype.method = function () { return 'original' }
|
|
150
|
+
|
|
151
|
+
const obj = new CustomClass()
|
|
152
|
+
|
|
153
|
+
const redact = slowRedact({
|
|
154
|
+
paths: ['data'],
|
|
155
|
+
serialize: false
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
const result = redact(obj)
|
|
159
|
+
|
|
160
|
+
// Should redact the data property
|
|
161
|
+
assert.strictEqual(result.data, '[REDACTED]')
|
|
162
|
+
|
|
163
|
+
// Should preserve the original prototype chain
|
|
164
|
+
assert.strictEqual(result.method(), 'original')
|
|
165
|
+
assert.strictEqual(Object.getPrototypeOf(result), CustomClass.prototype)
|
|
166
|
+
})
|
|
167
|
+
|
|
168
|
+
test('prototype pollution: setValue should not create prototype pollution', () => {
|
|
169
|
+
const obj = { user: { name: 'john' } }
|
|
170
|
+
|
|
171
|
+
// Try to pollute via non-existent path that could create __proto__
|
|
172
|
+
const redact = slowRedact({
|
|
173
|
+
paths: ['__proto__.isAdmin'],
|
|
174
|
+
serialize: false
|
|
175
|
+
})
|
|
176
|
+
|
|
177
|
+
const result = redact(obj)
|
|
178
|
+
|
|
179
|
+
// Should not pollute Object.prototype
|
|
180
|
+
assert.strictEqual(Object.prototype.isAdmin, undefined)
|
|
181
|
+
assert.strictEqual({}.isAdmin, undefined)
|
|
182
|
+
|
|
183
|
+
// Should not create the path if it doesn't exist
|
|
184
|
+
// The __proto__ property may exist due to Object.create, but should not contain our redacted value
|
|
185
|
+
if (result.__proto__) {
|
|
186
|
+
assert.strictEqual(result.__proto__.isAdmin, undefined)
|
|
187
|
+
}
|
|
188
|
+
})
|
|
189
|
+
|
|
190
|
+
test('prototype pollution: deep nested prototype properties should not pollute', () => {
|
|
191
|
+
const obj = {
|
|
192
|
+
level1: {
|
|
193
|
+
level2: {
|
|
194
|
+
level3: {
|
|
195
|
+
__proto__: { isAdmin: true },
|
|
196
|
+
constructor: {
|
|
197
|
+
prototype: { isEvil: true }
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
const redact = slowRedact({
|
|
205
|
+
paths: [
|
|
206
|
+
'level1.level2.level3.__proto__.isAdmin',
|
|
207
|
+
'level1.level2.level3.constructor.prototype.isEvil'
|
|
208
|
+
],
|
|
209
|
+
serialize: false
|
|
210
|
+
})
|
|
211
|
+
|
|
212
|
+
const result = redact(obj)
|
|
213
|
+
|
|
214
|
+
// Should not pollute Object.prototype
|
|
215
|
+
assert.strictEqual(Object.prototype.isAdmin, undefined)
|
|
216
|
+
assert.strictEqual(Object.prototype.isEvil, undefined)
|
|
217
|
+
assert.strictEqual({}.isAdmin, undefined)
|
|
218
|
+
assert.strictEqual({}.isEvil, undefined)
|
|
219
|
+
|
|
220
|
+
// Should redact the deep nested properties
|
|
221
|
+
assert.strictEqual(result.level1.level2.level3.__proto__.isAdmin, '[REDACTED]')
|
|
222
|
+
assert.strictEqual(result.level1.level2.level3.constructor.prototype.isEvil, '[REDACTED]')
|
|
223
|
+
})
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
const { test } = require('node:test')
|
|
2
|
+
const { strict: assert } = require('node:assert')
|
|
3
|
+
const slowRedact = require('../index.js')
|
|
4
|
+
|
|
5
|
+
test('selective cloning shares references for non-redacted paths', () => {
|
|
6
|
+
const sharedObject = { unchanged: 'data' }
|
|
7
|
+
const obj = {
|
|
8
|
+
toRedact: 'secret',
|
|
9
|
+
shared: sharedObject,
|
|
10
|
+
nested: {
|
|
11
|
+
toRedact: 'secret2',
|
|
12
|
+
shared: sharedObject
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const redact = slowRedact({
|
|
17
|
+
paths: ['toRedact', 'nested.toRedact'],
|
|
18
|
+
serialize: false
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
const result = redact(obj)
|
|
22
|
+
|
|
23
|
+
// Redacted values should be different
|
|
24
|
+
assert.strictEqual(result.toRedact, '[REDACTED]')
|
|
25
|
+
assert.strictEqual(result.nested.toRedact, '[REDACTED]')
|
|
26
|
+
|
|
27
|
+
// Non-redacted references should be shared (same object reference)
|
|
28
|
+
assert.strictEqual(result.shared, obj.shared)
|
|
29
|
+
assert.strictEqual(result.nested.shared, obj.nested.shared)
|
|
30
|
+
|
|
31
|
+
// The shared object should be the exact same reference
|
|
32
|
+
assert.strictEqual(result.shared, sharedObject)
|
|
33
|
+
assert.strictEqual(result.nested.shared, sharedObject)
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
test('selective cloning works with arrays', () => {
|
|
37
|
+
const sharedItem = { unchanged: 'data' }
|
|
38
|
+
const obj = {
|
|
39
|
+
items: [
|
|
40
|
+
{ secret: 'hidden1', shared: sharedItem },
|
|
41
|
+
{ secret: 'hidden2', shared: sharedItem },
|
|
42
|
+
sharedItem
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const redact = slowRedact({
|
|
47
|
+
paths: ['items.*.secret'],
|
|
48
|
+
serialize: false
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
const result = redact(obj)
|
|
52
|
+
|
|
53
|
+
// Secrets should be redacted
|
|
54
|
+
assert.strictEqual(result.items[0].secret, '[REDACTED]')
|
|
55
|
+
assert.strictEqual(result.items[1].secret, '[REDACTED]')
|
|
56
|
+
|
|
57
|
+
// Shared references should be preserved where possible
|
|
58
|
+
// Note: array items with secrets will be cloned, but their shared properties should still reference the original
|
|
59
|
+
assert.strictEqual(result.items[0].shared, sharedItem)
|
|
60
|
+
assert.strictEqual(result.items[1].shared, sharedItem)
|
|
61
|
+
|
|
62
|
+
// The third item gets cloned due to wildcard, but should have the same content
|
|
63
|
+
assert.deepStrictEqual(result.items[2], sharedItem)
|
|
64
|
+
// Note: Due to wildcard '*', all array items are cloned, even if they don't need redaction
|
|
65
|
+
// This is still a significant optimization for object properties that aren't in wildcard paths
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
test('selective cloning with no paths returns original object', () => {
|
|
69
|
+
const obj = { data: 'unchanged' }
|
|
70
|
+
const redact = slowRedact({
|
|
71
|
+
paths: [],
|
|
72
|
+
serialize: false
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
const result = redact(obj)
|
|
76
|
+
|
|
77
|
+
// Should return the exact same object reference
|
|
78
|
+
assert.strictEqual(result, obj)
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
test('selective cloning performance - large objects with minimal redaction', () => {
|
|
82
|
+
// Create a large object with mostly shared data
|
|
83
|
+
const sharedData = { large: 'data'.repeat(1000) }
|
|
84
|
+
const obj = {
|
|
85
|
+
secret: 'hidden',
|
|
86
|
+
shared1: sharedData,
|
|
87
|
+
shared2: sharedData,
|
|
88
|
+
nested: {
|
|
89
|
+
secret: 'hidden2',
|
|
90
|
+
shared3: sharedData,
|
|
91
|
+
deep: {
|
|
92
|
+
shared4: sharedData,
|
|
93
|
+
moreShared: sharedData
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const redact = slowRedact({
|
|
99
|
+
paths: ['secret', 'nested.secret'],
|
|
100
|
+
serialize: false
|
|
101
|
+
})
|
|
102
|
+
|
|
103
|
+
const result = redact(obj)
|
|
104
|
+
|
|
105
|
+
// Verify redaction worked
|
|
106
|
+
assert.strictEqual(result.secret, '[REDACTED]')
|
|
107
|
+
assert.strictEqual(result.nested.secret, '[REDACTED]')
|
|
108
|
+
|
|
109
|
+
// Verify shared references are preserved
|
|
110
|
+
assert.strictEqual(result.shared1, sharedData)
|
|
111
|
+
assert.strictEqual(result.shared2, sharedData)
|
|
112
|
+
assert.strictEqual(result.nested.shared3, sharedData)
|
|
113
|
+
assert.strictEqual(result.nested.deep.shared4, sharedData)
|
|
114
|
+
assert.strictEqual(result.nested.deep.moreShared, sharedData)
|
|
115
|
+
})
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"module": "commonjs",
|
|
4
|
+
"lib": [
|
|
5
|
+
"es6"
|
|
6
|
+
],
|
|
7
|
+
"noImplicitAny": true,
|
|
8
|
+
"noImplicitThis": true,
|
|
9
|
+
"strictFunctionTypes": true,
|
|
10
|
+
"strictNullChecks": true,
|
|
11
|
+
"types": [],
|
|
12
|
+
"noEmit": true,
|
|
13
|
+
"forceConsistentCasingInFileNames": true
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"index.d.ts",
|
|
17
|
+
"index.test-d.ts"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
|
|
|
8
8
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
|
|
9
9
|
|
|
10
10
|
### Additional Details
|
|
11
|
-
* Last updated: Tue,
|
|
11
|
+
* Last updated: Tue, 11 Nov 2025 23:33:13 GMT
|
|
12
12
|
* Dependencies: [undici-types](https://npmjs.com/package/undici-types)
|
|
13
13
|
|
|
14
14
|
# Credits
|
|
@@ -431,9 +431,10 @@ declare module "node:console" {
|
|
|
431
431
|
colorMode?: boolean | "auto" | undefined;
|
|
432
432
|
/**
|
|
433
433
|
* Specifies options that are passed along to
|
|
434
|
-
*
|
|
434
|
+
* `util.inspect()`. Can be an options object or, if different options
|
|
435
|
+
* for stdout and stderr are desired, a `Map` from stream objects to options.
|
|
435
436
|
*/
|
|
436
|
-
inspectOptions?: InspectOptions | undefined;
|
|
437
|
+
inspectOptions?: InspectOptions | ReadonlyMap<NodeJS.WritableStream, InspectOptions> | undefined;
|
|
437
438
|
/**
|
|
438
439
|
* Set group indentation.
|
|
439
440
|
* @default 2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/node",
|
|
3
|
-
"version": "24.
|
|
3
|
+
"version": "24.10.1",
|
|
4
4
|
"description": "TypeScript definitions for node",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
|
6
6
|
"license": "MIT",
|
|
@@ -150,6 +150,6 @@
|
|
|
150
150
|
"undici-types": "~7.16.0"
|
|
151
151
|
},
|
|
152
152
|
"peerDependencies": {},
|
|
153
|
-
"typesPublisherContentHash": "
|
|
153
|
+
"typesPublisherContentHash": "bf541e42e173a984f57b649839d3371001c98469b0e8944f7762074aed2acd2f",
|
|
154
154
|
"typeScriptVersion": "5.2"
|
|
155
155
|
}
|
|
@@ -1969,6 +1969,7 @@ declare module "process" {
|
|
|
1969
1969
|
addListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
|
|
1970
1970
|
addListener(event: "warning", listener: WarningListener): this;
|
|
1971
1971
|
addListener(event: "message", listener: MessageListener): this;
|
|
1972
|
+
addListener(event: "workerMessage", listener: (value: any, source: number) => void): this;
|
|
1972
1973
|
addListener(event: Signals, listener: SignalsListener): this;
|
|
1973
1974
|
addListener(event: "multipleResolves", listener: MultipleResolveListener): this;
|
|
1974
1975
|
addListener(event: "worker", listener: WorkerListener): this;
|
|
@@ -1981,6 +1982,7 @@ declare module "process" {
|
|
|
1981
1982
|
emit(event: "unhandledRejection", reason: unknown, promise: Promise<unknown>): boolean;
|
|
1982
1983
|
emit(event: "warning", warning: Error): boolean;
|
|
1983
1984
|
emit(event: "message", message: unknown, sendHandle: SendHandle): this;
|
|
1985
|
+
emit(event: "workerMessage", value: any, source: number): this;
|
|
1984
1986
|
emit(event: Signals, signal?: Signals): boolean;
|
|
1985
1987
|
emit(
|
|
1986
1988
|
event: "multipleResolves",
|
|
@@ -1998,6 +2000,7 @@ declare module "process" {
|
|
|
1998
2000
|
on(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
|
|
1999
2001
|
on(event: "warning", listener: WarningListener): this;
|
|
2000
2002
|
on(event: "message", listener: MessageListener): this;
|
|
2003
|
+
on(event: "workerMessage", listener: (value: any, source: number) => void): this;
|
|
2001
2004
|
on(event: Signals, listener: SignalsListener): this;
|
|
2002
2005
|
on(event: "multipleResolves", listener: MultipleResolveListener): this;
|
|
2003
2006
|
on(event: "worker", listener: WorkerListener): this;
|
|
@@ -2011,6 +2014,7 @@ declare module "process" {
|
|
|
2011
2014
|
once(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
|
|
2012
2015
|
once(event: "warning", listener: WarningListener): this;
|
|
2013
2016
|
once(event: "message", listener: MessageListener): this;
|
|
2017
|
+
once(event: "workerMessage", listener: (value: any, source: number) => void): this;
|
|
2014
2018
|
once(event: Signals, listener: SignalsListener): this;
|
|
2015
2019
|
once(event: "multipleResolves", listener: MultipleResolveListener): this;
|
|
2016
2020
|
once(event: "worker", listener: WorkerListener): this;
|
|
@@ -2024,6 +2028,7 @@ declare module "process" {
|
|
|
2024
2028
|
prependListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
|
|
2025
2029
|
prependListener(event: "warning", listener: WarningListener): this;
|
|
2026
2030
|
prependListener(event: "message", listener: MessageListener): this;
|
|
2031
|
+
prependListener(event: "workerMessage", listener: (value: any, source: number) => void): this;
|
|
2027
2032
|
prependListener(event: Signals, listener: SignalsListener): this;
|
|
2028
2033
|
prependListener(event: "multipleResolves", listener: MultipleResolveListener): this;
|
|
2029
2034
|
prependListener(event: "worker", listener: WorkerListener): this;
|
|
@@ -2036,6 +2041,7 @@ declare module "process" {
|
|
|
2036
2041
|
prependOnceListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
|
|
2037
2042
|
prependOnceListener(event: "warning", listener: WarningListener): this;
|
|
2038
2043
|
prependOnceListener(event: "message", listener: MessageListener): this;
|
|
2044
|
+
prependOnceListener(event: "workerMessage", listener: (value: any, source: number) => void): this;
|
|
2039
2045
|
prependOnceListener(event: Signals, listener: SignalsListener): this;
|
|
2040
2046
|
prependOnceListener(event: "multipleResolves", listener: MultipleResolveListener): this;
|
|
2041
2047
|
prependOnceListener(event: "worker", listener: WorkerListener): this;
|
|
@@ -2048,6 +2054,7 @@ declare module "process" {
|
|
|
2048
2054
|
listeners(event: "unhandledRejection"): UnhandledRejectionListener[];
|
|
2049
2055
|
listeners(event: "warning"): WarningListener[];
|
|
2050
2056
|
listeners(event: "message"): MessageListener[];
|
|
2057
|
+
listeners(event: "workerMessage"): ((value: any, source: number) => void)[];
|
|
2051
2058
|
listeners(event: Signals): SignalsListener[];
|
|
2052
2059
|
listeners(event: "multipleResolves"): MultipleResolveListener[];
|
|
2053
2060
|
listeners(event: "worker"): WorkerListener[];
|
|
@@ -329,6 +329,64 @@ declare module "node:sqlite" {
|
|
|
329
329
|
func: (...args: SQLOutputValue[]) => SQLInputValue,
|
|
330
330
|
): void;
|
|
331
331
|
function(name: string, func: (...args: SQLOutputValue[]) => SQLInputValue): void;
|
|
332
|
+
/**
|
|
333
|
+
* Sets an authorizer callback that SQLite will invoke whenever it attempts to
|
|
334
|
+
* access data or modify the database schema through prepared statements.
|
|
335
|
+
* This can be used to implement security policies, audit access, or restrict certain operations.
|
|
336
|
+
* This method is a wrapper around [`sqlite3_set_authorizer()`](https://sqlite.org/c3ref/set_authorizer.html).
|
|
337
|
+
*
|
|
338
|
+
* When invoked, the callback receives five arguments:
|
|
339
|
+
*
|
|
340
|
+
* * `actionCode` {number} The type of operation being performed (e.g.,
|
|
341
|
+
* `SQLITE_INSERT`, `SQLITE_UPDATE`, `SQLITE_SELECT`).
|
|
342
|
+
* * `arg1` {string|null} The first argument (context-dependent, often a table name).
|
|
343
|
+
* * `arg2` {string|null} The second argument (context-dependent, often a column name).
|
|
344
|
+
* * `dbName` {string|null} The name of the database.
|
|
345
|
+
* * `triggerOrView` {string|null} The name of the trigger or view causing the access.
|
|
346
|
+
*
|
|
347
|
+
* The callback must return one of the following constants:
|
|
348
|
+
*
|
|
349
|
+
* * `SQLITE_OK` - Allow the operation.
|
|
350
|
+
* * `SQLITE_DENY` - Deny the operation (causes an error).
|
|
351
|
+
* * `SQLITE_IGNORE` - Ignore the operation (silently skip).
|
|
352
|
+
*
|
|
353
|
+
* ```js
|
|
354
|
+
* import { DatabaseSync, constants } from 'node:sqlite';
|
|
355
|
+
* const db = new DatabaseSync(':memory:');
|
|
356
|
+
*
|
|
357
|
+
* // Set up an authorizer that denies all table creation
|
|
358
|
+
* db.setAuthorizer((actionCode) => {
|
|
359
|
+
* if (actionCode === constants.SQLITE_CREATE_TABLE) {
|
|
360
|
+
* return constants.SQLITE_DENY;
|
|
361
|
+
* }
|
|
362
|
+
* return constants.SQLITE_OK;
|
|
363
|
+
* });
|
|
364
|
+
*
|
|
365
|
+
* // This will work
|
|
366
|
+
* db.prepare('SELECT 1').get();
|
|
367
|
+
*
|
|
368
|
+
* // This will throw an error due to authorization denial
|
|
369
|
+
* try {
|
|
370
|
+
* db.exec('CREATE TABLE blocked (id INTEGER)');
|
|
371
|
+
* } catch (err) {
|
|
372
|
+
* console.log('Operation blocked:', err.message);
|
|
373
|
+
* }
|
|
374
|
+
* ```
|
|
375
|
+
* @since v24.10.0
|
|
376
|
+
* @param callback The authorizer function to set, or `null` to
|
|
377
|
+
* clear the current authorizer.
|
|
378
|
+
*/
|
|
379
|
+
setAuthorizer(
|
|
380
|
+
callback:
|
|
381
|
+
| ((
|
|
382
|
+
actionCode: number,
|
|
383
|
+
arg1: string | null,
|
|
384
|
+
arg2: string | null,
|
|
385
|
+
dbName: string | null,
|
|
386
|
+
triggerOrView: string | null,
|
|
387
|
+
) => number)
|
|
388
|
+
| null,
|
|
389
|
+
): void;
|
|
332
390
|
/**
|
|
333
391
|
* Whether the database is currently open or not.
|
|
334
392
|
* @since v22.15.0
|
|
@@ -826,5 +884,54 @@ declare module "node:sqlite" {
|
|
|
826
884
|
* @since v22.12.0
|
|
827
885
|
*/
|
|
828
886
|
const SQLITE_CHANGESET_ABORT: number;
|
|
887
|
+
/**
|
|
888
|
+
* Deny the operation and cause an error to be returned.
|
|
889
|
+
* @since v24.10.0
|
|
890
|
+
*/
|
|
891
|
+
const SQLITE_DENY: number;
|
|
892
|
+
/**
|
|
893
|
+
* Ignore the operation and continue as if it had never been requested.
|
|
894
|
+
* @since 24.10.0
|
|
895
|
+
*/
|
|
896
|
+
const SQLITE_IGNORE: number;
|
|
897
|
+
/**
|
|
898
|
+
* Allow the operation to proceed normally.
|
|
899
|
+
* @since v24.10.0
|
|
900
|
+
*/
|
|
901
|
+
const SQLITE_OK: number;
|
|
902
|
+
const SQLITE_CREATE_INDEX: number;
|
|
903
|
+
const SQLITE_CREATE_TABLE: number;
|
|
904
|
+
const SQLITE_CREATE_TEMP_INDEX: number;
|
|
905
|
+
const SQLITE_CREATE_TEMP_TABLE: number;
|
|
906
|
+
const SQLITE_CREATE_TEMP_TRIGGER: number;
|
|
907
|
+
const SQLITE_CREATE_TEMP_VIEW: number;
|
|
908
|
+
const SQLITE_CREATE_TRIGGER: number;
|
|
909
|
+
const SQLITE_CREATE_VIEW: number;
|
|
910
|
+
const SQLITE_DELETE: number;
|
|
911
|
+
const SQLITE_DROP_INDEX: number;
|
|
912
|
+
const SQLITE_DROP_TABLE: number;
|
|
913
|
+
const SQLITE_DROP_TEMP_INDEX: number;
|
|
914
|
+
const SQLITE_DROP_TEMP_TABLE: number;
|
|
915
|
+
const SQLITE_DROP_TEMP_TRIGGER: number;
|
|
916
|
+
const SQLITE_DROP_TEMP_VIEW: number;
|
|
917
|
+
const SQLITE_DROP_TRIGGER: number;
|
|
918
|
+
const SQLITE_DROP_VIEW: number;
|
|
919
|
+
const SQLITE_INSERT: number;
|
|
920
|
+
const SQLITE_PRAGMA: number;
|
|
921
|
+
const SQLITE_READ: number;
|
|
922
|
+
const SQLITE_SELECT: number;
|
|
923
|
+
const SQLITE_TRANSACTION: number;
|
|
924
|
+
const SQLITE_UPDATE: number;
|
|
925
|
+
const SQLITE_ATTACH: number;
|
|
926
|
+
const SQLITE_DETACH: number;
|
|
927
|
+
const SQLITE_ALTER_TABLE: number;
|
|
928
|
+
const SQLITE_REINDEX: number;
|
|
929
|
+
const SQLITE_ANALYZE: number;
|
|
930
|
+
const SQLITE_CREATE_VTABLE: number;
|
|
931
|
+
const SQLITE_DROP_VTABLE: number;
|
|
932
|
+
const SQLITE_FUNCTION: number;
|
|
933
|
+
const SQLITE_SAVEPOINT: number;
|
|
934
|
+
const SQLITE_COPY: number;
|
|
935
|
+
const SQLITE_RECURSIVE: number;
|
|
829
936
|
}
|
|
830
937
|
}
|
|
@@ -71,20 +71,44 @@ declare module "url" {
|
|
|
71
71
|
* A `URIError` is thrown if the `auth` property is present but cannot be decoded.
|
|
72
72
|
*
|
|
73
73
|
* `url.parse()` uses a lenient, non-standard algorithm for parsing URL
|
|
74
|
-
* strings. It is prone to security issues such as [host name spoofing](https://hackerone.com/reports/678487)
|
|
75
|
-
*
|
|
74
|
+
* strings. It is prone to security issues such as [host name spoofing](https://hackerone.com/reports/678487)
|
|
75
|
+
* and incorrect handling of usernames and passwords. Do not use with untrusted
|
|
76
|
+
* input. CVEs are not issued for `url.parse()` vulnerabilities. Use the
|
|
77
|
+
* [WHATWG URL](https://nodejs.org/docs/latest-v24.x/api/url.html#the-whatwg-url-api) API instead, for example:
|
|
78
|
+
*
|
|
79
|
+
* ```js
|
|
80
|
+
* function getURL(req) {
|
|
81
|
+
* const proto = req.headers['x-forwarded-proto'] || 'https';
|
|
82
|
+
* const host = req.headers['x-forwarded-host'] || req.headers.host || 'example.com';
|
|
83
|
+
* return new URL(req.url || '/', `${proto}://${host}`);
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* The example above assumes well-formed headers are forwarded from a reverse
|
|
88
|
+
* proxy to your Node.js server. If you are not using a reverse proxy, you should
|
|
89
|
+
* use the example below:
|
|
90
|
+
*
|
|
91
|
+
* ```js
|
|
92
|
+
* function getURL(req) {
|
|
93
|
+
* return new URL(req.url || '/', 'https://example.com');
|
|
94
|
+
* }
|
|
95
|
+
* ```
|
|
76
96
|
* @since v0.1.25
|
|
77
97
|
* @deprecated Use the WHATWG URL API instead.
|
|
78
98
|
* @param urlString The URL string to parse.
|
|
79
|
-
* @param
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
99
|
+
* @param parseQueryString If `true`, the `query` property will always
|
|
100
|
+
* be set to an object returned by the [`querystring`](https://nodejs.org/docs/latest-v24.x/api/querystring.html) module's `parse()`
|
|
101
|
+
* method. If `false`, the `query` property on the returned URL object will be an
|
|
102
|
+
* unparsed, undecoded string. **Default:** `false`.
|
|
103
|
+
* @param slashesDenoteHost If `true`, the first token after the literal
|
|
104
|
+
* string `//` and preceding the next `/` will be interpreted as the `host`.
|
|
105
|
+
* For instance, given `//foo/bar`, the result would be
|
|
106
|
+
* `{host: 'foo', pathname: '/bar'}` rather than `{pathname: '//foo/bar'}`.
|
|
107
|
+
* **Default:** `false`.
|
|
83
108
|
*/
|
|
84
|
-
function parse(urlString: string): UrlWithStringQuery;
|
|
85
109
|
function parse(
|
|
86
110
|
urlString: string,
|
|
87
|
-
parseQueryString
|
|
111
|
+
parseQueryString?: false,
|
|
88
112
|
slashesDenoteHost?: boolean,
|
|
89
113
|
): UrlWithStringQuery;
|
|
90
114
|
function parse(urlString: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery;
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.13.2](https://github.com/axios/axios/compare/v1.13.1...v1.13.2) (2025-11-04)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **http:** fix 'socket hang up' bug for keep-alive requests when using timeouts; ([#7206](https://github.com/axios/axios/issues/7206)) ([8d37233](https://github.com/axios/axios/commit/8d372335f5c50ecd01e8615f2468a9eb19703117))
|
|
9
|
+
* **http:** use default export for http2 module to support stubs; ([#7196](https://github.com/axios/axios/issues/7196)) ([0588880](https://github.com/axios/axios/commit/0588880ac7ddba7594ef179930493884b7e90bf5))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Performance Improvements
|
|
13
|
+
|
|
14
|
+
* **http:** fix early loop exit; ([#7202](https://github.com/axios/axios/issues/7202)) ([12c314b](https://github.com/axios/axios/commit/12c314b603e7852a157e93e47edb626a471ba6c5))
|
|
15
|
+
|
|
16
|
+
### Contributors to this release
|
|
17
|
+
|
|
18
|
+
- <img src="https://avatars.githubusercontent.com/u/12586868?v=4&s=18" alt="avatar" width="18"/> [Dmitriy Mozgovoy](https://github.com/DigitalBrainJS "+28/-9 (#7206 #7202 )")
|
|
19
|
+
- <img src="https://avatars.githubusercontent.com/u/1174718?v=4&s=18" alt="avatar" width="18"/> [Kasper Isager Dalsgarð](https://github.com/kasperisager "+9/-9 (#7196 )")
|
|
20
|
+
|
|
3
21
|
## [1.13.1](https://github.com/axios/axios/compare/v1.13.0...v1.13.1) (2025-10-28)
|
|
4
22
|
|
|
5
23
|
|