@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.
Files changed (526) hide show
  1. package/node_modules/@contrast/agent/package.json +10 -10
  2. package/node_modules/@contrast/agentify/package.json +14 -14
  3. package/node_modules/@contrast/architecture-components/package.json +4 -4
  4. package/node_modules/@contrast/assess/lib/configuration-analysis/install/apollo-server.js +1 -1
  5. package/node_modules/@contrast/assess/lib/configuration-analysis/install/graphql-yoga.js +1 -1
  6. package/node_modules/@contrast/assess/lib/dataflow/sinks/install/fs.js +8 -15
  7. package/node_modules/@contrast/assess/package.json +11 -11
  8. package/node_modules/@contrast/config/package.json +2 -2
  9. package/node_modules/@contrast/core/package.json +4 -4
  10. package/node_modules/@contrast/deadzones/package.json +4 -4
  11. package/node_modules/@contrast/dep-hooks/lib/export-handler-registry.js +1 -10
  12. package/node_modules/@contrast/dep-hooks/lib/export-hook-descriptor.js +1 -1
  13. package/node_modules/@contrast/dep-hooks/lib/index.d.ts +1 -1
  14. package/node_modules/@contrast/dep-hooks/lib/index.js +1 -1
  15. package/node_modules/@contrast/dep-hooks/lib/package-finder.d.ts +2 -1
  16. package/node_modules/@contrast/dep-hooks/lib/package-finder.js +11 -2
  17. package/node_modules/@contrast/dep-hooks/package.json +3 -3
  18. package/node_modules/@contrast/esm-hooks/package.json +5 -5
  19. package/node_modules/@contrast/instrumentation/package.json +4 -4
  20. package/node_modules/@contrast/library-analysis/lib/install/library-reporting/dep.json +144 -202
  21. package/node_modules/@contrast/library-analysis/package.json +3 -3
  22. package/node_modules/@contrast/logger/package.json +3 -3
  23. package/node_modules/@contrast/metrics/package.json +5 -5
  24. package/node_modules/@contrast/patcher/package.json +2 -2
  25. package/node_modules/@contrast/protect/lib/input-tracing/install/fs.js +0 -8
  26. package/node_modules/@contrast/protect/package.json +10 -10
  27. package/node_modules/@contrast/reporter/package.json +5 -5
  28. package/node_modules/@contrast/rewriter/package.json +4 -4
  29. package/node_modules/@contrast/route-coverage/lib/index.d.ts +2 -0
  30. package/node_modules/@contrast/route-coverage/lib/index.js +2 -1
  31. package/node_modules/@contrast/route-coverage/lib/install/express.js +535 -0
  32. package/node_modules/@contrast/route-coverage/lib/install/fastify/fastify-express.js +71 -0
  33. package/node_modules/@contrast/route-coverage/lib/install/fastify/fastify-middie.js +67 -0
  34. package/node_modules/@contrast/route-coverage/lib/install/{fastify.js → fastify/fastify.js} +12 -12
  35. package/node_modules/@contrast/route-coverage/lib/install/{express → fastify}/index.js +6 -5
  36. package/node_modules/@contrast/route-coverage/lib/install/koa.js +39 -45
  37. package/node_modules/@contrast/route-coverage/lib/utils/route-info.js +26 -1
  38. package/node_modules/@contrast/route-coverage/package.json +7 -7
  39. package/node_modules/@contrast/scopes/package.json +5 -5
  40. package/node_modules/@contrast/sec-obs/package.json +8 -8
  41. package/node_modules/@contrast/sources/package.json +2 -2
  42. package/node_modules/@contrast/telemetry/package.json +4 -4
  43. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.d.ts +697 -30
  44. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js +697 -30
  45. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_attributes.js.map +1 -1
  46. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.d.ts +6 -0
  47. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js +6 -0
  48. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_events.js.map +1 -1
  49. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.d.ts +877 -49
  50. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js +877 -49
  51. package/node_modules/@opentelemetry/semantic-conventions/build/esm/experimental_metrics.js.map +1 -1
  52. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.d.ts +13 -4
  53. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js +13 -4
  54. package/node_modules/@opentelemetry/semantic-conventions/build/esm/stable_attributes.js.map +1 -1
  55. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.d.ts +1 -1
  56. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js +1 -1
  57. package/node_modules/@opentelemetry/semantic-conventions/build/esm/version.js.map +1 -1
  58. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.d.ts +697 -30
  59. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js +697 -30
  60. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_attributes.js.map +1 -1
  61. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.d.ts +6 -0
  62. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js +6 -0
  63. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_events.js.map +1 -1
  64. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.d.ts +877 -49
  65. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js +877 -49
  66. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/experimental_metrics.js.map +1 -1
  67. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.d.ts +13 -4
  68. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js +13 -4
  69. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/stable_attributes.js.map +1 -1
  70. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.d.ts +1 -1
  71. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js +1 -1
  72. package/node_modules/@opentelemetry/semantic-conventions/build/esnext/version.js.map +1 -1
  73. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.d.ts +697 -30
  74. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js +729 -61
  75. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_attributes.js.map +1 -1
  76. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.d.ts +6 -0
  77. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js +7 -1
  78. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_events.js.map +1 -1
  79. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.d.ts +877 -49
  80. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js +886 -56
  81. package/node_modules/@opentelemetry/semantic-conventions/build/src/experimental_metrics.js.map +1 -1
  82. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.d.ts +13 -4
  83. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js +13 -4
  84. package/node_modules/@opentelemetry/semantic-conventions/build/src/stable_attributes.js.map +1 -1
  85. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.d.ts +1 -1
  86. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js +1 -1
  87. package/node_modules/@opentelemetry/semantic-conventions/build/src/version.js.map +1 -1
  88. package/node_modules/@opentelemetry/semantic-conventions/package.json +3 -5
  89. package/node_modules/{pino → @pinojs/redact}/.github/dependabot.yml +1 -1
  90. package/node_modules/@pinojs/redact/.github/workflows/ci.yml +48 -0
  91. package/node_modules/@pinojs/redact/.github/workflows/publish-release.yml +43 -0
  92. package/node_modules/{abort-controller → @pinojs/redact}/LICENSE +1 -1
  93. package/node_modules/@pinojs/redact/README.md +350 -0
  94. package/node_modules/@pinojs/redact/benchmarks/basic.js +184 -0
  95. package/node_modules/@pinojs/redact/eslint.config.js +1 -0
  96. package/node_modules/@pinojs/redact/index.d.ts +52 -0
  97. package/node_modules/@pinojs/redact/index.js +529 -0
  98. package/node_modules/@pinojs/redact/index.test-d.ts +22 -0
  99. package/node_modules/@pinojs/redact/package.json +37 -0
  100. package/node_modules/@pinojs/redact/scripts/sync-version.mjs +20 -0
  101. package/node_modules/@pinojs/redact/test/actual-redact-comparison.test.js +211 -0
  102. package/node_modules/@pinojs/redact/test/index.test.js +824 -0
  103. package/node_modules/@pinojs/redact/test/integration.test.js +390 -0
  104. package/node_modules/@pinojs/redact/test/multiple-wildcards.test.js +227 -0
  105. package/node_modules/@pinojs/redact/test/prototype-pollution.test.js +223 -0
  106. package/node_modules/@pinojs/redact/test/selective-clone.test.js +115 -0
  107. package/node_modules/@pinojs/redact/tsconfig.json +19 -0
  108. package/node_modules/@types/node/README.md +1 -1
  109. package/node_modules/@types/node/console.d.ts +3 -2
  110. package/node_modules/@types/node/package.json +2 -2
  111. package/node_modules/@types/node/process.d.ts +7 -0
  112. package/node_modules/@types/node/sqlite.d.ts +107 -0
  113. package/node_modules/@types/node/url.d.ts +32 -8
  114. package/node_modules/axios/CHANGELOG.md +18 -0
  115. package/node_modules/axios/README.md +1 -4
  116. package/node_modules/axios/dist/axios.js +2 -2
  117. package/node_modules/axios/dist/axios.js.map +1 -1
  118. package/node_modules/axios/dist/axios.min.js +2 -2
  119. package/node_modules/axios/dist/axios.min.js.map +1 -1
  120. package/node_modules/axios/dist/browser/axios.cjs +2 -2
  121. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  122. package/node_modules/axios/dist/esm/axios.js +2 -2
  123. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  124. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  125. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  126. package/node_modules/axios/dist/node/axios.cjs +25 -20
  127. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  128. package/node_modules/axios/lib/adapters/http.js +22 -18
  129. package/node_modules/axios/lib/env/data.js +1 -1
  130. package/node_modules/axios/package.json +1 -1
  131. package/node_modules/form-data/CHANGELOG.md +60 -2
  132. package/node_modules/form-data/README.md +4 -4
  133. package/node_modules/form-data/lib/form_data.js +2 -2
  134. package/node_modules/form-data/package.json +4 -4
  135. package/node_modules/ipaddr.js/README.md +1 -0
  136. package/node_modules/ipaddr.js/ipaddr.min.js +1 -1
  137. package/node_modules/ipaddr.js/lib/ipaddr.js +11 -0
  138. package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +1 -0
  139. package/node_modules/ipaddr.js/package.json +2 -3
  140. package/node_modules/nan/.github/workflows/ci.yml +3 -1
  141. package/node_modules/nan/CHANGELOG.md +4 -1
  142. package/node_modules/nan/README.md +2 -2
  143. package/node_modules/nan/nan.h +25 -15
  144. package/node_modules/nan/nan_maybe_43_inl.h +5 -1
  145. package/node_modules/nan/package.json +2 -2
  146. package/node_modules/node-abi/abi_registry.json +8 -1
  147. package/node_modules/node-abi/package.json +1 -1
  148. package/node_modules/pino/CONTRIBUTING.md +4 -0
  149. package/node_modules/pino/LICENSE +1 -1
  150. package/node_modules/pino/README.md +20 -3
  151. package/node_modules/pino/benchmarks/basic.bench.js +1 -1
  152. package/node_modules/pino/benchmarks/child-child.bench.js +1 -1
  153. package/node_modules/pino/benchmarks/child-creation.bench.js +1 -1
  154. package/node_modules/pino/benchmarks/child.bench.js +1 -1
  155. package/node_modules/pino/benchmarks/deep-object.bench.js +1 -1
  156. package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +1 -1
  157. package/node_modules/pino/benchmarks/internal/just-pino.bench.js +1 -1
  158. package/node_modules/pino/benchmarks/internal/redact.bench.js +1 -1
  159. package/node_modules/pino/benchmarks/long-string.bench.js +1 -1
  160. package/node_modules/pino/benchmarks/multi-arg.bench.js +1 -1
  161. package/node_modules/pino/benchmarks/multistream.js +1 -1
  162. package/node_modules/pino/benchmarks/object.bench.js +1 -1
  163. package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +2 -2
  164. package/node_modules/pino/benchmarks/utils/runbench.js +3 -3
  165. package/node_modules/pino/benchmarks/utils/wrap-log-level.js +2 -2
  166. package/node_modules/pino/browser.js +76 -36
  167. package/node_modules/pino/build/sync-version.js +18 -3
  168. package/node_modules/pino/docs/api.md +155 -13
  169. package/node_modules/pino/docs/browser.md +16 -1
  170. package/node_modules/pino/docs/bundling.md +5 -3
  171. package/node_modules/pino/docs/diagnostics.md +16 -0
  172. package/node_modules/pino/docs/ecosystem.md +15 -12
  173. package/node_modules/pino/docs/help.md +29 -3
  174. package/node_modules/pino/docs/lts.md +5 -4
  175. package/node_modules/pino/docs/transports.md +442 -271
  176. package/node_modules/pino/docs/web.md +59 -9
  177. package/node_modules/pino/eslint.config.js +19 -0
  178. package/node_modules/pino/examples/transport.js +2 -2
  179. package/node_modules/pino/file.js +1 -1
  180. package/node_modules/pino/lib/meta.js +1 -1
  181. package/node_modules/pino/lib/multistream.js +17 -2
  182. package/node_modules/pino/lib/proto.js +35 -11
  183. package/node_modules/pino/lib/redaction.js +9 -13
  184. package/node_modules/pino/lib/time.js +29 -1
  185. package/node_modules/pino/lib/tools.js +37 -8
  186. package/node_modules/pino/lib/transport-stream.js +10 -4
  187. package/node_modules/pino/lib/transport.js +23 -9
  188. package/node_modules/pino/lib/worker.js +164 -24
  189. package/node_modules/pino/package.json +28 -27
  190. package/node_modules/pino/pino.d.ts +244 -203
  191. package/node_modules/pino/pino.js +7 -3
  192. package/node_modules/pino/test/basic.test.js +181 -169
  193. package/node_modules/pino/test/broken-pipe.test.js +18 -16
  194. package/node_modules/pino/test/browser-child.test.js +26 -0
  195. package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
  196. package/node_modules/pino/test/browser-serializers.test.js +0 -2
  197. package/node_modules/pino/test/browser-transmit.test.js +68 -0
  198. package/node_modules/pino/test/browser.test.js +98 -13
  199. package/node_modules/pino/test/complex-objects.test.js +8 -6
  200. package/node_modules/pino/test/crlf.test.js +7 -5
  201. package/node_modules/pino/test/custom-levels.test.js +80 -66
  202. package/node_modules/pino/test/diagnostics.test.js +107 -0
  203. package/node_modules/pino/test/error-key.test.js +37 -0
  204. package/node_modules/pino/test/error.test.js +48 -43
  205. package/node_modules/pino/test/escaping.test.js +8 -6
  206. package/node_modules/pino/test/esm/esm.mjs +5 -3
  207. package/node_modules/pino/test/esm/index.test.js +14 -27
  208. package/node_modules/pino/test/esm/named-exports.mjs +9 -8
  209. package/node_modules/pino/test/exit.test.js +18 -16
  210. package/node_modules/pino/test/fixtures/broken-pipe/basic.js +1 -1
  211. package/node_modules/pino/test/fixtures/broken-pipe/destination.js +1 -1
  212. package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +1 -1
  213. package/node_modules/pino/test/fixtures/console-transport.js +1 -1
  214. package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
  215. package/node_modules/pino/test/fixtures/default-exit.js +1 -1
  216. package/node_modules/pino/test/fixtures/destination-exit.js +1 -1
  217. package/node_modules/pino/test/fixtures/noop-transport.js +1 -1
  218. package/node_modules/pino/test/fixtures/pretty/null-prototype.js +1 -1
  219. package/node_modules/pino/test/fixtures/stdout-hack-protection.js +1 -1
  220. package/node_modules/pino/test/fixtures/syncfalse-child.js +1 -1
  221. package/node_modules/pino/test/fixtures/syncfalse-exit.js +1 -1
  222. package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +1 -1
  223. package/node_modules/pino/test/fixtures/syncfalse.js +1 -1
  224. package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
  225. package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +3 -3
  226. package/node_modules/pino/test/fixtures/to-file-transport.js +2 -2
  227. package/node_modules/pino/test/fixtures/to-file-transport.mjs +2 -2
  228. package/node_modules/pino/test/fixtures/transport/index.js +2 -2
  229. package/node_modules/pino/test/fixtures/transport-main.js +1 -1
  230. package/node_modules/pino/test/fixtures/transport-transform.js +1 -1
  231. package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +1 -1
  232. package/node_modules/pino/test/fixtures/transport-worker-data.js +1 -1
  233. package/node_modules/pino/test/fixtures/transport-worker.js +2 -2
  234. package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +3 -3
  235. package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +2 -2
  236. package/node_modules/pino/test/fixtures/ts/transpile.cjs +1 -1
  237. package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +1 -1
  238. package/node_modules/pino/test/fixtures/ts/transport-main.ts +1 -1
  239. package/node_modules/pino/test/fixtures/ts/transport-worker.ts +1 -1
  240. package/node_modules/pino/test/formatters.test.js +46 -37
  241. package/node_modules/pino/test/helper.d.ts +1 -1
  242. package/node_modules/pino/test/helper.js +37 -10
  243. package/node_modules/pino/test/hooks.test.js +45 -28
  244. package/node_modules/pino/test/http.test.js +39 -67
  245. package/node_modules/pino/test/internals/version.test.js +11 -9
  246. package/node_modules/pino/test/is-level-enabled.test.js +66 -72
  247. package/node_modules/pino/test/levels.test.js +245 -141
  248. package/node_modules/pino/test/metadata.test.js +45 -31
  249. package/node_modules/pino/test/mixin-merge-strategy.test.js +9 -7
  250. package/node_modules/pino/test/mixin.test.js +63 -40
  251. package/node_modules/pino/test/multistream.test.js +174 -118
  252. package/node_modules/pino/test/redact.test.js +172 -126
  253. package/node_modules/pino/test/serializers.test.js +61 -57
  254. package/node_modules/pino/test/stdout-protection.test.js +14 -12
  255. package/node_modules/pino/test/syncfalse.test.js +29 -34
  256. package/node_modules/pino/test/timestamp-nano.test.js +37 -0
  257. package/node_modules/pino/test/timestamp.test.js +37 -34
  258. package/node_modules/pino/test/transport/big.test.js +11 -12
  259. package/node_modules/pino/test/transport/bundlers-support.test.js +15 -43
  260. package/node_modules/pino/test/transport/caller.test.js +9 -8
  261. package/node_modules/pino/test/transport/core.test.js +175 -145
  262. package/node_modules/pino/test/transport/core.transpiled.test.ts +17 -19
  263. package/node_modules/pino/test/transport/crash.test.js +36 -0
  264. package/node_modules/pino/test/transport/module-link.test.js +21 -19
  265. package/node_modules/pino/test/transport/pipeline.test.js +109 -8
  266. package/node_modules/pino/test/transport/repl.test.js +4 -3
  267. package/node_modules/pino/test/transport/{syncfalse.test.js → sync-false.test.js} +14 -12
  268. package/node_modules/pino/test/transport/sync-true.test.js +57 -0
  269. package/node_modules/pino/test/transport/targets.test.js +25 -5
  270. package/node_modules/pino/test/transport/uses-pino-config.test.js +16 -17
  271. package/node_modules/pino/test/transport-stream.test.js +40 -0
  272. package/node_modules/pino/test/types/{pino-import.test-d.ts → pino-import.test-d.cts} +4 -3
  273. package/node_modules/pino/test/types/pino-multistream.test-d.ts +1 -1
  274. package/node_modules/pino/test/types/pino-top-export.test-d.ts +1 -0
  275. package/node_modules/pino/test/types/pino-transport.test-d.ts +1 -1
  276. package/node_modules/pino/test/types/pino-type-only.test-d.ts +24 -6
  277. package/node_modules/pino/test/types/pino.test-d.ts +161 -6
  278. package/node_modules/pino/test/types/pino.ts +31 -19
  279. package/node_modules/pino/tsconfig.json +1 -1
  280. package/node_modules/pino-abstract-transport/.github/workflows/ci.yml +2 -4
  281. package/node_modules/pino-abstract-transport/index.js +1 -1
  282. package/node_modules/pino-abstract-transport/package.json +2 -3
  283. package/node_modules/pino-abstract-transport/test/base.test.js +1 -1
  284. package/node_modules/pino-abstract-transport/test/worker.test.js +7 -14
  285. package/node_modules/pino-std-serializers/.github/workflows/ci.yml +5 -5
  286. package/node_modules/pino-std-serializers/Readme.md +1 -0
  287. package/node_modules/pino-std-serializers/package.json +9 -8
  288. package/node_modules/pino-std-serializers/test/err-with-cause.test.js +72 -88
  289. package/node_modules/pino-std-serializers/test/err.test.js +76 -91
  290. package/node_modules/pino-std-serializers/test/req.test.js +142 -98
  291. package/node_modules/pino-std-serializers/test/res.test.js +42 -31
  292. package/node_modules/process-warning/.github/dependabot.yml +1 -1
  293. package/node_modules/process-warning/.github/workflows/ci.yml +1 -2
  294. package/node_modules/process-warning/README.md +4 -4
  295. package/node_modules/process-warning/eslint.config.js +6 -0
  296. package/node_modules/process-warning/package.json +39 -8
  297. package/node_modules/process-warning/test/emit-interpolated-string.test.js +11 -6
  298. package/node_modules/process-warning/test/emit-once-only.test.js +11 -6
  299. package/node_modules/process-warning/test/emit-reset.test.js +10 -6
  300. package/node_modules/process-warning/test/emit-set.test.js +10 -5
  301. package/node_modules/process-warning/test/emit-unlimited.test.js +12 -7
  302. package/node_modules/process-warning/test/index.test.js +20 -20
  303. package/node_modules/process-warning/test/issue-88.test.js +8 -3
  304. package/node_modules/process-warning/test/jest.test.js +17 -15
  305. package/node_modules/process-warning/test/no-warnings.test.js +9 -9
  306. package/node_modules/process-warning/test/promise.js +10 -0
  307. package/node_modules/process-warning/types/index.d.ts +5 -5
  308. package/node_modules/thread-stream/.github/workflows/ci.yml +4 -8
  309. package/node_modules/thread-stream/index.d.ts +4 -5
  310. package/node_modules/thread-stream/lib/worker.js +5 -2
  311. package/node_modules/thread-stream/package.json +6 -4
  312. package/node_modules/thread-stream/test/base.test.js +12 -0
  313. package/node_modules/thread-stream/test/never-drain.test.js +3 -1
  314. package/node_modules/thread-stream/test/pkg/pkg.test.js +2 -0
  315. package/node_modules/thread-stream/test/syntax-error.mjs +2 -0
  316. package/node_modules/thread-stream/tsconfig.json +8 -0
  317. package/node_modules/yaml/browser/dist/compose/compose-collection.js +1 -1
  318. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +1 -1
  319. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +2 -2
  320. package/node_modules/yaml/browser/dist/errors.js +1 -1
  321. package/node_modules/yaml/browser/dist/nodes/Alias.js +1 -1
  322. package/node_modules/yaml/browser/dist/parse/parser.js +2 -2
  323. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +1 -1
  324. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +1 -1
  325. package/node_modules/yaml/dist/compose/compose-collection.js +1 -1
  326. package/node_modules/yaml/dist/compose/resolve-block-seq.js +1 -1
  327. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +2 -2
  328. package/node_modules/yaml/dist/errors.js +1 -1
  329. package/node_modules/yaml/dist/nodes/Alias.js +1 -1
  330. package/node_modules/yaml/dist/parse/parser.js +2 -2
  331. package/node_modules/yaml/dist/stringify/stringifyNumber.js +1 -1
  332. package/node_modules/yaml/dist/stringify/stringifyPair.js +1 -1
  333. package/node_modules/yaml/package.json +4 -4
  334. package/package.json +2 -2
  335. package/node_modules/@contrast/route-coverage/lib/install/express/express4.js +0 -157
  336. package/node_modules/@contrast/route-coverage/lib/install/express/express5.js +0 -553
  337. package/node_modules/abort-controller/README.md +0 -98
  338. package/node_modules/abort-controller/browser.js +0 -13
  339. package/node_modules/abort-controller/browser.mjs +0 -11
  340. package/node_modules/abort-controller/dist/abort-controller.d.ts +0 -43
  341. package/node_modules/abort-controller/dist/abort-controller.js +0 -127
  342. package/node_modules/abort-controller/dist/abort-controller.js.map +0 -1
  343. package/node_modules/abort-controller/dist/abort-controller.mjs +0 -118
  344. package/node_modules/abort-controller/dist/abort-controller.mjs.map +0 -1
  345. package/node_modules/abort-controller/dist/abort-controller.umd.js +0 -5
  346. package/node_modules/abort-controller/dist/abort-controller.umd.js.map +0 -1
  347. package/node_modules/abort-controller/package.json +0 -97
  348. package/node_modules/abort-controller/polyfill.js +0 -21
  349. package/node_modules/abort-controller/polyfill.mjs +0 -19
  350. package/node_modules/base64-js/LICENSE +0 -21
  351. package/node_modules/base64-js/README.md +0 -34
  352. package/node_modules/base64-js/base64js.min.js +0 -1
  353. package/node_modules/base64-js/index.d.ts +0 -3
  354. package/node_modules/base64-js/index.js +0 -150
  355. package/node_modules/base64-js/package.json +0 -47
  356. package/node_modules/buffer/AUTHORS.md +0 -73
  357. package/node_modules/buffer/LICENSE +0 -21
  358. package/node_modules/buffer/README.md +0 -410
  359. package/node_modules/buffer/index.d.ts +0 -194
  360. package/node_modules/buffer/index.js +0 -2106
  361. package/node_modules/buffer/package.json +0 -93
  362. package/node_modules/event-target-shim/LICENSE +0 -22
  363. package/node_modules/event-target-shim/README.md +0 -293
  364. package/node_modules/event-target-shim/dist/event-target-shim.js +0 -871
  365. package/node_modules/event-target-shim/dist/event-target-shim.js.map +0 -1
  366. package/node_modules/event-target-shim/dist/event-target-shim.mjs +0 -862
  367. package/node_modules/event-target-shim/dist/event-target-shim.mjs.map +0 -1
  368. package/node_modules/event-target-shim/dist/event-target-shim.umd.js +0 -6
  369. package/node_modules/event-target-shim/dist/event-target-shim.umd.js.map +0 -1
  370. package/node_modules/event-target-shim/index.d.ts +0 -399
  371. package/node_modules/event-target-shim/package.json +0 -82
  372. package/node_modules/events/.airtap.yml +0 -15
  373. package/node_modules/events/.github/FUNDING.yml +0 -12
  374. package/node_modules/events/.travis.yml +0 -18
  375. package/node_modules/events/History.md +0 -118
  376. package/node_modules/events/LICENSE +0 -22
  377. package/node_modules/events/Readme.md +0 -50
  378. package/node_modules/events/events.js +0 -497
  379. package/node_modules/events/package.json +0 -37
  380. package/node_modules/events/security.md +0 -10
  381. package/node_modules/events/tests/add-listeners.js +0 -111
  382. package/node_modules/events/tests/check-listener-leaks.js +0 -101
  383. package/node_modules/events/tests/common.js +0 -104
  384. package/node_modules/events/tests/errors.js +0 -13
  385. package/node_modules/events/tests/events-list.js +0 -28
  386. package/node_modules/events/tests/events-once.js +0 -234
  387. package/node_modules/events/tests/index.js +0 -64
  388. package/node_modules/events/tests/legacy-compat.js +0 -16
  389. package/node_modules/events/tests/listener-count.js +0 -37
  390. package/node_modules/events/tests/listeners-side-effects.js +0 -56
  391. package/node_modules/events/tests/listeners.js +0 -168
  392. package/node_modules/events/tests/max-listeners.js +0 -47
  393. package/node_modules/events/tests/method-names.js +0 -35
  394. package/node_modules/events/tests/modify-in-emit.js +0 -90
  395. package/node_modules/events/tests/num-args.js +0 -60
  396. package/node_modules/events/tests/once.js +0 -83
  397. package/node_modules/events/tests/prepend.js +0 -31
  398. package/node_modules/events/tests/remove-all-listeners.js +0 -133
  399. package/node_modules/events/tests/remove-listeners.js +0 -212
  400. package/node_modules/events/tests/set-max-listeners-side-effects.js +0 -31
  401. package/node_modules/events/tests/special-event-names.js +0 -45
  402. package/node_modules/events/tests/subclass.js +0 -66
  403. package/node_modules/events/tests/symbols.js +0 -25
  404. package/node_modules/fast-redact/.github/workflows/ci.yml +0 -37
  405. package/node_modules/fast-redact/LICENSE +0 -21
  406. package/node_modules/fast-redact/benchmark/index.js +0 -223
  407. package/node_modules/fast-redact/example/default-usage.js +0 -14
  408. package/node_modules/fast-redact/example/intermediate-wildcard-array.js +0 -11
  409. package/node_modules/fast-redact/example/multi-wildcard-array-depth.js +0 -11
  410. package/node_modules/fast-redact/example/multi-wildcard-array-end.js +0 -11
  411. package/node_modules/fast-redact/example/multi-wildcard-array.js +0 -11
  412. package/node_modules/fast-redact/example/serialize-false.js +0 -11
  413. package/node_modules/fast-redact/example/serialize-function.js +0 -4
  414. package/node_modules/fast-redact/example/top-wildcard-object.js +0 -9
  415. package/node_modules/fast-redact/index.js +0 -56
  416. package/node_modules/fast-redact/lib/modifiers.js +0 -291
  417. package/node_modules/fast-redact/lib/parse.js +0 -44
  418. package/node_modules/fast-redact/lib/redactor.js +0 -108
  419. package/node_modules/fast-redact/lib/restorer.js +0 -92
  420. package/node_modules/fast-redact/lib/rx.js +0 -16
  421. package/node_modules/fast-redact/lib/state.js +0 -20
  422. package/node_modules/fast-redact/lib/validator.js +0 -33
  423. package/node_modules/fast-redact/package.json +0 -50
  424. package/node_modules/fast-redact/readme.md +0 -282
  425. package/node_modules/fast-redact/test/index.js +0 -1502
  426. package/node_modules/ieee754/LICENSE +0 -11
  427. package/node_modules/ieee754/README.md +0 -51
  428. package/node_modules/ieee754/index.d.ts +0 -10
  429. package/node_modules/ieee754/index.js +0 -85
  430. package/node_modules/ieee754/package.json +0 -52
  431. package/node_modules/pino/.eslintignore +0 -2
  432. package/node_modules/pino/.eslintrc +0 -8
  433. package/node_modules/pino/.github/workflows/bench.yml +0 -61
  434. package/node_modules/pino/.github/workflows/ci.yml +0 -86
  435. package/node_modules/pino/.github/workflows/lock-threads.yml +0 -30
  436. package/node_modules/pino/.github/workflows/package-manager-ci.yml +0 -99
  437. package/node_modules/pino/.github/workflows/target-main.yml +0 -23
  438. package/node_modules/pino/.taprc.yaml +0 -8
  439. package/node_modules/pino/docsify/sidebar.md +0 -26
  440. package/node_modules/pino/favicon-16x16.png +0 -0
  441. package/node_modules/pino/favicon-32x32.png +0 -0
  442. package/node_modules/pino/lib/worker-pipeline.js +0 -38
  443. package/node_modules/pino/node_modules/sonic-boom/.eslintignore +0 -2
  444. package/node_modules/pino/node_modules/sonic-boom/.husky/pre-commit +0 -4
  445. package/node_modules/pino/node_modules/sonic-boom/.taprc.yaml +0 -11
  446. package/node_modules/pino/node_modules/sonic-boom/LICENSE +0 -21
  447. package/node_modules/pino/node_modules/sonic-boom/README.md +0 -151
  448. package/node_modules/pino/node_modules/sonic-boom/bench.js +0 -98
  449. package/node_modules/pino/node_modules/sonic-boom/check.js +0 -18
  450. package/node_modules/pino/node_modules/sonic-boom/example.js +0 -8
  451. package/node_modules/pino/node_modules/sonic-boom/fixtures/firehose.js +0 -22
  452. package/node_modules/pino/node_modules/sonic-boom/index.js +0 -690
  453. package/node_modules/pino/node_modules/sonic-boom/package.json +0 -50
  454. package/node_modules/pino/node_modules/sonic-boom/test/destroy.test.js +0 -49
  455. package/node_modules/pino/node_modules/sonic-boom/test/end.test.js +0 -98
  456. package/node_modules/pino/node_modules/sonic-boom/test/flush-sync.test.js +0 -140
  457. package/node_modules/pino/node_modules/sonic-boom/test/flush.test.js +0 -419
  458. package/node_modules/pino/node_modules/sonic-boom/test/fsync.test.js +0 -63
  459. package/node_modules/pino/node_modules/sonic-boom/test/helper.js +0 -42
  460. package/node_modules/pino/node_modules/sonic-boom/test/minlength.test.js +0 -35
  461. package/node_modules/pino/node_modules/sonic-boom/test/mode.test.js +0 -116
  462. package/node_modules/pino/node_modules/sonic-boom/test/reopen.test.js +0 -239
  463. package/node_modules/pino/node_modules/sonic-boom/test/retry.test.js +0 -414
  464. package/node_modules/pino/node_modules/sonic-boom/test/sync.test.js +0 -261
  465. package/node_modules/pino/node_modules/sonic-boom/test/write.test.js +0 -465
  466. package/node_modules/pino/node_modules/sonic-boom/types/index.d.ts +0 -62
  467. package/node_modules/pino/node_modules/sonic-boom/types/tests/test.ts +0 -4
  468. package/node_modules/pino/pino-banner.png +0 -0
  469. package/node_modules/pino/pino-logo-hire.png +0 -0
  470. package/node_modules/pino/pino-tree.png +0 -0
  471. package/node_modules/pino/pretty-demo.png +0 -0
  472. package/node_modules/pino/test/errorKey.test.js +0 -34
  473. package/node_modules/pino/test/transport/core.test.ts +0 -236
  474. package/node_modules/pino-std-serializers/.taprc +0 -2
  475. package/node_modules/process/.eslintrc +0 -21
  476. package/node_modules/process/LICENSE +0 -22
  477. package/node_modules/process/README.md +0 -26
  478. package/node_modules/process/browser.js +0 -184
  479. package/node_modules/process/index.js +0 -2
  480. package/node_modules/process/package.json +0 -27
  481. package/node_modules/process/test.js +0 -199
  482. package/node_modules/process-warning/.taprc +0 -2
  483. package/node_modules/readable-stream/LICENSE +0 -47
  484. package/node_modules/readable-stream/README.md +0 -116
  485. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -4
  486. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -4
  487. package/node_modules/readable-stream/lib/_stream_readable.js +0 -4
  488. package/node_modules/readable-stream/lib/_stream_transform.js +0 -4
  489. package/node_modules/readable-stream/lib/_stream_writable.js +0 -4
  490. package/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +0 -52
  491. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -157
  492. package/node_modules/readable-stream/lib/internal/streams/compose.js +0 -194
  493. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -290
  494. package/node_modules/readable-stream/lib/internal/streams/duplex.js +0 -143
  495. package/node_modules/readable-stream/lib/internal/streams/duplexify.js +0 -378
  496. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -286
  497. package/node_modules/readable-stream/lib/internal/streams/from.js +0 -98
  498. package/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +0 -51
  499. package/node_modules/readable-stream/lib/internal/streams/legacy.js +0 -89
  500. package/node_modules/readable-stream/lib/internal/streams/operators.js +0 -457
  501. package/node_modules/readable-stream/lib/internal/streams/passthrough.js +0 -39
  502. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -471
  503. package/node_modules/readable-stream/lib/internal/streams/readable.js +0 -1290
  504. package/node_modules/readable-stream/lib/internal/streams/state.js +0 -39
  505. package/node_modules/readable-stream/lib/internal/streams/transform.js +0 -180
  506. package/node_modules/readable-stream/lib/internal/streams/utils.js +0 -327
  507. package/node_modules/readable-stream/lib/internal/streams/writable.js +0 -819
  508. package/node_modules/readable-stream/lib/internal/validators.js +0 -530
  509. package/node_modules/readable-stream/lib/ours/browser.js +0 -35
  510. package/node_modules/readable-stream/lib/ours/errors.js +0 -343
  511. package/node_modules/readable-stream/lib/ours/index.js +0 -65
  512. package/node_modules/readable-stream/lib/ours/primordials.js +0 -124
  513. package/node_modules/readable-stream/lib/ours/util/inspect.js +0 -55
  514. package/node_modules/readable-stream/lib/ours/util.js +0 -148
  515. package/node_modules/readable-stream/lib/stream/promises.js +0 -43
  516. package/node_modules/readable-stream/lib/stream.js +0 -143
  517. package/node_modules/readable-stream/package.json +0 -88
  518. package/node_modules/safe-buffer/LICENSE +0 -21
  519. package/node_modules/safe-buffer/README.md +0 -584
  520. package/node_modules/safe-buffer/index.d.ts +0 -187
  521. package/node_modules/safe-buffer/index.js +0 -65
  522. package/node_modules/safe-buffer/package.json +0 -51
  523. package/node_modules/string_decoder/LICENSE +0 -48
  524. package/node_modules/string_decoder/README.md +0 -47
  525. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  526. 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, 28 Oct 2025 17:37:26 GMT
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
- * [`util.inspect()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilinspectobject-options).
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.9.2",
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": "7485e2b36dbca4bd6584c40d09cac326c54ac8847561c62753f014789000ec21",
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) and incorrect handling of usernames and passwords. Do not use with untrusted
75
- * input. CVEs are not issued for `url.parse()` vulnerabilities. Use the `WHATWG URL` API instead.
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 [parseQueryString=false] If `true`, the `query` property will always be set to an object returned by the {@link querystring} module's `parse()` method. If `false`, the `query` property
80
- * on the returned URL object will be an unparsed, undecoded string.
81
- * @param [slashesDenoteHost=false] If `true`, the first token after the literal string `//` and preceding the next `/` will be interpreted as the `host`. For instance, given `//foo/bar`, the
82
- * result would be `{host: 'foo', pathname: '/bar'}` rather than `{pathname: '//foo/bar'}`.
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: false | undefined,
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&#x3D;4&amp;s&#x3D;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&#x3D;4&amp;s&#x3D;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