├── .gitignore ├── package-lock.json ├── package.json ├── prisma ├── migrations │ ├── 20230302140626_create_users │ │ └── migration.sql │ └── migration_lock.toml └── schema.prisma ├── src └── server.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | # Keep environment variables out of version control 3 | .env 4 | dist -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "deploy", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "deploy", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "@prisma/client": "4.11.0", 13 | "fastify": "4.13.0", 14 | "zod": "3.20.6" 15 | }, 16 | "devDependencies": { 17 | "@types/node": "18.14.4", 18 | "prisma": "4.11.0", 19 | "tsup": "6.6.3", 20 | "tsx": "3.12.3", 21 | "typescript": "4.9.5" 22 | } 23 | }, 24 | "node_modules/@esbuild-kit/cjs-loader": { 25 | "version": "2.4.2", 26 | "resolved": "https://registry.npmjs.org/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.2.tgz", 27 | "integrity": "sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==", 28 | "dev": true, 29 | "dependencies": { 30 | "@esbuild-kit/core-utils": "^3.0.0", 31 | "get-tsconfig": "^4.4.0" 32 | } 33 | }, 34 | "node_modules/@esbuild-kit/core-utils": { 35 | "version": "3.1.0", 36 | "resolved": "https://registry.npmjs.org/@esbuild-kit/core-utils/-/core-utils-3.1.0.tgz", 37 | "integrity": "sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==", 38 | "dev": true, 39 | "dependencies": { 40 | "esbuild": "~0.17.6", 41 | "source-map-support": "^0.5.21" 42 | } 43 | }, 44 | "node_modules/@esbuild-kit/esm-loader": { 45 | "version": "2.5.5", 46 | "resolved": "https://registry.npmjs.org/@esbuild-kit/esm-loader/-/esm-loader-2.5.5.tgz", 47 | "integrity": "sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==", 48 | "dev": true, 49 | "dependencies": { 50 | "@esbuild-kit/core-utils": "^3.0.0", 51 | "get-tsconfig": "^4.4.0" 52 | } 53 | }, 54 | "node_modules/@esbuild/android-arm": { 55 | "version": "0.17.10", 56 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.10.tgz", 57 | "integrity": "sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw==", 58 | "cpu": [ 59 | "arm" 60 | ], 61 | "dev": true, 62 | "optional": true, 63 | "os": [ 64 | "android" 65 | ], 66 | "engines": { 67 | "node": ">=12" 68 | } 69 | }, 70 | "node_modules/@esbuild/android-arm64": { 71 | "version": "0.17.10", 72 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.10.tgz", 73 | "integrity": "sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g==", 74 | "cpu": [ 75 | "arm64" 76 | ], 77 | "dev": true, 78 | "optional": true, 79 | "os": [ 80 | "android" 81 | ], 82 | "engines": { 83 | "node": ">=12" 84 | } 85 | }, 86 | "node_modules/@esbuild/android-x64": { 87 | "version": "0.17.10", 88 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.10.tgz", 89 | "integrity": "sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA==", 90 | "cpu": [ 91 | "x64" 92 | ], 93 | "dev": true, 94 | "optional": true, 95 | "os": [ 96 | "android" 97 | ], 98 | "engines": { 99 | "node": ">=12" 100 | } 101 | }, 102 | "node_modules/@esbuild/darwin-arm64": { 103 | "version": "0.17.10", 104 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.10.tgz", 105 | "integrity": "sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg==", 106 | "cpu": [ 107 | "arm64" 108 | ], 109 | "dev": true, 110 | "optional": true, 111 | "os": [ 112 | "darwin" 113 | ], 114 | "engines": { 115 | "node": ">=12" 116 | } 117 | }, 118 | "node_modules/@esbuild/darwin-x64": { 119 | "version": "0.17.10", 120 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.10.tgz", 121 | "integrity": "sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ==", 122 | "cpu": [ 123 | "x64" 124 | ], 125 | "dev": true, 126 | "optional": true, 127 | "os": [ 128 | "darwin" 129 | ], 130 | "engines": { 131 | "node": ">=12" 132 | } 133 | }, 134 | "node_modules/@esbuild/freebsd-arm64": { 135 | "version": "0.17.10", 136 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.10.tgz", 137 | "integrity": "sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ==", 138 | "cpu": [ 139 | "arm64" 140 | ], 141 | "dev": true, 142 | "optional": true, 143 | "os": [ 144 | "freebsd" 145 | ], 146 | "engines": { 147 | "node": ">=12" 148 | } 149 | }, 150 | "node_modules/@esbuild/freebsd-x64": { 151 | "version": "0.17.10", 152 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.10.tgz", 153 | "integrity": "sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg==", 154 | "cpu": [ 155 | "x64" 156 | ], 157 | "dev": true, 158 | "optional": true, 159 | "os": [ 160 | "freebsd" 161 | ], 162 | "engines": { 163 | "node": ">=12" 164 | } 165 | }, 166 | "node_modules/@esbuild/linux-arm": { 167 | "version": "0.17.10", 168 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.10.tgz", 169 | "integrity": "sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA==", 170 | "cpu": [ 171 | "arm" 172 | ], 173 | "dev": true, 174 | "optional": true, 175 | "os": [ 176 | "linux" 177 | ], 178 | "engines": { 179 | "node": ">=12" 180 | } 181 | }, 182 | "node_modules/@esbuild/linux-arm64": { 183 | "version": "0.17.10", 184 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.10.tgz", 185 | "integrity": "sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA==", 186 | "cpu": [ 187 | "arm64" 188 | ], 189 | "dev": true, 190 | "optional": true, 191 | "os": [ 192 | "linux" 193 | ], 194 | "engines": { 195 | "node": ">=12" 196 | } 197 | }, 198 | "node_modules/@esbuild/linux-ia32": { 199 | "version": "0.17.10", 200 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.10.tgz", 201 | "integrity": "sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw==", 202 | "cpu": [ 203 | "ia32" 204 | ], 205 | "dev": true, 206 | "optional": true, 207 | "os": [ 208 | "linux" 209 | ], 210 | "engines": { 211 | "node": ">=12" 212 | } 213 | }, 214 | "node_modules/@esbuild/linux-loong64": { 215 | "version": "0.17.10", 216 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.10.tgz", 217 | "integrity": "sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA==", 218 | "cpu": [ 219 | "loong64" 220 | ], 221 | "dev": true, 222 | "optional": true, 223 | "os": [ 224 | "linux" 225 | ], 226 | "engines": { 227 | "node": ">=12" 228 | } 229 | }, 230 | "node_modules/@esbuild/linux-mips64el": { 231 | "version": "0.17.10", 232 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.10.tgz", 233 | "integrity": "sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg==", 234 | "cpu": [ 235 | "mips64el" 236 | ], 237 | "dev": true, 238 | "optional": true, 239 | "os": [ 240 | "linux" 241 | ], 242 | "engines": { 243 | "node": ">=12" 244 | } 245 | }, 246 | "node_modules/@esbuild/linux-ppc64": { 247 | "version": "0.17.10", 248 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.10.tgz", 249 | "integrity": "sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ==", 250 | "cpu": [ 251 | "ppc64" 252 | ], 253 | "dev": true, 254 | "optional": true, 255 | "os": [ 256 | "linux" 257 | ], 258 | "engines": { 259 | "node": ">=12" 260 | } 261 | }, 262 | "node_modules/@esbuild/linux-riscv64": { 263 | "version": "0.17.10", 264 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.10.tgz", 265 | "integrity": "sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ==", 266 | "cpu": [ 267 | "riscv64" 268 | ], 269 | "dev": true, 270 | "optional": true, 271 | "os": [ 272 | "linux" 273 | ], 274 | "engines": { 275 | "node": ">=12" 276 | } 277 | }, 278 | "node_modules/@esbuild/linux-s390x": { 279 | "version": "0.17.10", 280 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.10.tgz", 281 | "integrity": "sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg==", 282 | "cpu": [ 283 | "s390x" 284 | ], 285 | "dev": true, 286 | "optional": true, 287 | "os": [ 288 | "linux" 289 | ], 290 | "engines": { 291 | "node": ">=12" 292 | } 293 | }, 294 | "node_modules/@esbuild/linux-x64": { 295 | "version": "0.17.10", 296 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.10.tgz", 297 | "integrity": "sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg==", 298 | "cpu": [ 299 | "x64" 300 | ], 301 | "dev": true, 302 | "optional": true, 303 | "os": [ 304 | "linux" 305 | ], 306 | "engines": { 307 | "node": ">=12" 308 | } 309 | }, 310 | "node_modules/@esbuild/netbsd-x64": { 311 | "version": "0.17.10", 312 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.10.tgz", 313 | "integrity": "sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA==", 314 | "cpu": [ 315 | "x64" 316 | ], 317 | "dev": true, 318 | "optional": true, 319 | "os": [ 320 | "netbsd" 321 | ], 322 | "engines": { 323 | "node": ">=12" 324 | } 325 | }, 326 | "node_modules/@esbuild/openbsd-x64": { 327 | "version": "0.17.10", 328 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.10.tgz", 329 | "integrity": "sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig==", 330 | "cpu": [ 331 | "x64" 332 | ], 333 | "dev": true, 334 | "optional": true, 335 | "os": [ 336 | "openbsd" 337 | ], 338 | "engines": { 339 | "node": ">=12" 340 | } 341 | }, 342 | "node_modules/@esbuild/sunos-x64": { 343 | "version": "0.17.10", 344 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.10.tgz", 345 | "integrity": "sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg==", 346 | "cpu": [ 347 | "x64" 348 | ], 349 | "dev": true, 350 | "optional": true, 351 | "os": [ 352 | "sunos" 353 | ], 354 | "engines": { 355 | "node": ">=12" 356 | } 357 | }, 358 | "node_modules/@esbuild/win32-arm64": { 359 | "version": "0.17.10", 360 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.10.tgz", 361 | "integrity": "sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg==", 362 | "cpu": [ 363 | "arm64" 364 | ], 365 | "dev": true, 366 | "optional": true, 367 | "os": [ 368 | "win32" 369 | ], 370 | "engines": { 371 | "node": ">=12" 372 | } 373 | }, 374 | "node_modules/@esbuild/win32-ia32": { 375 | "version": "0.17.10", 376 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.10.tgz", 377 | "integrity": "sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ==", 378 | "cpu": [ 379 | "ia32" 380 | ], 381 | "dev": true, 382 | "optional": true, 383 | "os": [ 384 | "win32" 385 | ], 386 | "engines": { 387 | "node": ">=12" 388 | } 389 | }, 390 | "node_modules/@esbuild/win32-x64": { 391 | "version": "0.17.10", 392 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.10.tgz", 393 | "integrity": "sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw==", 394 | "cpu": [ 395 | "x64" 396 | ], 397 | "dev": true, 398 | "optional": true, 399 | "os": [ 400 | "win32" 401 | ], 402 | "engines": { 403 | "node": ">=12" 404 | } 405 | }, 406 | "node_modules/@fastify/ajv-compiler": { 407 | "version": "3.5.0", 408 | "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz", 409 | "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==", 410 | "dependencies": { 411 | "ajv": "^8.11.0", 412 | "ajv-formats": "^2.1.1", 413 | "fast-uri": "^2.0.0" 414 | } 415 | }, 416 | "node_modules/@fastify/deepmerge": { 417 | "version": "1.3.0", 418 | "resolved": "https://registry.npmjs.org/@fastify/deepmerge/-/deepmerge-1.3.0.tgz", 419 | "integrity": "sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==" 420 | }, 421 | "node_modules/@fastify/error": { 422 | "version": "3.2.0", 423 | "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.2.0.tgz", 424 | "integrity": "sha512-KAfcLa+CnknwVi5fWogrLXgidLic+GXnLjijXdpl8pvkvbXU5BGa37iZO9FGvsh9ZL4y+oFi5cbHBm5UOG+dmQ==" 425 | }, 426 | "node_modules/@fastify/fast-json-stringify-compiler": { 427 | "version": "4.2.0", 428 | "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.2.0.tgz", 429 | "integrity": "sha512-ypZynRvXA3dibfPykQN3RB5wBdEUgSGgny8Qc6k163wYPLD4mEGEDkACp+00YmqkGvIm8D/xYoHajwyEdWD/eg==", 430 | "dependencies": { 431 | "fast-json-stringify": "^5.0.0" 432 | } 433 | }, 434 | "node_modules/@nodelib/fs.scandir": { 435 | "version": "2.1.5", 436 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 437 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 438 | "dev": true, 439 | "dependencies": { 440 | "@nodelib/fs.stat": "2.0.5", 441 | "run-parallel": "^1.1.9" 442 | }, 443 | "engines": { 444 | "node": ">= 8" 445 | } 446 | }, 447 | "node_modules/@nodelib/fs.stat": { 448 | "version": "2.0.5", 449 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 450 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 451 | "dev": true, 452 | "engines": { 453 | "node": ">= 8" 454 | } 455 | }, 456 | "node_modules/@nodelib/fs.walk": { 457 | "version": "1.2.8", 458 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 459 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 460 | "dev": true, 461 | "dependencies": { 462 | "@nodelib/fs.scandir": "2.1.5", 463 | "fastq": "^1.6.0" 464 | }, 465 | "engines": { 466 | "node": ">= 8" 467 | } 468 | }, 469 | "node_modules/@prisma/client": { 470 | "version": "4.11.0", 471 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.11.0.tgz", 472 | "integrity": "sha512-0INHYkQIqgAjrt7NzhYpeDQi8x3Nvylc2uDngKyFDDj1tTRQ4uV1HnVmd1sQEraeVAN63SOK0dgCKQHlvjL0KA==", 473 | "hasInstallScript": true, 474 | "dependencies": { 475 | "@prisma/engines-version": "4.11.0-57.8fde8fef4033376662cad983758335009d522acb" 476 | }, 477 | "engines": { 478 | "node": ">=14.17" 479 | }, 480 | "peerDependencies": { 481 | "prisma": "*" 482 | }, 483 | "peerDependenciesMeta": { 484 | "prisma": { 485 | "optional": true 486 | } 487 | } 488 | }, 489 | "node_modules/@prisma/engines": { 490 | "version": "4.11.0", 491 | "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.11.0.tgz", 492 | "integrity": "sha512-0AEBi2HXGV02cf6ASsBPhfsVIbVSDC9nbQed4iiY5eHttW9ZtMxHThuKZE1pnESbr8HRdgmFSa/Kn4OSNYuibg==", 493 | "devOptional": true, 494 | "hasInstallScript": true 495 | }, 496 | "node_modules/@prisma/engines-version": { 497 | "version": "4.11.0-57.8fde8fef4033376662cad983758335009d522acb", 498 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.11.0-57.8fde8fef4033376662cad983758335009d522acb.tgz", 499 | "integrity": "sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g==" 500 | }, 501 | "node_modules/@types/node": { 502 | "version": "18.14.4", 503 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.4.tgz", 504 | "integrity": "sha512-VhCw7I7qO2X49+jaKcAUwi3rR+hbxT5VcYF493+Z5kMLI0DL568b7JI4IDJaxWFH0D/xwmGJNoXisyX+w7GH/g==", 505 | "dev": true 506 | }, 507 | "node_modules/abort-controller": { 508 | "version": "3.0.0", 509 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 510 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 511 | "dependencies": { 512 | "event-target-shim": "^5.0.0" 513 | }, 514 | "engines": { 515 | "node": ">=6.5" 516 | } 517 | }, 518 | "node_modules/abstract-logging": { 519 | "version": "2.0.1", 520 | "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", 521 | "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==" 522 | }, 523 | "node_modules/ajv": { 524 | "version": "8.12.0", 525 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", 526 | "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", 527 | "dependencies": { 528 | "fast-deep-equal": "^3.1.1", 529 | "json-schema-traverse": "^1.0.0", 530 | "require-from-string": "^2.0.2", 531 | "uri-js": "^4.2.2" 532 | }, 533 | "funding": { 534 | "type": "github", 535 | "url": "https://github.com/sponsors/epoberezkin" 536 | } 537 | }, 538 | "node_modules/ajv-formats": { 539 | "version": "2.1.1", 540 | "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", 541 | "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", 542 | "dependencies": { 543 | "ajv": "^8.0.0" 544 | }, 545 | "peerDependencies": { 546 | "ajv": "^8.0.0" 547 | }, 548 | "peerDependenciesMeta": { 549 | "ajv": { 550 | "optional": true 551 | } 552 | } 553 | }, 554 | "node_modules/any-promise": { 555 | "version": "1.3.0", 556 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 557 | "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 558 | "dev": true 559 | }, 560 | "node_modules/anymatch": { 561 | "version": "3.1.3", 562 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 563 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 564 | "dev": true, 565 | "dependencies": { 566 | "normalize-path": "^3.0.0", 567 | "picomatch": "^2.0.4" 568 | }, 569 | "engines": { 570 | "node": ">= 8" 571 | } 572 | }, 573 | "node_modules/archy": { 574 | "version": "1.0.0", 575 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", 576 | "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" 577 | }, 578 | "node_modules/array-union": { 579 | "version": "2.1.0", 580 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 581 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 582 | "dev": true, 583 | "engines": { 584 | "node": ">=8" 585 | } 586 | }, 587 | "node_modules/atomic-sleep": { 588 | "version": "1.0.0", 589 | "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", 590 | "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", 591 | "engines": { 592 | "node": ">=8.0.0" 593 | } 594 | }, 595 | "node_modules/avvio": { 596 | "version": "8.2.1", 597 | "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.2.1.tgz", 598 | "integrity": "sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==", 599 | "dependencies": { 600 | "archy": "^1.0.0", 601 | "debug": "^4.0.0", 602 | "fastq": "^1.6.1" 603 | } 604 | }, 605 | "node_modules/balanced-match": { 606 | "version": "1.0.2", 607 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 608 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 609 | "dev": true 610 | }, 611 | "node_modules/base64-js": { 612 | "version": "1.5.1", 613 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 614 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 615 | "funding": [ 616 | { 617 | "type": "github", 618 | "url": "https://github.com/sponsors/feross" 619 | }, 620 | { 621 | "type": "patreon", 622 | "url": "https://www.patreon.com/feross" 623 | }, 624 | { 625 | "type": "consulting", 626 | "url": "https://feross.org/support" 627 | } 628 | ] 629 | }, 630 | "node_modules/binary-extensions": { 631 | "version": "2.2.0", 632 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 633 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 634 | "dev": true, 635 | "engines": { 636 | "node": ">=8" 637 | } 638 | }, 639 | "node_modules/brace-expansion": { 640 | "version": "1.1.11", 641 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 642 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 643 | "dev": true, 644 | "dependencies": { 645 | "balanced-match": "^1.0.0", 646 | "concat-map": "0.0.1" 647 | } 648 | }, 649 | "node_modules/braces": { 650 | "version": "3.0.2", 651 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 652 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 653 | "dev": true, 654 | "dependencies": { 655 | "fill-range": "^7.0.1" 656 | }, 657 | "engines": { 658 | "node": ">=8" 659 | } 660 | }, 661 | "node_modules/buffer": { 662 | "version": "6.0.3", 663 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 664 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 665 | "funding": [ 666 | { 667 | "type": "github", 668 | "url": "https://github.com/sponsors/feross" 669 | }, 670 | { 671 | "type": "patreon", 672 | "url": "https://www.patreon.com/feross" 673 | }, 674 | { 675 | "type": "consulting", 676 | "url": "https://feross.org/support" 677 | } 678 | ], 679 | "dependencies": { 680 | "base64-js": "^1.3.1", 681 | "ieee754": "^1.2.1" 682 | } 683 | }, 684 | "node_modules/buffer-from": { 685 | "version": "1.1.2", 686 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 687 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 688 | "dev": true 689 | }, 690 | "node_modules/bundle-require": { 691 | "version": "4.0.1", 692 | "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-4.0.1.tgz", 693 | "integrity": "sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==", 694 | "dev": true, 695 | "dependencies": { 696 | "load-tsconfig": "^0.2.3" 697 | }, 698 | "engines": { 699 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 700 | }, 701 | "peerDependencies": { 702 | "esbuild": ">=0.17" 703 | } 704 | }, 705 | "node_modules/cac": { 706 | "version": "6.7.14", 707 | "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", 708 | "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", 709 | "dev": true, 710 | "engines": { 711 | "node": ">=8" 712 | } 713 | }, 714 | "node_modules/chokidar": { 715 | "version": "3.5.3", 716 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 717 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 718 | "dev": true, 719 | "funding": [ 720 | { 721 | "type": "individual", 722 | "url": "https://paulmillr.com/funding/" 723 | } 724 | ], 725 | "dependencies": { 726 | "anymatch": "~3.1.2", 727 | "braces": "~3.0.2", 728 | "glob-parent": "~5.1.2", 729 | "is-binary-path": "~2.1.0", 730 | "is-glob": "~4.0.1", 731 | "normalize-path": "~3.0.0", 732 | "readdirp": "~3.6.0" 733 | }, 734 | "engines": { 735 | "node": ">= 8.10.0" 736 | }, 737 | "optionalDependencies": { 738 | "fsevents": "~2.3.2" 739 | } 740 | }, 741 | "node_modules/commander": { 742 | "version": "4.1.1", 743 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 744 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 745 | "dev": true, 746 | "engines": { 747 | "node": ">= 6" 748 | } 749 | }, 750 | "node_modules/concat-map": { 751 | "version": "0.0.1", 752 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 753 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 754 | "dev": true 755 | }, 756 | "node_modules/cookie": { 757 | "version": "0.5.0", 758 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", 759 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", 760 | "engines": { 761 | "node": ">= 0.6" 762 | } 763 | }, 764 | "node_modules/cross-spawn": { 765 | "version": "7.0.3", 766 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 767 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 768 | "dev": true, 769 | "dependencies": { 770 | "path-key": "^3.1.0", 771 | "shebang-command": "^2.0.0", 772 | "which": "^2.0.1" 773 | }, 774 | "engines": { 775 | "node": ">= 8" 776 | } 777 | }, 778 | "node_modules/debug": { 779 | "version": "4.3.4", 780 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 781 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 782 | "dependencies": { 783 | "ms": "2.1.2" 784 | }, 785 | "engines": { 786 | "node": ">=6.0" 787 | }, 788 | "peerDependenciesMeta": { 789 | "supports-color": { 790 | "optional": true 791 | } 792 | } 793 | }, 794 | "node_modules/dir-glob": { 795 | "version": "3.0.1", 796 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 797 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 798 | "dev": true, 799 | "dependencies": { 800 | "path-type": "^4.0.0" 801 | }, 802 | "engines": { 803 | "node": ">=8" 804 | } 805 | }, 806 | "node_modules/esbuild": { 807 | "version": "0.17.10", 808 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.10.tgz", 809 | "integrity": "sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==", 810 | "dev": true, 811 | "hasInstallScript": true, 812 | "bin": { 813 | "esbuild": "bin/esbuild" 814 | }, 815 | "engines": { 816 | "node": ">=12" 817 | }, 818 | "optionalDependencies": { 819 | "@esbuild/android-arm": "0.17.10", 820 | "@esbuild/android-arm64": "0.17.10", 821 | "@esbuild/android-x64": "0.17.10", 822 | "@esbuild/darwin-arm64": "0.17.10", 823 | "@esbuild/darwin-x64": "0.17.10", 824 | "@esbuild/freebsd-arm64": "0.17.10", 825 | "@esbuild/freebsd-x64": "0.17.10", 826 | "@esbuild/linux-arm": "0.17.10", 827 | "@esbuild/linux-arm64": "0.17.10", 828 | "@esbuild/linux-ia32": "0.17.10", 829 | "@esbuild/linux-loong64": "0.17.10", 830 | "@esbuild/linux-mips64el": "0.17.10", 831 | "@esbuild/linux-ppc64": "0.17.10", 832 | "@esbuild/linux-riscv64": "0.17.10", 833 | "@esbuild/linux-s390x": "0.17.10", 834 | "@esbuild/linux-x64": "0.17.10", 835 | "@esbuild/netbsd-x64": "0.17.10", 836 | "@esbuild/openbsd-x64": "0.17.10", 837 | "@esbuild/sunos-x64": "0.17.10", 838 | "@esbuild/win32-arm64": "0.17.10", 839 | "@esbuild/win32-ia32": "0.17.10", 840 | "@esbuild/win32-x64": "0.17.10" 841 | } 842 | }, 843 | "node_modules/event-target-shim": { 844 | "version": "5.0.1", 845 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 846 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", 847 | "engines": { 848 | "node": ">=6" 849 | } 850 | }, 851 | "node_modules/events": { 852 | "version": "3.3.0", 853 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 854 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 855 | "engines": { 856 | "node": ">=0.8.x" 857 | } 858 | }, 859 | "node_modules/execa": { 860 | "version": "5.1.1", 861 | "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", 862 | "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", 863 | "dev": true, 864 | "dependencies": { 865 | "cross-spawn": "^7.0.3", 866 | "get-stream": "^6.0.0", 867 | "human-signals": "^2.1.0", 868 | "is-stream": "^2.0.0", 869 | "merge-stream": "^2.0.0", 870 | "npm-run-path": "^4.0.1", 871 | "onetime": "^5.1.2", 872 | "signal-exit": "^3.0.3", 873 | "strip-final-newline": "^2.0.0" 874 | }, 875 | "engines": { 876 | "node": ">=10" 877 | }, 878 | "funding": { 879 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 880 | } 881 | }, 882 | "node_modules/fast-content-type-parse": { 883 | "version": "1.0.0", 884 | "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.0.0.tgz", 885 | "integrity": "sha512-Xbc4XcysUXcsP5aHUU7Nq3OwvHq97C+WnbkeIefpeYLX+ryzFJlU6OStFJhs6Ol0LkUGpcK+wL0JwfM+FCU5IA==" 886 | }, 887 | "node_modules/fast-decode-uri-component": { 888 | "version": "1.0.1", 889 | "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", 890 | "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" 891 | }, 892 | "node_modules/fast-deep-equal": { 893 | "version": "3.1.3", 894 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 895 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 896 | }, 897 | "node_modules/fast-glob": { 898 | "version": "3.2.12", 899 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", 900 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", 901 | "dev": true, 902 | "dependencies": { 903 | "@nodelib/fs.stat": "^2.0.2", 904 | "@nodelib/fs.walk": "^1.2.3", 905 | "glob-parent": "^5.1.2", 906 | "merge2": "^1.3.0", 907 | "micromatch": "^4.0.4" 908 | }, 909 | "engines": { 910 | "node": ">=8.6.0" 911 | } 912 | }, 913 | "node_modules/fast-json-stringify": { 914 | "version": "5.6.2", 915 | "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.6.2.tgz", 916 | "integrity": "sha512-F6xkRrXvtGbAiDSEI5Rk7qk2P63Y9kc8bO6Dnsd3Rt6sBNr2QxNFWs0JbKftgiyOfGxnJaRoHe4SizCTqeAyrA==", 917 | "dependencies": { 918 | "@fastify/deepmerge": "^1.0.0", 919 | "ajv": "^8.10.0", 920 | "ajv-formats": "^2.1.1", 921 | "fast-deep-equal": "^3.1.3", 922 | "fast-uri": "^2.1.0", 923 | "rfdc": "^1.2.0" 924 | } 925 | }, 926 | "node_modules/fast-querystring": { 927 | "version": "1.1.1", 928 | "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.1.tgz", 929 | "integrity": "sha512-qR2r+e3HvhEFmpdHMv//U8FnFlnYjaC6QKDuaXALDkw2kvHO8WDjxH+f/rHGR4Me4pnk8p9JAkRNTjYHAKRn2Q==", 930 | "dependencies": { 931 | "fast-decode-uri-component": "^1.0.1" 932 | } 933 | }, 934 | "node_modules/fast-redact": { 935 | "version": "3.1.2", 936 | "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz", 937 | "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==", 938 | "engines": { 939 | "node": ">=6" 940 | } 941 | }, 942 | "node_modules/fast-uri": { 943 | "version": "2.2.0", 944 | "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.2.0.tgz", 945 | "integrity": "sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg==" 946 | }, 947 | "node_modules/fastify": { 948 | "version": "4.13.0", 949 | "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.13.0.tgz", 950 | "integrity": "sha512-p9ibdFWH3pZ7KPgmfHPKGUy2W4EWU2TEpwlcu58w4CwGyU3ARFfh2kwq6zpZ5W2ZGVbufi4tZbqHIHAlX/9Z/A==", 951 | "dependencies": { 952 | "@fastify/ajv-compiler": "^3.3.1", 953 | "@fastify/error": "^3.0.0", 954 | "@fastify/fast-json-stringify-compiler": "^4.1.0", 955 | "abstract-logging": "^2.0.1", 956 | "avvio": "^8.2.0", 957 | "fast-content-type-parse": "^1.0.0", 958 | "find-my-way": "^7.3.0", 959 | "light-my-request": "^5.6.1", 960 | "pino": "^8.5.0", 961 | "process-warning": "^2.0.0", 962 | "proxy-addr": "^2.0.7", 963 | "rfdc": "^1.3.0", 964 | "secure-json-parse": "^2.5.0", 965 | "semver": "^7.3.7", 966 | "tiny-lru": "^10.0.0" 967 | } 968 | }, 969 | "node_modules/fastq": { 970 | "version": "1.15.0", 971 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 972 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 973 | "dependencies": { 974 | "reusify": "^1.0.4" 975 | } 976 | }, 977 | "node_modules/fill-range": { 978 | "version": "7.0.1", 979 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 980 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 981 | "dev": true, 982 | "dependencies": { 983 | "to-regex-range": "^5.0.1" 984 | }, 985 | "engines": { 986 | "node": ">=8" 987 | } 988 | }, 989 | "node_modules/find-my-way": { 990 | "version": "7.5.0", 991 | "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-7.5.0.tgz", 992 | "integrity": "sha512-3ehydSBhGcS0TtMA/BYEyMAKi9Sv0MqF8aqiMO5oGBXyCcSlyEJyfGWsbNxAx7BekTNWUwD1ttLJLURni2vmJg==", 993 | "dependencies": { 994 | "fast-deep-equal": "^3.1.3", 995 | "fast-querystring": "^1.0.0", 996 | "safe-regex2": "^2.0.0" 997 | }, 998 | "engines": { 999 | "node": ">=14" 1000 | } 1001 | }, 1002 | "node_modules/forwarded": { 1003 | "version": "0.2.0", 1004 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 1005 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 1006 | "engines": { 1007 | "node": ">= 0.6" 1008 | } 1009 | }, 1010 | "node_modules/fs.realpath": { 1011 | "version": "1.0.0", 1012 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1013 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1014 | "dev": true 1015 | }, 1016 | "node_modules/fsevents": { 1017 | "version": "2.3.2", 1018 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1019 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1020 | "dev": true, 1021 | "hasInstallScript": true, 1022 | "optional": true, 1023 | "os": [ 1024 | "darwin" 1025 | ], 1026 | "engines": { 1027 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1028 | } 1029 | }, 1030 | "node_modules/get-stream": { 1031 | "version": "6.0.1", 1032 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", 1033 | "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", 1034 | "dev": true, 1035 | "engines": { 1036 | "node": ">=10" 1037 | }, 1038 | "funding": { 1039 | "url": "https://github.com/sponsors/sindresorhus" 1040 | } 1041 | }, 1042 | "node_modules/get-tsconfig": { 1043 | "version": "4.4.0", 1044 | "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.4.0.tgz", 1045 | "integrity": "sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==", 1046 | "dev": true, 1047 | "funding": { 1048 | "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 1049 | } 1050 | }, 1051 | "node_modules/glob": { 1052 | "version": "7.1.6", 1053 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 1054 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 1055 | "dev": true, 1056 | "dependencies": { 1057 | "fs.realpath": "^1.0.0", 1058 | "inflight": "^1.0.4", 1059 | "inherits": "2", 1060 | "minimatch": "^3.0.4", 1061 | "once": "^1.3.0", 1062 | "path-is-absolute": "^1.0.0" 1063 | }, 1064 | "engines": { 1065 | "node": "*" 1066 | }, 1067 | "funding": { 1068 | "url": "https://github.com/sponsors/isaacs" 1069 | } 1070 | }, 1071 | "node_modules/glob-parent": { 1072 | "version": "5.1.2", 1073 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1074 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1075 | "dev": true, 1076 | "dependencies": { 1077 | "is-glob": "^4.0.1" 1078 | }, 1079 | "engines": { 1080 | "node": ">= 6" 1081 | } 1082 | }, 1083 | "node_modules/globby": { 1084 | "version": "11.1.0", 1085 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 1086 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 1087 | "dev": true, 1088 | "dependencies": { 1089 | "array-union": "^2.1.0", 1090 | "dir-glob": "^3.0.1", 1091 | "fast-glob": "^3.2.9", 1092 | "ignore": "^5.2.0", 1093 | "merge2": "^1.4.1", 1094 | "slash": "^3.0.0" 1095 | }, 1096 | "engines": { 1097 | "node": ">=10" 1098 | }, 1099 | "funding": { 1100 | "url": "https://github.com/sponsors/sindresorhus" 1101 | } 1102 | }, 1103 | "node_modules/human-signals": { 1104 | "version": "2.1.0", 1105 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", 1106 | "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", 1107 | "dev": true, 1108 | "engines": { 1109 | "node": ">=10.17.0" 1110 | } 1111 | }, 1112 | "node_modules/ieee754": { 1113 | "version": "1.2.1", 1114 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1115 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1116 | "funding": [ 1117 | { 1118 | "type": "github", 1119 | "url": "https://github.com/sponsors/feross" 1120 | }, 1121 | { 1122 | "type": "patreon", 1123 | "url": "https://www.patreon.com/feross" 1124 | }, 1125 | { 1126 | "type": "consulting", 1127 | "url": "https://feross.org/support" 1128 | } 1129 | ] 1130 | }, 1131 | "node_modules/ignore": { 1132 | "version": "5.2.4", 1133 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", 1134 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", 1135 | "dev": true, 1136 | "engines": { 1137 | "node": ">= 4" 1138 | } 1139 | }, 1140 | "node_modules/inflight": { 1141 | "version": "1.0.6", 1142 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1143 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1144 | "dev": true, 1145 | "dependencies": { 1146 | "once": "^1.3.0", 1147 | "wrappy": "1" 1148 | } 1149 | }, 1150 | "node_modules/inherits": { 1151 | "version": "2.0.4", 1152 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1153 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1154 | "dev": true 1155 | }, 1156 | "node_modules/ipaddr.js": { 1157 | "version": "1.9.1", 1158 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 1159 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 1160 | "engines": { 1161 | "node": ">= 0.10" 1162 | } 1163 | }, 1164 | "node_modules/is-binary-path": { 1165 | "version": "2.1.0", 1166 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1167 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1168 | "dev": true, 1169 | "dependencies": { 1170 | "binary-extensions": "^2.0.0" 1171 | }, 1172 | "engines": { 1173 | "node": ">=8" 1174 | } 1175 | }, 1176 | "node_modules/is-extglob": { 1177 | "version": "2.1.1", 1178 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1179 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1180 | "dev": true, 1181 | "engines": { 1182 | "node": ">=0.10.0" 1183 | } 1184 | }, 1185 | "node_modules/is-glob": { 1186 | "version": "4.0.3", 1187 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1188 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1189 | "dev": true, 1190 | "dependencies": { 1191 | "is-extglob": "^2.1.1" 1192 | }, 1193 | "engines": { 1194 | "node": ">=0.10.0" 1195 | } 1196 | }, 1197 | "node_modules/is-number": { 1198 | "version": "7.0.0", 1199 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1200 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1201 | "dev": true, 1202 | "engines": { 1203 | "node": ">=0.12.0" 1204 | } 1205 | }, 1206 | "node_modules/is-stream": { 1207 | "version": "2.0.1", 1208 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 1209 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 1210 | "dev": true, 1211 | "engines": { 1212 | "node": ">=8" 1213 | }, 1214 | "funding": { 1215 | "url": "https://github.com/sponsors/sindresorhus" 1216 | } 1217 | }, 1218 | "node_modules/isexe": { 1219 | "version": "2.0.0", 1220 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1221 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1222 | "dev": true 1223 | }, 1224 | "node_modules/joycon": { 1225 | "version": "3.1.1", 1226 | "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", 1227 | "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", 1228 | "dev": true, 1229 | "engines": { 1230 | "node": ">=10" 1231 | } 1232 | }, 1233 | "node_modules/json-schema-traverse": { 1234 | "version": "1.0.0", 1235 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 1236 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" 1237 | }, 1238 | "node_modules/light-my-request": { 1239 | "version": "5.9.1", 1240 | "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.9.1.tgz", 1241 | "integrity": "sha512-UT7pUk8jNCR1wR7w3iWfIjx32DiB2f3hFdQSOwy3/EPQ3n3VocyipUxcyRZR0ahoev+fky69uA+GejPa9KuHKg==", 1242 | "dependencies": { 1243 | "cookie": "^0.5.0", 1244 | "process-warning": "^2.0.0", 1245 | "set-cookie-parser": "^2.4.1" 1246 | } 1247 | }, 1248 | "node_modules/lilconfig": { 1249 | "version": "2.0.6", 1250 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", 1251 | "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", 1252 | "dev": true, 1253 | "engines": { 1254 | "node": ">=10" 1255 | } 1256 | }, 1257 | "node_modules/lines-and-columns": { 1258 | "version": "1.2.4", 1259 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 1260 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 1261 | "dev": true 1262 | }, 1263 | "node_modules/load-tsconfig": { 1264 | "version": "0.2.3", 1265 | "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.3.tgz", 1266 | "integrity": "sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==", 1267 | "dev": true, 1268 | "engines": { 1269 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1270 | } 1271 | }, 1272 | "node_modules/lodash.sortby": { 1273 | "version": "4.7.0", 1274 | "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", 1275 | "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", 1276 | "dev": true 1277 | }, 1278 | "node_modules/lru-cache": { 1279 | "version": "6.0.0", 1280 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1281 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1282 | "dependencies": { 1283 | "yallist": "^4.0.0" 1284 | }, 1285 | "engines": { 1286 | "node": ">=10" 1287 | } 1288 | }, 1289 | "node_modules/merge-stream": { 1290 | "version": "2.0.0", 1291 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1292 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1293 | "dev": true 1294 | }, 1295 | "node_modules/merge2": { 1296 | "version": "1.4.1", 1297 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1298 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1299 | "dev": true, 1300 | "engines": { 1301 | "node": ">= 8" 1302 | } 1303 | }, 1304 | "node_modules/micromatch": { 1305 | "version": "4.0.5", 1306 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1307 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1308 | "dev": true, 1309 | "dependencies": { 1310 | "braces": "^3.0.2", 1311 | "picomatch": "^2.3.1" 1312 | }, 1313 | "engines": { 1314 | "node": ">=8.6" 1315 | } 1316 | }, 1317 | "node_modules/mimic-fn": { 1318 | "version": "2.1.0", 1319 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1320 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 1321 | "dev": true, 1322 | "engines": { 1323 | "node": ">=6" 1324 | } 1325 | }, 1326 | "node_modules/minimatch": { 1327 | "version": "3.1.2", 1328 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1329 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1330 | "dev": true, 1331 | "dependencies": { 1332 | "brace-expansion": "^1.1.7" 1333 | }, 1334 | "engines": { 1335 | "node": "*" 1336 | } 1337 | }, 1338 | "node_modules/ms": { 1339 | "version": "2.1.2", 1340 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1341 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1342 | }, 1343 | "node_modules/mz": { 1344 | "version": "2.7.0", 1345 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 1346 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 1347 | "dev": true, 1348 | "dependencies": { 1349 | "any-promise": "^1.0.0", 1350 | "object-assign": "^4.0.1", 1351 | "thenify-all": "^1.0.0" 1352 | } 1353 | }, 1354 | "node_modules/normalize-path": { 1355 | "version": "3.0.0", 1356 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1357 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1358 | "dev": true, 1359 | "engines": { 1360 | "node": ">=0.10.0" 1361 | } 1362 | }, 1363 | "node_modules/npm-run-path": { 1364 | "version": "4.0.1", 1365 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 1366 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 1367 | "dev": true, 1368 | "dependencies": { 1369 | "path-key": "^3.0.0" 1370 | }, 1371 | "engines": { 1372 | "node": ">=8" 1373 | } 1374 | }, 1375 | "node_modules/object-assign": { 1376 | "version": "4.1.1", 1377 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1378 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1379 | "dev": true, 1380 | "engines": { 1381 | "node": ">=0.10.0" 1382 | } 1383 | }, 1384 | "node_modules/on-exit-leak-free": { 1385 | "version": "2.1.0", 1386 | "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz", 1387 | "integrity": "sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==" 1388 | }, 1389 | "node_modules/once": { 1390 | "version": "1.4.0", 1391 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1392 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1393 | "dev": true, 1394 | "dependencies": { 1395 | "wrappy": "1" 1396 | } 1397 | }, 1398 | "node_modules/onetime": { 1399 | "version": "5.1.2", 1400 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 1401 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 1402 | "dev": true, 1403 | "dependencies": { 1404 | "mimic-fn": "^2.1.0" 1405 | }, 1406 | "engines": { 1407 | "node": ">=6" 1408 | }, 1409 | "funding": { 1410 | "url": "https://github.com/sponsors/sindresorhus" 1411 | } 1412 | }, 1413 | "node_modules/path-is-absolute": { 1414 | "version": "1.0.1", 1415 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1416 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1417 | "dev": true, 1418 | "engines": { 1419 | "node": ">=0.10.0" 1420 | } 1421 | }, 1422 | "node_modules/path-key": { 1423 | "version": "3.1.1", 1424 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1425 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1426 | "dev": true, 1427 | "engines": { 1428 | "node": ">=8" 1429 | } 1430 | }, 1431 | "node_modules/path-type": { 1432 | "version": "4.0.0", 1433 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1434 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1435 | "dev": true, 1436 | "engines": { 1437 | "node": ">=8" 1438 | } 1439 | }, 1440 | "node_modules/picomatch": { 1441 | "version": "2.3.1", 1442 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1443 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1444 | "dev": true, 1445 | "engines": { 1446 | "node": ">=8.6" 1447 | }, 1448 | "funding": { 1449 | "url": "https://github.com/sponsors/jonschlinkert" 1450 | } 1451 | }, 1452 | "node_modules/pino": { 1453 | "version": "8.11.0", 1454 | "resolved": "https://registry.npmjs.org/pino/-/pino-8.11.0.tgz", 1455 | "integrity": "sha512-Z2eKSvlrl2rH8p5eveNUnTdd4AjJk8tAsLkHYZQKGHP4WTh2Gi1cOSOs3eWPqaj+niS3gj4UkoreoaWgF3ZWYg==", 1456 | "dependencies": { 1457 | "atomic-sleep": "^1.0.0", 1458 | "fast-redact": "^3.1.1", 1459 | "on-exit-leak-free": "^2.1.0", 1460 | "pino-abstract-transport": "v1.0.0", 1461 | "pino-std-serializers": "^6.0.0", 1462 | "process-warning": "^2.0.0", 1463 | "quick-format-unescaped": "^4.0.3", 1464 | "real-require": "^0.2.0", 1465 | "safe-stable-stringify": "^2.3.1", 1466 | "sonic-boom": "^3.1.0", 1467 | "thread-stream": "^2.0.0" 1468 | }, 1469 | "bin": { 1470 | "pino": "bin.js" 1471 | } 1472 | }, 1473 | "node_modules/pino-abstract-transport": { 1474 | "version": "1.0.0", 1475 | "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz", 1476 | "integrity": "sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==", 1477 | "dependencies": { 1478 | "readable-stream": "^4.0.0", 1479 | "split2": "^4.0.0" 1480 | } 1481 | }, 1482 | "node_modules/pino-std-serializers": { 1483 | "version": "6.1.0", 1484 | "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.1.0.tgz", 1485 | "integrity": "sha512-KO0m2f1HkrPe9S0ldjx7za9BJjeHqBku5Ch8JyxETxT8dEFGz1PwgrHaOQupVYitpzbFSYm7nnljxD8dik2c+g==" 1486 | }, 1487 | "node_modules/pirates": { 1488 | "version": "4.0.5", 1489 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", 1490 | "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", 1491 | "dev": true, 1492 | "engines": { 1493 | "node": ">= 6" 1494 | } 1495 | }, 1496 | "node_modules/postcss-load-config": { 1497 | "version": "3.1.4", 1498 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 1499 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 1500 | "dev": true, 1501 | "dependencies": { 1502 | "lilconfig": "^2.0.5", 1503 | "yaml": "^1.10.2" 1504 | }, 1505 | "engines": { 1506 | "node": ">= 10" 1507 | }, 1508 | "funding": { 1509 | "type": "opencollective", 1510 | "url": "https://opencollective.com/postcss/" 1511 | }, 1512 | "peerDependencies": { 1513 | "postcss": ">=8.0.9", 1514 | "ts-node": ">=9.0.0" 1515 | }, 1516 | "peerDependenciesMeta": { 1517 | "postcss": { 1518 | "optional": true 1519 | }, 1520 | "ts-node": { 1521 | "optional": true 1522 | } 1523 | } 1524 | }, 1525 | "node_modules/prisma": { 1526 | "version": "4.11.0", 1527 | "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.11.0.tgz", 1528 | "integrity": "sha512-4zZmBXssPUEiX+GeL0MUq/Yyie4ltiKmGu7jCJFnYMamNrrulTBc+D+QwAQSJ01tyzeGHlD13kOnqPwRipnlNw==", 1529 | "devOptional": true, 1530 | "hasInstallScript": true, 1531 | "dependencies": { 1532 | "@prisma/engines": "4.11.0" 1533 | }, 1534 | "bin": { 1535 | "prisma": "build/index.js", 1536 | "prisma2": "build/index.js" 1537 | }, 1538 | "engines": { 1539 | "node": ">=14.17" 1540 | } 1541 | }, 1542 | "node_modules/process": { 1543 | "version": "0.11.10", 1544 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 1545 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", 1546 | "engines": { 1547 | "node": ">= 0.6.0" 1548 | } 1549 | }, 1550 | "node_modules/process-warning": { 1551 | "version": "2.1.0", 1552 | "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.1.0.tgz", 1553 | "integrity": "sha512-9C20RLxrZU/rFnxWncDkuF6O999NdIf3E1ws4B0ZeY3sRVPzWBMsYDE2lxjxhiXxg464cQTgKUGm8/i6y2YGXg==" 1554 | }, 1555 | "node_modules/proxy-addr": { 1556 | "version": "2.0.7", 1557 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 1558 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 1559 | "dependencies": { 1560 | "forwarded": "0.2.0", 1561 | "ipaddr.js": "1.9.1" 1562 | }, 1563 | "engines": { 1564 | "node": ">= 0.10" 1565 | } 1566 | }, 1567 | "node_modules/punycode": { 1568 | "version": "2.3.0", 1569 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 1570 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 1571 | "engines": { 1572 | "node": ">=6" 1573 | } 1574 | }, 1575 | "node_modules/queue-microtask": { 1576 | "version": "1.2.3", 1577 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1578 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1579 | "dev": true, 1580 | "funding": [ 1581 | { 1582 | "type": "github", 1583 | "url": "https://github.com/sponsors/feross" 1584 | }, 1585 | { 1586 | "type": "patreon", 1587 | "url": "https://www.patreon.com/feross" 1588 | }, 1589 | { 1590 | "type": "consulting", 1591 | "url": "https://feross.org/support" 1592 | } 1593 | ] 1594 | }, 1595 | "node_modules/quick-format-unescaped": { 1596 | "version": "4.0.4", 1597 | "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", 1598 | "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" 1599 | }, 1600 | "node_modules/readable-stream": { 1601 | "version": "4.3.0", 1602 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz", 1603 | "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==", 1604 | "dependencies": { 1605 | "abort-controller": "^3.0.0", 1606 | "buffer": "^6.0.3", 1607 | "events": "^3.3.0", 1608 | "process": "^0.11.10" 1609 | }, 1610 | "engines": { 1611 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1612 | } 1613 | }, 1614 | "node_modules/readdirp": { 1615 | "version": "3.6.0", 1616 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1617 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1618 | "dev": true, 1619 | "dependencies": { 1620 | "picomatch": "^2.2.1" 1621 | }, 1622 | "engines": { 1623 | "node": ">=8.10.0" 1624 | } 1625 | }, 1626 | "node_modules/real-require": { 1627 | "version": "0.2.0", 1628 | "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", 1629 | "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", 1630 | "engines": { 1631 | "node": ">= 12.13.0" 1632 | } 1633 | }, 1634 | "node_modules/require-from-string": { 1635 | "version": "2.0.2", 1636 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 1637 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 1638 | "engines": { 1639 | "node": ">=0.10.0" 1640 | } 1641 | }, 1642 | "node_modules/resolve-from": { 1643 | "version": "5.0.0", 1644 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", 1645 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 1646 | "dev": true, 1647 | "engines": { 1648 | "node": ">=8" 1649 | } 1650 | }, 1651 | "node_modules/ret": { 1652 | "version": "0.2.2", 1653 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", 1654 | "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", 1655 | "engines": { 1656 | "node": ">=4" 1657 | } 1658 | }, 1659 | "node_modules/reusify": { 1660 | "version": "1.0.4", 1661 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1662 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1663 | "engines": { 1664 | "iojs": ">=1.0.0", 1665 | "node": ">=0.10.0" 1666 | } 1667 | }, 1668 | "node_modules/rfdc": { 1669 | "version": "1.3.0", 1670 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", 1671 | "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" 1672 | }, 1673 | "node_modules/rollup": { 1674 | "version": "3.18.0", 1675 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.18.0.tgz", 1676 | "integrity": "sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==", 1677 | "dev": true, 1678 | "bin": { 1679 | "rollup": "dist/bin/rollup" 1680 | }, 1681 | "engines": { 1682 | "node": ">=14.18.0", 1683 | "npm": ">=8.0.0" 1684 | }, 1685 | "optionalDependencies": { 1686 | "fsevents": "~2.3.2" 1687 | } 1688 | }, 1689 | "node_modules/run-parallel": { 1690 | "version": "1.2.0", 1691 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1692 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1693 | "dev": true, 1694 | "funding": [ 1695 | { 1696 | "type": "github", 1697 | "url": "https://github.com/sponsors/feross" 1698 | }, 1699 | { 1700 | "type": "patreon", 1701 | "url": "https://www.patreon.com/feross" 1702 | }, 1703 | { 1704 | "type": "consulting", 1705 | "url": "https://feross.org/support" 1706 | } 1707 | ], 1708 | "dependencies": { 1709 | "queue-microtask": "^1.2.2" 1710 | } 1711 | }, 1712 | "node_modules/safe-regex2": { 1713 | "version": "2.0.0", 1714 | "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz", 1715 | "integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==", 1716 | "dependencies": { 1717 | "ret": "~0.2.0" 1718 | } 1719 | }, 1720 | "node_modules/safe-stable-stringify": { 1721 | "version": "2.4.2", 1722 | "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz", 1723 | "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==", 1724 | "engines": { 1725 | "node": ">=10" 1726 | } 1727 | }, 1728 | "node_modules/secure-json-parse": { 1729 | "version": "2.7.0", 1730 | "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", 1731 | "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" 1732 | }, 1733 | "node_modules/semver": { 1734 | "version": "7.3.8", 1735 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", 1736 | "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", 1737 | "dependencies": { 1738 | "lru-cache": "^6.0.0" 1739 | }, 1740 | "bin": { 1741 | "semver": "bin/semver.js" 1742 | }, 1743 | "engines": { 1744 | "node": ">=10" 1745 | } 1746 | }, 1747 | "node_modules/set-cookie-parser": { 1748 | "version": "2.5.1", 1749 | "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz", 1750 | "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==" 1751 | }, 1752 | "node_modules/shebang-command": { 1753 | "version": "2.0.0", 1754 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1755 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1756 | "dev": true, 1757 | "dependencies": { 1758 | "shebang-regex": "^3.0.0" 1759 | }, 1760 | "engines": { 1761 | "node": ">=8" 1762 | } 1763 | }, 1764 | "node_modules/shebang-regex": { 1765 | "version": "3.0.0", 1766 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1767 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1768 | "dev": true, 1769 | "engines": { 1770 | "node": ">=8" 1771 | } 1772 | }, 1773 | "node_modules/signal-exit": { 1774 | "version": "3.0.7", 1775 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 1776 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 1777 | "dev": true 1778 | }, 1779 | "node_modules/slash": { 1780 | "version": "3.0.0", 1781 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 1782 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 1783 | "dev": true, 1784 | "engines": { 1785 | "node": ">=8" 1786 | } 1787 | }, 1788 | "node_modules/sonic-boom": { 1789 | "version": "3.2.1", 1790 | "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.2.1.tgz", 1791 | "integrity": "sha512-iITeTHxy3B9FGu8aVdiDXUVAcHMF9Ss0cCsAOo2HfCrmVGT3/DT5oYaeu0M/YKZDlKTvChEyPq0zI9Hf33EX6A==", 1792 | "dependencies": { 1793 | "atomic-sleep": "^1.0.0" 1794 | } 1795 | }, 1796 | "node_modules/source-map": { 1797 | "version": "0.8.0-beta.0", 1798 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", 1799 | "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", 1800 | "dev": true, 1801 | "dependencies": { 1802 | "whatwg-url": "^7.0.0" 1803 | }, 1804 | "engines": { 1805 | "node": ">= 8" 1806 | } 1807 | }, 1808 | "node_modules/source-map-support": { 1809 | "version": "0.5.21", 1810 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 1811 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 1812 | "dev": true, 1813 | "dependencies": { 1814 | "buffer-from": "^1.0.0", 1815 | "source-map": "^0.6.0" 1816 | } 1817 | }, 1818 | "node_modules/source-map-support/node_modules/source-map": { 1819 | "version": "0.6.1", 1820 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1821 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1822 | "dev": true, 1823 | "engines": { 1824 | "node": ">=0.10.0" 1825 | } 1826 | }, 1827 | "node_modules/split2": { 1828 | "version": "4.1.0", 1829 | "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", 1830 | "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==", 1831 | "engines": { 1832 | "node": ">= 10.x" 1833 | } 1834 | }, 1835 | "node_modules/strip-final-newline": { 1836 | "version": "2.0.0", 1837 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 1838 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 1839 | "dev": true, 1840 | "engines": { 1841 | "node": ">=6" 1842 | } 1843 | }, 1844 | "node_modules/sucrase": { 1845 | "version": "3.29.0", 1846 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.29.0.tgz", 1847 | "integrity": "sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==", 1848 | "dev": true, 1849 | "dependencies": { 1850 | "commander": "^4.0.0", 1851 | "glob": "7.1.6", 1852 | "lines-and-columns": "^1.1.6", 1853 | "mz": "^2.7.0", 1854 | "pirates": "^4.0.1", 1855 | "ts-interface-checker": "^0.1.9" 1856 | }, 1857 | "bin": { 1858 | "sucrase": "bin/sucrase", 1859 | "sucrase-node": "bin/sucrase-node" 1860 | }, 1861 | "engines": { 1862 | "node": ">=8" 1863 | } 1864 | }, 1865 | "node_modules/thenify": { 1866 | "version": "3.3.1", 1867 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 1868 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 1869 | "dev": true, 1870 | "dependencies": { 1871 | "any-promise": "^1.0.0" 1872 | } 1873 | }, 1874 | "node_modules/thenify-all": { 1875 | "version": "1.6.0", 1876 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 1877 | "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 1878 | "dev": true, 1879 | "dependencies": { 1880 | "thenify": ">= 3.1.0 < 4" 1881 | }, 1882 | "engines": { 1883 | "node": ">=0.8" 1884 | } 1885 | }, 1886 | "node_modules/thread-stream": { 1887 | "version": "2.3.0", 1888 | "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.3.0.tgz", 1889 | "integrity": "sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==", 1890 | "dependencies": { 1891 | "real-require": "^0.2.0" 1892 | } 1893 | }, 1894 | "node_modules/tiny-lru": { 1895 | "version": "10.0.1", 1896 | "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-10.0.1.tgz", 1897 | "integrity": "sha512-Vst+6kEsWvb17Zpz14sRJV/f8bUWKhqm6Dc+v08iShmIJ/WxqWytHzCTd6m88pS33rE2zpX34TRmOpAJPloNCA==", 1898 | "engines": { 1899 | "node": ">=6" 1900 | } 1901 | }, 1902 | "node_modules/to-regex-range": { 1903 | "version": "5.0.1", 1904 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1905 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1906 | "dev": true, 1907 | "dependencies": { 1908 | "is-number": "^7.0.0" 1909 | }, 1910 | "engines": { 1911 | "node": ">=8.0" 1912 | } 1913 | }, 1914 | "node_modules/tr46": { 1915 | "version": "1.0.1", 1916 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", 1917 | "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", 1918 | "dev": true, 1919 | "dependencies": { 1920 | "punycode": "^2.1.0" 1921 | } 1922 | }, 1923 | "node_modules/tree-kill": { 1924 | "version": "1.2.2", 1925 | "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", 1926 | "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", 1927 | "dev": true, 1928 | "bin": { 1929 | "tree-kill": "cli.js" 1930 | } 1931 | }, 1932 | "node_modules/ts-interface-checker": { 1933 | "version": "0.1.13", 1934 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 1935 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 1936 | "dev": true 1937 | }, 1938 | "node_modules/tsup": { 1939 | "version": "6.6.3", 1940 | "resolved": "https://registry.npmjs.org/tsup/-/tsup-6.6.3.tgz", 1941 | "integrity": "sha512-OLx/jFllYlVeZQ7sCHBuRVEQBBa1tFbouoc/gbYakyipjVQdWy/iQOvmExUA/ewap9iQ7tbJf9pW0PgcEFfJcQ==", 1942 | "dev": true, 1943 | "dependencies": { 1944 | "bundle-require": "^4.0.0", 1945 | "cac": "^6.7.12", 1946 | "chokidar": "^3.5.1", 1947 | "debug": "^4.3.1", 1948 | "esbuild": "^0.17.6", 1949 | "execa": "^5.0.0", 1950 | "globby": "^11.0.3", 1951 | "joycon": "^3.0.1", 1952 | "postcss-load-config": "^3.0.1", 1953 | "resolve-from": "^5.0.0", 1954 | "rollup": "^3.2.5", 1955 | "source-map": "0.8.0-beta.0", 1956 | "sucrase": "^3.20.3", 1957 | "tree-kill": "^1.2.2" 1958 | }, 1959 | "bin": { 1960 | "tsup": "dist/cli-default.js", 1961 | "tsup-node": "dist/cli-node.js" 1962 | }, 1963 | "engines": { 1964 | "node": ">=14.18" 1965 | }, 1966 | "peerDependencies": { 1967 | "@swc/core": "^1", 1968 | "postcss": "^8.4.12", 1969 | "typescript": "^4.1.0" 1970 | }, 1971 | "peerDependenciesMeta": { 1972 | "@swc/core": { 1973 | "optional": true 1974 | }, 1975 | "postcss": { 1976 | "optional": true 1977 | }, 1978 | "typescript": { 1979 | "optional": true 1980 | } 1981 | } 1982 | }, 1983 | "node_modules/tsx": { 1984 | "version": "3.12.3", 1985 | "resolved": "https://registry.npmjs.org/tsx/-/tsx-3.12.3.tgz", 1986 | "integrity": "sha512-Wc5BFH1xccYTXaQob+lEcimkcb/Pq+0en2s+ruiX0VEIC80nV7/0s7XRahx8NnsoCnpCVUPz8wrqVSPi760LkA==", 1987 | "dev": true, 1988 | "dependencies": { 1989 | "@esbuild-kit/cjs-loader": "^2.4.2", 1990 | "@esbuild-kit/core-utils": "^3.0.0", 1991 | "@esbuild-kit/esm-loader": "^2.5.5" 1992 | }, 1993 | "bin": { 1994 | "tsx": "dist/cli.js" 1995 | }, 1996 | "optionalDependencies": { 1997 | "fsevents": "~2.3.2" 1998 | } 1999 | }, 2000 | "node_modules/typescript": { 2001 | "version": "4.9.5", 2002 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", 2003 | "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", 2004 | "dev": true, 2005 | "bin": { 2006 | "tsc": "bin/tsc", 2007 | "tsserver": "bin/tsserver" 2008 | }, 2009 | "engines": { 2010 | "node": ">=4.2.0" 2011 | } 2012 | }, 2013 | "node_modules/uri-js": { 2014 | "version": "4.4.1", 2015 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2016 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2017 | "dependencies": { 2018 | "punycode": "^2.1.0" 2019 | } 2020 | }, 2021 | "node_modules/webidl-conversions": { 2022 | "version": "4.0.2", 2023 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", 2024 | "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", 2025 | "dev": true 2026 | }, 2027 | "node_modules/whatwg-url": { 2028 | "version": "7.1.0", 2029 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", 2030 | "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", 2031 | "dev": true, 2032 | "dependencies": { 2033 | "lodash.sortby": "^4.7.0", 2034 | "tr46": "^1.0.1", 2035 | "webidl-conversions": "^4.0.2" 2036 | } 2037 | }, 2038 | "node_modules/which": { 2039 | "version": "2.0.2", 2040 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2041 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2042 | "dev": true, 2043 | "dependencies": { 2044 | "isexe": "^2.0.0" 2045 | }, 2046 | "bin": { 2047 | "node-which": "bin/node-which" 2048 | }, 2049 | "engines": { 2050 | "node": ">= 8" 2051 | } 2052 | }, 2053 | "node_modules/wrappy": { 2054 | "version": "1.0.2", 2055 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2056 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2057 | "dev": true 2058 | }, 2059 | "node_modules/yallist": { 2060 | "version": "4.0.0", 2061 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 2062 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 2063 | }, 2064 | "node_modules/yaml": { 2065 | "version": "1.10.2", 2066 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 2067 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 2068 | "dev": true, 2069 | "engines": { 2070 | "node": ">= 6" 2071 | } 2072 | }, 2073 | "node_modules/zod": { 2074 | "version": "3.20.6", 2075 | "resolved": "https://registry.npmjs.org/zod/-/zod-3.20.6.tgz", 2076 | "integrity": "sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==", 2077 | "funding": { 2078 | "url": "https://github.com/sponsors/colinhacks" 2079 | } 2080 | } 2081 | } 2082 | } 2083 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "deploy", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "engines": { 7 | "node": "18" 8 | }, 9 | "scripts": { 10 | "dev": "tsx src/server.ts", 11 | "build": "tsup src", 12 | "start": "node dist/server.js" 13 | }, 14 | "keywords": [], 15 | "author": "", 16 | "license": "ISC", 17 | "devDependencies": { 18 | "@types/node": "18.14.4", 19 | "prisma": "4.11.0", 20 | "tsup": "6.6.3", 21 | "tsx": "3.12.3", 22 | "typescript": "4.9.5" 23 | }, 24 | "dependencies": { 25 | "@prisma/client": "4.11.0", 26 | "fastify": "4.13.0", 27 | "zod": "3.20.6" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /prisma/migrations/20230302140626_create_users/migration.sql: -------------------------------------------------------------------------------- 1 | -- CreateTable 2 | CREATE TABLE "User" ( 3 | "id" TEXT NOT NULL, 4 | "name" TEXT NOT NULL, 5 | "email" TEXT NOT NULL, 6 | "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, 7 | 8 | CONSTRAINT "User_pkey" PRIMARY KEY ("id") 9 | ); 10 | -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- 1 | # Please do not edit this file manually 2 | # It should be added in your version-control system (i.e. Git) 3 | provider = "postgresql" -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- 1 | // This is your Prisma schema file, 2 | // learn more about it in the docs: https://pris.ly/d/prisma-schema 3 | 4 | generator client { 5 | provider = "prisma-client-js" 6 | } 7 | 8 | datasource db { 9 | provider = "postgresql" 10 | url = env("DATABASE_URL") 11 | } 12 | 13 | model User { 14 | id String @id @default(cuid()) 15 | name String 16 | email String 17 | createdAt DateTime @default(now()) 18 | } 19 | -------------------------------------------------------------------------------- /src/server.ts: -------------------------------------------------------------------------------- 1 | import { PrismaClient } from '@prisma/client' 2 | import fastify from 'fastify' 3 | import { z } from 'zod' 4 | 5 | const app = fastify() 6 | 7 | const prisma = new PrismaClient() 8 | 9 | app.get('/users', async () => { 10 | const users = await prisma.user.findMany() 11 | 12 | return { users } 13 | }) 14 | 15 | app.post('/users', async (request, reply) => { 16 | const createUserSchema = z.object({ 17 | name: z.string(), 18 | email: z.string().email(), 19 | }) 20 | 21 | const { name, email } = createUserSchema.parse(request.body) 22 | 23 | await prisma.user.create({ 24 | data: { 25 | name, 26 | email, 27 | } 28 | }) 29 | 30 | return reply.status(201).send() 31 | }) 32 | 33 | app.listen({ 34 | host: '0.0.0.0', 35 | port: process.env.PORT ? Number(process.env.PORT) : 3333, 36 | }).then(() => { 37 | console.log('HTTP Server Running') 38 | }) -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2020", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ 22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ 26 | 27 | /* Modules */ 28 | "module": "commonjs", /* Specify what module code is generated. */ 29 | // "rootDir": "./", /* Specify the root folder within your source files. */ 30 | // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ 31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ 35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ 38 | // "resolveJsonModule": true, /* Enable importing .json files. */ 39 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ 40 | 41 | /* JavaScript Support */ 42 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 43 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 44 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 45 | 46 | /* Emit */ 47 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 48 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 49 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 50 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 51 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ 52 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 53 | // "removeComments": true, /* Disable emitting comments. */ 54 | // "noEmit": true, /* Disable emitting files from a compilation. */ 55 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 56 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ 57 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 58 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 59 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 60 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 61 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 62 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 63 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 64 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 65 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 66 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 67 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 68 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 69 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 70 | 71 | /* Interop Constraints */ 72 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 73 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 74 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 75 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 76 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 77 | 78 | /* Type Checking */ 79 | "strict": true, /* Enable all strict type-checking options. */ 80 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 81 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 82 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 83 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 84 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 85 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 86 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 87 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 88 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 89 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 90 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 91 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 92 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 93 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 94 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 95 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 96 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 97 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 98 | 99 | /* Completeness */ 100 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 101 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 102 | } 103 | } 104 | --------------------------------------------------------------------------------