├── .gitignore ├── .vscode ├── extensions.json └── settings.json ├── README.md ├── drizzle.config.ts ├── package-lock.json ├── package.json ├── schema.ts └── supabase ├── .gitignore ├── config.toml ├── functions ├── _shared │ └── schema.ts ├── drizzle │ └── index.ts └── import_map.json ├── migrations ├── 0000_wakeful_living_lightning.sql ├── 0001_old_leper_queen.sql └── meta │ ├── 0000_snapshot.json │ ├── 0001_snapshot.json │ └── _journal.json └── seed.sql /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["denoland.vscode-deno"] 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "deno.enablePaths": [ 3 | "supabase/functions" 4 | ], 5 | "deno.lint": true, 6 | "deno.unstable": true, 7 | "[typescript]": { 8 | "editor.defaultFormatter": "denoland.vscode-deno" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Drizzle 🤝 Supabase 2 | 3 | Use Drizzle Kit in combination with the Supabase CLI to manage migrations, and Drizzle ORM to run queries in Supabase Edge Functions with Drizzle's SQL-like query builder. 4 | 5 | [Watch the video tutorial](https://youtu.be/_OqMRtg4Gy8) 6 | -------------------------------------------------------------------------------- /drizzle.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "drizzle-kit"; 2 | export default { 3 | schema: "./schema.ts", 4 | out: "./supabase/migrations", 5 | } satisfies Config; 6 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "edgy-drizzle", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "edgy-drizzle", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "drizzle-orm": "^0.29.1", 13 | "postgres": "^3.4.3" 14 | }, 15 | "devDependencies": { 16 | "drizzle-kit": "^0.20.6" 17 | } 18 | }, 19 | "node_modules/@cloudflare/kv-asset-handler": { 20 | "version": "0.2.0", 21 | "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.2.0.tgz", 22 | "integrity": "sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==", 23 | "dev": true, 24 | "dependencies": { 25 | "mime": "^3.0.0" 26 | } 27 | }, 28 | "node_modules/@cloudflare/workerd-darwin-64": { 29 | "version": "1.20231030.0", 30 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20231030.0.tgz", 31 | "integrity": "sha512-J4PQ9utPxLya9yHdMMx3AZeC5M/6FxcoYw6jo9jbDDFTy+a4Gslqf4Im9We3aeOEdPXa3tgQHVQOSelJSZLhIw==", 32 | "cpu": [ 33 | "x64" 34 | ], 35 | "dev": true, 36 | "optional": true, 37 | "os": [ 38 | "darwin" 39 | ], 40 | "engines": { 41 | "node": ">=16" 42 | } 43 | }, 44 | "node_modules/@cloudflare/workerd-darwin-arm64": { 45 | "version": "1.20231030.0", 46 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20231030.0.tgz", 47 | "integrity": "sha512-WSJJjm11Del4hSneiNB7wTXGtBXI4QMCH9l5qf4iT5PAW8cESGcCmdHtWDWDtGAAGcvmLT04KNvmum92vRKKQQ==", 48 | "cpu": [ 49 | "arm64" 50 | ], 51 | "dev": true, 52 | "optional": true, 53 | "os": [ 54 | "darwin" 55 | ], 56 | "engines": { 57 | "node": ">=16" 58 | } 59 | }, 60 | "node_modules/@cloudflare/workerd-linux-64": { 61 | "version": "1.20231030.0", 62 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20231030.0.tgz", 63 | "integrity": "sha512-2HUeRTvoCC17fxE0qdBeR7J9dO8j4A8ZbdcvY8pZxdk+zERU6+N03RTbk/dQMU488PwiDvcC3zZqS4gwLfVT8g==", 64 | "cpu": [ 65 | "x64" 66 | ], 67 | "dev": true, 68 | "optional": true, 69 | "os": [ 70 | "linux" 71 | ], 72 | "engines": { 73 | "node": ">=16" 74 | } 75 | }, 76 | "node_modules/@cloudflare/workerd-linux-arm64": { 77 | "version": "1.20231030.0", 78 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20231030.0.tgz", 79 | "integrity": "sha512-4/GK5zHh+9JbUI6Z5xTCM0ZmpKKHk7vu9thmHjUxtz+o8Ne9DoD7DlDvXQWgMF6XGaTubDWyp3ttn+Qv8jDFuQ==", 80 | "cpu": [ 81 | "arm64" 82 | ], 83 | "dev": true, 84 | "optional": true, 85 | "os": [ 86 | "linux" 87 | ], 88 | "engines": { 89 | "node": ">=16" 90 | } 91 | }, 92 | "node_modules/@cloudflare/workerd-windows-64": { 93 | "version": "1.20231030.0", 94 | "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20231030.0.tgz", 95 | "integrity": "sha512-fb/Jgj8Yqy3PO1jLhk7mTrHMkR8jklpbQFud6rL/aMAn5d6MQbaSrYOCjzkKGp0Zng8D2LIzSl+Fc0C9Sggxjg==", 96 | "cpu": [ 97 | "x64" 98 | ], 99 | "dev": true, 100 | "optional": true, 101 | "os": [ 102 | "win32" 103 | ], 104 | "engines": { 105 | "node": ">=16" 106 | } 107 | }, 108 | "node_modules/@cspotcode/source-map-support": { 109 | "version": "0.8.1", 110 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", 111 | "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", 112 | "dev": true, 113 | "dependencies": { 114 | "@jridgewell/trace-mapping": "0.3.9" 115 | }, 116 | "engines": { 117 | "node": ">=12" 118 | } 119 | }, 120 | "node_modules/@drizzle-team/studio": { 121 | "version": "0.0.35", 122 | "resolved": "https://registry.npmjs.org/@drizzle-team/studio/-/studio-0.0.35.tgz", 123 | "integrity": "sha512-t5LTNOVf+L7Bb/wdssOIPx0ueNvhyaIXdrvKgoHR4wK0GD7SRmILcCTzn6N6Ltr1VnFzQZG/bzn6HMagn17Jtw==", 124 | "dev": true, 125 | "dependencies": { 126 | "superjson": "^2.2.1" 127 | } 128 | }, 129 | "node_modules/@esbuild-kit/core-utils": { 130 | "version": "3.3.2", 131 | "resolved": "https://registry.npmjs.org/@esbuild-kit/core-utils/-/core-utils-3.3.2.tgz", 132 | "integrity": "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==", 133 | "dev": true, 134 | "dependencies": { 135 | "esbuild": "~0.18.20", 136 | "source-map-support": "^0.5.21" 137 | } 138 | }, 139 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/android-arm": { 140 | "version": "0.18.20", 141 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", 142 | "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", 143 | "cpu": [ 144 | "arm" 145 | ], 146 | "dev": true, 147 | "optional": true, 148 | "os": [ 149 | "android" 150 | ], 151 | "engines": { 152 | "node": ">=12" 153 | } 154 | }, 155 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/android-arm64": { 156 | "version": "0.18.20", 157 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", 158 | "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", 159 | "cpu": [ 160 | "arm64" 161 | ], 162 | "dev": true, 163 | "optional": true, 164 | "os": [ 165 | "android" 166 | ], 167 | "engines": { 168 | "node": ">=12" 169 | } 170 | }, 171 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/android-x64": { 172 | "version": "0.18.20", 173 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", 174 | "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", 175 | "cpu": [ 176 | "x64" 177 | ], 178 | "dev": true, 179 | "optional": true, 180 | "os": [ 181 | "android" 182 | ], 183 | "engines": { 184 | "node": ">=12" 185 | } 186 | }, 187 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/darwin-arm64": { 188 | "version": "0.18.20", 189 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", 190 | "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", 191 | "cpu": [ 192 | "arm64" 193 | ], 194 | "dev": true, 195 | "optional": true, 196 | "os": [ 197 | "darwin" 198 | ], 199 | "engines": { 200 | "node": ">=12" 201 | } 202 | }, 203 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/darwin-x64": { 204 | "version": "0.18.20", 205 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", 206 | "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", 207 | "cpu": [ 208 | "x64" 209 | ], 210 | "dev": true, 211 | "optional": true, 212 | "os": [ 213 | "darwin" 214 | ], 215 | "engines": { 216 | "node": ">=12" 217 | } 218 | }, 219 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/freebsd-arm64": { 220 | "version": "0.18.20", 221 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", 222 | "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", 223 | "cpu": [ 224 | "arm64" 225 | ], 226 | "dev": true, 227 | "optional": true, 228 | "os": [ 229 | "freebsd" 230 | ], 231 | "engines": { 232 | "node": ">=12" 233 | } 234 | }, 235 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/freebsd-x64": { 236 | "version": "0.18.20", 237 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", 238 | "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", 239 | "cpu": [ 240 | "x64" 241 | ], 242 | "dev": true, 243 | "optional": true, 244 | "os": [ 245 | "freebsd" 246 | ], 247 | "engines": { 248 | "node": ">=12" 249 | } 250 | }, 251 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-arm": { 252 | "version": "0.18.20", 253 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", 254 | "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", 255 | "cpu": [ 256 | "arm" 257 | ], 258 | "dev": true, 259 | "optional": true, 260 | "os": [ 261 | "linux" 262 | ], 263 | "engines": { 264 | "node": ">=12" 265 | } 266 | }, 267 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-arm64": { 268 | "version": "0.18.20", 269 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", 270 | "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", 271 | "cpu": [ 272 | "arm64" 273 | ], 274 | "dev": true, 275 | "optional": true, 276 | "os": [ 277 | "linux" 278 | ], 279 | "engines": { 280 | "node": ">=12" 281 | } 282 | }, 283 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-ia32": { 284 | "version": "0.18.20", 285 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", 286 | "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", 287 | "cpu": [ 288 | "ia32" 289 | ], 290 | "dev": true, 291 | "optional": true, 292 | "os": [ 293 | "linux" 294 | ], 295 | "engines": { 296 | "node": ">=12" 297 | } 298 | }, 299 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-loong64": { 300 | "version": "0.18.20", 301 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", 302 | "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", 303 | "cpu": [ 304 | "loong64" 305 | ], 306 | "dev": true, 307 | "optional": true, 308 | "os": [ 309 | "linux" 310 | ], 311 | "engines": { 312 | "node": ">=12" 313 | } 314 | }, 315 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-mips64el": { 316 | "version": "0.18.20", 317 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", 318 | "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", 319 | "cpu": [ 320 | "mips64el" 321 | ], 322 | "dev": true, 323 | "optional": true, 324 | "os": [ 325 | "linux" 326 | ], 327 | "engines": { 328 | "node": ">=12" 329 | } 330 | }, 331 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-ppc64": { 332 | "version": "0.18.20", 333 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", 334 | "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", 335 | "cpu": [ 336 | "ppc64" 337 | ], 338 | "dev": true, 339 | "optional": true, 340 | "os": [ 341 | "linux" 342 | ], 343 | "engines": { 344 | "node": ">=12" 345 | } 346 | }, 347 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-riscv64": { 348 | "version": "0.18.20", 349 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", 350 | "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", 351 | "cpu": [ 352 | "riscv64" 353 | ], 354 | "dev": true, 355 | "optional": true, 356 | "os": [ 357 | "linux" 358 | ], 359 | "engines": { 360 | "node": ">=12" 361 | } 362 | }, 363 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-s390x": { 364 | "version": "0.18.20", 365 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", 366 | "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", 367 | "cpu": [ 368 | "s390x" 369 | ], 370 | "dev": true, 371 | "optional": true, 372 | "os": [ 373 | "linux" 374 | ], 375 | "engines": { 376 | "node": ">=12" 377 | } 378 | }, 379 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-x64": { 380 | "version": "0.18.20", 381 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", 382 | "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", 383 | "cpu": [ 384 | "x64" 385 | ], 386 | "dev": true, 387 | "optional": true, 388 | "os": [ 389 | "linux" 390 | ], 391 | "engines": { 392 | "node": ">=12" 393 | } 394 | }, 395 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/netbsd-x64": { 396 | "version": "0.18.20", 397 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", 398 | "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", 399 | "cpu": [ 400 | "x64" 401 | ], 402 | "dev": true, 403 | "optional": true, 404 | "os": [ 405 | "netbsd" 406 | ], 407 | "engines": { 408 | "node": ">=12" 409 | } 410 | }, 411 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/openbsd-x64": { 412 | "version": "0.18.20", 413 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", 414 | "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", 415 | "cpu": [ 416 | "x64" 417 | ], 418 | "dev": true, 419 | "optional": true, 420 | "os": [ 421 | "openbsd" 422 | ], 423 | "engines": { 424 | "node": ">=12" 425 | } 426 | }, 427 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/sunos-x64": { 428 | "version": "0.18.20", 429 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", 430 | "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", 431 | "cpu": [ 432 | "x64" 433 | ], 434 | "dev": true, 435 | "optional": true, 436 | "os": [ 437 | "sunos" 438 | ], 439 | "engines": { 440 | "node": ">=12" 441 | } 442 | }, 443 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/win32-arm64": { 444 | "version": "0.18.20", 445 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", 446 | "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", 447 | "cpu": [ 448 | "arm64" 449 | ], 450 | "dev": true, 451 | "optional": true, 452 | "os": [ 453 | "win32" 454 | ], 455 | "engines": { 456 | "node": ">=12" 457 | } 458 | }, 459 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/win32-ia32": { 460 | "version": "0.18.20", 461 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", 462 | "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", 463 | "cpu": [ 464 | "ia32" 465 | ], 466 | "dev": true, 467 | "optional": true, 468 | "os": [ 469 | "win32" 470 | ], 471 | "engines": { 472 | "node": ">=12" 473 | } 474 | }, 475 | "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/win32-x64": { 476 | "version": "0.18.20", 477 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", 478 | "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", 479 | "cpu": [ 480 | "x64" 481 | ], 482 | "dev": true, 483 | "optional": true, 484 | "os": [ 485 | "win32" 486 | ], 487 | "engines": { 488 | "node": ">=12" 489 | } 490 | }, 491 | "node_modules/@esbuild-kit/core-utils/node_modules/esbuild": { 492 | "version": "0.18.20", 493 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", 494 | "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", 495 | "dev": true, 496 | "hasInstallScript": true, 497 | "bin": { 498 | "esbuild": "bin/esbuild" 499 | }, 500 | "engines": { 501 | "node": ">=12" 502 | }, 503 | "optionalDependencies": { 504 | "@esbuild/android-arm": "0.18.20", 505 | "@esbuild/android-arm64": "0.18.20", 506 | "@esbuild/android-x64": "0.18.20", 507 | "@esbuild/darwin-arm64": "0.18.20", 508 | "@esbuild/darwin-x64": "0.18.20", 509 | "@esbuild/freebsd-arm64": "0.18.20", 510 | "@esbuild/freebsd-x64": "0.18.20", 511 | "@esbuild/linux-arm": "0.18.20", 512 | "@esbuild/linux-arm64": "0.18.20", 513 | "@esbuild/linux-ia32": "0.18.20", 514 | "@esbuild/linux-loong64": "0.18.20", 515 | "@esbuild/linux-mips64el": "0.18.20", 516 | "@esbuild/linux-ppc64": "0.18.20", 517 | "@esbuild/linux-riscv64": "0.18.20", 518 | "@esbuild/linux-s390x": "0.18.20", 519 | "@esbuild/linux-x64": "0.18.20", 520 | "@esbuild/netbsd-x64": "0.18.20", 521 | "@esbuild/openbsd-x64": "0.18.20", 522 | "@esbuild/sunos-x64": "0.18.20", 523 | "@esbuild/win32-arm64": "0.18.20", 524 | "@esbuild/win32-ia32": "0.18.20", 525 | "@esbuild/win32-x64": "0.18.20" 526 | } 527 | }, 528 | "node_modules/@esbuild-kit/esm-loader": { 529 | "version": "2.6.5", 530 | "resolved": "https://registry.npmjs.org/@esbuild-kit/esm-loader/-/esm-loader-2.6.5.tgz", 531 | "integrity": "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==", 532 | "dev": true, 533 | "dependencies": { 534 | "@esbuild-kit/core-utils": "^3.3.2", 535 | "get-tsconfig": "^4.7.0" 536 | } 537 | }, 538 | "node_modules/@esbuild-plugins/node-globals-polyfill": { 539 | "version": "0.2.3", 540 | "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz", 541 | "integrity": "sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==", 542 | "dev": true, 543 | "peerDependencies": { 544 | "esbuild": "*" 545 | } 546 | }, 547 | "node_modules/@esbuild-plugins/node-modules-polyfill": { 548 | "version": "0.2.2", 549 | "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.2.2.tgz", 550 | "integrity": "sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==", 551 | "dev": true, 552 | "dependencies": { 553 | "escape-string-regexp": "^4.0.0", 554 | "rollup-plugin-node-polyfills": "^0.2.1" 555 | }, 556 | "peerDependencies": { 557 | "esbuild": "*" 558 | } 559 | }, 560 | "node_modules/@esbuild/android-arm": { 561 | "version": "0.19.9", 562 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.9.tgz", 563 | "integrity": "sha512-jkYjjq7SdsWuNI6b5quymW0oC83NN5FdRPuCbs9HZ02mfVdAP8B8eeqLSYU3gb6OJEaY5CQabtTFbqBf26H3GA==", 564 | "cpu": [ 565 | "arm" 566 | ], 567 | "dev": true, 568 | "optional": true, 569 | "os": [ 570 | "android" 571 | ], 572 | "engines": { 573 | "node": ">=12" 574 | } 575 | }, 576 | "node_modules/@esbuild/android-arm64": { 577 | "version": "0.19.9", 578 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.9.tgz", 579 | "integrity": "sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==", 580 | "cpu": [ 581 | "arm64" 582 | ], 583 | "dev": true, 584 | "optional": true, 585 | "os": [ 586 | "android" 587 | ], 588 | "engines": { 589 | "node": ">=12" 590 | } 591 | }, 592 | "node_modules/@esbuild/android-x64": { 593 | "version": "0.19.9", 594 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.9.tgz", 595 | "integrity": "sha512-KOqoPntWAH6ZxDwx1D6mRntIgZh9KodzgNOy5Ebt9ghzffOk9X2c1sPwtM9P+0eXbefnDhqYfkh5PLP5ULtWFA==", 596 | "cpu": [ 597 | "x64" 598 | ], 599 | "dev": true, 600 | "optional": true, 601 | "os": [ 602 | "android" 603 | ], 604 | "engines": { 605 | "node": ">=12" 606 | } 607 | }, 608 | "node_modules/@esbuild/darwin-arm64": { 609 | "version": "0.19.9", 610 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.9.tgz", 611 | "integrity": "sha512-KBJ9S0AFyLVx2E5D8W0vExqRW01WqRtczUZ8NRu+Pi+87opZn5tL4Y0xT0mA4FtHctd0ZgwNoN639fUUGlNIWw==", 612 | "cpu": [ 613 | "arm64" 614 | ], 615 | "dev": true, 616 | "optional": true, 617 | "os": [ 618 | "darwin" 619 | ], 620 | "engines": { 621 | "node": ">=12" 622 | } 623 | }, 624 | "node_modules/@esbuild/darwin-x64": { 625 | "version": "0.19.9", 626 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.9.tgz", 627 | "integrity": "sha512-vE0VotmNTQaTdX0Q9dOHmMTao6ObjyPm58CHZr1UK7qpNleQyxlFlNCaHsHx6Uqv86VgPmR4o2wdNq3dP1qyDQ==", 628 | "cpu": [ 629 | "x64" 630 | ], 631 | "dev": true, 632 | "optional": true, 633 | "os": [ 634 | "darwin" 635 | ], 636 | "engines": { 637 | "node": ">=12" 638 | } 639 | }, 640 | "node_modules/@esbuild/freebsd-arm64": { 641 | "version": "0.19.9", 642 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.9.tgz", 643 | "integrity": "sha512-uFQyd/o1IjiEk3rUHSwUKkqZwqdvuD8GevWF065eqgYfexcVkxh+IJgwTaGZVu59XczZGcN/YMh9uF1fWD8j1g==", 644 | "cpu": [ 645 | "arm64" 646 | ], 647 | "dev": true, 648 | "optional": true, 649 | "os": [ 650 | "freebsd" 651 | ], 652 | "engines": { 653 | "node": ">=12" 654 | } 655 | }, 656 | "node_modules/@esbuild/freebsd-x64": { 657 | "version": "0.19.9", 658 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.9.tgz", 659 | "integrity": "sha512-WMLgWAtkdTbTu1AWacY7uoj/YtHthgqrqhf1OaEWnZb7PQgpt8eaA/F3LkV0E6K/Lc0cUr/uaVP/49iE4M4asA==", 660 | "cpu": [ 661 | "x64" 662 | ], 663 | "dev": true, 664 | "optional": true, 665 | "os": [ 666 | "freebsd" 667 | ], 668 | "engines": { 669 | "node": ">=12" 670 | } 671 | }, 672 | "node_modules/@esbuild/linux-arm": { 673 | "version": "0.19.9", 674 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.9.tgz", 675 | "integrity": "sha512-C/ChPohUYoyUaqn1h17m/6yt6OB14hbXvT8EgM1ZWaiiTYz7nWZR0SYmMnB5BzQA4GXl3BgBO1l8MYqL/He3qw==", 676 | "cpu": [ 677 | "arm" 678 | ], 679 | "dev": true, 680 | "optional": true, 681 | "os": [ 682 | "linux" 683 | ], 684 | "engines": { 685 | "node": ">=12" 686 | } 687 | }, 688 | "node_modules/@esbuild/linux-arm64": { 689 | "version": "0.19.9", 690 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.9.tgz", 691 | "integrity": "sha512-PiPblfe1BjK7WDAKR1Cr9O7VVPqVNpwFcPWgfn4xu0eMemzRp442hXyzF/fSwgrufI66FpHOEJk0yYdPInsmyQ==", 692 | "cpu": [ 693 | "arm64" 694 | ], 695 | "dev": true, 696 | "optional": true, 697 | "os": [ 698 | "linux" 699 | ], 700 | "engines": { 701 | "node": ">=12" 702 | } 703 | }, 704 | "node_modules/@esbuild/linux-ia32": { 705 | "version": "0.19.9", 706 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.9.tgz", 707 | "integrity": "sha512-f37i/0zE0MjDxijkPSQw1CO/7C27Eojqb+r3BbHVxMLkj8GCa78TrBZzvPyA/FNLUMzP3eyHCVkAopkKVja+6Q==", 708 | "cpu": [ 709 | "ia32" 710 | ], 711 | "dev": true, 712 | "optional": true, 713 | "os": [ 714 | "linux" 715 | ], 716 | "engines": { 717 | "node": ">=12" 718 | } 719 | }, 720 | "node_modules/@esbuild/linux-loong64": { 721 | "version": "0.19.9", 722 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.9.tgz", 723 | "integrity": "sha512-t6mN147pUIf3t6wUt3FeumoOTPfmv9Cc6DQlsVBpB7eCpLOqQDyWBP1ymXn1lDw4fNUSb/gBcKAmvTP49oIkaA==", 724 | "cpu": [ 725 | "loong64" 726 | ], 727 | "dev": true, 728 | "optional": true, 729 | "os": [ 730 | "linux" 731 | ], 732 | "engines": { 733 | "node": ">=12" 734 | } 735 | }, 736 | "node_modules/@esbuild/linux-mips64el": { 737 | "version": "0.19.9", 738 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.9.tgz", 739 | "integrity": "sha512-jg9fujJTNTQBuDXdmAg1eeJUL4Jds7BklOTkkH80ZgQIoCTdQrDaHYgbFZyeTq8zbY+axgptncko3v9p5hLZtw==", 740 | "cpu": [ 741 | "mips64el" 742 | ], 743 | "dev": true, 744 | "optional": true, 745 | "os": [ 746 | "linux" 747 | ], 748 | "engines": { 749 | "node": ">=12" 750 | } 751 | }, 752 | "node_modules/@esbuild/linux-ppc64": { 753 | "version": "0.19.9", 754 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.9.tgz", 755 | "integrity": "sha512-tkV0xUX0pUUgY4ha7z5BbDS85uI7ABw3V1d0RNTii7E9lbmV8Z37Pup2tsLV46SQWzjOeyDi1Q7Wx2+QM8WaCQ==", 756 | "cpu": [ 757 | "ppc64" 758 | ], 759 | "dev": true, 760 | "optional": true, 761 | "os": [ 762 | "linux" 763 | ], 764 | "engines": { 765 | "node": ">=12" 766 | } 767 | }, 768 | "node_modules/@esbuild/linux-riscv64": { 769 | "version": "0.19.9", 770 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.9.tgz", 771 | "integrity": "sha512-DfLp8dj91cufgPZDXr9p3FoR++m3ZJ6uIXsXrIvJdOjXVREtXuQCjfMfvmc3LScAVmLjcfloyVtpn43D56JFHg==", 772 | "cpu": [ 773 | "riscv64" 774 | ], 775 | "dev": true, 776 | "optional": true, 777 | "os": [ 778 | "linux" 779 | ], 780 | "engines": { 781 | "node": ">=12" 782 | } 783 | }, 784 | "node_modules/@esbuild/linux-s390x": { 785 | "version": "0.19.9", 786 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.9.tgz", 787 | "integrity": "sha512-zHbglfEdC88KMgCWpOl/zc6dDYJvWGLiUtmPRsr1OgCViu3z5GncvNVdf+6/56O2Ca8jUU+t1BW261V6kp8qdw==", 788 | "cpu": [ 789 | "s390x" 790 | ], 791 | "dev": true, 792 | "optional": true, 793 | "os": [ 794 | "linux" 795 | ], 796 | "engines": { 797 | "node": ">=12" 798 | } 799 | }, 800 | "node_modules/@esbuild/linux-x64": { 801 | "version": "0.19.9", 802 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.9.tgz", 803 | "integrity": "sha512-JUjpystGFFmNrEHQnIVG8hKwvA2DN5o7RqiO1CVX8EN/F/gkCjkUMgVn6hzScpwnJtl2mPR6I9XV1oW8k9O+0A==", 804 | "cpu": [ 805 | "x64" 806 | ], 807 | "dev": true, 808 | "optional": true, 809 | "os": [ 810 | "linux" 811 | ], 812 | "engines": { 813 | "node": ">=12" 814 | } 815 | }, 816 | "node_modules/@esbuild/netbsd-x64": { 817 | "version": "0.19.9", 818 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.9.tgz", 819 | "integrity": "sha512-GThgZPAwOBOsheA2RUlW5UeroRfESwMq/guy8uEe3wJlAOjpOXuSevLRd70NZ37ZrpO6RHGHgEHvPg1h3S1Jug==", 820 | "cpu": [ 821 | "x64" 822 | ], 823 | "dev": true, 824 | "optional": true, 825 | "os": [ 826 | "netbsd" 827 | ], 828 | "engines": { 829 | "node": ">=12" 830 | } 831 | }, 832 | "node_modules/@esbuild/openbsd-x64": { 833 | "version": "0.19.9", 834 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.9.tgz", 835 | "integrity": "sha512-Ki6PlzppaFVbLnD8PtlVQfsYw4S9n3eQl87cqgeIw+O3sRr9IghpfSKY62mggdt1yCSZ8QWvTZ9jo9fjDSg9uw==", 836 | "cpu": [ 837 | "x64" 838 | ], 839 | "dev": true, 840 | "optional": true, 841 | "os": [ 842 | "openbsd" 843 | ], 844 | "engines": { 845 | "node": ">=12" 846 | } 847 | }, 848 | "node_modules/@esbuild/sunos-x64": { 849 | "version": "0.19.9", 850 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.9.tgz", 851 | "integrity": "sha512-MLHj7k9hWh4y1ddkBpvRj2b9NCBhfgBt3VpWbHQnXRedVun/hC7sIyTGDGTfsGuXo4ebik2+3ShjcPbhtFwWDw==", 852 | "cpu": [ 853 | "x64" 854 | ], 855 | "dev": true, 856 | "optional": true, 857 | "os": [ 858 | "sunos" 859 | ], 860 | "engines": { 861 | "node": ">=12" 862 | } 863 | }, 864 | "node_modules/@esbuild/win32-arm64": { 865 | "version": "0.19.9", 866 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.9.tgz", 867 | "integrity": "sha512-GQoa6OrQ8G08guMFgeXPH7yE/8Dt0IfOGWJSfSH4uafwdC7rWwrfE6P9N8AtPGIjUzdo2+7bN8Xo3qC578olhg==", 868 | "cpu": [ 869 | "arm64" 870 | ], 871 | "dev": true, 872 | "optional": true, 873 | "os": [ 874 | "win32" 875 | ], 876 | "engines": { 877 | "node": ">=12" 878 | } 879 | }, 880 | "node_modules/@esbuild/win32-ia32": { 881 | "version": "0.19.9", 882 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.9.tgz", 883 | "integrity": "sha512-UOozV7Ntykvr5tSOlGCrqU3NBr3d8JqPes0QWN2WOXfvkWVGRajC+Ym0/Wj88fUgecUCLDdJPDF0Nna2UK3Qtg==", 884 | "cpu": [ 885 | "ia32" 886 | ], 887 | "dev": true, 888 | "optional": true, 889 | "os": [ 890 | "win32" 891 | ], 892 | "engines": { 893 | "node": ">=12" 894 | } 895 | }, 896 | "node_modules/@esbuild/win32-x64": { 897 | "version": "0.19.9", 898 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.9.tgz", 899 | "integrity": "sha512-oxoQgglOP7RH6iasDrhY+R/3cHrfwIDvRlT4CGChflq6twk8iENeVvMJjmvBb94Ik1Z+93iGO27err7w6l54GQ==", 900 | "cpu": [ 901 | "x64" 902 | ], 903 | "dev": true, 904 | "optional": true, 905 | "os": [ 906 | "win32" 907 | ], 908 | "engines": { 909 | "node": ">=12" 910 | } 911 | }, 912 | "node_modules/@fastify/busboy": { 913 | "version": "2.1.0", 914 | "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", 915 | "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", 916 | "dev": true, 917 | "engines": { 918 | "node": ">=14" 919 | } 920 | }, 921 | "node_modules/@jridgewell/resolve-uri": { 922 | "version": "3.1.1", 923 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", 924 | "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", 925 | "dev": true, 926 | "engines": { 927 | "node": ">=6.0.0" 928 | } 929 | }, 930 | "node_modules/@jridgewell/sourcemap-codec": { 931 | "version": "1.4.15", 932 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 933 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 934 | "dev": true 935 | }, 936 | "node_modules/@jridgewell/trace-mapping": { 937 | "version": "0.3.9", 938 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", 939 | "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", 940 | "dev": true, 941 | "dependencies": { 942 | "@jridgewell/resolve-uri": "^3.0.3", 943 | "@jridgewell/sourcemap-codec": "^1.4.10" 944 | } 945 | }, 946 | "node_modules/@types/node": { 947 | "version": "20.10.5", 948 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", 949 | "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", 950 | "dev": true, 951 | "dependencies": { 952 | "undici-types": "~5.26.4" 953 | } 954 | }, 955 | "node_modules/@types/node-forge": { 956 | "version": "1.3.10", 957 | "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.10.tgz", 958 | "integrity": "sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==", 959 | "dev": true, 960 | "dependencies": { 961 | "@types/node": "*" 962 | } 963 | }, 964 | "node_modules/acorn": { 965 | "version": "8.11.2", 966 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", 967 | "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", 968 | "dev": true, 969 | "bin": { 970 | "acorn": "bin/acorn" 971 | }, 972 | "engines": { 973 | "node": ">=0.4.0" 974 | } 975 | }, 976 | "node_modules/acorn-walk": { 977 | "version": "8.3.1", 978 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", 979 | "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==", 980 | "dev": true, 981 | "engines": { 982 | "node": ">=0.4.0" 983 | } 984 | }, 985 | "node_modules/anymatch": { 986 | "version": "3.1.3", 987 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 988 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 989 | "dev": true, 990 | "dependencies": { 991 | "normalize-path": "^3.0.0", 992 | "picomatch": "^2.0.4" 993 | }, 994 | "engines": { 995 | "node": ">= 8" 996 | } 997 | }, 998 | "node_modules/as-table": { 999 | "version": "1.0.55", 1000 | "resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz", 1001 | "integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==", 1002 | "dev": true, 1003 | "dependencies": { 1004 | "printable-characters": "^1.0.42" 1005 | } 1006 | }, 1007 | "node_modules/balanced-match": { 1008 | "version": "1.0.2", 1009 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1010 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1011 | "dev": true 1012 | }, 1013 | "node_modules/binary-extensions": { 1014 | "version": "2.2.0", 1015 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 1016 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 1017 | "dev": true, 1018 | "engines": { 1019 | "node": ">=8" 1020 | } 1021 | }, 1022 | "node_modules/blake3-wasm": { 1023 | "version": "2.1.5", 1024 | "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz", 1025 | "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==", 1026 | "dev": true 1027 | }, 1028 | "node_modules/brace-expansion": { 1029 | "version": "2.0.1", 1030 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1031 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1032 | "dev": true, 1033 | "dependencies": { 1034 | "balanced-match": "^1.0.0" 1035 | } 1036 | }, 1037 | "node_modules/braces": { 1038 | "version": "3.0.2", 1039 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 1040 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 1041 | "dev": true, 1042 | "dependencies": { 1043 | "fill-range": "^7.0.1" 1044 | }, 1045 | "engines": { 1046 | "node": ">=8" 1047 | } 1048 | }, 1049 | "node_modules/buffer-from": { 1050 | "version": "1.1.2", 1051 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 1052 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 1053 | "dev": true 1054 | }, 1055 | "node_modules/camelcase": { 1056 | "version": "7.0.1", 1057 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", 1058 | "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", 1059 | "dev": true, 1060 | "engines": { 1061 | "node": ">=14.16" 1062 | }, 1063 | "funding": { 1064 | "url": "https://github.com/sponsors/sindresorhus" 1065 | } 1066 | }, 1067 | "node_modules/capnp-ts": { 1068 | "version": "0.7.0", 1069 | "resolved": "https://registry.npmjs.org/capnp-ts/-/capnp-ts-0.7.0.tgz", 1070 | "integrity": "sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==", 1071 | "dev": true, 1072 | "dependencies": { 1073 | "debug": "^4.3.1", 1074 | "tslib": "^2.2.0" 1075 | } 1076 | }, 1077 | "node_modules/chalk": { 1078 | "version": "5.3.0", 1079 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", 1080 | "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", 1081 | "dev": true, 1082 | "engines": { 1083 | "node": "^12.17.0 || ^14.13 || >=16.0.0" 1084 | }, 1085 | "funding": { 1086 | "url": "https://github.com/chalk/chalk?sponsor=1" 1087 | } 1088 | }, 1089 | "node_modules/chokidar": { 1090 | "version": "3.5.3", 1091 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 1092 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 1093 | "dev": true, 1094 | "funding": [ 1095 | { 1096 | "type": "individual", 1097 | "url": "https://paulmillr.com/funding/" 1098 | } 1099 | ], 1100 | "dependencies": { 1101 | "anymatch": "~3.1.2", 1102 | "braces": "~3.0.2", 1103 | "glob-parent": "~5.1.2", 1104 | "is-binary-path": "~2.1.0", 1105 | "is-glob": "~4.0.1", 1106 | "normalize-path": "~3.0.0", 1107 | "readdirp": "~3.6.0" 1108 | }, 1109 | "engines": { 1110 | "node": ">= 8.10.0" 1111 | }, 1112 | "optionalDependencies": { 1113 | "fsevents": "~2.3.2" 1114 | } 1115 | }, 1116 | "node_modules/cli-color": { 1117 | "version": "2.0.3", 1118 | "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz", 1119 | "integrity": "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==", 1120 | "dev": true, 1121 | "dependencies": { 1122 | "d": "^1.0.1", 1123 | "es5-ext": "^0.10.61", 1124 | "es6-iterator": "^2.0.3", 1125 | "memoizee": "^0.4.15", 1126 | "timers-ext": "^0.1.7" 1127 | }, 1128 | "engines": { 1129 | "node": ">=0.10" 1130 | } 1131 | }, 1132 | "node_modules/commander": { 1133 | "version": "9.5.0", 1134 | "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", 1135 | "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", 1136 | "dev": true, 1137 | "engines": { 1138 | "node": "^12.20.0 || >=14" 1139 | } 1140 | }, 1141 | "node_modules/cookie": { 1142 | "version": "0.5.0", 1143 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", 1144 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", 1145 | "dev": true, 1146 | "engines": { 1147 | "node": ">= 0.6" 1148 | } 1149 | }, 1150 | "node_modules/copy-anything": { 1151 | "version": "3.0.5", 1152 | "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", 1153 | "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", 1154 | "dev": true, 1155 | "dependencies": { 1156 | "is-what": "^4.1.8" 1157 | }, 1158 | "engines": { 1159 | "node": ">=12.13" 1160 | }, 1161 | "funding": { 1162 | "url": "https://github.com/sponsors/mesqueeb" 1163 | } 1164 | }, 1165 | "node_modules/d": { 1166 | "version": "1.0.1", 1167 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", 1168 | "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", 1169 | "dev": true, 1170 | "dependencies": { 1171 | "es5-ext": "^0.10.50", 1172 | "type": "^1.0.1" 1173 | } 1174 | }, 1175 | "node_modules/data-uri-to-buffer": { 1176 | "version": "2.0.2", 1177 | "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz", 1178 | "integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==", 1179 | "dev": true 1180 | }, 1181 | "node_modules/debug": { 1182 | "version": "4.3.4", 1183 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1184 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1185 | "dev": true, 1186 | "dependencies": { 1187 | "ms": "2.1.2" 1188 | }, 1189 | "engines": { 1190 | "node": ">=6.0" 1191 | }, 1192 | "peerDependenciesMeta": { 1193 | "supports-color": { 1194 | "optional": true 1195 | } 1196 | } 1197 | }, 1198 | "node_modules/difflib": { 1199 | "version": "0.2.4", 1200 | "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", 1201 | "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", 1202 | "dev": true, 1203 | "dependencies": { 1204 | "heap": ">= 0.2.0" 1205 | }, 1206 | "engines": { 1207 | "node": "*" 1208 | } 1209 | }, 1210 | "node_modules/dreamopt": { 1211 | "version": "0.8.0", 1212 | "resolved": "https://registry.npmjs.org/dreamopt/-/dreamopt-0.8.0.tgz", 1213 | "integrity": "sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==", 1214 | "dev": true, 1215 | "dependencies": { 1216 | "wordwrap": ">=0.0.2" 1217 | }, 1218 | "engines": { 1219 | "node": ">=0.4.0" 1220 | } 1221 | }, 1222 | "node_modules/drizzle-kit": { 1223 | "version": "0.20.6", 1224 | "resolved": "https://registry.npmjs.org/drizzle-kit/-/drizzle-kit-0.20.6.tgz", 1225 | "integrity": "sha512-+AYQY+tJUnfMJYIeh6aEjI21mpMCekqz0LEu2QdFdc/3zSmjyfEhH5dkXlRFME8v1rtisiHfp7bP+gVVKDPiUg==", 1226 | "dev": true, 1227 | "dependencies": { 1228 | "@drizzle-team/studio": "^0.0.35", 1229 | "@esbuild-kit/esm-loader": "^2.5.5", 1230 | "camelcase": "^7.0.1", 1231 | "chalk": "^5.2.0", 1232 | "commander": "^9.4.1", 1233 | "esbuild": "^0.19.7", 1234 | "esbuild-register": "^3.5.0", 1235 | "glob": "^8.1.0", 1236 | "hanji": "^0.0.5", 1237 | "json-diff": "0.9.0", 1238 | "minimatch": "^7.4.3", 1239 | "semver": "^7.5.4", 1240 | "wrangler": "^3.7.0", 1241 | "zod": "^3.20.2" 1242 | }, 1243 | "bin": { 1244 | "drizzle-kit": "bin.cjs" 1245 | } 1246 | }, 1247 | "node_modules/drizzle-orm": { 1248 | "version": "0.29.1", 1249 | "resolved": "https://registry.npmjs.org/drizzle-orm/-/drizzle-orm-0.29.1.tgz", 1250 | "integrity": "sha512-yItc4unfHnk8XkDD3/bdC63vdboTY7e7I03lCF1OJYABXSIfQYU9BFTQJXMMovVeb3T1/OJWwfW/70T1XPnuUA==", 1251 | "peerDependencies": { 1252 | "@aws-sdk/client-rds-data": ">=3", 1253 | "@cloudflare/workers-types": ">=3", 1254 | "@libsql/client": "*", 1255 | "@neondatabase/serverless": ">=0.1", 1256 | "@opentelemetry/api": "^1.4.1", 1257 | "@planetscale/database": ">=1", 1258 | "@types/better-sqlite3": "*", 1259 | "@types/pg": "*", 1260 | "@types/sql.js": "*", 1261 | "@vercel/postgres": "*", 1262 | "better-sqlite3": ">=7", 1263 | "bun-types": "*", 1264 | "knex": "*", 1265 | "kysely": "*", 1266 | "mysql2": ">=2", 1267 | "pg": ">=8", 1268 | "postgres": ">=3", 1269 | "sql.js": ">=1", 1270 | "sqlite3": ">=5" 1271 | }, 1272 | "peerDependenciesMeta": { 1273 | "@aws-sdk/client-rds-data": { 1274 | "optional": true 1275 | }, 1276 | "@cloudflare/workers-types": { 1277 | "optional": true 1278 | }, 1279 | "@libsql/client": { 1280 | "optional": true 1281 | }, 1282 | "@neondatabase/serverless": { 1283 | "optional": true 1284 | }, 1285 | "@opentelemetry/api": { 1286 | "optional": true 1287 | }, 1288 | "@planetscale/database": { 1289 | "optional": true 1290 | }, 1291 | "@types/better-sqlite3": { 1292 | "optional": true 1293 | }, 1294 | "@types/pg": { 1295 | "optional": true 1296 | }, 1297 | "@types/sql.js": { 1298 | "optional": true 1299 | }, 1300 | "@vercel/postgres": { 1301 | "optional": true 1302 | }, 1303 | "better-sqlite3": { 1304 | "optional": true 1305 | }, 1306 | "bun-types": { 1307 | "optional": true 1308 | }, 1309 | "knex": { 1310 | "optional": true 1311 | }, 1312 | "kysely": { 1313 | "optional": true 1314 | }, 1315 | "mysql2": { 1316 | "optional": true 1317 | }, 1318 | "pg": { 1319 | "optional": true 1320 | }, 1321 | "postgres": { 1322 | "optional": true 1323 | }, 1324 | "sql.js": { 1325 | "optional": true 1326 | }, 1327 | "sqlite3": { 1328 | "optional": true 1329 | } 1330 | } 1331 | }, 1332 | "node_modules/es5-ext": { 1333 | "version": "0.10.62", 1334 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", 1335 | "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", 1336 | "dev": true, 1337 | "hasInstallScript": true, 1338 | "dependencies": { 1339 | "es6-iterator": "^2.0.3", 1340 | "es6-symbol": "^3.1.3", 1341 | "next-tick": "^1.1.0" 1342 | }, 1343 | "engines": { 1344 | "node": ">=0.10" 1345 | } 1346 | }, 1347 | "node_modules/es6-iterator": { 1348 | "version": "2.0.3", 1349 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 1350 | "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", 1351 | "dev": true, 1352 | "dependencies": { 1353 | "d": "1", 1354 | "es5-ext": "^0.10.35", 1355 | "es6-symbol": "^3.1.1" 1356 | } 1357 | }, 1358 | "node_modules/es6-symbol": { 1359 | "version": "3.1.3", 1360 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", 1361 | "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", 1362 | "dev": true, 1363 | "dependencies": { 1364 | "d": "^1.0.1", 1365 | "ext": "^1.1.2" 1366 | } 1367 | }, 1368 | "node_modules/es6-weak-map": { 1369 | "version": "2.0.3", 1370 | "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", 1371 | "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", 1372 | "dev": true, 1373 | "dependencies": { 1374 | "d": "1", 1375 | "es5-ext": "^0.10.46", 1376 | "es6-iterator": "^2.0.3", 1377 | "es6-symbol": "^3.1.1" 1378 | } 1379 | }, 1380 | "node_modules/esbuild": { 1381 | "version": "0.19.9", 1382 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.9.tgz", 1383 | "integrity": "sha512-U9CHtKSy+EpPsEBa+/A2gMs/h3ylBC0H0KSqIg7tpztHerLi6nrrcoUJAkNCEPumx8yJ+Byic4BVwHgRbN0TBg==", 1384 | "dev": true, 1385 | "hasInstallScript": true, 1386 | "bin": { 1387 | "esbuild": "bin/esbuild" 1388 | }, 1389 | "engines": { 1390 | "node": ">=12" 1391 | }, 1392 | "optionalDependencies": { 1393 | "@esbuild/android-arm": "0.19.9", 1394 | "@esbuild/android-arm64": "0.19.9", 1395 | "@esbuild/android-x64": "0.19.9", 1396 | "@esbuild/darwin-arm64": "0.19.9", 1397 | "@esbuild/darwin-x64": "0.19.9", 1398 | "@esbuild/freebsd-arm64": "0.19.9", 1399 | "@esbuild/freebsd-x64": "0.19.9", 1400 | "@esbuild/linux-arm": "0.19.9", 1401 | "@esbuild/linux-arm64": "0.19.9", 1402 | "@esbuild/linux-ia32": "0.19.9", 1403 | "@esbuild/linux-loong64": "0.19.9", 1404 | "@esbuild/linux-mips64el": "0.19.9", 1405 | "@esbuild/linux-ppc64": "0.19.9", 1406 | "@esbuild/linux-riscv64": "0.19.9", 1407 | "@esbuild/linux-s390x": "0.19.9", 1408 | "@esbuild/linux-x64": "0.19.9", 1409 | "@esbuild/netbsd-x64": "0.19.9", 1410 | "@esbuild/openbsd-x64": "0.19.9", 1411 | "@esbuild/sunos-x64": "0.19.9", 1412 | "@esbuild/win32-arm64": "0.19.9", 1413 | "@esbuild/win32-ia32": "0.19.9", 1414 | "@esbuild/win32-x64": "0.19.9" 1415 | } 1416 | }, 1417 | "node_modules/esbuild-register": { 1418 | "version": "3.5.0", 1419 | "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz", 1420 | "integrity": "sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==", 1421 | "dev": true, 1422 | "dependencies": { 1423 | "debug": "^4.3.4" 1424 | }, 1425 | "peerDependencies": { 1426 | "esbuild": ">=0.12 <1" 1427 | } 1428 | }, 1429 | "node_modules/escape-string-regexp": { 1430 | "version": "4.0.0", 1431 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 1432 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 1433 | "dev": true, 1434 | "engines": { 1435 | "node": ">=10" 1436 | }, 1437 | "funding": { 1438 | "url": "https://github.com/sponsors/sindresorhus" 1439 | } 1440 | }, 1441 | "node_modules/estree-walker": { 1442 | "version": "0.6.1", 1443 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", 1444 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", 1445 | "dev": true 1446 | }, 1447 | "node_modules/event-emitter": { 1448 | "version": "0.3.5", 1449 | "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", 1450 | "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", 1451 | "dev": true, 1452 | "dependencies": { 1453 | "d": "1", 1454 | "es5-ext": "~0.10.14" 1455 | } 1456 | }, 1457 | "node_modules/exit-hook": { 1458 | "version": "2.2.1", 1459 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", 1460 | "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", 1461 | "dev": true, 1462 | "engines": { 1463 | "node": ">=6" 1464 | }, 1465 | "funding": { 1466 | "url": "https://github.com/sponsors/sindresorhus" 1467 | } 1468 | }, 1469 | "node_modules/ext": { 1470 | "version": "1.7.0", 1471 | "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", 1472 | "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", 1473 | "dev": true, 1474 | "dependencies": { 1475 | "type": "^2.7.2" 1476 | } 1477 | }, 1478 | "node_modules/ext/node_modules/type": { 1479 | "version": "2.7.2", 1480 | "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", 1481 | "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", 1482 | "dev": true 1483 | }, 1484 | "node_modules/fill-range": { 1485 | "version": "7.0.1", 1486 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1487 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1488 | "dev": true, 1489 | "dependencies": { 1490 | "to-regex-range": "^5.0.1" 1491 | }, 1492 | "engines": { 1493 | "node": ">=8" 1494 | } 1495 | }, 1496 | "node_modules/fs.realpath": { 1497 | "version": "1.0.0", 1498 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1499 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1500 | "dev": true 1501 | }, 1502 | "node_modules/fsevents": { 1503 | "version": "2.3.3", 1504 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1505 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1506 | "dev": true, 1507 | "hasInstallScript": true, 1508 | "optional": true, 1509 | "os": [ 1510 | "darwin" 1511 | ], 1512 | "engines": { 1513 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1514 | } 1515 | }, 1516 | "node_modules/get-source": { 1517 | "version": "2.0.12", 1518 | "resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz", 1519 | "integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==", 1520 | "dev": true, 1521 | "dependencies": { 1522 | "data-uri-to-buffer": "^2.0.0", 1523 | "source-map": "^0.6.1" 1524 | } 1525 | }, 1526 | "node_modules/get-tsconfig": { 1527 | "version": "4.7.2", 1528 | "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", 1529 | "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", 1530 | "dev": true, 1531 | "dependencies": { 1532 | "resolve-pkg-maps": "^1.0.0" 1533 | }, 1534 | "funding": { 1535 | "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 1536 | } 1537 | }, 1538 | "node_modules/glob": { 1539 | "version": "8.1.0", 1540 | "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", 1541 | "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", 1542 | "dev": true, 1543 | "dependencies": { 1544 | "fs.realpath": "^1.0.0", 1545 | "inflight": "^1.0.4", 1546 | "inherits": "2", 1547 | "minimatch": "^5.0.1", 1548 | "once": "^1.3.0" 1549 | }, 1550 | "engines": { 1551 | "node": ">=12" 1552 | }, 1553 | "funding": { 1554 | "url": "https://github.com/sponsors/isaacs" 1555 | } 1556 | }, 1557 | "node_modules/glob-parent": { 1558 | "version": "5.1.2", 1559 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1560 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1561 | "dev": true, 1562 | "dependencies": { 1563 | "is-glob": "^4.0.1" 1564 | }, 1565 | "engines": { 1566 | "node": ">= 6" 1567 | } 1568 | }, 1569 | "node_modules/glob-to-regexp": { 1570 | "version": "0.4.1", 1571 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 1572 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", 1573 | "dev": true 1574 | }, 1575 | "node_modules/glob/node_modules/minimatch": { 1576 | "version": "5.1.6", 1577 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", 1578 | "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", 1579 | "dev": true, 1580 | "dependencies": { 1581 | "brace-expansion": "^2.0.1" 1582 | }, 1583 | "engines": { 1584 | "node": ">=10" 1585 | } 1586 | }, 1587 | "node_modules/hanji": { 1588 | "version": "0.0.5", 1589 | "resolved": "https://registry.npmjs.org/hanji/-/hanji-0.0.5.tgz", 1590 | "integrity": "sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==", 1591 | "dev": true, 1592 | "dependencies": { 1593 | "lodash.throttle": "^4.1.1", 1594 | "sisteransi": "^1.0.5" 1595 | } 1596 | }, 1597 | "node_modules/heap": { 1598 | "version": "0.2.7", 1599 | "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", 1600 | "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", 1601 | "dev": true 1602 | }, 1603 | "node_modules/inflight": { 1604 | "version": "1.0.6", 1605 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1606 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1607 | "dev": true, 1608 | "dependencies": { 1609 | "once": "^1.3.0", 1610 | "wrappy": "1" 1611 | } 1612 | }, 1613 | "node_modules/inherits": { 1614 | "version": "2.0.4", 1615 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1616 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1617 | "dev": true 1618 | }, 1619 | "node_modules/is-binary-path": { 1620 | "version": "2.1.0", 1621 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1622 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1623 | "dev": true, 1624 | "dependencies": { 1625 | "binary-extensions": "^2.0.0" 1626 | }, 1627 | "engines": { 1628 | "node": ">=8" 1629 | } 1630 | }, 1631 | "node_modules/is-extglob": { 1632 | "version": "2.1.1", 1633 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1634 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1635 | "dev": true, 1636 | "engines": { 1637 | "node": ">=0.10.0" 1638 | } 1639 | }, 1640 | "node_modules/is-glob": { 1641 | "version": "4.0.3", 1642 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1643 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1644 | "dev": true, 1645 | "dependencies": { 1646 | "is-extglob": "^2.1.1" 1647 | }, 1648 | "engines": { 1649 | "node": ">=0.10.0" 1650 | } 1651 | }, 1652 | "node_modules/is-number": { 1653 | "version": "7.0.0", 1654 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1655 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1656 | "dev": true, 1657 | "engines": { 1658 | "node": ">=0.12.0" 1659 | } 1660 | }, 1661 | "node_modules/is-promise": { 1662 | "version": "2.2.2", 1663 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", 1664 | "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", 1665 | "dev": true 1666 | }, 1667 | "node_modules/is-what": { 1668 | "version": "4.1.16", 1669 | "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", 1670 | "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", 1671 | "dev": true, 1672 | "engines": { 1673 | "node": ">=12.13" 1674 | }, 1675 | "funding": { 1676 | "url": "https://github.com/sponsors/mesqueeb" 1677 | } 1678 | }, 1679 | "node_modules/json-diff": { 1680 | "version": "0.9.0", 1681 | "resolved": "https://registry.npmjs.org/json-diff/-/json-diff-0.9.0.tgz", 1682 | "integrity": "sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==", 1683 | "dev": true, 1684 | "dependencies": { 1685 | "cli-color": "^2.0.0", 1686 | "difflib": "~0.2.1", 1687 | "dreamopt": "~0.8.0" 1688 | }, 1689 | "bin": { 1690 | "json-diff": "bin/json-diff.js" 1691 | }, 1692 | "engines": { 1693 | "node": "*" 1694 | } 1695 | }, 1696 | "node_modules/lodash.throttle": { 1697 | "version": "4.1.1", 1698 | "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", 1699 | "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", 1700 | "dev": true 1701 | }, 1702 | "node_modules/lru-cache": { 1703 | "version": "6.0.0", 1704 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1705 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1706 | "dev": true, 1707 | "dependencies": { 1708 | "yallist": "^4.0.0" 1709 | }, 1710 | "engines": { 1711 | "node": ">=10" 1712 | } 1713 | }, 1714 | "node_modules/lru-queue": { 1715 | "version": "0.1.0", 1716 | "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", 1717 | "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", 1718 | "dev": true, 1719 | "dependencies": { 1720 | "es5-ext": "~0.10.2" 1721 | } 1722 | }, 1723 | "node_modules/magic-string": { 1724 | "version": "0.25.9", 1725 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 1726 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 1727 | "dev": true, 1728 | "dependencies": { 1729 | "sourcemap-codec": "^1.4.8" 1730 | } 1731 | }, 1732 | "node_modules/memoizee": { 1733 | "version": "0.4.15", 1734 | "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", 1735 | "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", 1736 | "dev": true, 1737 | "dependencies": { 1738 | "d": "^1.0.1", 1739 | "es5-ext": "^0.10.53", 1740 | "es6-weak-map": "^2.0.3", 1741 | "event-emitter": "^0.3.5", 1742 | "is-promise": "^2.2.2", 1743 | "lru-queue": "^0.1.0", 1744 | "next-tick": "^1.1.0", 1745 | "timers-ext": "^0.1.7" 1746 | } 1747 | }, 1748 | "node_modules/mime": { 1749 | "version": "3.0.0", 1750 | "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", 1751 | "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", 1752 | "dev": true, 1753 | "bin": { 1754 | "mime": "cli.js" 1755 | }, 1756 | "engines": { 1757 | "node": ">=10.0.0" 1758 | } 1759 | }, 1760 | "node_modules/miniflare": { 1761 | "version": "3.20231030.4", 1762 | "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20231030.4.tgz", 1763 | "integrity": "sha512-7MBz0ArLuDop1WJGZC6tFgN6c5MRyDOIlxbm3yp0TRBpvDS/KsTuWCQcCjsxN4QQ5zvL3JTkuIZbQzRRw/j6ow==", 1764 | "dev": true, 1765 | "dependencies": { 1766 | "acorn": "^8.8.0", 1767 | "acorn-walk": "^8.2.0", 1768 | "capnp-ts": "^0.7.0", 1769 | "exit-hook": "^2.2.1", 1770 | "glob-to-regexp": "^0.4.1", 1771 | "source-map-support": "0.5.21", 1772 | "stoppable": "^1.1.0", 1773 | "undici": "^5.22.1", 1774 | "workerd": "1.20231030.0", 1775 | "ws": "^8.11.0", 1776 | "youch": "^3.2.2", 1777 | "zod": "^3.20.6" 1778 | }, 1779 | "bin": { 1780 | "miniflare": "bootstrap.js" 1781 | }, 1782 | "engines": { 1783 | "node": ">=16.13" 1784 | } 1785 | }, 1786 | "node_modules/minimatch": { 1787 | "version": "7.4.6", 1788 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", 1789 | "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", 1790 | "dev": true, 1791 | "dependencies": { 1792 | "brace-expansion": "^2.0.1" 1793 | }, 1794 | "engines": { 1795 | "node": ">=10" 1796 | }, 1797 | "funding": { 1798 | "url": "https://github.com/sponsors/isaacs" 1799 | } 1800 | }, 1801 | "node_modules/ms": { 1802 | "version": "2.1.2", 1803 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1804 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1805 | "dev": true 1806 | }, 1807 | "node_modules/mustache": { 1808 | "version": "4.2.0", 1809 | "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", 1810 | "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", 1811 | "dev": true, 1812 | "bin": { 1813 | "mustache": "bin/mustache" 1814 | } 1815 | }, 1816 | "node_modules/nanoid": { 1817 | "version": "3.3.7", 1818 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 1819 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 1820 | "dev": true, 1821 | "funding": [ 1822 | { 1823 | "type": "github", 1824 | "url": "https://github.com/sponsors/ai" 1825 | } 1826 | ], 1827 | "bin": { 1828 | "nanoid": "bin/nanoid.cjs" 1829 | }, 1830 | "engines": { 1831 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1832 | } 1833 | }, 1834 | "node_modules/next-tick": { 1835 | "version": "1.1.0", 1836 | "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", 1837 | "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", 1838 | "dev": true 1839 | }, 1840 | "node_modules/node-forge": { 1841 | "version": "1.3.1", 1842 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", 1843 | "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", 1844 | "dev": true, 1845 | "engines": { 1846 | "node": ">= 6.13.0" 1847 | } 1848 | }, 1849 | "node_modules/normalize-path": { 1850 | "version": "3.0.0", 1851 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1852 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1853 | "dev": true, 1854 | "engines": { 1855 | "node": ">=0.10.0" 1856 | } 1857 | }, 1858 | "node_modules/once": { 1859 | "version": "1.4.0", 1860 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1861 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1862 | "dev": true, 1863 | "dependencies": { 1864 | "wrappy": "1" 1865 | } 1866 | }, 1867 | "node_modules/path-to-regexp": { 1868 | "version": "6.2.1", 1869 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", 1870 | "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", 1871 | "dev": true 1872 | }, 1873 | "node_modules/picomatch": { 1874 | "version": "2.3.1", 1875 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1876 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1877 | "dev": true, 1878 | "engines": { 1879 | "node": ">=8.6" 1880 | }, 1881 | "funding": { 1882 | "url": "https://github.com/sponsors/jonschlinkert" 1883 | } 1884 | }, 1885 | "node_modules/postgres": { 1886 | "version": "3.4.3", 1887 | "resolved": "https://registry.npmjs.org/postgres/-/postgres-3.4.3.tgz", 1888 | "integrity": "sha512-iHJn4+M9vbTdHSdDzNkC0crHq+1CUdFhx+YqCE+SqWxPjm+Zu63jq7yZborOBF64c8pc58O5uMudyL1FQcHacA==", 1889 | "engines": { 1890 | "node": ">=12" 1891 | }, 1892 | "funding": { 1893 | "type": "individual", 1894 | "url": "https://github.com/sponsors/porsager" 1895 | } 1896 | }, 1897 | "node_modules/printable-characters": { 1898 | "version": "1.0.42", 1899 | "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", 1900 | "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==", 1901 | "dev": true 1902 | }, 1903 | "node_modules/readdirp": { 1904 | "version": "3.6.0", 1905 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1906 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1907 | "dev": true, 1908 | "dependencies": { 1909 | "picomatch": "^2.2.1" 1910 | }, 1911 | "engines": { 1912 | "node": ">=8.10.0" 1913 | } 1914 | }, 1915 | "node_modules/resolve-pkg-maps": { 1916 | "version": "1.0.0", 1917 | "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 1918 | "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 1919 | "dev": true, 1920 | "funding": { 1921 | "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 1922 | } 1923 | }, 1924 | "node_modules/resolve.exports": { 1925 | "version": "2.0.2", 1926 | "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", 1927 | "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", 1928 | "dev": true, 1929 | "engines": { 1930 | "node": ">=10" 1931 | } 1932 | }, 1933 | "node_modules/rollup-plugin-inject": { 1934 | "version": "3.0.2", 1935 | "resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz", 1936 | "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==", 1937 | "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.", 1938 | "dev": true, 1939 | "dependencies": { 1940 | "estree-walker": "^0.6.1", 1941 | "magic-string": "^0.25.3", 1942 | "rollup-pluginutils": "^2.8.1" 1943 | } 1944 | }, 1945 | "node_modules/rollup-plugin-node-polyfills": { 1946 | "version": "0.2.1", 1947 | "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz", 1948 | "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==", 1949 | "dev": true, 1950 | "dependencies": { 1951 | "rollup-plugin-inject": "^3.0.0" 1952 | } 1953 | }, 1954 | "node_modules/rollup-pluginutils": { 1955 | "version": "2.8.2", 1956 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", 1957 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", 1958 | "dev": true, 1959 | "dependencies": { 1960 | "estree-walker": "^0.6.1" 1961 | } 1962 | }, 1963 | "node_modules/selfsigned": { 1964 | "version": "2.4.1", 1965 | "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", 1966 | "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", 1967 | "dev": true, 1968 | "dependencies": { 1969 | "@types/node-forge": "^1.3.0", 1970 | "node-forge": "^1" 1971 | }, 1972 | "engines": { 1973 | "node": ">=10" 1974 | } 1975 | }, 1976 | "node_modules/semver": { 1977 | "version": "7.5.4", 1978 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", 1979 | "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", 1980 | "dev": true, 1981 | "dependencies": { 1982 | "lru-cache": "^6.0.0" 1983 | }, 1984 | "bin": { 1985 | "semver": "bin/semver.js" 1986 | }, 1987 | "engines": { 1988 | "node": ">=10" 1989 | } 1990 | }, 1991 | "node_modules/sisteransi": { 1992 | "version": "1.0.5", 1993 | "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", 1994 | "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", 1995 | "dev": true 1996 | }, 1997 | "node_modules/source-map": { 1998 | "version": "0.6.1", 1999 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2000 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2001 | "dev": true, 2002 | "engines": { 2003 | "node": ">=0.10.0" 2004 | } 2005 | }, 2006 | "node_modules/source-map-support": { 2007 | "version": "0.5.21", 2008 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 2009 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 2010 | "dev": true, 2011 | "dependencies": { 2012 | "buffer-from": "^1.0.0", 2013 | "source-map": "^0.6.0" 2014 | } 2015 | }, 2016 | "node_modules/sourcemap-codec": { 2017 | "version": "1.4.8", 2018 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 2019 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 2020 | "deprecated": "Please use @jridgewell/sourcemap-codec instead", 2021 | "dev": true 2022 | }, 2023 | "node_modules/stacktracey": { 2024 | "version": "2.1.8", 2025 | "resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz", 2026 | "integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==", 2027 | "dev": true, 2028 | "dependencies": { 2029 | "as-table": "^1.0.36", 2030 | "get-source": "^2.0.12" 2031 | } 2032 | }, 2033 | "node_modules/stoppable": { 2034 | "version": "1.1.0", 2035 | "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", 2036 | "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", 2037 | "dev": true, 2038 | "engines": { 2039 | "node": ">=4", 2040 | "npm": ">=6" 2041 | } 2042 | }, 2043 | "node_modules/superjson": { 2044 | "version": "2.2.1", 2045 | "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.1.tgz", 2046 | "integrity": "sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==", 2047 | "dev": true, 2048 | "dependencies": { 2049 | "copy-anything": "^3.0.2" 2050 | }, 2051 | "engines": { 2052 | "node": ">=16" 2053 | } 2054 | }, 2055 | "node_modules/timers-ext": { 2056 | "version": "0.1.7", 2057 | "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", 2058 | "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", 2059 | "dev": true, 2060 | "dependencies": { 2061 | "es5-ext": "~0.10.46", 2062 | "next-tick": "1" 2063 | } 2064 | }, 2065 | "node_modules/to-regex-range": { 2066 | "version": "5.0.1", 2067 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2068 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2069 | "dev": true, 2070 | "dependencies": { 2071 | "is-number": "^7.0.0" 2072 | }, 2073 | "engines": { 2074 | "node": ">=8.0" 2075 | } 2076 | }, 2077 | "node_modules/tslib": { 2078 | "version": "2.6.2", 2079 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 2080 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", 2081 | "dev": true 2082 | }, 2083 | "node_modules/type": { 2084 | "version": "1.2.0", 2085 | "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", 2086 | "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", 2087 | "dev": true 2088 | }, 2089 | "node_modules/undici": { 2090 | "version": "5.28.2", 2091 | "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz", 2092 | "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==", 2093 | "dev": true, 2094 | "dependencies": { 2095 | "@fastify/busboy": "^2.0.0" 2096 | }, 2097 | "engines": { 2098 | "node": ">=14.0" 2099 | } 2100 | }, 2101 | "node_modules/undici-types": { 2102 | "version": "5.26.5", 2103 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 2104 | "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", 2105 | "dev": true 2106 | }, 2107 | "node_modules/wordwrap": { 2108 | "version": "1.0.0", 2109 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 2110 | "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", 2111 | "dev": true 2112 | }, 2113 | "node_modules/workerd": { 2114 | "version": "1.20231030.0", 2115 | "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20231030.0.tgz", 2116 | "integrity": "sha512-+FSW+d31f8RrjHanFf/R9A+Z0csf3OtsvzdPmAKuwuZm/5HrBv83cvG9fFeTxl7/nI6irUUXIRF9xcj/NomQzQ==", 2117 | "dev": true, 2118 | "hasInstallScript": true, 2119 | "bin": { 2120 | "workerd": "bin/workerd" 2121 | }, 2122 | "engines": { 2123 | "node": ">=16" 2124 | }, 2125 | "optionalDependencies": { 2126 | "@cloudflare/workerd-darwin-64": "1.20231030.0", 2127 | "@cloudflare/workerd-darwin-arm64": "1.20231030.0", 2128 | "@cloudflare/workerd-linux-64": "1.20231030.0", 2129 | "@cloudflare/workerd-linux-arm64": "1.20231030.0", 2130 | "@cloudflare/workerd-windows-64": "1.20231030.0" 2131 | } 2132 | }, 2133 | "node_modules/wrangler": { 2134 | "version": "3.21.0", 2135 | "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-3.21.0.tgz", 2136 | "integrity": "sha512-DLoo4XfjeyuGRAVWZFHmU1jWnZIfyLGDm6Ika9oy/CLCPfJzVJvf2jI70EU5BlEHWDZXMSJKw7FDdgSqwhaQXg==", 2137 | "dev": true, 2138 | "dependencies": { 2139 | "@cloudflare/kv-asset-handler": "^0.2.0", 2140 | "@cspotcode/source-map-support": "0.8.1", 2141 | "@esbuild-plugins/node-globals-polyfill": "^0.2.3", 2142 | "@esbuild-plugins/node-modules-polyfill": "^0.2.2", 2143 | "blake3-wasm": "^2.1.5", 2144 | "chokidar": "^3.5.3", 2145 | "esbuild": "0.17.19", 2146 | "miniflare": "3.20231030.4", 2147 | "nanoid": "^3.3.3", 2148 | "path-to-regexp": "^6.2.0", 2149 | "resolve.exports": "^2.0.2", 2150 | "selfsigned": "^2.0.1", 2151 | "source-map": "0.6.1", 2152 | "xxhash-wasm": "^1.0.1" 2153 | }, 2154 | "bin": { 2155 | "wrangler": "bin/wrangler.js", 2156 | "wrangler2": "bin/wrangler.js" 2157 | }, 2158 | "engines": { 2159 | "node": ">=16.17.0" 2160 | }, 2161 | "optionalDependencies": { 2162 | "fsevents": "~2.3.2" 2163 | } 2164 | }, 2165 | "node_modules/wrangler/node_modules/@esbuild/android-arm": { 2166 | "version": "0.17.19", 2167 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", 2168 | "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", 2169 | "cpu": [ 2170 | "arm" 2171 | ], 2172 | "dev": true, 2173 | "optional": true, 2174 | "os": [ 2175 | "android" 2176 | ], 2177 | "engines": { 2178 | "node": ">=12" 2179 | } 2180 | }, 2181 | "node_modules/wrangler/node_modules/@esbuild/android-arm64": { 2182 | "version": "0.17.19", 2183 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", 2184 | "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", 2185 | "cpu": [ 2186 | "arm64" 2187 | ], 2188 | "dev": true, 2189 | "optional": true, 2190 | "os": [ 2191 | "android" 2192 | ], 2193 | "engines": { 2194 | "node": ">=12" 2195 | } 2196 | }, 2197 | "node_modules/wrangler/node_modules/@esbuild/android-x64": { 2198 | "version": "0.17.19", 2199 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", 2200 | "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", 2201 | "cpu": [ 2202 | "x64" 2203 | ], 2204 | "dev": true, 2205 | "optional": true, 2206 | "os": [ 2207 | "android" 2208 | ], 2209 | "engines": { 2210 | "node": ">=12" 2211 | } 2212 | }, 2213 | "node_modules/wrangler/node_modules/@esbuild/darwin-arm64": { 2214 | "version": "0.17.19", 2215 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", 2216 | "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", 2217 | "cpu": [ 2218 | "arm64" 2219 | ], 2220 | "dev": true, 2221 | "optional": true, 2222 | "os": [ 2223 | "darwin" 2224 | ], 2225 | "engines": { 2226 | "node": ">=12" 2227 | } 2228 | }, 2229 | "node_modules/wrangler/node_modules/@esbuild/darwin-x64": { 2230 | "version": "0.17.19", 2231 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", 2232 | "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", 2233 | "cpu": [ 2234 | "x64" 2235 | ], 2236 | "dev": true, 2237 | "optional": true, 2238 | "os": [ 2239 | "darwin" 2240 | ], 2241 | "engines": { 2242 | "node": ">=12" 2243 | } 2244 | }, 2245 | "node_modules/wrangler/node_modules/@esbuild/freebsd-arm64": { 2246 | "version": "0.17.19", 2247 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", 2248 | "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", 2249 | "cpu": [ 2250 | "arm64" 2251 | ], 2252 | "dev": true, 2253 | "optional": true, 2254 | "os": [ 2255 | "freebsd" 2256 | ], 2257 | "engines": { 2258 | "node": ">=12" 2259 | } 2260 | }, 2261 | "node_modules/wrangler/node_modules/@esbuild/freebsd-x64": { 2262 | "version": "0.17.19", 2263 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", 2264 | "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", 2265 | "cpu": [ 2266 | "x64" 2267 | ], 2268 | "dev": true, 2269 | "optional": true, 2270 | "os": [ 2271 | "freebsd" 2272 | ], 2273 | "engines": { 2274 | "node": ">=12" 2275 | } 2276 | }, 2277 | "node_modules/wrangler/node_modules/@esbuild/linux-arm": { 2278 | "version": "0.17.19", 2279 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", 2280 | "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", 2281 | "cpu": [ 2282 | "arm" 2283 | ], 2284 | "dev": true, 2285 | "optional": true, 2286 | "os": [ 2287 | "linux" 2288 | ], 2289 | "engines": { 2290 | "node": ">=12" 2291 | } 2292 | }, 2293 | "node_modules/wrangler/node_modules/@esbuild/linux-arm64": { 2294 | "version": "0.17.19", 2295 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", 2296 | "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", 2297 | "cpu": [ 2298 | "arm64" 2299 | ], 2300 | "dev": true, 2301 | "optional": true, 2302 | "os": [ 2303 | "linux" 2304 | ], 2305 | "engines": { 2306 | "node": ">=12" 2307 | } 2308 | }, 2309 | "node_modules/wrangler/node_modules/@esbuild/linux-ia32": { 2310 | "version": "0.17.19", 2311 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", 2312 | "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", 2313 | "cpu": [ 2314 | "ia32" 2315 | ], 2316 | "dev": true, 2317 | "optional": true, 2318 | "os": [ 2319 | "linux" 2320 | ], 2321 | "engines": { 2322 | "node": ">=12" 2323 | } 2324 | }, 2325 | "node_modules/wrangler/node_modules/@esbuild/linux-loong64": { 2326 | "version": "0.17.19", 2327 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", 2328 | "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", 2329 | "cpu": [ 2330 | "loong64" 2331 | ], 2332 | "dev": true, 2333 | "optional": true, 2334 | "os": [ 2335 | "linux" 2336 | ], 2337 | "engines": { 2338 | "node": ">=12" 2339 | } 2340 | }, 2341 | "node_modules/wrangler/node_modules/@esbuild/linux-mips64el": { 2342 | "version": "0.17.19", 2343 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", 2344 | "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", 2345 | "cpu": [ 2346 | "mips64el" 2347 | ], 2348 | "dev": true, 2349 | "optional": true, 2350 | "os": [ 2351 | "linux" 2352 | ], 2353 | "engines": { 2354 | "node": ">=12" 2355 | } 2356 | }, 2357 | "node_modules/wrangler/node_modules/@esbuild/linux-ppc64": { 2358 | "version": "0.17.19", 2359 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", 2360 | "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", 2361 | "cpu": [ 2362 | "ppc64" 2363 | ], 2364 | "dev": true, 2365 | "optional": true, 2366 | "os": [ 2367 | "linux" 2368 | ], 2369 | "engines": { 2370 | "node": ">=12" 2371 | } 2372 | }, 2373 | "node_modules/wrangler/node_modules/@esbuild/linux-riscv64": { 2374 | "version": "0.17.19", 2375 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", 2376 | "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", 2377 | "cpu": [ 2378 | "riscv64" 2379 | ], 2380 | "dev": true, 2381 | "optional": true, 2382 | "os": [ 2383 | "linux" 2384 | ], 2385 | "engines": { 2386 | "node": ">=12" 2387 | } 2388 | }, 2389 | "node_modules/wrangler/node_modules/@esbuild/linux-s390x": { 2390 | "version": "0.17.19", 2391 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", 2392 | "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", 2393 | "cpu": [ 2394 | "s390x" 2395 | ], 2396 | "dev": true, 2397 | "optional": true, 2398 | "os": [ 2399 | "linux" 2400 | ], 2401 | "engines": { 2402 | "node": ">=12" 2403 | } 2404 | }, 2405 | "node_modules/wrangler/node_modules/@esbuild/linux-x64": { 2406 | "version": "0.17.19", 2407 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", 2408 | "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", 2409 | "cpu": [ 2410 | "x64" 2411 | ], 2412 | "dev": true, 2413 | "optional": true, 2414 | "os": [ 2415 | "linux" 2416 | ], 2417 | "engines": { 2418 | "node": ">=12" 2419 | } 2420 | }, 2421 | "node_modules/wrangler/node_modules/@esbuild/netbsd-x64": { 2422 | "version": "0.17.19", 2423 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", 2424 | "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", 2425 | "cpu": [ 2426 | "x64" 2427 | ], 2428 | "dev": true, 2429 | "optional": true, 2430 | "os": [ 2431 | "netbsd" 2432 | ], 2433 | "engines": { 2434 | "node": ">=12" 2435 | } 2436 | }, 2437 | "node_modules/wrangler/node_modules/@esbuild/openbsd-x64": { 2438 | "version": "0.17.19", 2439 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", 2440 | "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", 2441 | "cpu": [ 2442 | "x64" 2443 | ], 2444 | "dev": true, 2445 | "optional": true, 2446 | "os": [ 2447 | "openbsd" 2448 | ], 2449 | "engines": { 2450 | "node": ">=12" 2451 | } 2452 | }, 2453 | "node_modules/wrangler/node_modules/@esbuild/sunos-x64": { 2454 | "version": "0.17.19", 2455 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", 2456 | "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", 2457 | "cpu": [ 2458 | "x64" 2459 | ], 2460 | "dev": true, 2461 | "optional": true, 2462 | "os": [ 2463 | "sunos" 2464 | ], 2465 | "engines": { 2466 | "node": ">=12" 2467 | } 2468 | }, 2469 | "node_modules/wrangler/node_modules/@esbuild/win32-arm64": { 2470 | "version": "0.17.19", 2471 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", 2472 | "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", 2473 | "cpu": [ 2474 | "arm64" 2475 | ], 2476 | "dev": true, 2477 | "optional": true, 2478 | "os": [ 2479 | "win32" 2480 | ], 2481 | "engines": { 2482 | "node": ">=12" 2483 | } 2484 | }, 2485 | "node_modules/wrangler/node_modules/@esbuild/win32-ia32": { 2486 | "version": "0.17.19", 2487 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", 2488 | "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", 2489 | "cpu": [ 2490 | "ia32" 2491 | ], 2492 | "dev": true, 2493 | "optional": true, 2494 | "os": [ 2495 | "win32" 2496 | ], 2497 | "engines": { 2498 | "node": ">=12" 2499 | } 2500 | }, 2501 | "node_modules/wrangler/node_modules/@esbuild/win32-x64": { 2502 | "version": "0.17.19", 2503 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", 2504 | "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", 2505 | "cpu": [ 2506 | "x64" 2507 | ], 2508 | "dev": true, 2509 | "optional": true, 2510 | "os": [ 2511 | "win32" 2512 | ], 2513 | "engines": { 2514 | "node": ">=12" 2515 | } 2516 | }, 2517 | "node_modules/wrangler/node_modules/esbuild": { 2518 | "version": "0.17.19", 2519 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", 2520 | "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", 2521 | "dev": true, 2522 | "hasInstallScript": true, 2523 | "bin": { 2524 | "esbuild": "bin/esbuild" 2525 | }, 2526 | "engines": { 2527 | "node": ">=12" 2528 | }, 2529 | "optionalDependencies": { 2530 | "@esbuild/android-arm": "0.17.19", 2531 | "@esbuild/android-arm64": "0.17.19", 2532 | "@esbuild/android-x64": "0.17.19", 2533 | "@esbuild/darwin-arm64": "0.17.19", 2534 | "@esbuild/darwin-x64": "0.17.19", 2535 | "@esbuild/freebsd-arm64": "0.17.19", 2536 | "@esbuild/freebsd-x64": "0.17.19", 2537 | "@esbuild/linux-arm": "0.17.19", 2538 | "@esbuild/linux-arm64": "0.17.19", 2539 | "@esbuild/linux-ia32": "0.17.19", 2540 | "@esbuild/linux-loong64": "0.17.19", 2541 | "@esbuild/linux-mips64el": "0.17.19", 2542 | "@esbuild/linux-ppc64": "0.17.19", 2543 | "@esbuild/linux-riscv64": "0.17.19", 2544 | "@esbuild/linux-s390x": "0.17.19", 2545 | "@esbuild/linux-x64": "0.17.19", 2546 | "@esbuild/netbsd-x64": "0.17.19", 2547 | "@esbuild/openbsd-x64": "0.17.19", 2548 | "@esbuild/sunos-x64": "0.17.19", 2549 | "@esbuild/win32-arm64": "0.17.19", 2550 | "@esbuild/win32-ia32": "0.17.19", 2551 | "@esbuild/win32-x64": "0.17.19" 2552 | } 2553 | }, 2554 | "node_modules/wrappy": { 2555 | "version": "1.0.2", 2556 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2557 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2558 | "dev": true 2559 | }, 2560 | "node_modules/ws": { 2561 | "version": "8.15.1", 2562 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.15.1.tgz", 2563 | "integrity": "sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==", 2564 | "dev": true, 2565 | "engines": { 2566 | "node": ">=10.0.0" 2567 | }, 2568 | "peerDependencies": { 2569 | "bufferutil": "^4.0.1", 2570 | "utf-8-validate": ">=5.0.2" 2571 | }, 2572 | "peerDependenciesMeta": { 2573 | "bufferutil": { 2574 | "optional": true 2575 | }, 2576 | "utf-8-validate": { 2577 | "optional": true 2578 | } 2579 | } 2580 | }, 2581 | "node_modules/xxhash-wasm": { 2582 | "version": "1.0.2", 2583 | "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", 2584 | "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==", 2585 | "dev": true 2586 | }, 2587 | "node_modules/yallist": { 2588 | "version": "4.0.0", 2589 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 2590 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 2591 | "dev": true 2592 | }, 2593 | "node_modules/youch": { 2594 | "version": "3.3.3", 2595 | "resolved": "https://registry.npmjs.org/youch/-/youch-3.3.3.tgz", 2596 | "integrity": "sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==", 2597 | "dev": true, 2598 | "dependencies": { 2599 | "cookie": "^0.5.0", 2600 | "mustache": "^4.2.0", 2601 | "stacktracey": "^2.1.8" 2602 | } 2603 | }, 2604 | "node_modules/zod": { 2605 | "version": "3.22.4", 2606 | "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", 2607 | "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", 2608 | "dev": true, 2609 | "funding": { 2610 | "url": "https://github.com/sponsors/colinhacks" 2611 | } 2612 | } 2613 | } 2614 | } 2615 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "edgy-drizzle", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "generate": "drizzle-kit generate:pg" 9 | }, 10 | "author": "thorwebdev", 11 | "license": "ISC", 12 | "dependencies": { 13 | "drizzle-orm": "^0.29.1", 14 | "postgres": "^3.4.3" 15 | }, 16 | "devDependencies": { 17 | "drizzle-kit": "^0.20.6" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /schema.ts: -------------------------------------------------------------------------------- 1 | import { pgTable, serial, text, timestamp } from "drizzle-orm/pg-core"; 2 | 3 | export const user = pgTable("user", { 4 | id: serial("id"), 5 | name: text("name"), 6 | email: text("email"), 7 | password: text("password"), 8 | role: text("role").$type<"admin" | "customer">(), 9 | createdAt: timestamp("created_at"), 10 | updatedAt: timestamp("updated_at"), 11 | }); 12 | 13 | export const countries = pgTable("countries", { 14 | id: serial("id"), 15 | name: text("name"), 16 | }); 17 | -------------------------------------------------------------------------------- /supabase/.gitignore: -------------------------------------------------------------------------------- 1 | # Supabase 2 | .branches 3 | .temp 4 | .env 5 | -------------------------------------------------------------------------------- /supabase/config.toml: -------------------------------------------------------------------------------- 1 | # A string used to distinguish different Supabase projects on the same host. Defaults to the 2 | # working directory name when running `supabase init`. 3 | project_id = "edgy-drizzle" 4 | 5 | [api] 6 | enabled = true 7 | # Port to use for the API URL. 8 | port = 54321 9 | # Schemas to expose in your API. Tables, views and stored procedures in this schema will get API 10 | # endpoints. public and storage are always included. 11 | schemas = ["public", "storage", "graphql_public"] 12 | # Extra schemas to add to the search_path of every request. public is always included. 13 | extra_search_path = ["public", "extensions"] 14 | # The maximum number of rows returns from a view, table, or stored procedure. Limits payload size 15 | # for accidental or malicious requests. 16 | max_rows = 1000 17 | 18 | [db] 19 | # Port to use for the local database URL. 20 | port = 54322 21 | # Port used by db diff command to initialize the shadow database. 22 | shadow_port = 54320 23 | # The database major version to use. This has to be the same as your remote database's. Run `SHOW 24 | # server_version;` on the remote database to check. 25 | major_version = 15 26 | 27 | [db.pooler] 28 | enabled = false 29 | # Port to use for the local connection pooler. 30 | port = 54329 31 | # Specifies when a server connection can be reused by other clients. 32 | # Configure one of the supported pooler modes: `transaction`, `session`. 33 | pool_mode = "transaction" 34 | # How many server connections to allow per user/database pair. 35 | default_pool_size = 20 36 | # Maximum number of client connections allowed. 37 | max_client_conn = 100 38 | 39 | [realtime] 40 | enabled = true 41 | # Bind realtime via either IPv4 or IPv6. (default: IPv6) 42 | # ip_version = "IPv6" 43 | 44 | [studio] 45 | enabled = true 46 | # Port to use for Supabase Studio. 47 | port = 54323 48 | # External URL of the API server that frontend connects to. 49 | api_url = "http://127.0.0.1" 50 | 51 | # Email testing server. Emails sent with the local dev setup are not actually sent - rather, they 52 | # are monitored, and you can view the emails that would have been sent from the web interface. 53 | [inbucket] 54 | enabled = true 55 | # Port to use for the email testing server web interface. 56 | port = 54324 57 | # Uncomment to expose additional ports for testing user applications that send emails. 58 | # smtp_port = 54325 59 | # pop3_port = 54326 60 | 61 | [storage] 62 | enabled = true 63 | # The maximum file size allowed (e.g. "5MB", "500KB"). 64 | file_size_limit = "50MiB" 65 | 66 | [auth] 67 | enabled = true 68 | # The base URL of your website. Used as an allow-list for redirects and for constructing URLs used 69 | # in emails. 70 | site_url = "http://127.0.0.1:3000" 71 | # A list of *exact* URLs that auth providers are permitted to redirect to post authentication. 72 | additional_redirect_urls = ["https://127.0.0.1:3000"] 73 | # How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 (1 week). 74 | jwt_expiry = 3600 75 | # If disabled, the refresh token will never expire. 76 | enable_refresh_token_rotation = true 77 | # Allows refresh tokens to be reused after expiry, up to the specified interval in seconds. 78 | # Requires enable_refresh_token_rotation = true. 79 | refresh_token_reuse_interval = 10 80 | # Allow/disallow new user signups to your project. 81 | enable_signup = true 82 | 83 | [auth.email] 84 | # Allow/disallow new user signups via email to your project. 85 | enable_signup = true 86 | # If enabled, a user will be required to confirm any email change on both the old, and new email 87 | # addresses. If disabled, only the new email is required to confirm. 88 | double_confirm_changes = true 89 | # If enabled, users need to confirm their email address before signing in. 90 | enable_confirmations = false 91 | 92 | # Uncomment to customize email template 93 | # [auth.email.template.invite] 94 | # subject = "You have been invited" 95 | # content_path = "./supabase/templates/invite.html" 96 | 97 | [auth.sms] 98 | # Allow/disallow new user signups via SMS to your project. 99 | enable_signup = true 100 | # If enabled, users need to confirm their phone number before signing in. 101 | enable_confirmations = false 102 | # Template for sending OTP to users 103 | template = "Your code is {{ .Code }} ." 104 | 105 | # Use pre-defined map of phone number to OTP for testing. 106 | [auth.sms.test_otp] 107 | # 4152127777 = "123456" 108 | 109 | # Configure one of the supported SMS providers: `twilio`, `twilio_verify`, `messagebird`, `textlocal`, `vonage`. 110 | [auth.sms.twilio] 111 | enabled = false 112 | account_sid = "" 113 | message_service_sid = "" 114 | # DO NOT commit your Twilio auth token to git. Use environment variable substitution instead: 115 | auth_token = "env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)" 116 | 117 | # Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`, 118 | # `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin`, `notion`, `twitch`, 119 | # `twitter`, `slack`, `spotify`, `workos`, `zoom`. 120 | [auth.external.apple] 121 | enabled = false 122 | client_id = "" 123 | # DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead: 124 | secret = "env(SUPABASE_AUTH_EXTERNAL_APPLE_SECRET)" 125 | # Overrides the default auth redirectUrl. 126 | redirect_uri = "" 127 | # Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure, 128 | # or any other third-party OIDC providers. 129 | url = "" 130 | 131 | [analytics] 132 | enabled = false 133 | port = 54327 134 | vector_port = 54328 135 | # Configure one of the supported backends: `postgres`, `bigquery`. 136 | backend = "postgres" 137 | 138 | # Experimental features may be deprecated any time 139 | [experimental] 140 | # Configures Postgres storage engine to use OrioleDB (S3) 141 | orioledb_version = "" 142 | # Configures S3 bucket URL, eg. .s3-.amazonaws.com 143 | s3_host = "env(S3_HOST)" 144 | # Configures S3 bucket region, eg. us-east-1 145 | s3_region = "env(S3_REGION)" 146 | # Configures AWS_ACCESS_KEY_ID for S3 bucket 147 | s3_access_key = "env(S3_ACCESS_KEY)" 148 | # Configures AWS_SECRET_ACCESS_KEY for S3 bucket 149 | s3_secret_key = "env(S3_SECRET_KEY)" 150 | -------------------------------------------------------------------------------- /supabase/functions/_shared/schema.ts: -------------------------------------------------------------------------------- 1 | import { pgTable, serial, text, timestamp } from "drizzle-orm/pg-core"; 2 | 3 | export const user = pgTable("user", { 4 | id: serial("id"), 5 | name: text("name"), 6 | email: text("email"), 7 | password: text("password"), 8 | role: text("role").$type<"admin" | "customer">(), 9 | createdAt: timestamp("created_at"), 10 | updatedAt: timestamp("updated_at"), 11 | }); 12 | 13 | export const countries = pgTable("countries", { 14 | id: serial("id"), 15 | name: text("name"), 16 | }); 17 | -------------------------------------------------------------------------------- /supabase/functions/drizzle/index.ts: -------------------------------------------------------------------------------- 1 | import { drizzle } from "drizzle-orm/postgres-js"; 2 | import postgres from "postgres"; 3 | import { countries } from "../_shared/schema.ts"; 4 | 5 | const connectionString = Deno.env.get("SUPABASE_DB_URL")!; 6 | 7 | Deno.serve(async (_req) => { 8 | // Disable prefetch as it is not supported for "Transaction" pool mode 9 | const client = postgres(connectionString, { prepare: false }); 10 | const db = drizzle(client); 11 | const allCountries = await db.select().from(countries); 12 | 13 | return new Response( 14 | JSON.stringify(allCountries), 15 | { headers: { "Content-Type": "application/json" } }, 16 | ); 17 | }); 18 | 19 | /* To invoke locally: 20 | 21 | 1. Run `supabase start` (see: https://supabase.com/docs/reference/cli/supabase-start) 22 | 2. Make an HTTP request: 23 | 24 | curl -i --location --request POST 'http://127.0.0.1:54321/functions/v1/drizzle' \ 25 | --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0' \ 26 | --header 'Content-Type: application/json' \ 27 | --data '{"name":"Functions"}' 28 | 29 | */ 30 | -------------------------------------------------------------------------------- /supabase/functions/import_map.json: -------------------------------------------------------------------------------- 1 | { 2 | "imports": { 3 | "drizzle-orm": "npm:drizzle-orm@0.29.1", 4 | "drizzle-orm/": "npm:/drizzle-orm@0.29.1/", 5 | "postgres": "npm:postgres@3.4.3" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /supabase/migrations/0000_wakeful_living_lightning.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS "user" ( 2 | "id" serial NOT NULL, 3 | "name" text, 4 | "email" text, 5 | "password" text, 6 | "role" text, 7 | "created_at" timestamp, 8 | "updated_at" timestamp 9 | ); 10 | -------------------------------------------------------------------------------- /supabase/migrations/0001_old_leper_queen.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS "countries" ( 2 | "id" serial NOT NULL, 3 | "name" text 4 | ); 5 | -------------------------------------------------------------------------------- /supabase/migrations/meta/0000_snapshot.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "627ea8ac-c31a-4fea-abcb-c00bc5a3d08f", 3 | "prevId": "00000000-0000-0000-0000-000000000000", 4 | "version": "5", 5 | "dialect": "pg", 6 | "tables": { 7 | "user": { 8 | "name": "user", 9 | "schema": "", 10 | "columns": { 11 | "id": { 12 | "name": "id", 13 | "type": "serial", 14 | "primaryKey": false, 15 | "notNull": true 16 | }, 17 | "name": { 18 | "name": "name", 19 | "type": "text", 20 | "primaryKey": false, 21 | "notNull": false 22 | }, 23 | "email": { 24 | "name": "email", 25 | "type": "text", 26 | "primaryKey": false, 27 | "notNull": false 28 | }, 29 | "password": { 30 | "name": "password", 31 | "type": "text", 32 | "primaryKey": false, 33 | "notNull": false 34 | }, 35 | "role": { 36 | "name": "role", 37 | "type": "text", 38 | "primaryKey": false, 39 | "notNull": false 40 | }, 41 | "created_at": { 42 | "name": "created_at", 43 | "type": "timestamp", 44 | "primaryKey": false, 45 | "notNull": false 46 | }, 47 | "updated_at": { 48 | "name": "updated_at", 49 | "type": "timestamp", 50 | "primaryKey": false, 51 | "notNull": false 52 | } 53 | }, 54 | "indexes": {}, 55 | "foreignKeys": {}, 56 | "compositePrimaryKeys": {}, 57 | "uniqueConstraints": {} 58 | } 59 | }, 60 | "enums": {}, 61 | "schemas": {}, 62 | "_meta": { 63 | "schemas": {}, 64 | "tables": {}, 65 | "columns": {} 66 | } 67 | } -------------------------------------------------------------------------------- /supabase/migrations/meta/0001_snapshot.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "0c03cb0a-cbab-4435-81b2-f2b2da38c568", 3 | "prevId": "627ea8ac-c31a-4fea-abcb-c00bc5a3d08f", 4 | "version": "5", 5 | "dialect": "pg", 6 | "tables": { 7 | "countries": { 8 | "name": "countries", 9 | "schema": "", 10 | "columns": { 11 | "id": { 12 | "name": "id", 13 | "type": "serial", 14 | "primaryKey": false, 15 | "notNull": true 16 | }, 17 | "name": { 18 | "name": "name", 19 | "type": "text", 20 | "primaryKey": false, 21 | "notNull": false 22 | } 23 | }, 24 | "indexes": {}, 25 | "foreignKeys": {}, 26 | "compositePrimaryKeys": {}, 27 | "uniqueConstraints": {} 28 | }, 29 | "user": { 30 | "name": "user", 31 | "schema": "", 32 | "columns": { 33 | "id": { 34 | "name": "id", 35 | "type": "serial", 36 | "primaryKey": false, 37 | "notNull": true 38 | }, 39 | "name": { 40 | "name": "name", 41 | "type": "text", 42 | "primaryKey": false, 43 | "notNull": false 44 | }, 45 | "email": { 46 | "name": "email", 47 | "type": "text", 48 | "primaryKey": false, 49 | "notNull": false 50 | }, 51 | "password": { 52 | "name": "password", 53 | "type": "text", 54 | "primaryKey": false, 55 | "notNull": false 56 | }, 57 | "role": { 58 | "name": "role", 59 | "type": "text", 60 | "primaryKey": false, 61 | "notNull": false 62 | }, 63 | "created_at": { 64 | "name": "created_at", 65 | "type": "timestamp", 66 | "primaryKey": false, 67 | "notNull": false 68 | }, 69 | "updated_at": { 70 | "name": "updated_at", 71 | "type": "timestamp", 72 | "primaryKey": false, 73 | "notNull": false 74 | } 75 | }, 76 | "indexes": {}, 77 | "foreignKeys": {}, 78 | "compositePrimaryKeys": {}, 79 | "uniqueConstraints": {} 80 | } 81 | }, 82 | "enums": {}, 83 | "schemas": {}, 84 | "_meta": { 85 | "schemas": {}, 86 | "tables": {}, 87 | "columns": {} 88 | } 89 | } -------------------------------------------------------------------------------- /supabase/migrations/meta/_journal.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "5", 3 | "dialect": "pg", 4 | "entries": [ 5 | { 6 | "idx": 0, 7 | "version": "5", 8 | "when": 1702867000137, 9 | "tag": "0000_wakeful_living_lightning", 10 | "breakpoints": true 11 | }, 12 | { 13 | "idx": 1, 14 | "version": "5", 15 | "when": 1702867189476, 16 | "tag": "0001_old_leper_queen", 17 | "breakpoints": true 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /supabase/seed.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thorwebdev/edgy-drizzle/2c84c2b8d7d6d076251ac2e110b8361995f372d7/supabase/seed.sql --------------------------------------------------------------------------------