@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
@@ -1,11 +0,0 @@
1
- 'use strict'
2
- const fastRedact = require('..')
3
- const redact = fastRedact({ paths: ['a[*].c.d[*].i'] })
4
- const obj = {
5
- a: [
6
- { c: { d: [ { i: 'redact me', j: 'not me' } ], e: 'leave me be' } },
7
- { c: { d: [ { i: 'redact me too', j: 'not me' }, { i: 'redact me too', j: 'not me' } ], f: 'I want to live' } },
8
- { c: { d: [ { i: 'redact me 3', j: 'not me' } ], g: 'I want to run in a stream' } }
9
- ]
10
- }
11
- console.log(redact(obj))
@@ -1,11 +0,0 @@
1
- 'use strict'
2
- const fastRedact = require('..')
3
- const redact = fastRedact({ paths: ['a[*].c.d[*]'] })
4
- const obj = {
5
- a: [
6
- { c: { d: ['hide me', '2'], e: 'leave me be' } },
7
- { c: { d: ['and me'], f: 'I want to live' } },
8
- { c: { d: ['and also I'], g: 'I want to run in a stream' } }
9
- ]
10
- }
11
- console.log(redact(obj))
@@ -1,11 +0,0 @@
1
- 'use strict'
2
- const fastRedact = require('..')
3
- const redact = fastRedact({ paths: ['a[*].c[*].d'] })
4
- const obj = {
5
- a: [
6
- { c: [{ d: 'hide me', e: 'leave me be' }, { d: 'hide me too', e: 'leave me be' }, { d: 'hide me 3', e: 'leave me be' }] },
7
- { c: [{ d: 'and me', f: 'I want to live' }] },
8
- { c: [{ d: 'and also I', g: 'I want to run in a stream' }] }
9
- ]
10
- }
11
- console.log(redact(obj))
@@ -1,11 +0,0 @@
1
- 'use strict'
2
- const fastRedact = require('..')
3
- const redact = fastRedact({
4
- paths: ['a'],
5
- serialize: false
6
- })
7
- const o = { a: 1, b: 2 }
8
- console.log(redact(o) === o)
9
- console.log(o)
10
- console.log(redact.restore(o) === o)
11
- console.log(o)
@@ -1,4 +0,0 @@
1
- 'use strict'
2
- const fastRedact = require('..')
3
- const redact = fastRedact({ paths: ['a'], serialize: (o) => JSON.stringify(o, 0, 2) })
4
- console.log(redact({ a: 1, b: 2 }))
@@ -1,9 +0,0 @@
1
- 'use strict'
2
- const fastRedact = require('..')
3
- const redact = fastRedact({ paths: ['*.c.d'] })
4
- const obj = {
5
- x: { c: { d: 'hide me', e: 'leave me be' } },
6
- y: { c: { d: 'and me', f: 'I want to live' } },
7
- z: { c: { d: 'and also I', g: 'I want to run in a stream' } }
8
- }
9
- console.log(redact(obj))
@@ -1,56 +0,0 @@
1
- 'use strict'
2
-
3
- const validator = require('./lib/validator')
4
- const parse = require('./lib/parse')
5
- const redactor = require('./lib/redactor')
6
- const restorer = require('./lib/restorer')
7
- const { groupRedact, nestedRedact } = require('./lib/modifiers')
8
- const state = require('./lib/state')
9
- const rx = require('./lib/rx')
10
- const validate = validator()
11
- const noop = (o) => o
12
- noop.restore = noop
13
-
14
- const DEFAULT_CENSOR = '[REDACTED]'
15
- fastRedact.rx = rx
16
- fastRedact.validator = validator
17
-
18
- module.exports = fastRedact
19
-
20
- function fastRedact (opts = {}) {
21
- const paths = Array.from(new Set(opts.paths || []))
22
- const serialize = 'serialize' in opts ? (
23
- opts.serialize === false ? opts.serialize
24
- : (typeof opts.serialize === 'function' ? opts.serialize : JSON.stringify)
25
- ) : JSON.stringify
26
- const remove = opts.remove
27
- if (remove === true && serialize !== JSON.stringify) {
28
- throw Error('fast-redact – remove option may only be set when serializer is JSON.stringify')
29
- }
30
- const censor = remove === true
31
- ? undefined
32
- : 'censor' in opts ? opts.censor : DEFAULT_CENSOR
33
-
34
- const isCensorFct = typeof censor === 'function'
35
- const censorFctTakesPath = isCensorFct && censor.length > 1
36
-
37
- if (paths.length === 0) return serialize || noop
38
-
39
- validate({ paths, serialize, censor })
40
-
41
- const { wildcards, wcLen, secret } = parse({ paths, censor })
42
-
43
- const compileRestore = restorer()
44
- const strict = 'strict' in opts ? opts.strict : true
45
-
46
- return redactor({ secret, wcLen, serialize, strict, isCensorFct, censorFctTakesPath }, state({
47
- secret,
48
- censor,
49
- compileRestore,
50
- serialize,
51
- groupRedact,
52
- nestedRedact,
53
- wildcards,
54
- wcLen
55
- }))
56
- }
@@ -1,291 +0,0 @@
1
- 'use strict'
2
-
3
- module.exports = {
4
- groupRedact,
5
- groupRestore,
6
- nestedRedact,
7
- nestedRestore
8
- }
9
-
10
- function groupRestore ({ keys, values, target }) {
11
- if (target == null || typeof target === 'string') return
12
- const length = keys.length
13
- for (var i = 0; i < length; i++) {
14
- const k = keys[i]
15
- target[k] = values[i]
16
- }
17
- }
18
-
19
- function groupRedact (o, path, censor, isCensorFct, censorFctTakesPath) {
20
- const target = get(o, path)
21
- if (target == null || typeof target === 'string') return { keys: null, values: null, target, flat: true }
22
- const keys = Object.keys(target)
23
- const keysLength = keys.length
24
- const pathLength = path.length
25
- const pathWithKey = censorFctTakesPath ? [...path] : undefined
26
- const values = new Array(keysLength)
27
-
28
- for (var i = 0; i < keysLength; i++) {
29
- const key = keys[i]
30
- values[i] = target[key]
31
-
32
- if (censorFctTakesPath) {
33
- pathWithKey[pathLength] = key
34
- target[key] = censor(target[key], pathWithKey)
35
- } else if (isCensorFct) {
36
- target[key] = censor(target[key])
37
- } else {
38
- target[key] = censor
39
- }
40
- }
41
- return { keys, values, target, flat: true }
42
- }
43
-
44
- /**
45
- * @param {RestoreInstruction[]} instructions a set of instructions for restoring values to objects
46
- */
47
- function nestedRestore (instructions) {
48
- for (let i = 0; i < instructions.length; i++) {
49
- const { target, path, value } = instructions[i]
50
- let current = target
51
- for (let i = path.length - 1; i > 0; i--) {
52
- current = current[path[i]]
53
- }
54
- current[path[0]] = value
55
- }
56
- }
57
-
58
- function nestedRedact (store, o, path, ns, censor, isCensorFct, censorFctTakesPath) {
59
- const target = get(o, path)
60
- if (target == null) return
61
- const keys = Object.keys(target)
62
- const keysLength = keys.length
63
- for (var i = 0; i < keysLength; i++) {
64
- const key = keys[i]
65
- specialSet(store, target, key, path, ns, censor, isCensorFct, censorFctTakesPath)
66
- }
67
- return store
68
- }
69
-
70
- function has (obj, prop) {
71
- return obj !== undefined && obj !== null
72
- ? ('hasOwn' in Object ? Object.hasOwn(obj, prop) : Object.prototype.hasOwnProperty.call(obj, prop))
73
- : false
74
- }
75
-
76
- function specialSet (store, o, k, path, afterPath, censor, isCensorFct, censorFctTakesPath) {
77
- const afterPathLen = afterPath.length
78
- const lastPathIndex = afterPathLen - 1
79
- const originalKey = k
80
- var i = -1
81
- var n
82
- var nv
83
- var ov
84
- var oov = null
85
- var wc = null
86
- var kIsWc
87
- var wcov
88
- var consecutive = false
89
- var level = 0
90
- // need to track depth of the `redactPath` tree
91
- var depth = 0
92
- var redactPathCurrent = tree()
93
- ov = n = o[k]
94
- if (typeof n !== 'object') return
95
- while (n != null && ++i < afterPathLen) {
96
- depth += 1
97
- k = afterPath[i]
98
- oov = ov
99
- if (k !== '*' && !wc && !(typeof n === 'object' && k in n)) {
100
- break
101
- }
102
- if (k === '*') {
103
- if (wc === '*') {
104
- consecutive = true
105
- }
106
- wc = k
107
- if (i !== lastPathIndex) {
108
- continue
109
- }
110
- }
111
- if (wc) {
112
- const wcKeys = Object.keys(n)
113
- for (var j = 0; j < wcKeys.length; j++) {
114
- const wck = wcKeys[j]
115
- wcov = n[wck]
116
- kIsWc = k === '*'
117
- if (consecutive) {
118
- redactPathCurrent = node(redactPathCurrent, wck, depth)
119
- level = i
120
- ov = iterateNthLevel(wcov, level - 1, k, path, afterPath, censor, isCensorFct, censorFctTakesPath, originalKey, n, nv, ov, kIsWc, wck, i, lastPathIndex, redactPathCurrent, store, o[originalKey], depth + 1)
121
- } else {
122
- if (kIsWc || (typeof wcov === 'object' && wcov !== null && k in wcov)) {
123
- if (kIsWc) {
124
- ov = wcov
125
- } else {
126
- ov = wcov[k]
127
- }
128
- nv = (i !== lastPathIndex)
129
- ? ov
130
- : (isCensorFct
131
- ? (censorFctTakesPath ? censor(ov, [...path, originalKey, ...afterPath]) : censor(ov))
132
- : censor)
133
- if (kIsWc) {
134
- const rv = restoreInstr(node(redactPathCurrent, wck, depth), ov, o[originalKey])
135
- store.push(rv)
136
- n[wck] = nv
137
- } else {
138
- if (wcov[k] === nv) {
139
- // pass
140
- } else if ((nv === undefined && censor !== undefined) || (has(wcov, k) && nv === ov)) {
141
- redactPathCurrent = node(redactPathCurrent, wck, depth)
142
- } else {
143
- redactPathCurrent = node(redactPathCurrent, wck, depth)
144
- const rv = restoreInstr(node(redactPathCurrent, k, depth + 1), ov, o[originalKey])
145
- store.push(rv)
146
- wcov[k] = nv
147
- }
148
- }
149
- }
150
- }
151
- }
152
- wc = null
153
- } else {
154
- ov = n[k]
155
- redactPathCurrent = node(redactPathCurrent, k, depth)
156
- nv = (i !== lastPathIndex)
157
- ? ov
158
- : (isCensorFct
159
- ? (censorFctTakesPath ? censor(ov, [...path, originalKey, ...afterPath]) : censor(ov))
160
- : censor)
161
- if ((has(n, k) && nv === ov) || (nv === undefined && censor !== undefined)) {
162
- // pass
163
- } else {
164
- const rv = restoreInstr(redactPathCurrent, ov, o[originalKey])
165
- store.push(rv)
166
- n[k] = nv
167
- }
168
- n = n[k]
169
- }
170
- if (typeof n !== 'object') break
171
- // prevent circular structure, see https://github.com/pinojs/pino/issues/1513
172
- if (ov === oov || typeof ov === 'undefined') {
173
- // pass
174
- }
175
- }
176
- }
177
-
178
- function get (o, p) {
179
- var i = -1
180
- var l = p.length
181
- var n = o
182
- while (n != null && ++i < l) {
183
- n = n[p[i]]
184
- }
185
- return n
186
- }
187
-
188
- function iterateNthLevel (wcov, level, k, path, afterPath, censor, isCensorFct, censorFctTakesPath, originalKey, n, nv, ov, kIsWc, wck, i, lastPathIndex, redactPathCurrent, store, parent, depth) {
189
- if (level === 0) {
190
- if (kIsWc || (typeof wcov === 'object' && wcov !== null && k in wcov)) {
191
- if (kIsWc) {
192
- ov = wcov
193
- } else {
194
- ov = wcov[k]
195
- }
196
- nv = (i !== lastPathIndex)
197
- ? ov
198
- : (isCensorFct
199
- ? (censorFctTakesPath ? censor(ov, [...path, originalKey, ...afterPath]) : censor(ov))
200
- : censor)
201
- if (kIsWc) {
202
- const rv = restoreInstr(redactPathCurrent, ov, parent)
203
- store.push(rv)
204
- n[wck] = nv
205
- } else {
206
- if (wcov[k] === nv) {
207
- // pass
208
- } else if ((nv === undefined && censor !== undefined) || (has(wcov, k) && nv === ov)) {
209
- // pass
210
- } else {
211
- const rv = restoreInstr(node(redactPathCurrent, k, depth + 1), ov, parent)
212
- store.push(rv)
213
- wcov[k] = nv
214
- }
215
- }
216
- }
217
- }
218
- for (const key in wcov) {
219
- if (typeof wcov[key] === 'object') {
220
- redactPathCurrent = node(redactPathCurrent, key, depth)
221
- iterateNthLevel(wcov[key], level - 1, k, path, afterPath, censor, isCensorFct, censorFctTakesPath, originalKey, n, nv, ov, kIsWc, wck, i, lastPathIndex, redactPathCurrent, store, parent, depth + 1)
222
- }
223
- }
224
- }
225
-
226
- /**
227
- * @typedef {object} TreeNode
228
- * @prop {TreeNode} [parent] reference to the parent of this node in the tree, or `null` if there is no parent
229
- * @prop {string} key the key that this node represents (key here being part of the path being redacted
230
- * @prop {TreeNode[]} children the child nodes of this node
231
- * @prop {number} depth the depth of this node in the tree
232
- */
233
-
234
- /**
235
- * instantiate a new, empty tree
236
- * @returns {TreeNode}
237
- */
238
- function tree () {
239
- return { parent: null, key: null, children: [], depth: 0 }
240
- }
241
-
242
- /**
243
- * creates a new node in the tree, attaching it as a child of the provided parent node
244
- * if the specified depth matches the parent depth, adds the new node as a _sibling_ of the parent instead
245
- * @param {TreeNode} parent the parent node to add a new node to (if the parent depth matches the provided `depth` value, will instead add as a sibling of this
246
- * @param {string} key the key that the new node represents (key here being part of the path being redacted)
247
- * @param {number} depth the depth of the new node in the tree - used to determing whether to add the new node as a child or sibling of the provided `parent` node
248
- * @returns {TreeNode} a reference to the newly created node in the tree
249
- */
250
- function node (parent, key, depth) {
251
- if (parent.depth === depth) {
252
- return node(parent.parent, key, depth)
253
- }
254
-
255
- var child = {
256
- parent,
257
- key,
258
- depth,
259
- children: []
260
- }
261
-
262
- parent.children.push(child)
263
-
264
- return child
265
- }
266
-
267
- /**
268
- * @typedef {object} RestoreInstruction
269
- * @prop {string[]} path a reverse-order path that can be used to find the correct insertion point to restore a `value` for the given `parent` object
270
- * @prop {*} value the value to restore
271
- * @prop {object} target the object to restore the `value` in
272
- */
273
-
274
- /**
275
- * create a restore instruction for the given redactPath node
276
- * generates a path in reverse order by walking up the redactPath tree
277
- * @param {TreeNode} node a tree node that should be at the bottom of the redact path (i.e. have no children) - this will be used to walk up the redact path tree to construct the path needed to restore
278
- * @param {*} value the value to restore
279
- * @param {object} target a reference to the parent object to apply the restore instruction to
280
- * @returns {RestoreInstruction} an instruction used to restore a nested value for a specific object
281
- */
282
- function restoreInstr (node, value, target) {
283
- let current = node
284
- const path = []
285
- do {
286
- path.push(current.key)
287
- current = current.parent
288
- } while (current.parent != null)
289
-
290
- return { path, value, target }
291
- }
@@ -1,44 +0,0 @@
1
- 'use strict'
2
-
3
- const rx = require('./rx')
4
-
5
- module.exports = parse
6
-
7
- function parse ({ paths }) {
8
- const wildcards = []
9
- var wcLen = 0
10
- const secret = paths.reduce(function (o, strPath, ix) {
11
- var path = strPath.match(rx).map((p) => p.replace(/'|"|`/g, ''))
12
- const leadingBracket = strPath[0] === '['
13
- path = path.map((p) => {
14
- if (p[0] === '[') return p.substr(1, p.length - 2)
15
- else return p
16
- })
17
- const star = path.indexOf('*')
18
- if (star > -1) {
19
- const before = path.slice(0, star)
20
- const beforeStr = before.join('.')
21
- const after = path.slice(star + 1, path.length)
22
- const nested = after.length > 0
23
- wcLen++
24
- wildcards.push({
25
- before,
26
- beforeStr,
27
- after,
28
- nested
29
- })
30
- } else {
31
- o[strPath] = {
32
- path: path,
33
- val: undefined,
34
- precensored: false,
35
- circle: '',
36
- escPath: JSON.stringify(strPath),
37
- leadingBracket: leadingBracket
38
- }
39
- }
40
- return o
41
- }, {})
42
-
43
- return { wildcards, wcLen, secret }
44
- }
@@ -1,108 +0,0 @@
1
- 'use strict'
2
-
3
- const rx = require('./rx')
4
-
5
- module.exports = redactor
6
-
7
- function redactor ({ secret, serialize, wcLen, strict, isCensorFct, censorFctTakesPath }, state) {
8
- /* eslint-disable-next-line */
9
- const redact = Function('o', `
10
- if (typeof o !== 'object' || o == null) {
11
- ${strictImpl(strict, serialize)}
12
- }
13
- const { censor, secret } = this
14
- const originalSecret = {}
15
- const secretKeys = Object.keys(secret)
16
- for (var i = 0; i < secretKeys.length; i++) {
17
- originalSecret[secretKeys[i]] = secret[secretKeys[i]]
18
- }
19
-
20
- ${redactTmpl(secret, isCensorFct, censorFctTakesPath)}
21
- this.compileRestore()
22
- ${dynamicRedactTmpl(wcLen > 0, isCensorFct, censorFctTakesPath)}
23
- this.secret = originalSecret
24
- ${resultTmpl(serialize)}
25
- `).bind(state)
26
-
27
- redact.state = state
28
-
29
- if (serialize === false) {
30
- redact.restore = (o) => state.restore(o)
31
- }
32
-
33
- return redact
34
- }
35
-
36
- function redactTmpl (secret, isCensorFct, censorFctTakesPath) {
37
- return Object.keys(secret).map((path) => {
38
- const { escPath, leadingBracket, path: arrPath } = secret[path]
39
- const skip = leadingBracket ? 1 : 0
40
- const delim = leadingBracket ? '' : '.'
41
- const hops = []
42
- var match
43
- while ((match = rx.exec(path)) !== null) {
44
- const [ , ix ] = match
45
- const { index, input } = match
46
- if (index > skip) hops.push(input.substring(0, index - (ix ? 0 : 1)))
47
- }
48
- var existence = hops.map((p) => `o${delim}${p}`).join(' && ')
49
- if (existence.length === 0) existence += `o${delim}${path} != null`
50
- else existence += ` && o${delim}${path} != null`
51
-
52
- const circularDetection = `
53
- switch (true) {
54
- ${hops.reverse().map((p) => `
55
- case o${delim}${p} === censor:
56
- secret[${escPath}].circle = ${JSON.stringify(p)}
57
- break
58
- `).join('\n')}
59
- }
60
- `
61
-
62
- const censorArgs = censorFctTakesPath
63
- ? `val, ${JSON.stringify(arrPath)}`
64
- : `val`
65
-
66
- return `
67
- if (${existence}) {
68
- const val = o${delim}${path}
69
- if (val === censor) {
70
- secret[${escPath}].precensored = true
71
- } else {
72
- secret[${escPath}].val = val
73
- o${delim}${path} = ${isCensorFct ? `censor(${censorArgs})` : 'censor'}
74
- ${circularDetection}
75
- }
76
- }
77
- `
78
- }).join('\n')
79
- }
80
-
81
- function dynamicRedactTmpl (hasWildcards, isCensorFct, censorFctTakesPath) {
82
- return hasWildcards === true ? `
83
- {
84
- const { wildcards, wcLen, groupRedact, nestedRedact } = this
85
- for (var i = 0; i < wcLen; i++) {
86
- const { before, beforeStr, after, nested } = wildcards[i]
87
- if (nested === true) {
88
- secret[beforeStr] = secret[beforeStr] || []
89
- nestedRedact(secret[beforeStr], o, before, after, censor, ${isCensorFct}, ${censorFctTakesPath})
90
- } else secret[beforeStr] = groupRedact(o, before, censor, ${isCensorFct}, ${censorFctTakesPath})
91
- }
92
- }
93
- ` : ''
94
- }
95
-
96
- function resultTmpl (serialize) {
97
- return serialize === false ? `return o` : `
98
- var s = this.serialize(o)
99
- this.restore(o)
100
- return s
101
- `
102
- }
103
-
104
- function strictImpl (strict, serialize) {
105
- return strict === true
106
- ? `throw Error('fast-redact: primitives cannot be redacted')`
107
- : serialize === false ? `return o` : `return this.serialize(o)`
108
- }
@@ -1,92 +0,0 @@
1
- 'use strict'
2
-
3
- const { groupRestore, nestedRestore } = require('./modifiers')
4
-
5
- module.exports = restorer
6
-
7
- function restorer () {
8
- return function compileRestore () {
9
- if (this.restore) {
10
- this.restore.state.secret = this.secret
11
- return
12
- }
13
- const { secret, wcLen } = this
14
- const paths = Object.keys(secret)
15
- const resetters = resetTmpl(secret, paths)
16
- const hasWildcards = wcLen > 0
17
- const state = hasWildcards ? { secret, groupRestore, nestedRestore } : { secret }
18
- /* eslint-disable-next-line */
19
- this.restore = Function(
20
- 'o',
21
- restoreTmpl(resetters, paths, hasWildcards)
22
- ).bind(state)
23
- this.restore.state = state
24
- }
25
- }
26
-
27
- /**
28
- * Mutates the original object to be censored by restoring its original values
29
- * prior to censoring.
30
- *
31
- * @param {object} secret Compiled object describing which target fields should
32
- * be censored and the field states.
33
- * @param {string[]} paths The list of paths to censor as provided at
34
- * initialization time.
35
- *
36
- * @returns {string} String of JavaScript to be used by `Function()`. The
37
- * string compiles to the function that does the work in the description.
38
- */
39
- function resetTmpl (secret, paths) {
40
- return paths.map((path) => {
41
- const { circle, escPath, leadingBracket } = secret[path]
42
- const delim = leadingBracket ? '' : '.'
43
- const reset = circle
44
- ? `o.${circle} = secret[${escPath}].val`
45
- : `o${delim}${path} = secret[${escPath}].val`
46
- const clear = `secret[${escPath}].val = undefined`
47
- return `
48
- if (secret[${escPath}].val !== undefined) {
49
- try { ${reset} } catch (e) {}
50
- ${clear}
51
- }
52
- `
53
- }).join('')
54
- }
55
-
56
- /**
57
- * Creates the body of the restore function
58
- *
59
- * Restoration of the redacted object happens
60
- * backwards, in reverse order of redactions,
61
- * so that repeated redactions on the same object
62
- * property can be eventually rolled back to the
63
- * original value.
64
- *
65
- * This way dynamic redactions are restored first,
66
- * starting from the last one working backwards and
67
- * followed by the static ones.
68
- *
69
- * @returns {string} the body of the restore function
70
- */
71
- function restoreTmpl (resetters, paths, hasWildcards) {
72
- const dynamicReset = hasWildcards === true ? `
73
- const keys = Object.keys(secret)
74
- const len = keys.length
75
- for (var i = len - 1; i >= ${paths.length}; i--) {
76
- const k = keys[i]
77
- const o = secret[k]
78
- if (o) {
79
- if (o.flat === true) this.groupRestore(o)
80
- else this.nestedRestore(o)
81
- secret[k] = null
82
- }
83
- }
84
- ` : ''
85
-
86
- return `
87
- const secret = this.secret
88
- ${dynamicReset}
89
- ${resetters}
90
- return o
91
- `
92
- }
@@ -1,16 +0,0 @@
1
- 'use strict'
2
-
3
- module.exports = /[^.[\]]+|\[((?:.)*?)\]/g
4
-
5
- /*
6
- Regular expression explanation:
7
-
8
- Alt 1: /[^.[\]]+/ - Match one or more characters that are *not* a dot (.)
9
- opening square bracket ([) or closing square bracket (])
10
-
11
- Alt 2: /\[((?:.)*?)\]/ - If the char IS dot or square bracket, then create a capture
12
- group (which will be capture group $1) that matches anything
13
- within square brackets. Expansion is lazy so it will
14
- stop matching as soon as the first closing bracket is met `]`
15
- (rather than continuing to match until the final closing bracket).
16
- */
@@ -1,20 +0,0 @@
1
- 'use strict'
2
-
3
- module.exports = state
4
-
5
- function state (o) {
6
- const {
7
- secret,
8
- censor,
9
- compileRestore,
10
- serialize,
11
- groupRedact,
12
- nestedRedact,
13
- wildcards,
14
- wcLen
15
- } = o
16
- const builder = [{ secret, censor, compileRestore }]
17
- if (serialize !== false) builder.push({ serialize })
18
- if (wcLen > 0) builder.push({ groupRedact, nestedRedact, wildcards, wcLen })
19
- return Object.assign(...builder)
20
- }