プレイグラウンド、サンドボックス、使い捨てスクリプト置き場
0

Configure Feed

Select the types of activity you want to include in your feed.

create fastify-http-errors-enhanced

Kohei Watanabe (Sep 11, 2023, 10:30 AM +0900) 48406e4d a115c1a9

+473
+49
fastify-http-errors-enhanced/server.mjs
··· 1 + import fastify from "fastify"; 2 + import fastifyHttpErrorsEnhanced from "fastify-http-errors-enhanced"; 3 + import { ForbiddenError } from "http-errors-enhanced"; 4 + 5 + const server = fastify(); 6 + 7 + await server.register(fastifyHttpErrorsEnhanced); 8 + 9 + // code プロパティが失われる 10 + server.get("/error", () => new ForbiddenError()); 11 + 12 + // これらは同じで、エラーの引数のメッセージだったものが、スタックトレースが取れるようになる 13 + // また、NODE_ENV=production のとき "An error occurred trying to process your request." にすべて置き換わる 14 + server.get("/return", { 15 + handler() { 16 + return new Error("return."); 17 + }, 18 + }); 19 + server.get("/throw", { 20 + handler() { 21 + throw new Error("throw."); 22 + }, 23 + }); 24 + server.get("/async", { 25 + async handler() { 26 + throw new Error("async."); 27 + }, 28 + }); 29 + server.get("/async-return", { 30 + async handler() { 31 + return new Error("async return."); 32 + }, 33 + }); 34 + 35 + server.get("/validation", { 36 + schema: { 37 + // 400 エラーの構造が変わり failedValidations.query.a プロパティが生える 38 + querystring: { 39 + type: "object", 40 + properties: { a: { type: "string" } }, 41 + required: ["a"], 42 + }, 43 + }, 44 + async handler() { 45 + return "ok"; 46 + }, 47 + }); 48 + 49 + await server.listen({ port: 3000 });
+7
package.json
··· 1 + { 2 + "devDependencies": { 3 + "fastify": "^4.22.2", 4 + "fastify-http-errors-enhanced": "^4.1.0", 5 + "http-errors-enhanced": "^1.0.13" 6 + } 7 + }
+417
pnpm-lock.yaml
··· 1 + lockfileVersion: '6.0' 2 + 3 + devDependencies: 4 + fastify: 5 + specifier: ^4.22.2 6 + version: 4.22.2 7 + fastify-http-errors-enhanced: 8 + specifier: ^4.1.0 9 + version: 4.1.0 10 + http-errors-enhanced: 11 + specifier: ^1.0.13 12 + version: 1.0.13 13 + 14 + packages: 15 + 16 + /@fastify/ajv-compiler@3.5.0: 17 + resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} 18 + dependencies: 19 + ajv: 8.12.0 20 + ajv-formats: 2.1.1(ajv@8.12.0) 21 + fast-uri: 2.2.0 22 + dev: true 23 + 24 + /@fastify/deepmerge@1.3.0: 25 + resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==} 26 + dev: true 27 + 28 + /@fastify/error@3.3.0: 29 + resolution: {integrity: sha512-dj7vjIn1Ar8sVXj2yAXiMNCJDmS9MQ9XMlIecX2dIzzhjSHCyKo4DdXjXMs7wKW2kj6yvVRSpuQjOZ3YLrh56w==} 30 + dev: true 31 + 32 + /@fastify/fast-json-stringify-compiler@4.3.0: 33 + resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} 34 + dependencies: 35 + fast-json-stringify: 5.8.0 36 + dev: true 37 + 38 + /abort-controller@3.0.0: 39 + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 40 + engines: {node: '>=6.5'} 41 + dependencies: 42 + event-target-shim: 5.0.1 43 + dev: true 44 + 45 + /abstract-logging@2.0.1: 46 + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} 47 + dev: true 48 + 49 + /ajv-formats@2.1.1(ajv@8.12.0): 50 + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} 51 + peerDependencies: 52 + ajv: ^8.0.0 53 + peerDependenciesMeta: 54 + ajv: 55 + optional: true 56 + dependencies: 57 + ajv: 8.12.0 58 + dev: true 59 + 60 + /ajv@8.12.0: 61 + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} 62 + dependencies: 63 + fast-deep-equal: 3.1.3 64 + json-schema-traverse: 1.0.0 65 + require-from-string: 2.0.2 66 + uri-js: 4.4.1 67 + dev: true 68 + 69 + /archy@1.0.0: 70 + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} 71 + dev: true 72 + 73 + /atomic-sleep@1.0.0: 74 + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} 75 + engines: {node: '>=8.0.0'} 76 + dev: true 77 + 78 + /avvio@8.2.1: 79 + resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==} 80 + dependencies: 81 + archy: 1.0.0 82 + debug: 4.3.4 83 + fastq: 1.15.0 84 + transitivePeerDependencies: 85 + - supports-color 86 + dev: true 87 + 88 + /base64-js@1.5.1: 89 + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 90 + dev: true 91 + 92 + /buffer@6.0.3: 93 + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 94 + dependencies: 95 + base64-js: 1.5.1 96 + ieee754: 1.2.1 97 + dev: true 98 + 99 + /cookie@0.5.0: 100 + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} 101 + engines: {node: '>= 0.6'} 102 + dev: true 103 + 104 + /debug@4.3.4: 105 + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 106 + engines: {node: '>=6.0'} 107 + peerDependencies: 108 + supports-color: '*' 109 + peerDependenciesMeta: 110 + supports-color: 111 + optional: true 112 + dependencies: 113 + ms: 2.1.2 114 + dev: true 115 + 116 + /event-target-shim@5.0.1: 117 + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 118 + engines: {node: '>=6'} 119 + dev: true 120 + 121 + /events@3.3.0: 122 + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 123 + engines: {node: '>=0.8.x'} 124 + dev: true 125 + 126 + /fast-content-type-parse@1.0.0: 127 + resolution: {integrity: sha512-Xbc4XcysUXcsP5aHUU7Nq3OwvHq97C+WnbkeIefpeYLX+ryzFJlU6OStFJhs6Ol0LkUGpcK+wL0JwfM+FCU5IA==} 128 + dev: true 129 + 130 + /fast-decode-uri-component@1.0.1: 131 + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} 132 + dev: true 133 + 134 + /fast-deep-equal@3.1.3: 135 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 136 + dev: true 137 + 138 + /fast-json-stringify@5.8.0: 139 + resolution: {integrity: sha512-VVwK8CFMSALIvt14U8AvrSzQAwN/0vaVRiFFUVlpnXSnDGrSkOAO5MtzyN8oQNjLd5AqTW5OZRgyjoNuAuR3jQ==} 140 + dependencies: 141 + '@fastify/deepmerge': 1.3.0 142 + ajv: 8.12.0 143 + ajv-formats: 2.1.1(ajv@8.12.0) 144 + fast-deep-equal: 3.1.3 145 + fast-uri: 2.2.0 146 + rfdc: 1.3.0 147 + dev: true 148 + 149 + /fast-querystring@1.1.2: 150 + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} 151 + dependencies: 152 + fast-decode-uri-component: 1.0.1 153 + dev: true 154 + 155 + /fast-redact@3.3.0: 156 + resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} 157 + engines: {node: '>=6'} 158 + dev: true 159 + 160 + /fast-uri@2.2.0: 161 + resolution: {integrity: sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg==} 162 + dev: true 163 + 164 + /fastify-http-errors-enhanced@4.1.0: 165 + resolution: {integrity: sha512-4hlaDS2Nt0nDh+/bIEU/TnnQAJyitSbuGLn/zgvdCvA5KjnJHdzncRK9Fn2diH+yHhRjjpd0RgUanKDSS4O2/g==} 166 + engines: {node: '>=14.15.0'} 167 + dependencies: 168 + ajv: 8.12.0 169 + fastify-plugin: 4.5.1 170 + http-errors-enhanced: 1.0.13 171 + dev: true 172 + 173 + /fastify-plugin@4.5.1: 174 + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} 175 + dev: true 176 + 177 + /fastify@4.22.2: 178 + resolution: {integrity: sha512-rK8mF/1mZJHH6H/L22OhmilTgrp5XMkk3RHcSy03LC+TJ6+wLhbq+4U62bjns15VzIbBNgxTqAForBqtGAa0NQ==} 179 + dependencies: 180 + '@fastify/ajv-compiler': 3.5.0 181 + '@fastify/error': 3.3.0 182 + '@fastify/fast-json-stringify-compiler': 4.3.0 183 + abstract-logging: 2.0.1 184 + avvio: 8.2.1 185 + fast-content-type-parse: 1.0.0 186 + fast-json-stringify: 5.8.0 187 + find-my-way: 7.6.2 188 + light-my-request: 5.10.0 189 + pino: 8.15.1 190 + process-warning: 2.2.0 191 + proxy-addr: 2.0.7 192 + rfdc: 1.3.0 193 + secure-json-parse: 2.7.0 194 + semver: 7.5.4 195 + tiny-lru: 11.0.1 196 + transitivePeerDependencies: 197 + - supports-color 198 + dev: true 199 + 200 + /fastq@1.15.0: 201 + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 202 + dependencies: 203 + reusify: 1.0.4 204 + dev: true 205 + 206 + /find-my-way@7.6.2: 207 + resolution: {integrity: sha512-0OjHn1b1nCX3eVbm9ByeEHiscPYiHLfhei1wOUU9qffQkk98wE0Lo8VrVYfSGMgnSnDh86DxedduAnBf4nwUEw==} 208 + engines: {node: '>=14'} 209 + dependencies: 210 + fast-deep-equal: 3.1.3 211 + fast-querystring: 1.1.2 212 + safe-regex2: 2.0.0 213 + dev: true 214 + 215 + /forwarded@0.2.0: 216 + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 217 + engines: {node: '>= 0.6'} 218 + dev: true 219 + 220 + /http-errors-enhanced@1.0.13: 221 + resolution: {integrity: sha512-yc9Ev4El+/HdoBJuU1pFzzV+7IicLmcTr3MXSDF6IyoB5kBPlPB1bDxRKDEcbWDgneB2z62E/zqFf0Gq/a57EA==} 222 + engines: {node: '>=14.15.0'} 223 + dev: true 224 + 225 + /ieee754@1.2.1: 226 + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 227 + dev: true 228 + 229 + /ipaddr.js@1.9.1: 230 + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 231 + engines: {node: '>= 0.10'} 232 + dev: true 233 + 234 + /json-schema-traverse@1.0.0: 235 + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} 236 + dev: true 237 + 238 + /light-my-request@5.10.0: 239 + resolution: {integrity: sha512-ZU2D9GmAcOUculTTdH9/zryej6n8TzT+fNGdNtm6SDp5MMMpHrJJkvAdE3c6d8d2chE9i+a//dS9CWZtisknqA==} 240 + dependencies: 241 + cookie: 0.5.0 242 + process-warning: 2.2.0 243 + set-cookie-parser: 2.6.0 244 + dev: true 245 + 246 + /lru-cache@6.0.0: 247 + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 248 + engines: {node: '>=10'} 249 + dependencies: 250 + yallist: 4.0.0 251 + dev: true 252 + 253 + /ms@2.1.2: 254 + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 255 + dev: true 256 + 257 + /on-exit-leak-free@2.1.0: 258 + resolution: {integrity: sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==} 259 + dev: true 260 + 261 + /pino-abstract-transport@1.1.0: 262 + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} 263 + dependencies: 264 + readable-stream: 4.4.2 265 + split2: 4.2.0 266 + dev: true 267 + 268 + /pino-std-serializers@6.2.2: 269 + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} 270 + dev: true 271 + 272 + /pino@8.15.1: 273 + resolution: {integrity: sha512-Cp4QzUQrvWCRJaQ8Lzv0mJzXVk4z2jlq8JNKMGaixC2Pz5L4l2p95TkuRvYbrEbe85NQsDKrAd4zalf7Ml6WiA==} 274 + hasBin: true 275 + dependencies: 276 + atomic-sleep: 1.0.0 277 + fast-redact: 3.3.0 278 + on-exit-leak-free: 2.1.0 279 + pino-abstract-transport: 1.1.0 280 + pino-std-serializers: 6.2.2 281 + process-warning: 2.2.0 282 + quick-format-unescaped: 4.0.4 283 + real-require: 0.2.0 284 + safe-stable-stringify: 2.4.3 285 + sonic-boom: 3.3.0 286 + thread-stream: 2.4.0 287 + dev: true 288 + 289 + /process-warning@2.2.0: 290 + resolution: {integrity: sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==} 291 + dev: true 292 + 293 + /process@0.11.10: 294 + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 295 + engines: {node: '>= 0.6.0'} 296 + dev: true 297 + 298 + /proxy-addr@2.0.7: 299 + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 300 + engines: {node: '>= 0.10'} 301 + dependencies: 302 + forwarded: 0.2.0 303 + ipaddr.js: 1.9.1 304 + dev: true 305 + 306 + /punycode@2.3.0: 307 + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 308 + engines: {node: '>=6'} 309 + dev: true 310 + 311 + /quick-format-unescaped@4.0.4: 312 + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 313 + dev: true 314 + 315 + /readable-stream@4.4.2: 316 + resolution: {integrity: sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==} 317 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 318 + dependencies: 319 + abort-controller: 3.0.0 320 + buffer: 6.0.3 321 + events: 3.3.0 322 + process: 0.11.10 323 + string_decoder: 1.3.0 324 + dev: true 325 + 326 + /real-require@0.2.0: 327 + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 328 + engines: {node: '>= 12.13.0'} 329 + dev: true 330 + 331 + /require-from-string@2.0.2: 332 + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} 333 + engines: {node: '>=0.10.0'} 334 + dev: true 335 + 336 + /ret@0.2.2: 337 + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} 338 + engines: {node: '>=4'} 339 + dev: true 340 + 341 + /reusify@1.0.4: 342 + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 343 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 344 + dev: true 345 + 346 + /rfdc@1.3.0: 347 + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} 348 + dev: true 349 + 350 + /safe-buffer@5.2.1: 351 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 352 + dev: true 353 + 354 + /safe-regex2@2.0.0: 355 + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} 356 + dependencies: 357 + ret: 0.2.2 358 + dev: true 359 + 360 + /safe-stable-stringify@2.4.3: 361 + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} 362 + engines: {node: '>=10'} 363 + dev: true 364 + 365 + /secure-json-parse@2.7.0: 366 + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} 367 + dev: true 368 + 369 + /semver@7.5.4: 370 + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} 371 + engines: {node: '>=10'} 372 + hasBin: true 373 + dependencies: 374 + lru-cache: 6.0.0 375 + dev: true 376 + 377 + /set-cookie-parser@2.6.0: 378 + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} 379 + dev: true 380 + 381 + /sonic-boom@3.3.0: 382 + resolution: {integrity: sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==} 383 + dependencies: 384 + atomic-sleep: 1.0.0 385 + dev: true 386 + 387 + /split2@4.2.0: 388 + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 389 + engines: {node: '>= 10.x'} 390 + dev: true 391 + 392 + /string_decoder@1.3.0: 393 + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 394 + dependencies: 395 + safe-buffer: 5.2.1 396 + dev: true 397 + 398 + /thread-stream@2.4.0: 399 + resolution: {integrity: sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw==} 400 + dependencies: 401 + real-require: 0.2.0 402 + dev: true 403 + 404 + /tiny-lru@11.0.1: 405 + resolution: {integrity: sha512-iNgFugVuQgBKrqeO/mpiTTgmBsTP0WL6yeuLfLs/Ctf0pI/ixGqIRm8sDCwMcXGe9WWvt2sGXI5mNqZbValmJg==} 406 + engines: {node: '>=12'} 407 + dev: true 408 + 409 + /uri-js@4.4.1: 410 + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 411 + dependencies: 412 + punycode: 2.3.0 413 + dev: true 414 + 415 + /yallist@4.0.0: 416 + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 417 + dev: true