├── .gitignore ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml └── projects ├── planetscale-mysql2 ├── .env.example ├── drizzle.config.ts ├── index.ts ├── package.json ├── schema.ts └── tsconfig.json ├── planetscale-sls ├── .env.example ├── drizzle.config.ts ├── index.ts ├── package.json ├── schema.ts └── tsconfig.json ├── projectA ├── .env.example ├── drizzle.config.ts ├── index.ts ├── package.json ├── schema.ts └── tsconfig.json └── projectB ├── .env.example ├── drizzle.config.ts ├── index.ts ├── package.json ├── schema.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | build 4 | .env -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "drizzle-planetscale", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC" 12 | } 13 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | importers: 4 | 5 | .: {} 6 | 7 | projects/planetscale-mysql2: 8 | dependencies: 9 | mysql2: 10 | specifier: ^2.3.3 11 | version: 2.3.3 12 | devDependencies: 13 | '@types/node': 14 | specifier: ^18.15.5 15 | version: 18.15.10 16 | dotenv: 17 | specifier: ^16.0.3 18 | version: 16.0.3 19 | drizzle-kit: 20 | specifier: 0.17.1-5df459e 21 | version: 0.17.1-5df459e 22 | drizzle-orm: 23 | specifier: 0.23.2 24 | version: 0.23.2(mysql2@2.3.3) 25 | madge: 26 | specifier: ^6.0.0 27 | version: 6.0.0 28 | tsx: 29 | specifier: ^3.12.6 30 | version: 3.12.6 31 | typescript: 32 | specifier: ^5.0.2 33 | version: 5.0.2 34 | 35 | projects/planetscale-sls: 36 | dependencies: 37 | '@planetscale/database': 38 | specifier: ^1.6.0 39 | version: 1.6.0 40 | drizzle-orm: 41 | specifier: 0.23.2 42 | version: 0.23.2(@planetscale/database@1.6.0) 43 | undici: 44 | specifier: ^5.21.0 45 | version: 5.21.0 46 | devDependencies: 47 | '@types/node': 48 | specifier: ^18.15.5 49 | version: 18.15.10 50 | dotenv: 51 | specifier: ^16.0.3 52 | version: 16.0.3 53 | drizzle-kit: 54 | specifier: 0.17.1-5df459e 55 | version: 0.17.1-5df459e 56 | tsx: 57 | specifier: ^3.12.6 58 | version: 3.12.6 59 | typescript: 60 | specifier: ^5.0.2 61 | version: 5.0.2 62 | 63 | projects/projectA: 64 | dependencies: 65 | '@planetscale/database': 66 | specifier: ^1.6.0 67 | version: 1.6.0 68 | drizzle-orm: 69 | specifier: 0.23.2 70 | version: 0.23.2(@planetscale/database@1.6.0) 71 | undici: 72 | specifier: ^5.21.0 73 | version: 5.21.0 74 | devDependencies: 75 | '@types/node': 76 | specifier: ^18.15.5 77 | version: 18.15.10 78 | dotenv: 79 | specifier: ^16.0.3 80 | version: 16.0.3 81 | drizzle-kit: 82 | specifier: 0.17.1-5df459e 83 | version: 0.17.1-5df459e 84 | typescript: 85 | specifier: ^5.0.2 86 | version: 5.0.2 87 | 88 | projects/projectB: 89 | dependencies: 90 | '@planetscale/database': 91 | specifier: ^1.6.0 92 | version: 1.6.0 93 | drizzle-orm: 94 | specifier: 0.23.2 95 | version: 0.23.2(@planetscale/database@1.6.0) 96 | undici: 97 | specifier: ^5.21.0 98 | version: 5.21.0 99 | devDependencies: 100 | '@types/node': 101 | specifier: ^18.15.5 102 | version: 18.15.10 103 | dotenv: 104 | specifier: ^16.0.3 105 | version: 16.0.3 106 | drizzle-kit: 107 | specifier: 0.17.1-5df459e 108 | version: 0.17.1-5df459e 109 | typescript: 110 | specifier: ^5.0.2 111 | version: 5.0.2 112 | 113 | packages: 114 | 115 | /@babel/helper-string-parser@7.19.4: 116 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 117 | engines: {node: '>=6.9.0'} 118 | dev: true 119 | 120 | /@babel/helper-validator-identifier@7.19.1: 121 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 122 | engines: {node: '>=6.9.0'} 123 | dev: true 124 | 125 | /@babel/parser@7.21.3: 126 | resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} 127 | engines: {node: '>=6.0.0'} 128 | hasBin: true 129 | dependencies: 130 | '@babel/types': 7.21.3 131 | dev: true 132 | 133 | /@babel/types@7.21.3: 134 | resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} 135 | engines: {node: '>=6.9.0'} 136 | dependencies: 137 | '@babel/helper-string-parser': 7.19.4 138 | '@babel/helper-validator-identifier': 7.19.1 139 | to-fast-properties: 2.0.0 140 | dev: true 141 | 142 | /@dependents/detective-less@3.0.1: 143 | resolution: {integrity: sha512-NjjCPJbx/za2287T6gnC5zD2IFSplro1evaTV9yvx3jnPpHi7s8PwJvh9vvJRFnMx5nbakodwNOnFvk8+9YQTg==} 144 | engines: {node: '>=12'} 145 | dependencies: 146 | gonzales-pe: 4.3.0 147 | node-source-walk: 5.0.1 148 | dev: true 149 | 150 | /@esbuild-kit/cjs-loader@2.4.2: 151 | resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} 152 | dependencies: 153 | '@esbuild-kit/core-utils': 3.1.0 154 | get-tsconfig: 4.4.0 155 | dev: true 156 | 157 | /@esbuild-kit/core-utils@3.1.0: 158 | resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==} 159 | dependencies: 160 | esbuild: 0.17.14 161 | source-map-support: 0.5.21 162 | dev: true 163 | 164 | /@esbuild-kit/esm-loader@2.5.5: 165 | resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} 166 | dependencies: 167 | '@esbuild-kit/core-utils': 3.1.0 168 | get-tsconfig: 4.4.0 169 | dev: true 170 | 171 | /@esbuild/android-arm64@0.17.14: 172 | resolution: {integrity: sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg==} 173 | engines: {node: '>=12'} 174 | cpu: [arm64] 175 | os: [android] 176 | requiresBuild: true 177 | dev: true 178 | optional: true 179 | 180 | /@esbuild/android-arm@0.15.18: 181 | resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} 182 | engines: {node: '>=12'} 183 | cpu: [arm] 184 | os: [android] 185 | requiresBuild: true 186 | dev: true 187 | optional: true 188 | 189 | /@esbuild/android-arm@0.17.14: 190 | resolution: {integrity: sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g==} 191 | engines: {node: '>=12'} 192 | cpu: [arm] 193 | os: [android] 194 | requiresBuild: true 195 | dev: true 196 | optional: true 197 | 198 | /@esbuild/android-x64@0.17.14: 199 | resolution: {integrity: sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng==} 200 | engines: {node: '>=12'} 201 | cpu: [x64] 202 | os: [android] 203 | requiresBuild: true 204 | dev: true 205 | optional: true 206 | 207 | /@esbuild/darwin-arm64@0.17.14: 208 | resolution: {integrity: sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw==} 209 | engines: {node: '>=12'} 210 | cpu: [arm64] 211 | os: [darwin] 212 | requiresBuild: true 213 | dev: true 214 | optional: true 215 | 216 | /@esbuild/darwin-x64@0.17.14: 217 | resolution: {integrity: sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g==} 218 | engines: {node: '>=12'} 219 | cpu: [x64] 220 | os: [darwin] 221 | requiresBuild: true 222 | dev: true 223 | optional: true 224 | 225 | /@esbuild/freebsd-arm64@0.17.14: 226 | resolution: {integrity: sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A==} 227 | engines: {node: '>=12'} 228 | cpu: [arm64] 229 | os: [freebsd] 230 | requiresBuild: true 231 | dev: true 232 | optional: true 233 | 234 | /@esbuild/freebsd-x64@0.17.14: 235 | resolution: {integrity: sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw==} 236 | engines: {node: '>=12'} 237 | cpu: [x64] 238 | os: [freebsd] 239 | requiresBuild: true 240 | dev: true 241 | optional: true 242 | 243 | /@esbuild/linux-arm64@0.17.14: 244 | resolution: {integrity: sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g==} 245 | engines: {node: '>=12'} 246 | cpu: [arm64] 247 | os: [linux] 248 | requiresBuild: true 249 | dev: true 250 | optional: true 251 | 252 | /@esbuild/linux-arm@0.17.14: 253 | resolution: {integrity: sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg==} 254 | engines: {node: '>=12'} 255 | cpu: [arm] 256 | os: [linux] 257 | requiresBuild: true 258 | dev: true 259 | optional: true 260 | 261 | /@esbuild/linux-ia32@0.17.14: 262 | resolution: {integrity: sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ==} 263 | engines: {node: '>=12'} 264 | cpu: [ia32] 265 | os: [linux] 266 | requiresBuild: true 267 | dev: true 268 | optional: true 269 | 270 | /@esbuild/linux-loong64@0.15.18: 271 | resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} 272 | engines: {node: '>=12'} 273 | cpu: [loong64] 274 | os: [linux] 275 | requiresBuild: true 276 | dev: true 277 | optional: true 278 | 279 | /@esbuild/linux-loong64@0.17.14: 280 | resolution: {integrity: sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ==} 281 | engines: {node: '>=12'} 282 | cpu: [loong64] 283 | os: [linux] 284 | requiresBuild: true 285 | dev: true 286 | optional: true 287 | 288 | /@esbuild/linux-mips64el@0.17.14: 289 | resolution: {integrity: sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg==} 290 | engines: {node: '>=12'} 291 | cpu: [mips64el] 292 | os: [linux] 293 | requiresBuild: true 294 | dev: true 295 | optional: true 296 | 297 | /@esbuild/linux-ppc64@0.17.14: 298 | resolution: {integrity: sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ==} 299 | engines: {node: '>=12'} 300 | cpu: [ppc64] 301 | os: [linux] 302 | requiresBuild: true 303 | dev: true 304 | optional: true 305 | 306 | /@esbuild/linux-riscv64@0.17.14: 307 | resolution: {integrity: sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw==} 308 | engines: {node: '>=12'} 309 | cpu: [riscv64] 310 | os: [linux] 311 | requiresBuild: true 312 | dev: true 313 | optional: true 314 | 315 | /@esbuild/linux-s390x@0.17.14: 316 | resolution: {integrity: sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww==} 317 | engines: {node: '>=12'} 318 | cpu: [s390x] 319 | os: [linux] 320 | requiresBuild: true 321 | dev: true 322 | optional: true 323 | 324 | /@esbuild/linux-x64@0.17.14: 325 | resolution: {integrity: sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw==} 326 | engines: {node: '>=12'} 327 | cpu: [x64] 328 | os: [linux] 329 | requiresBuild: true 330 | dev: true 331 | optional: true 332 | 333 | /@esbuild/netbsd-x64@0.17.14: 334 | resolution: {integrity: sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ==} 335 | engines: {node: '>=12'} 336 | cpu: [x64] 337 | os: [netbsd] 338 | requiresBuild: true 339 | dev: true 340 | optional: true 341 | 342 | /@esbuild/openbsd-x64@0.17.14: 343 | resolution: {integrity: sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g==} 344 | engines: {node: '>=12'} 345 | cpu: [x64] 346 | os: [openbsd] 347 | requiresBuild: true 348 | dev: true 349 | optional: true 350 | 351 | /@esbuild/sunos-x64@0.17.14: 352 | resolution: {integrity: sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA==} 353 | engines: {node: '>=12'} 354 | cpu: [x64] 355 | os: [sunos] 356 | requiresBuild: true 357 | dev: true 358 | optional: true 359 | 360 | /@esbuild/win32-arm64@0.17.14: 361 | resolution: {integrity: sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ==} 362 | engines: {node: '>=12'} 363 | cpu: [arm64] 364 | os: [win32] 365 | requiresBuild: true 366 | dev: true 367 | optional: true 368 | 369 | /@esbuild/win32-ia32@0.17.14: 370 | resolution: {integrity: sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w==} 371 | engines: {node: '>=12'} 372 | cpu: [ia32] 373 | os: [win32] 374 | requiresBuild: true 375 | dev: true 376 | optional: true 377 | 378 | /@esbuild/win32-x64@0.17.14: 379 | resolution: {integrity: sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==} 380 | engines: {node: '>=12'} 381 | cpu: [x64] 382 | os: [win32] 383 | requiresBuild: true 384 | dev: true 385 | optional: true 386 | 387 | /@nodelib/fs.scandir@2.1.5: 388 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 389 | engines: {node: '>= 8'} 390 | dependencies: 391 | '@nodelib/fs.stat': 2.0.5 392 | run-parallel: 1.2.0 393 | dev: true 394 | 395 | /@nodelib/fs.stat@2.0.5: 396 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 397 | engines: {node: '>= 8'} 398 | dev: true 399 | 400 | /@nodelib/fs.walk@1.2.8: 401 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 402 | engines: {node: '>= 8'} 403 | dependencies: 404 | '@nodelib/fs.scandir': 2.1.5 405 | fastq: 1.15.0 406 | dev: true 407 | 408 | /@planetscale/database@1.6.0: 409 | resolution: {integrity: sha512-eb02567S706Xme/nVwx+EN/wyoHhHBXl1a7+67R/Xm91myEpLn0vZNl58TvLZztBxje4gga16lc8dLt0elNrJA==} 410 | engines: {node: '>=16'} 411 | dev: false 412 | 413 | /@types/json5@0.0.29: 414 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 415 | dev: true 416 | 417 | /@types/node@18.15.10: 418 | resolution: {integrity: sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==} 419 | dev: true 420 | 421 | /@typescript-eslint/types@4.33.0: 422 | resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} 423 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} 424 | dev: true 425 | 426 | /@typescript-eslint/types@5.57.0: 427 | resolution: {integrity: sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==} 428 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 429 | dev: true 430 | 431 | /@typescript-eslint/typescript-estree@4.33.0(typescript@3.9.10): 432 | resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} 433 | engines: {node: ^10.12.0 || >=12.0.0} 434 | peerDependencies: 435 | typescript: '*' 436 | peerDependenciesMeta: 437 | typescript: 438 | optional: true 439 | dependencies: 440 | '@typescript-eslint/types': 4.33.0 441 | '@typescript-eslint/visitor-keys': 4.33.0 442 | debug: 4.3.4 443 | globby: 11.1.0 444 | is-glob: 4.0.3 445 | semver: 7.3.8 446 | tsutils: 3.21.0(typescript@3.9.10) 447 | typescript: 3.9.10 448 | transitivePeerDependencies: 449 | - supports-color 450 | dev: true 451 | 452 | /@typescript-eslint/typescript-estree@5.57.0(typescript@4.9.5): 453 | resolution: {integrity: sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==} 454 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 455 | peerDependencies: 456 | typescript: '*' 457 | peerDependenciesMeta: 458 | typescript: 459 | optional: true 460 | dependencies: 461 | '@typescript-eslint/types': 5.57.0 462 | '@typescript-eslint/visitor-keys': 5.57.0 463 | debug: 4.3.4 464 | globby: 11.1.0 465 | is-glob: 4.0.3 466 | semver: 7.3.8 467 | tsutils: 3.21.0(typescript@4.9.5) 468 | typescript: 4.9.5 469 | transitivePeerDependencies: 470 | - supports-color 471 | dev: true 472 | 473 | /@typescript-eslint/visitor-keys@4.33.0: 474 | resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} 475 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} 476 | dependencies: 477 | '@typescript-eslint/types': 4.33.0 478 | eslint-visitor-keys: 2.1.0 479 | dev: true 480 | 481 | /@typescript-eslint/visitor-keys@5.57.0: 482 | resolution: {integrity: sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==} 483 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 484 | dependencies: 485 | '@typescript-eslint/types': 5.57.0 486 | eslint-visitor-keys: 3.4.0 487 | dev: true 488 | 489 | /ansi-regex@5.0.1: 490 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 491 | engines: {node: '>=8'} 492 | dev: true 493 | 494 | /ansi-styles@4.3.0: 495 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 496 | engines: {node: '>=8'} 497 | dependencies: 498 | color-convert: 2.0.1 499 | dev: true 500 | 501 | /any-promise@1.3.0: 502 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 503 | dev: true 504 | 505 | /app-module-path@2.2.0: 506 | resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} 507 | dev: true 508 | 509 | /array-union@2.1.0: 510 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 511 | engines: {node: '>=8'} 512 | dev: true 513 | 514 | /ast-module-types@2.7.1: 515 | resolution: {integrity: sha512-Rnnx/4Dus6fn7fTqdeLEAn5vUll5w7/vts0RN608yFa6si/rDOUonlIIiwugHBFWjylHjxm9owoSZn71KwG4gw==} 516 | dev: true 517 | 518 | /ast-module-types@3.0.0: 519 | resolution: {integrity: sha512-CMxMCOCS+4D+DkOQfuZf+vLrSEmY/7xtORwdxs4wtcC1wVgvk2MqFFTwQCFhvWsI4KPU9lcWXPI8DgRiz+xetQ==} 520 | engines: {node: '>=6.0'} 521 | dev: true 522 | 523 | /ast-module-types@4.0.0: 524 | resolution: {integrity: sha512-Kd0o8r6CDazJGCRzs8Ivpn0xj19oNKrULhoJFzhGjRsLpekF2zyZs9Ukz+JvZhWD6smszfepakTFhAaYpsI12g==} 525 | engines: {node: '>=12.0'} 526 | dev: true 527 | 528 | /balanced-match@1.0.2: 529 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 530 | dev: true 531 | 532 | /base64-js@1.5.1: 533 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 534 | dev: true 535 | 536 | /bl@4.1.0: 537 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 538 | dependencies: 539 | buffer: 5.7.1 540 | inherits: 2.0.4 541 | readable-stream: 3.6.2 542 | dev: true 543 | 544 | /brace-expansion@1.1.11: 545 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 546 | dependencies: 547 | balanced-match: 1.0.2 548 | concat-map: 0.0.1 549 | dev: true 550 | 551 | /brace-expansion@2.0.1: 552 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 553 | dependencies: 554 | balanced-match: 1.0.2 555 | dev: true 556 | 557 | /braces@3.0.2: 558 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 559 | engines: {node: '>=8'} 560 | dependencies: 561 | fill-range: 7.0.1 562 | dev: true 563 | 564 | /buffer-from@1.1.2: 565 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 566 | dev: true 567 | 568 | /buffer@5.7.1: 569 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 570 | dependencies: 571 | base64-js: 1.5.1 572 | ieee754: 1.2.1 573 | dev: true 574 | 575 | /busboy@1.6.0: 576 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 577 | engines: {node: '>=10.16.0'} 578 | dependencies: 579 | streamsearch: 1.1.0 580 | dev: false 581 | 582 | /camelcase@7.0.1: 583 | resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} 584 | engines: {node: '>=14.16'} 585 | dev: true 586 | 587 | /chalk@4.1.2: 588 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 589 | engines: {node: '>=10'} 590 | dependencies: 591 | ansi-styles: 4.3.0 592 | supports-color: 7.2.0 593 | dev: true 594 | 595 | /chalk@5.2.0: 596 | resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} 597 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 598 | dev: true 599 | 600 | /cli-color@2.0.3: 601 | resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==} 602 | engines: {node: '>=0.10'} 603 | dependencies: 604 | d: 1.0.1 605 | es5-ext: 0.10.62 606 | es6-iterator: 2.0.3 607 | memoizee: 0.4.15 608 | timers-ext: 0.1.7 609 | dev: true 610 | 611 | /cli-cursor@3.1.0: 612 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 613 | engines: {node: '>=8'} 614 | dependencies: 615 | restore-cursor: 3.1.0 616 | dev: true 617 | 618 | /cli-spinners@2.7.0: 619 | resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} 620 | engines: {node: '>=6'} 621 | dev: true 622 | 623 | /clone@1.0.4: 624 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 625 | engines: {node: '>=0.8'} 626 | dev: true 627 | 628 | /color-convert@2.0.1: 629 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 630 | engines: {node: '>=7.0.0'} 631 | dependencies: 632 | color-name: 1.1.4 633 | dev: true 634 | 635 | /color-name@1.1.4: 636 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 637 | dev: true 638 | 639 | /commander@2.20.3: 640 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 641 | dev: true 642 | 643 | /commander@7.2.0: 644 | resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} 645 | engines: {node: '>= 10'} 646 | dev: true 647 | 648 | /commander@9.5.0: 649 | resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} 650 | engines: {node: ^12.20.0 || >=14} 651 | dev: true 652 | 653 | /commondir@1.0.1: 654 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 655 | dev: true 656 | 657 | /concat-map@0.0.1: 658 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 659 | dev: true 660 | 661 | /d@1.0.1: 662 | resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} 663 | dependencies: 664 | es5-ext: 0.10.62 665 | type: 1.2.0 666 | dev: true 667 | 668 | /debug@4.3.4: 669 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 670 | engines: {node: '>=6.0'} 671 | peerDependencies: 672 | supports-color: '*' 673 | peerDependenciesMeta: 674 | supports-color: 675 | optional: true 676 | dependencies: 677 | ms: 2.1.2 678 | dev: true 679 | 680 | /deep-extend@0.6.0: 681 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 682 | engines: {node: '>=4.0.0'} 683 | dev: true 684 | 685 | /deep-is@0.1.4: 686 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 687 | dev: true 688 | 689 | /defaults@1.0.4: 690 | resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} 691 | dependencies: 692 | clone: 1.0.4 693 | dev: true 694 | 695 | /denque@2.1.0: 696 | resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} 697 | engines: {node: '>=0.10'} 698 | 699 | /dependency-tree@9.0.0: 700 | resolution: {integrity: sha512-osYHZJ1fBSon3lNLw70amAXsQ+RGzXsPvk9HbBgTLbp/bQBmpH5mOmsUvqXU+YEWVU0ZLewsmzOET/8jWswjDQ==} 701 | engines: {node: ^10.13 || ^12 || >=14} 702 | hasBin: true 703 | dependencies: 704 | commander: 2.20.3 705 | debug: 4.3.4 706 | filing-cabinet: 3.3.1 707 | precinct: 9.2.1 708 | typescript: 4.9.5 709 | transitivePeerDependencies: 710 | - supports-color 711 | dev: true 712 | 713 | /detective-amd@3.1.2: 714 | resolution: {integrity: sha512-jffU26dyqJ37JHR/o44La6CxtrDf3Rt9tvd2IbImJYxWKTMdBjctp37qoZ6ZcY80RHg+kzWz4bXn39e4P7cctQ==} 715 | engines: {node: '>=6.0'} 716 | hasBin: true 717 | dependencies: 718 | ast-module-types: 3.0.0 719 | escodegen: 2.0.0 720 | get-amd-module-type: 3.0.2 721 | node-source-walk: 4.3.0 722 | dev: true 723 | 724 | /detective-amd@4.1.0: 725 | resolution: {integrity: sha512-XlQrGjGEnMFjKbep0/S/T7XICxf25LFMP6Ug+Iw/Ww/MHUBzfy8QETCzamO1JlAMYPmkChDh21/NS/csG0FwGg==} 726 | engines: {node: '>=12'} 727 | hasBin: true 728 | dependencies: 729 | ast-module-types: 4.0.0 730 | escodegen: 2.0.0 731 | get-amd-module-type: 4.1.0 732 | node-source-walk: 5.0.1 733 | dev: true 734 | 735 | /detective-cjs@3.1.3: 736 | resolution: {integrity: sha512-ljs7P0Yj9MK64B7G0eNl0ThWSYjhAaSYy+fQcpzaKalYl/UoQBOzOeLCSFEY1qEBhziZ3w7l46KG/nH+s+L7BQ==} 737 | engines: {node: '>=6.0'} 738 | dependencies: 739 | ast-module-types: 3.0.0 740 | node-source-walk: 4.3.0 741 | dev: true 742 | 743 | /detective-cjs@4.1.0: 744 | resolution: {integrity: sha512-QxzMwt5MfPLwS7mG30zvnmOvHLx5vyVvjsAV6gQOyuMoBR5G1DhS1eJZ4P10AlH+HSnk93mTcrg3l39+24XCtg==} 745 | engines: {node: '>=12'} 746 | dependencies: 747 | ast-module-types: 4.0.0 748 | node-source-walk: 5.0.1 749 | dev: true 750 | 751 | /detective-es6@2.2.2: 752 | resolution: {integrity: sha512-eZUKCUsbHm8xoeoCM0z6JFwvDfJ5Ww5HANo+jPR7AzkFpW9Mun3t/TqIF2jjeWa2TFbAiGaWESykf2OQp3oeMw==} 753 | engines: {node: '>=6.0'} 754 | dependencies: 755 | node-source-walk: 4.3.0 756 | dev: true 757 | 758 | /detective-es6@3.0.1: 759 | resolution: {integrity: sha512-evPeYIEdK1jK3Oji5p0hX4sPV/1vK+o4ihcWZkMQE6voypSW/cIBiynOLxQk5KOOQbdP8oOAsYqouMTYO5l1sw==} 760 | engines: {node: '>=12'} 761 | dependencies: 762 | node-source-walk: 5.0.1 763 | dev: true 764 | 765 | /detective-less@1.0.2: 766 | resolution: {integrity: sha512-Rps1xDkEEBSq3kLdsdnHZL1x2S4NGDcbrjmd4q+PykK5aJwDdP5MBgrJw1Xo+kyUHuv3JEzPqxr+Dj9ryeDRTA==} 767 | engines: {node: '>= 6.0'} 768 | dependencies: 769 | debug: 4.3.4 770 | gonzales-pe: 4.3.0 771 | node-source-walk: 4.3.0 772 | transitivePeerDependencies: 773 | - supports-color 774 | dev: true 775 | 776 | /detective-postcss@4.0.0: 777 | resolution: {integrity: sha512-Fwc/g9VcrowODIAeKRWZfVA/EufxYL7XfuqJQFroBKGikKX83d2G7NFw6kDlSYGG3LNQIyVa+eWv1mqre+v4+A==} 778 | engines: {node: ^10 || ^12 || >=14} 779 | dependencies: 780 | debug: 4.3.4 781 | is-url: 1.2.4 782 | postcss: 8.4.21 783 | postcss-values-parser: 2.0.1 784 | transitivePeerDependencies: 785 | - supports-color 786 | dev: true 787 | 788 | /detective-postcss@6.1.1: 789 | resolution: {integrity: sha512-mX62A6chiafyFW9AwGF6B/uVU+F3hGMZwXDqCHe+NjmU/M5jlDBazdXb1sMoDE+InTDsoPaX3bUUOH33Yxn5Sw==} 790 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 791 | dependencies: 792 | is-url: 1.2.4 793 | postcss: 8.4.21 794 | postcss-values-parser: 6.0.2(postcss@8.4.21) 795 | dev: true 796 | 797 | /detective-sass@3.0.2: 798 | resolution: {integrity: sha512-DNVYbaSlmti/eztFGSfBw4nZvwsTaVXEQ4NsT/uFckxhJrNRFUh24d76KzoCC3aarvpZP9m8sC2L1XbLej4F7g==} 799 | engines: {node: '>=6.0'} 800 | dependencies: 801 | gonzales-pe: 4.3.0 802 | node-source-walk: 4.3.0 803 | dev: true 804 | 805 | /detective-sass@4.1.1: 806 | resolution: {integrity: sha512-KSUoOdrLXxSZFnHpGyXufWUP6VkfSdSNC/uezbJkKIwy2i3px5NQPY5hWOR0k9OFlrBakucymD3Ap4d87zobUQ==} 807 | engines: {node: '>=12'} 808 | dependencies: 809 | gonzales-pe: 4.3.0 810 | node-source-walk: 5.0.1 811 | dev: true 812 | 813 | /detective-scss@2.0.2: 814 | resolution: {integrity: sha512-hDWnWh/l0tht/7JQltumpVea/inmkBaanJUcXRB9kEEXVwVUMuZd6z7eusQ6GcBFrfifu3pX/XPyD7StjbAiBg==} 815 | engines: {node: '>=6.0'} 816 | dependencies: 817 | gonzales-pe: 4.3.0 818 | node-source-walk: 4.3.0 819 | dev: true 820 | 821 | /detective-scss@3.0.1: 822 | resolution: {integrity: sha512-Bv/t1dEKHCPJ9+byha7wKg4zda8IFk7KZpEX+ZJs2k1HsWIE3+FBeVFLtD3y9GYGfi8l7Sim3pULPz4+yLwW9A==} 823 | engines: {node: '>=12'} 824 | dependencies: 825 | gonzales-pe: 4.3.0 826 | node-source-walk: 5.0.1 827 | dev: true 828 | 829 | /detective-stylus@1.0.3: 830 | resolution: {integrity: sha512-4/bfIU5kqjwugymoxLXXLltzQNeQfxGoLm2eIaqtnkWxqbhap9puDVpJPVDx96hnptdERzS5Cy6p9N8/08A69Q==} 831 | dev: true 832 | 833 | /detective-stylus@2.0.1: 834 | resolution: {integrity: sha512-/Tvs1pWLg8eYwwV6kZQY5IslGaYqc/GACxjcaGudiNtN5nKCH6o2WnJK3j0gA3huCnoQcbv8X7oz/c1lnvE3zQ==} 835 | engines: {node: '>=6.0'} 836 | dev: true 837 | 838 | /detective-stylus@3.0.0: 839 | resolution: {integrity: sha512-1xYTzbrduExqMYmte7Qk99IRA3Aa6oV7PYzd+3yDcQXkmENvyGF/arripri6lxRDdNYEb4fZFuHtNRAXbz3iAA==} 840 | engines: {node: '>=12'} 841 | dev: true 842 | 843 | /detective-typescript@7.0.2: 844 | resolution: {integrity: sha512-unqovnhxzvkCz3m1/W4QW4qGsvXCU06aU2BAm8tkza+xLnp9SOFnob2QsTxUv5PdnQKfDvWcv9YeOeFckWejwA==} 845 | engines: {node: ^10.13 || >=12.0.0} 846 | dependencies: 847 | '@typescript-eslint/typescript-estree': 4.33.0(typescript@3.9.10) 848 | ast-module-types: 2.7.1 849 | node-source-walk: 4.3.0 850 | typescript: 3.9.10 851 | transitivePeerDependencies: 852 | - supports-color 853 | dev: true 854 | 855 | /detective-typescript@9.1.1: 856 | resolution: {integrity: sha512-Uc1yVutTF0RRm1YJ3g//i1Cn2vx1kwHj15cnzQP6ff5koNzQ0idc1zAC73ryaWEulA0ElRXFTq6wOqe8vUQ3MA==} 857 | engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} 858 | dependencies: 859 | '@typescript-eslint/typescript-estree': 5.57.0(typescript@4.9.5) 860 | ast-module-types: 4.0.0 861 | node-source-walk: 5.0.1 862 | typescript: 4.9.5 863 | transitivePeerDependencies: 864 | - supports-color 865 | dev: true 866 | 867 | /difflib@0.2.4: 868 | resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} 869 | dependencies: 870 | heap: 0.2.7 871 | dev: true 872 | 873 | /dir-glob@3.0.1: 874 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 875 | engines: {node: '>=8'} 876 | dependencies: 877 | path-type: 4.0.0 878 | dev: true 879 | 880 | /dotenv@16.0.3: 881 | resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} 882 | engines: {node: '>=12'} 883 | dev: true 884 | 885 | /dreamopt@0.8.0: 886 | resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==} 887 | engines: {node: '>=0.4.0'} 888 | dependencies: 889 | wordwrap: 1.0.0 890 | dev: true 891 | 892 | /drizzle-kit@0.17.1-5df459e: 893 | resolution: {integrity: sha512-GFMOgXmJaXfsxStiStSciQlqTVgTpAOtvAymLkDSQ7kQBKi+rj0FEEva1NR9uOP7XWSCvUl/f/r3OI/lclxgJw==} 894 | hasBin: true 895 | dependencies: 896 | camelcase: 7.0.1 897 | chalk: 5.2.0 898 | commander: 9.5.0 899 | esbuild: 0.15.18 900 | esbuild-register: 3.4.2(esbuild@0.15.18) 901 | glob: 8.1.0 902 | hanji: 0.0.5 903 | json-diff: 0.9.0 904 | minimatch: 7.4.3 905 | zod: 3.21.4 906 | transitivePeerDependencies: 907 | - supports-color 908 | dev: true 909 | 910 | /drizzle-orm@0.23.2(@planetscale/database@1.6.0): 911 | resolution: {integrity: sha512-GSOhOc+gGSMsf3eyBzL1Yb0g0M3pOurWmFI1lVhOrmMQCVuA/smJgYSy4UeTzBV521+J+emiFaSKSomEmc+fog==} 912 | peerDependencies: 913 | '@aws-sdk/client-rds-data': '>=3' 914 | '@cloudflare/workers-types': '>=3' 915 | '@neondatabase/serverless': '>=0.1' 916 | '@planetscale/database': '>=1' 917 | '@types/better-sqlite3': '*' 918 | '@types/pg': '*' 919 | '@types/sql.js': '*' 920 | better-sqlite3: '>=7' 921 | bun-types: '*' 922 | knex: '*' 923 | kysely: '*' 924 | mysql2: '>=2' 925 | pg: '>=8' 926 | postgres: '>=3' 927 | sql.js: '>=1' 928 | sqlite3: '>=5' 929 | peerDependenciesMeta: 930 | '@aws-sdk/client-rds-data': 931 | optional: true 932 | '@cloudflare/workers-types': 933 | optional: true 934 | '@neondatabase/serverless': 935 | optional: true 936 | '@planetscale/database': 937 | optional: true 938 | '@types/better-sqlite3': 939 | optional: true 940 | '@types/pg': 941 | optional: true 942 | '@types/sql.js': 943 | optional: true 944 | better-sqlite3: 945 | optional: true 946 | bun-types: 947 | optional: true 948 | knex: 949 | optional: true 950 | kysely: 951 | optional: true 952 | mysql2: 953 | optional: true 954 | pg: 955 | optional: true 956 | postgres: 957 | optional: true 958 | sql.js: 959 | optional: true 960 | sqlite3: 961 | optional: true 962 | dependencies: 963 | '@planetscale/database': 1.6.0 964 | dev: false 965 | 966 | /drizzle-orm@0.23.2(mysql2@2.3.3): 967 | resolution: {integrity: sha512-GSOhOc+gGSMsf3eyBzL1Yb0g0M3pOurWmFI1lVhOrmMQCVuA/smJgYSy4UeTzBV521+J+emiFaSKSomEmc+fog==} 968 | peerDependencies: 969 | '@aws-sdk/client-rds-data': '>=3' 970 | '@cloudflare/workers-types': '>=3' 971 | '@neondatabase/serverless': '>=0.1' 972 | '@planetscale/database': '>=1' 973 | '@types/better-sqlite3': '*' 974 | '@types/pg': '*' 975 | '@types/sql.js': '*' 976 | better-sqlite3: '>=7' 977 | bun-types: '*' 978 | knex: '*' 979 | kysely: '*' 980 | mysql2: '>=2' 981 | pg: '>=8' 982 | postgres: '>=3' 983 | sql.js: '>=1' 984 | sqlite3: '>=5' 985 | peerDependenciesMeta: 986 | '@aws-sdk/client-rds-data': 987 | optional: true 988 | '@cloudflare/workers-types': 989 | optional: true 990 | '@neondatabase/serverless': 991 | optional: true 992 | '@planetscale/database': 993 | optional: true 994 | '@types/better-sqlite3': 995 | optional: true 996 | '@types/pg': 997 | optional: true 998 | '@types/sql.js': 999 | optional: true 1000 | better-sqlite3: 1001 | optional: true 1002 | bun-types: 1003 | optional: true 1004 | knex: 1005 | optional: true 1006 | kysely: 1007 | optional: true 1008 | mysql2: 1009 | optional: true 1010 | pg: 1011 | optional: true 1012 | postgres: 1013 | optional: true 1014 | sql.js: 1015 | optional: true 1016 | sqlite3: 1017 | optional: true 1018 | dependencies: 1019 | mysql2: 2.3.3 1020 | dev: true 1021 | 1022 | /enhanced-resolve@5.12.0: 1023 | resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} 1024 | engines: {node: '>=10.13.0'} 1025 | dependencies: 1026 | graceful-fs: 4.2.11 1027 | tapable: 2.2.1 1028 | dev: true 1029 | 1030 | /es5-ext@0.10.62: 1031 | resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} 1032 | engines: {node: '>=0.10'} 1033 | requiresBuild: true 1034 | dependencies: 1035 | es6-iterator: 2.0.3 1036 | es6-symbol: 3.1.3 1037 | next-tick: 1.1.0 1038 | dev: true 1039 | 1040 | /es6-iterator@2.0.3: 1041 | resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} 1042 | dependencies: 1043 | d: 1.0.1 1044 | es5-ext: 0.10.62 1045 | es6-symbol: 3.1.3 1046 | dev: true 1047 | 1048 | /es6-symbol@3.1.3: 1049 | resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} 1050 | dependencies: 1051 | d: 1.0.1 1052 | ext: 1.7.0 1053 | dev: true 1054 | 1055 | /es6-weak-map@2.0.3: 1056 | resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} 1057 | dependencies: 1058 | d: 1.0.1 1059 | es5-ext: 0.10.62 1060 | es6-iterator: 2.0.3 1061 | es6-symbol: 3.1.3 1062 | dev: true 1063 | 1064 | /esbuild-android-64@0.15.18: 1065 | resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} 1066 | engines: {node: '>=12'} 1067 | cpu: [x64] 1068 | os: [android] 1069 | requiresBuild: true 1070 | dev: true 1071 | optional: true 1072 | 1073 | /esbuild-android-arm64@0.15.18: 1074 | resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} 1075 | engines: {node: '>=12'} 1076 | cpu: [arm64] 1077 | os: [android] 1078 | requiresBuild: true 1079 | dev: true 1080 | optional: true 1081 | 1082 | /esbuild-darwin-64@0.15.18: 1083 | resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} 1084 | engines: {node: '>=12'} 1085 | cpu: [x64] 1086 | os: [darwin] 1087 | requiresBuild: true 1088 | dev: true 1089 | optional: true 1090 | 1091 | /esbuild-darwin-arm64@0.15.18: 1092 | resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} 1093 | engines: {node: '>=12'} 1094 | cpu: [arm64] 1095 | os: [darwin] 1096 | requiresBuild: true 1097 | dev: true 1098 | optional: true 1099 | 1100 | /esbuild-freebsd-64@0.15.18: 1101 | resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} 1102 | engines: {node: '>=12'} 1103 | cpu: [x64] 1104 | os: [freebsd] 1105 | requiresBuild: true 1106 | dev: true 1107 | optional: true 1108 | 1109 | /esbuild-freebsd-arm64@0.15.18: 1110 | resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} 1111 | engines: {node: '>=12'} 1112 | cpu: [arm64] 1113 | os: [freebsd] 1114 | requiresBuild: true 1115 | dev: true 1116 | optional: true 1117 | 1118 | /esbuild-linux-32@0.15.18: 1119 | resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} 1120 | engines: {node: '>=12'} 1121 | cpu: [ia32] 1122 | os: [linux] 1123 | requiresBuild: true 1124 | dev: true 1125 | optional: true 1126 | 1127 | /esbuild-linux-64@0.15.18: 1128 | resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} 1129 | engines: {node: '>=12'} 1130 | cpu: [x64] 1131 | os: [linux] 1132 | requiresBuild: true 1133 | dev: true 1134 | optional: true 1135 | 1136 | /esbuild-linux-arm64@0.15.18: 1137 | resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} 1138 | engines: {node: '>=12'} 1139 | cpu: [arm64] 1140 | os: [linux] 1141 | requiresBuild: true 1142 | dev: true 1143 | optional: true 1144 | 1145 | /esbuild-linux-arm@0.15.18: 1146 | resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} 1147 | engines: {node: '>=12'} 1148 | cpu: [arm] 1149 | os: [linux] 1150 | requiresBuild: true 1151 | dev: true 1152 | optional: true 1153 | 1154 | /esbuild-linux-mips64le@0.15.18: 1155 | resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} 1156 | engines: {node: '>=12'} 1157 | cpu: [mips64el] 1158 | os: [linux] 1159 | requiresBuild: true 1160 | dev: true 1161 | optional: true 1162 | 1163 | /esbuild-linux-ppc64le@0.15.18: 1164 | resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} 1165 | engines: {node: '>=12'} 1166 | cpu: [ppc64] 1167 | os: [linux] 1168 | requiresBuild: true 1169 | dev: true 1170 | optional: true 1171 | 1172 | /esbuild-linux-riscv64@0.15.18: 1173 | resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} 1174 | engines: {node: '>=12'} 1175 | cpu: [riscv64] 1176 | os: [linux] 1177 | requiresBuild: true 1178 | dev: true 1179 | optional: true 1180 | 1181 | /esbuild-linux-s390x@0.15.18: 1182 | resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} 1183 | engines: {node: '>=12'} 1184 | cpu: [s390x] 1185 | os: [linux] 1186 | requiresBuild: true 1187 | dev: true 1188 | optional: true 1189 | 1190 | /esbuild-netbsd-64@0.15.18: 1191 | resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} 1192 | engines: {node: '>=12'} 1193 | cpu: [x64] 1194 | os: [netbsd] 1195 | requiresBuild: true 1196 | dev: true 1197 | optional: true 1198 | 1199 | /esbuild-openbsd-64@0.15.18: 1200 | resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} 1201 | engines: {node: '>=12'} 1202 | cpu: [x64] 1203 | os: [openbsd] 1204 | requiresBuild: true 1205 | dev: true 1206 | optional: true 1207 | 1208 | /esbuild-register@3.4.2(esbuild@0.15.18): 1209 | resolution: {integrity: sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==} 1210 | peerDependencies: 1211 | esbuild: '>=0.12 <1' 1212 | dependencies: 1213 | debug: 4.3.4 1214 | esbuild: 0.15.18 1215 | transitivePeerDependencies: 1216 | - supports-color 1217 | dev: true 1218 | 1219 | /esbuild-sunos-64@0.15.18: 1220 | resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} 1221 | engines: {node: '>=12'} 1222 | cpu: [x64] 1223 | os: [sunos] 1224 | requiresBuild: true 1225 | dev: true 1226 | optional: true 1227 | 1228 | /esbuild-windows-32@0.15.18: 1229 | resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} 1230 | engines: {node: '>=12'} 1231 | cpu: [ia32] 1232 | os: [win32] 1233 | requiresBuild: true 1234 | dev: true 1235 | optional: true 1236 | 1237 | /esbuild-windows-64@0.15.18: 1238 | resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} 1239 | engines: {node: '>=12'} 1240 | cpu: [x64] 1241 | os: [win32] 1242 | requiresBuild: true 1243 | dev: true 1244 | optional: true 1245 | 1246 | /esbuild-windows-arm64@0.15.18: 1247 | resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} 1248 | engines: {node: '>=12'} 1249 | cpu: [arm64] 1250 | os: [win32] 1251 | requiresBuild: true 1252 | dev: true 1253 | optional: true 1254 | 1255 | /esbuild@0.15.18: 1256 | resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} 1257 | engines: {node: '>=12'} 1258 | hasBin: true 1259 | requiresBuild: true 1260 | optionalDependencies: 1261 | '@esbuild/android-arm': 0.15.18 1262 | '@esbuild/linux-loong64': 0.15.18 1263 | esbuild-android-64: 0.15.18 1264 | esbuild-android-arm64: 0.15.18 1265 | esbuild-darwin-64: 0.15.18 1266 | esbuild-darwin-arm64: 0.15.18 1267 | esbuild-freebsd-64: 0.15.18 1268 | esbuild-freebsd-arm64: 0.15.18 1269 | esbuild-linux-32: 0.15.18 1270 | esbuild-linux-64: 0.15.18 1271 | esbuild-linux-arm: 0.15.18 1272 | esbuild-linux-arm64: 0.15.18 1273 | esbuild-linux-mips64le: 0.15.18 1274 | esbuild-linux-ppc64le: 0.15.18 1275 | esbuild-linux-riscv64: 0.15.18 1276 | esbuild-linux-s390x: 0.15.18 1277 | esbuild-netbsd-64: 0.15.18 1278 | esbuild-openbsd-64: 0.15.18 1279 | esbuild-sunos-64: 0.15.18 1280 | esbuild-windows-32: 0.15.18 1281 | esbuild-windows-64: 0.15.18 1282 | esbuild-windows-arm64: 0.15.18 1283 | dev: true 1284 | 1285 | /esbuild@0.17.14: 1286 | resolution: {integrity: sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==} 1287 | engines: {node: '>=12'} 1288 | hasBin: true 1289 | requiresBuild: true 1290 | optionalDependencies: 1291 | '@esbuild/android-arm': 0.17.14 1292 | '@esbuild/android-arm64': 0.17.14 1293 | '@esbuild/android-x64': 0.17.14 1294 | '@esbuild/darwin-arm64': 0.17.14 1295 | '@esbuild/darwin-x64': 0.17.14 1296 | '@esbuild/freebsd-arm64': 0.17.14 1297 | '@esbuild/freebsd-x64': 0.17.14 1298 | '@esbuild/linux-arm': 0.17.14 1299 | '@esbuild/linux-arm64': 0.17.14 1300 | '@esbuild/linux-ia32': 0.17.14 1301 | '@esbuild/linux-loong64': 0.17.14 1302 | '@esbuild/linux-mips64el': 0.17.14 1303 | '@esbuild/linux-ppc64': 0.17.14 1304 | '@esbuild/linux-riscv64': 0.17.14 1305 | '@esbuild/linux-s390x': 0.17.14 1306 | '@esbuild/linux-x64': 0.17.14 1307 | '@esbuild/netbsd-x64': 0.17.14 1308 | '@esbuild/openbsd-x64': 0.17.14 1309 | '@esbuild/sunos-x64': 0.17.14 1310 | '@esbuild/win32-arm64': 0.17.14 1311 | '@esbuild/win32-ia32': 0.17.14 1312 | '@esbuild/win32-x64': 0.17.14 1313 | dev: true 1314 | 1315 | /escodegen@2.0.0: 1316 | resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} 1317 | engines: {node: '>=6.0'} 1318 | hasBin: true 1319 | dependencies: 1320 | esprima: 4.0.1 1321 | estraverse: 5.3.0 1322 | esutils: 2.0.3 1323 | optionator: 0.8.3 1324 | optionalDependencies: 1325 | source-map: 0.6.1 1326 | dev: true 1327 | 1328 | /eslint-visitor-keys@2.1.0: 1329 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1330 | engines: {node: '>=10'} 1331 | dev: true 1332 | 1333 | /eslint-visitor-keys@3.4.0: 1334 | resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} 1335 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1336 | dev: true 1337 | 1338 | /esprima@4.0.1: 1339 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1340 | engines: {node: '>=4'} 1341 | hasBin: true 1342 | dev: true 1343 | 1344 | /estraverse@5.3.0: 1345 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1346 | engines: {node: '>=4.0'} 1347 | dev: true 1348 | 1349 | /esutils@2.0.3: 1350 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1351 | engines: {node: '>=0.10.0'} 1352 | dev: true 1353 | 1354 | /event-emitter@0.3.5: 1355 | resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} 1356 | dependencies: 1357 | d: 1.0.1 1358 | es5-ext: 0.10.62 1359 | dev: true 1360 | 1361 | /ext@1.7.0: 1362 | resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} 1363 | dependencies: 1364 | type: 2.7.2 1365 | dev: true 1366 | 1367 | /fast-glob@3.2.12: 1368 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1369 | engines: {node: '>=8.6.0'} 1370 | dependencies: 1371 | '@nodelib/fs.stat': 2.0.5 1372 | '@nodelib/fs.walk': 1.2.8 1373 | glob-parent: 5.1.2 1374 | merge2: 1.4.1 1375 | micromatch: 4.0.5 1376 | dev: true 1377 | 1378 | /fast-levenshtein@2.0.6: 1379 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1380 | dev: true 1381 | 1382 | /fastq@1.15.0: 1383 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1384 | dependencies: 1385 | reusify: 1.0.4 1386 | dev: true 1387 | 1388 | /filing-cabinet@3.3.1: 1389 | resolution: {integrity: sha512-renEK4Hh6DUl9Vl22Y3cxBq1yh8oNvbAdXnhih0wVpmea+uyKjC9K4QeRjUaybIiIewdzfum+Fg15ZqJ/GyCaA==} 1390 | engines: {node: '>=10.13.0'} 1391 | hasBin: true 1392 | dependencies: 1393 | app-module-path: 2.2.0 1394 | commander: 2.20.3 1395 | debug: 4.3.4 1396 | enhanced-resolve: 5.12.0 1397 | is-relative-path: 1.0.2 1398 | module-definition: 3.4.0 1399 | module-lookup-amd: 7.0.1 1400 | resolve: 1.22.1 1401 | resolve-dependency-path: 2.0.0 1402 | sass-lookup: 3.0.0 1403 | stylus-lookup: 3.0.2 1404 | tsconfig-paths: 3.14.2 1405 | typescript: 3.9.10 1406 | transitivePeerDependencies: 1407 | - supports-color 1408 | dev: true 1409 | 1410 | /fill-range@7.0.1: 1411 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1412 | engines: {node: '>=8'} 1413 | dependencies: 1414 | to-regex-range: 5.0.1 1415 | dev: true 1416 | 1417 | /flatten@1.0.3: 1418 | resolution: {integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==} 1419 | deprecated: flatten is deprecated in favor of utility frameworks such as lodash. 1420 | dev: true 1421 | 1422 | /fs.realpath@1.0.0: 1423 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1424 | dev: true 1425 | 1426 | /fsevents@2.3.2: 1427 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1428 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1429 | os: [darwin] 1430 | requiresBuild: true 1431 | dev: true 1432 | optional: true 1433 | 1434 | /function-bind@1.1.1: 1435 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1436 | dev: true 1437 | 1438 | /generate-function@2.3.1: 1439 | resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} 1440 | dependencies: 1441 | is-property: 1.0.2 1442 | 1443 | /get-amd-module-type@3.0.2: 1444 | resolution: {integrity: sha512-PcuKwB8ouJnKuAPn6Hk3UtdfKoUV3zXRqVEvj8XGIXqjWfgd1j7QGdXy5Z9OdQfzVt1Sk29HVe/P+X74ccOuqw==} 1445 | engines: {node: '>=6.0'} 1446 | dependencies: 1447 | ast-module-types: 3.0.0 1448 | node-source-walk: 4.3.0 1449 | dev: true 1450 | 1451 | /get-amd-module-type@4.1.0: 1452 | resolution: {integrity: sha512-0e/eK6vTGCnSfQ6eYs3wtH05KotJYIP7ZIZEueP/KlA+0dIAEs8bYFvOd/U56w1vfjhJqBagUxVMyy9Tr/cViQ==} 1453 | engines: {node: '>=12'} 1454 | dependencies: 1455 | ast-module-types: 4.0.0 1456 | node-source-walk: 5.0.1 1457 | dev: true 1458 | 1459 | /get-own-enumerable-property-symbols@3.0.2: 1460 | resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} 1461 | dev: true 1462 | 1463 | /get-tsconfig@4.4.0: 1464 | resolution: {integrity: sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==} 1465 | dev: true 1466 | 1467 | /glob-parent@5.1.2: 1468 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1469 | engines: {node: '>= 6'} 1470 | dependencies: 1471 | is-glob: 4.0.3 1472 | dev: true 1473 | 1474 | /glob@7.2.3: 1475 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1476 | dependencies: 1477 | fs.realpath: 1.0.0 1478 | inflight: 1.0.6 1479 | inherits: 2.0.4 1480 | minimatch: 3.1.2 1481 | once: 1.4.0 1482 | path-is-absolute: 1.0.1 1483 | dev: true 1484 | 1485 | /glob@8.1.0: 1486 | resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} 1487 | engines: {node: '>=12'} 1488 | dependencies: 1489 | fs.realpath: 1.0.0 1490 | inflight: 1.0.6 1491 | inherits: 2.0.4 1492 | minimatch: 5.1.6 1493 | once: 1.4.0 1494 | dev: true 1495 | 1496 | /globby@11.1.0: 1497 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1498 | engines: {node: '>=10'} 1499 | dependencies: 1500 | array-union: 2.1.0 1501 | dir-glob: 3.0.1 1502 | fast-glob: 3.2.12 1503 | ignore: 5.2.4 1504 | merge2: 1.4.1 1505 | slash: 3.0.0 1506 | dev: true 1507 | 1508 | /gonzales-pe@4.3.0: 1509 | resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} 1510 | engines: {node: '>=0.6.0'} 1511 | hasBin: true 1512 | dependencies: 1513 | minimist: 1.2.8 1514 | dev: true 1515 | 1516 | /graceful-fs@4.2.11: 1517 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1518 | dev: true 1519 | 1520 | /hanji@0.0.5: 1521 | resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==} 1522 | dependencies: 1523 | lodash.throttle: 4.1.1 1524 | sisteransi: 1.0.5 1525 | dev: true 1526 | 1527 | /has-flag@4.0.0: 1528 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1529 | engines: {node: '>=8'} 1530 | dev: true 1531 | 1532 | /has@1.0.3: 1533 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1534 | engines: {node: '>= 0.4.0'} 1535 | dependencies: 1536 | function-bind: 1.1.1 1537 | dev: true 1538 | 1539 | /heap@0.2.7: 1540 | resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} 1541 | dev: true 1542 | 1543 | /iconv-lite@0.6.3: 1544 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1545 | engines: {node: '>=0.10.0'} 1546 | dependencies: 1547 | safer-buffer: 2.1.2 1548 | 1549 | /ieee754@1.2.1: 1550 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1551 | dev: true 1552 | 1553 | /ignore@5.2.4: 1554 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1555 | engines: {node: '>= 4'} 1556 | dev: true 1557 | 1558 | /indexes-of@1.0.1: 1559 | resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==} 1560 | dev: true 1561 | 1562 | /inflight@1.0.6: 1563 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1564 | dependencies: 1565 | once: 1.4.0 1566 | wrappy: 1.0.2 1567 | dev: true 1568 | 1569 | /inherits@2.0.4: 1570 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1571 | dev: true 1572 | 1573 | /ini@1.3.8: 1574 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1575 | dev: true 1576 | 1577 | /is-core-module@2.11.0: 1578 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 1579 | dependencies: 1580 | has: 1.0.3 1581 | dev: true 1582 | 1583 | /is-extglob@2.1.1: 1584 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1585 | engines: {node: '>=0.10.0'} 1586 | dev: true 1587 | 1588 | /is-glob@4.0.3: 1589 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1590 | engines: {node: '>=0.10.0'} 1591 | dependencies: 1592 | is-extglob: 2.1.1 1593 | dev: true 1594 | 1595 | /is-interactive@1.0.0: 1596 | resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} 1597 | engines: {node: '>=8'} 1598 | dev: true 1599 | 1600 | /is-number@7.0.0: 1601 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1602 | engines: {node: '>=0.12.0'} 1603 | dev: true 1604 | 1605 | /is-obj@1.0.1: 1606 | resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} 1607 | engines: {node: '>=0.10.0'} 1608 | dev: true 1609 | 1610 | /is-promise@2.2.2: 1611 | resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} 1612 | dev: true 1613 | 1614 | /is-property@1.0.2: 1615 | resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} 1616 | 1617 | /is-regexp@1.0.0: 1618 | resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} 1619 | engines: {node: '>=0.10.0'} 1620 | dev: true 1621 | 1622 | /is-relative-path@1.0.2: 1623 | resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} 1624 | dev: true 1625 | 1626 | /is-unicode-supported@0.1.0: 1627 | resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 1628 | engines: {node: '>=10'} 1629 | dev: true 1630 | 1631 | /is-url-superb@4.0.0: 1632 | resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} 1633 | engines: {node: '>=10'} 1634 | dev: true 1635 | 1636 | /is-url@1.2.4: 1637 | resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} 1638 | dev: true 1639 | 1640 | /json-diff@0.9.0: 1641 | resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==} 1642 | hasBin: true 1643 | dependencies: 1644 | cli-color: 2.0.3 1645 | difflib: 0.2.4 1646 | dreamopt: 0.8.0 1647 | dev: true 1648 | 1649 | /json5@1.0.2: 1650 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 1651 | hasBin: true 1652 | dependencies: 1653 | minimist: 1.2.8 1654 | dev: true 1655 | 1656 | /levn@0.3.0: 1657 | resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} 1658 | engines: {node: '>= 0.8.0'} 1659 | dependencies: 1660 | prelude-ls: 1.1.2 1661 | type-check: 0.3.2 1662 | dev: true 1663 | 1664 | /lodash.throttle@4.1.1: 1665 | resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} 1666 | dev: true 1667 | 1668 | /log-symbols@4.1.0: 1669 | resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 1670 | engines: {node: '>=10'} 1671 | dependencies: 1672 | chalk: 4.1.2 1673 | is-unicode-supported: 0.1.0 1674 | dev: true 1675 | 1676 | /long@4.0.0: 1677 | resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} 1678 | 1679 | /lru-cache@6.0.0: 1680 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1681 | engines: {node: '>=10'} 1682 | dependencies: 1683 | yallist: 4.0.0 1684 | 1685 | /lru-cache@7.18.3: 1686 | resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} 1687 | engines: {node: '>=12'} 1688 | 1689 | /lru-queue@0.1.0: 1690 | resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} 1691 | dependencies: 1692 | es5-ext: 0.10.62 1693 | dev: true 1694 | 1695 | /madge@6.0.0: 1696 | resolution: {integrity: sha512-dddxP62sj5pL+l9MJnq9C34VFqmRj+2+uSOdn/7lOTSliLRH0WyQ8uCEF3VxkPRNOBvMKK2xumnIE15HRSAL9A==} 1697 | engines: {node: '>=14'} 1698 | hasBin: true 1699 | dependencies: 1700 | chalk: 4.1.2 1701 | commander: 7.2.0 1702 | commondir: 1.0.1 1703 | debug: 4.3.4 1704 | dependency-tree: 9.0.0 1705 | detective-amd: 4.1.0 1706 | detective-cjs: 4.1.0 1707 | detective-es6: 3.0.1 1708 | detective-less: 1.0.2 1709 | detective-postcss: 6.1.1 1710 | detective-sass: 4.1.1 1711 | detective-scss: 3.0.1 1712 | detective-stylus: 2.0.1 1713 | detective-typescript: 9.1.1 1714 | ora: 5.4.1 1715 | pluralize: 8.0.0 1716 | precinct: 8.3.1 1717 | pretty-ms: 7.0.1 1718 | rc: 1.2.8 1719 | stream-to-array: 2.3.0 1720 | ts-graphviz: 1.5.5 1721 | typescript: 3.9.10 1722 | walkdir: 0.4.1 1723 | transitivePeerDependencies: 1724 | - supports-color 1725 | dev: true 1726 | 1727 | /memoizee@0.4.15: 1728 | resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} 1729 | dependencies: 1730 | d: 1.0.1 1731 | es5-ext: 0.10.62 1732 | es6-weak-map: 2.0.3 1733 | event-emitter: 0.3.5 1734 | is-promise: 2.2.2 1735 | lru-queue: 0.1.0 1736 | next-tick: 1.1.0 1737 | timers-ext: 0.1.7 1738 | dev: true 1739 | 1740 | /merge2@1.4.1: 1741 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1742 | engines: {node: '>= 8'} 1743 | dev: true 1744 | 1745 | /micromatch@4.0.5: 1746 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1747 | engines: {node: '>=8.6'} 1748 | dependencies: 1749 | braces: 3.0.2 1750 | picomatch: 2.3.1 1751 | dev: true 1752 | 1753 | /mimic-fn@2.1.0: 1754 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1755 | engines: {node: '>=6'} 1756 | dev: true 1757 | 1758 | /minimatch@3.1.2: 1759 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1760 | dependencies: 1761 | brace-expansion: 1.1.11 1762 | dev: true 1763 | 1764 | /minimatch@5.1.6: 1765 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1766 | engines: {node: '>=10'} 1767 | dependencies: 1768 | brace-expansion: 2.0.1 1769 | dev: true 1770 | 1771 | /minimatch@7.4.3: 1772 | resolution: {integrity: sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A==} 1773 | engines: {node: '>=10'} 1774 | dependencies: 1775 | brace-expansion: 2.0.1 1776 | dev: true 1777 | 1778 | /minimist@1.2.8: 1779 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1780 | dev: true 1781 | 1782 | /module-definition@3.4.0: 1783 | resolution: {integrity: sha512-XxJ88R1v458pifaSkPNLUTdSPNVGMP2SXVncVmApGO+gAfrLANiYe6JofymCzVceGOMwQE2xogxBSc8uB7XegA==} 1784 | engines: {node: '>=6.0'} 1785 | hasBin: true 1786 | dependencies: 1787 | ast-module-types: 3.0.0 1788 | node-source-walk: 4.3.0 1789 | dev: true 1790 | 1791 | /module-definition@4.1.0: 1792 | resolution: {integrity: sha512-rHXi/DpMcD2qcKbPCTklDbX9lBKJrUSl971TW5l6nMpqKCIlzJqmQ8cfEF5M923h2OOLHPDVlh5pJxNyV+AJlw==} 1793 | engines: {node: '>=12'} 1794 | hasBin: true 1795 | dependencies: 1796 | ast-module-types: 4.0.0 1797 | node-source-walk: 5.0.1 1798 | dev: true 1799 | 1800 | /module-lookup-amd@7.0.1: 1801 | resolution: {integrity: sha512-w9mCNlj0S8qviuHzpakaLVc+/7q50jl9a/kmJ/n8bmXQZgDPkQHnPBb8MUOYh3WpAYkXuNc2c+khsozhIp/amQ==} 1802 | engines: {node: '>=10.13.0'} 1803 | hasBin: true 1804 | dependencies: 1805 | commander: 2.20.3 1806 | debug: 4.3.4 1807 | glob: 7.2.3 1808 | requirejs: 2.3.6 1809 | requirejs-config-file: 4.0.0 1810 | transitivePeerDependencies: 1811 | - supports-color 1812 | dev: true 1813 | 1814 | /ms@2.1.2: 1815 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1816 | dev: true 1817 | 1818 | /mysql2@2.3.3: 1819 | resolution: {integrity: sha512-wxJUev6LgMSgACDkb/InIFxDprRa6T95+VEoR+xPvtngtccNH2dGjEB/fVZ8yg1gWv1510c9CvXuJHi5zUm0ZA==} 1820 | engines: {node: '>= 8.0'} 1821 | dependencies: 1822 | denque: 2.1.0 1823 | generate-function: 2.3.1 1824 | iconv-lite: 0.6.3 1825 | long: 4.0.0 1826 | lru-cache: 6.0.0 1827 | named-placeholders: 1.1.3 1828 | seq-queue: 0.0.5 1829 | sqlstring: 2.3.3 1830 | 1831 | /named-placeholders@1.1.3: 1832 | resolution: {integrity: sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==} 1833 | engines: {node: '>=12.0.0'} 1834 | dependencies: 1835 | lru-cache: 7.18.3 1836 | 1837 | /nanoid@3.3.6: 1838 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 1839 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1840 | hasBin: true 1841 | dev: true 1842 | 1843 | /next-tick@1.1.0: 1844 | resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} 1845 | dev: true 1846 | 1847 | /node-source-walk@4.3.0: 1848 | resolution: {integrity: sha512-8Q1hXew6ETzqKRAs3jjLioSxNfT1cx74ooiF8RlAONwVMcfq+UdzLC2eB5qcPldUxaE5w3ytLkrmV1TGddhZTA==} 1849 | engines: {node: '>=6.0'} 1850 | dependencies: 1851 | '@babel/parser': 7.21.3 1852 | dev: true 1853 | 1854 | /node-source-walk@5.0.1: 1855 | resolution: {integrity: sha512-fe5rFjPqkWQb4CLfsOf10fZAJvImfLpcVx+Nqbozaj6PBoAEjyEK1HZGCGvQNyre2HdL1HnZG6mxBf2UHSzr/w==} 1856 | engines: {node: '>=12'} 1857 | dependencies: 1858 | '@babel/parser': 7.21.3 1859 | dev: true 1860 | 1861 | /once@1.4.0: 1862 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1863 | dependencies: 1864 | wrappy: 1.0.2 1865 | dev: true 1866 | 1867 | /onetime@5.1.2: 1868 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1869 | engines: {node: '>=6'} 1870 | dependencies: 1871 | mimic-fn: 2.1.0 1872 | dev: true 1873 | 1874 | /optionator@0.8.3: 1875 | resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} 1876 | engines: {node: '>= 0.8.0'} 1877 | dependencies: 1878 | deep-is: 0.1.4 1879 | fast-levenshtein: 2.0.6 1880 | levn: 0.3.0 1881 | prelude-ls: 1.1.2 1882 | type-check: 0.3.2 1883 | word-wrap: 1.2.3 1884 | dev: true 1885 | 1886 | /ora@5.4.1: 1887 | resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} 1888 | engines: {node: '>=10'} 1889 | dependencies: 1890 | bl: 4.1.0 1891 | chalk: 4.1.2 1892 | cli-cursor: 3.1.0 1893 | cli-spinners: 2.7.0 1894 | is-interactive: 1.0.0 1895 | is-unicode-supported: 0.1.0 1896 | log-symbols: 4.1.0 1897 | strip-ansi: 6.0.1 1898 | wcwidth: 1.0.1 1899 | dev: true 1900 | 1901 | /parse-ms@2.1.0: 1902 | resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} 1903 | engines: {node: '>=6'} 1904 | dev: true 1905 | 1906 | /path-is-absolute@1.0.1: 1907 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1908 | engines: {node: '>=0.10.0'} 1909 | dev: true 1910 | 1911 | /path-parse@1.0.7: 1912 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1913 | dev: true 1914 | 1915 | /path-type@4.0.0: 1916 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1917 | engines: {node: '>=8'} 1918 | dev: true 1919 | 1920 | /picocolors@1.0.0: 1921 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1922 | dev: true 1923 | 1924 | /picomatch@2.3.1: 1925 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1926 | engines: {node: '>=8.6'} 1927 | dev: true 1928 | 1929 | /pluralize@8.0.0: 1930 | resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 1931 | engines: {node: '>=4'} 1932 | dev: true 1933 | 1934 | /postcss-values-parser@2.0.1: 1935 | resolution: {integrity: sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==} 1936 | engines: {node: '>=6.14.4'} 1937 | dependencies: 1938 | flatten: 1.0.3 1939 | indexes-of: 1.0.1 1940 | uniq: 1.0.1 1941 | dev: true 1942 | 1943 | /postcss-values-parser@6.0.2(postcss@8.4.21): 1944 | resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} 1945 | engines: {node: '>=10'} 1946 | peerDependencies: 1947 | postcss: ^8.2.9 1948 | dependencies: 1949 | color-name: 1.1.4 1950 | is-url-superb: 4.0.0 1951 | postcss: 8.4.21 1952 | quote-unquote: 1.0.0 1953 | dev: true 1954 | 1955 | /postcss@8.4.21: 1956 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} 1957 | engines: {node: ^10 || ^12 || >=14} 1958 | dependencies: 1959 | nanoid: 3.3.6 1960 | picocolors: 1.0.0 1961 | source-map-js: 1.0.2 1962 | dev: true 1963 | 1964 | /precinct@8.3.1: 1965 | resolution: {integrity: sha512-pVppfMWLp2wF68rwHqBIpPBYY8Kd12lDhk8LVQzOwqllifVR15qNFyod43YLyFpurKRZQKnE7E4pofAagDOm2Q==} 1966 | engines: {node: ^10.13 || ^12 || >=14} 1967 | hasBin: true 1968 | dependencies: 1969 | commander: 2.20.3 1970 | debug: 4.3.4 1971 | detective-amd: 3.1.2 1972 | detective-cjs: 3.1.3 1973 | detective-es6: 2.2.2 1974 | detective-less: 1.0.2 1975 | detective-postcss: 4.0.0 1976 | detective-sass: 3.0.2 1977 | detective-scss: 2.0.2 1978 | detective-stylus: 1.0.3 1979 | detective-typescript: 7.0.2 1980 | module-definition: 3.4.0 1981 | node-source-walk: 4.3.0 1982 | transitivePeerDependencies: 1983 | - supports-color 1984 | dev: true 1985 | 1986 | /precinct@9.2.1: 1987 | resolution: {integrity: sha512-uzKHaTyiVejWW7VJtHInb9KBUq9yl9ojxXGujhjhDmPon2wgZPBKQIKR+6csGqSlUeGXAA4MEFnU6DesxZib+A==} 1988 | engines: {node: ^12.20.0 || ^14.14.0 || >=16.0.0} 1989 | hasBin: true 1990 | dependencies: 1991 | '@dependents/detective-less': 3.0.1 1992 | commander: 9.5.0 1993 | detective-amd: 4.1.0 1994 | detective-cjs: 4.1.0 1995 | detective-es6: 3.0.1 1996 | detective-postcss: 6.1.1 1997 | detective-sass: 4.1.1 1998 | detective-scss: 3.0.1 1999 | detective-stylus: 3.0.0 2000 | detective-typescript: 9.1.1 2001 | module-definition: 4.1.0 2002 | node-source-walk: 5.0.1 2003 | transitivePeerDependencies: 2004 | - supports-color 2005 | dev: true 2006 | 2007 | /prelude-ls@1.1.2: 2008 | resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} 2009 | engines: {node: '>= 0.8.0'} 2010 | dev: true 2011 | 2012 | /pretty-ms@7.0.1: 2013 | resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} 2014 | engines: {node: '>=10'} 2015 | dependencies: 2016 | parse-ms: 2.1.0 2017 | dev: true 2018 | 2019 | /queue-microtask@1.2.3: 2020 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2021 | dev: true 2022 | 2023 | /quote-unquote@1.0.0: 2024 | resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} 2025 | dev: true 2026 | 2027 | /rc@1.2.8: 2028 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 2029 | hasBin: true 2030 | dependencies: 2031 | deep-extend: 0.6.0 2032 | ini: 1.3.8 2033 | minimist: 1.2.8 2034 | strip-json-comments: 2.0.1 2035 | dev: true 2036 | 2037 | /readable-stream@3.6.2: 2038 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 2039 | engines: {node: '>= 6'} 2040 | dependencies: 2041 | inherits: 2.0.4 2042 | string_decoder: 1.3.0 2043 | util-deprecate: 1.0.2 2044 | dev: true 2045 | 2046 | /requirejs-config-file@4.0.0: 2047 | resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} 2048 | engines: {node: '>=10.13.0'} 2049 | dependencies: 2050 | esprima: 4.0.1 2051 | stringify-object: 3.3.0 2052 | dev: true 2053 | 2054 | /requirejs@2.3.6: 2055 | resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} 2056 | engines: {node: '>=0.4.0'} 2057 | hasBin: true 2058 | dev: true 2059 | 2060 | /resolve-dependency-path@2.0.0: 2061 | resolution: {integrity: sha512-DIgu+0Dv+6v2XwRaNWnumKu7GPufBBOr5I1gRPJHkvghrfCGOooJODFvgFimX/KRxk9j0whD2MnKHzM1jYvk9w==} 2062 | engines: {node: '>=6.0.0'} 2063 | dev: true 2064 | 2065 | /resolve@1.22.1: 2066 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 2067 | hasBin: true 2068 | dependencies: 2069 | is-core-module: 2.11.0 2070 | path-parse: 1.0.7 2071 | supports-preserve-symlinks-flag: 1.0.0 2072 | dev: true 2073 | 2074 | /restore-cursor@3.1.0: 2075 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 2076 | engines: {node: '>=8'} 2077 | dependencies: 2078 | onetime: 5.1.2 2079 | signal-exit: 3.0.7 2080 | dev: true 2081 | 2082 | /reusify@1.0.4: 2083 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2084 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2085 | dev: true 2086 | 2087 | /run-parallel@1.2.0: 2088 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2089 | dependencies: 2090 | queue-microtask: 1.2.3 2091 | dev: true 2092 | 2093 | /safe-buffer@5.2.1: 2094 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2095 | dev: true 2096 | 2097 | /safer-buffer@2.1.2: 2098 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2099 | 2100 | /sass-lookup@3.0.0: 2101 | resolution: {integrity: sha512-TTsus8CfFRn1N44bvdEai1no6PqdmDiQUiqW5DlpmtT+tYnIt1tXtDIph5KA1efC+LmioJXSnCtUVpcK9gaKIg==} 2102 | engines: {node: '>=6.0.0'} 2103 | hasBin: true 2104 | dependencies: 2105 | commander: 2.20.3 2106 | dev: true 2107 | 2108 | /semver@7.3.8: 2109 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 2110 | engines: {node: '>=10'} 2111 | hasBin: true 2112 | dependencies: 2113 | lru-cache: 6.0.0 2114 | dev: true 2115 | 2116 | /seq-queue@0.0.5: 2117 | resolution: {integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==} 2118 | 2119 | /signal-exit@3.0.7: 2120 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2121 | dev: true 2122 | 2123 | /sisteransi@1.0.5: 2124 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 2125 | dev: true 2126 | 2127 | /slash@3.0.0: 2128 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2129 | engines: {node: '>=8'} 2130 | dev: true 2131 | 2132 | /source-map-js@1.0.2: 2133 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2134 | engines: {node: '>=0.10.0'} 2135 | dev: true 2136 | 2137 | /source-map-support@0.5.21: 2138 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 2139 | dependencies: 2140 | buffer-from: 1.1.2 2141 | source-map: 0.6.1 2142 | dev: true 2143 | 2144 | /source-map@0.6.1: 2145 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2146 | engines: {node: '>=0.10.0'} 2147 | dev: true 2148 | 2149 | /sqlstring@2.3.3: 2150 | resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} 2151 | engines: {node: '>= 0.6'} 2152 | 2153 | /stream-to-array@2.3.0: 2154 | resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} 2155 | dependencies: 2156 | any-promise: 1.3.0 2157 | dev: true 2158 | 2159 | /streamsearch@1.1.0: 2160 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 2161 | engines: {node: '>=10.0.0'} 2162 | dev: false 2163 | 2164 | /string_decoder@1.3.0: 2165 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 2166 | dependencies: 2167 | safe-buffer: 5.2.1 2168 | dev: true 2169 | 2170 | /stringify-object@3.3.0: 2171 | resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} 2172 | engines: {node: '>=4'} 2173 | dependencies: 2174 | get-own-enumerable-property-symbols: 3.0.2 2175 | is-obj: 1.0.1 2176 | is-regexp: 1.0.0 2177 | dev: true 2178 | 2179 | /strip-ansi@6.0.1: 2180 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2181 | engines: {node: '>=8'} 2182 | dependencies: 2183 | ansi-regex: 5.0.1 2184 | dev: true 2185 | 2186 | /strip-bom@3.0.0: 2187 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2188 | engines: {node: '>=4'} 2189 | dev: true 2190 | 2191 | /strip-json-comments@2.0.1: 2192 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 2193 | engines: {node: '>=0.10.0'} 2194 | dev: true 2195 | 2196 | /stylus-lookup@3.0.2: 2197 | resolution: {integrity: sha512-oEQGHSjg/AMaWlKe7gqsnYzan8DLcGIHe0dUaFkucZZ14z4zjENRlQMCHT4FNsiWnJf17YN9OvrCfCoi7VvOyg==} 2198 | engines: {node: '>=6.0.0'} 2199 | hasBin: true 2200 | dependencies: 2201 | commander: 2.20.3 2202 | debug: 4.3.4 2203 | transitivePeerDependencies: 2204 | - supports-color 2205 | dev: true 2206 | 2207 | /supports-color@7.2.0: 2208 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2209 | engines: {node: '>=8'} 2210 | dependencies: 2211 | has-flag: 4.0.0 2212 | dev: true 2213 | 2214 | /supports-preserve-symlinks-flag@1.0.0: 2215 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2216 | engines: {node: '>= 0.4'} 2217 | dev: true 2218 | 2219 | /tapable@2.2.1: 2220 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 2221 | engines: {node: '>=6'} 2222 | dev: true 2223 | 2224 | /timers-ext@0.1.7: 2225 | resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} 2226 | dependencies: 2227 | es5-ext: 0.10.62 2228 | next-tick: 1.1.0 2229 | dev: true 2230 | 2231 | /to-fast-properties@2.0.0: 2232 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 2233 | engines: {node: '>=4'} 2234 | dev: true 2235 | 2236 | /to-regex-range@5.0.1: 2237 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2238 | engines: {node: '>=8.0'} 2239 | dependencies: 2240 | is-number: 7.0.0 2241 | dev: true 2242 | 2243 | /ts-graphviz@1.5.5: 2244 | resolution: {integrity: sha512-abon0Tlcgvxcqr8x+p8QH1fTbR2R4cEXKGZfT4OJONZWah2YfqkmERb6hrr82omAc1IHwk5PlF8g4BS/ECYvwQ==} 2245 | engines: {node: '>=14.16'} 2246 | dev: true 2247 | 2248 | /tsconfig-paths@3.14.2: 2249 | resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} 2250 | dependencies: 2251 | '@types/json5': 0.0.29 2252 | json5: 1.0.2 2253 | minimist: 1.2.8 2254 | strip-bom: 3.0.0 2255 | dev: true 2256 | 2257 | /tslib@1.14.1: 2258 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2259 | dev: true 2260 | 2261 | /tsutils@3.21.0(typescript@3.9.10): 2262 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2263 | engines: {node: '>= 6'} 2264 | peerDependencies: 2265 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2266 | dependencies: 2267 | tslib: 1.14.1 2268 | typescript: 3.9.10 2269 | dev: true 2270 | 2271 | /tsutils@3.21.0(typescript@4.9.5): 2272 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2273 | engines: {node: '>= 6'} 2274 | peerDependencies: 2275 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 2276 | dependencies: 2277 | tslib: 1.14.1 2278 | typescript: 4.9.5 2279 | dev: true 2280 | 2281 | /tsx@3.12.6: 2282 | resolution: {integrity: sha512-q93WgS3lBdHlPgS0h1i+87Pt6n9K/qULIMNYZo07nSeu2z5QE2CellcAZfofVXBo2tQg9av2ZcRMQ2S2i5oadQ==} 2283 | hasBin: true 2284 | dependencies: 2285 | '@esbuild-kit/cjs-loader': 2.4.2 2286 | '@esbuild-kit/core-utils': 3.1.0 2287 | '@esbuild-kit/esm-loader': 2.5.5 2288 | optionalDependencies: 2289 | fsevents: 2.3.2 2290 | dev: true 2291 | 2292 | /type-check@0.3.2: 2293 | resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} 2294 | engines: {node: '>= 0.8.0'} 2295 | dependencies: 2296 | prelude-ls: 1.1.2 2297 | dev: true 2298 | 2299 | /type@1.2.0: 2300 | resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} 2301 | dev: true 2302 | 2303 | /type@2.7.2: 2304 | resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} 2305 | dev: true 2306 | 2307 | /typescript@3.9.10: 2308 | resolution: {integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==} 2309 | engines: {node: '>=4.2.0'} 2310 | hasBin: true 2311 | dev: true 2312 | 2313 | /typescript@4.9.5: 2314 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 2315 | engines: {node: '>=4.2.0'} 2316 | hasBin: true 2317 | dev: true 2318 | 2319 | /typescript@5.0.2: 2320 | resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} 2321 | engines: {node: '>=12.20'} 2322 | hasBin: true 2323 | dev: true 2324 | 2325 | /undici@5.21.0: 2326 | resolution: {integrity: sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==} 2327 | engines: {node: '>=12.18'} 2328 | dependencies: 2329 | busboy: 1.6.0 2330 | dev: false 2331 | 2332 | /uniq@1.0.1: 2333 | resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} 2334 | dev: true 2335 | 2336 | /util-deprecate@1.0.2: 2337 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2338 | dev: true 2339 | 2340 | /walkdir@0.4.1: 2341 | resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} 2342 | engines: {node: '>=6.0.0'} 2343 | dev: true 2344 | 2345 | /wcwidth@1.0.1: 2346 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 2347 | dependencies: 2348 | defaults: 1.0.4 2349 | dev: true 2350 | 2351 | /word-wrap@1.2.3: 2352 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 2353 | engines: {node: '>=0.10.0'} 2354 | dev: true 2355 | 2356 | /wordwrap@1.0.0: 2357 | resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} 2358 | dev: true 2359 | 2360 | /wrappy@1.0.2: 2361 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2362 | dev: true 2363 | 2364 | /yallist@4.0.0: 2365 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2366 | 2367 | /zod@3.21.4: 2368 | resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} 2369 | dev: true 2370 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | # pnpm-workspace.yaml 2 | packages: 3 | # executable/launchable applications 4 | - 'projects/*' -------------------------------------------------------------------------------- /projects/planetscale-mysql2/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | -------------------------------------------------------------------------------- /projects/planetscale-mysql2/drizzle.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "drizzle-kit"; 2 | import "dotenv/config"; 3 | 4 | export default { 5 | schema: "./schema.ts", 6 | connectionString: process.env.DATABASE_URL, 7 | } satisfies Config 8 | -------------------------------------------------------------------------------- /projects/planetscale-mysql2/index.ts: -------------------------------------------------------------------------------- 1 | import { config } from "dotenv"; 2 | import { migrate } from "drizzle-orm/mysql2/migrator"; 3 | import { drizzle } from "drizzle-orm/mysql2"; 4 | import { createConnection } from "mysql2/promise"; 5 | import { users } from "./schema"; 6 | 7 | config(); 8 | 9 | const { DATABASE_URL: uri } = process.env; 10 | 11 | const main = async () => { 12 | const connection = await createConnection({ 13 | uri, 14 | }); 15 | const db = drizzle(connection); 16 | await migrate(db, { migrationsFolder: "./drizzle" }); 17 | 18 | await db 19 | .insert(users) 20 | .values([{ name: "John Wick", age: 58, occupation: "housekeeper" }]); 21 | }; 22 | 23 | main(); 24 | -------------------------------------------------------------------------------- /projects/planetscale-mysql2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "planetscale-mysql2", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "push": "drizzle-kit push:mysql" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "mysql2": "^2.3.3" 14 | }, 15 | "devDependencies": { 16 | "@types/node": "^18.15.5", 17 | "dotenv": "^16.0.3", 18 | "drizzle-kit": "0.17.1-5df459e", 19 | "drizzle-orm": "0.23.2", 20 | "madge": "^6.0.0", 21 | "tsx": "^3.12.6", 22 | "typescript": "^5.0.2" 23 | } 24 | } -------------------------------------------------------------------------------- /projects/planetscale-mysql2/schema.ts: -------------------------------------------------------------------------------- 1 | import { mysqlTable, text } from 'drizzle-orm/mysql-core'; 2 | import { int } from 'drizzle-orm/mysql-core'; 3 | 4 | export const users = mysqlTable('users', { 5 | id: int('id').autoincrement().primaryKey(), 6 | name: text('name').notNull(), 7 | age: int('age'), 8 | occupation: text('occupation') 9 | }) 10 | -------------------------------------------------------------------------------- /projects/planetscale-mysql2/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "moduleResolution": "node", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 5 | "module": "commonjs", /* Specify what module code is generated. */ 6 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 7 | "strict": true, /* Enable all strict type-checking options. */ 8 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /projects/planetscale-sls/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_HOST=aws.connect.psdb.cloud 2 | DATABASE_USERNAME=v5b5ft58g1... 3 | DATABASE_PASSWORD=pscale_pw_bwc... -------------------------------------------------------------------------------- /projects/planetscale-sls/drizzle.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "drizzle-kit"; 2 | import "dotenv/config"; 3 | 4 | export default { 5 | schema: "./schema.ts", 6 | connectionString: process.env.DATABASE_URL, 7 | } satisfies Config -------------------------------------------------------------------------------- /projects/planetscale-sls/index.ts: -------------------------------------------------------------------------------- 1 | import { config } from "dotenv"; 2 | import { drizzle } from "drizzle-orm/planetscale-serverless"; 3 | import { migrate } from "drizzle-orm/planetscale-serverless/migrator"; 4 | import { Client } from "@planetscale/database"; 5 | import { people } from "./schema"; 6 | import { fetch } from "undici"; 7 | 8 | config(); 9 | 10 | const { 11 | DATABASE_HOST: host, 12 | DATABASE_USERNAME: username, 13 | DATABASE_PASSWORD: password, 14 | } = process.env; 15 | 16 | if (!host || !username || !password) { 17 | throw new Error("Some of env variables are missing"); 18 | } 19 | 20 | const main = async () => { 21 | const client = new Client({ 22 | fetch, 23 | host, 24 | username, 25 | password, 26 | }); 27 | 28 | const connection = client.connection(); 29 | const db = drizzle(connection); 30 | 31 | await migrate(db, { migrationsFolder: "./drizzle" }); 32 | 33 | const result = await db 34 | .insert(people) 35 | .values({ name: "John Wick", age: 58, occupation: "housekeeper" }); 36 | console.log(result); 37 | }; 38 | 39 | main(); 40 | -------------------------------------------------------------------------------- /projects/planetscale-sls/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "planetscale-mysql2", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "push": "drizzle-kit push:mysql" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "@planetscale/database": "^1.6.0", 14 | "drizzle-orm": "0.23.2", 15 | "undici": "^5.21.0" 16 | }, 17 | "devDependencies": { 18 | "@types/node": "^18.15.5", 19 | "dotenv": "^16.0.3", 20 | "drizzle-kit": "0.17.1-5df459e", 21 | "tsx": "^3.12.6", 22 | "typescript": "^5.0.2" 23 | } 24 | } -------------------------------------------------------------------------------- /projects/planetscale-sls/schema.ts: -------------------------------------------------------------------------------- 1 | import { mysqlTable, text } from "drizzle-orm/mysql-core"; 2 | import { int } from "drizzle-orm/mysql-core"; 3 | 4 | export const people = mysqlTable("people", { 5 | id: int("id").autoincrement().primaryKey(), 6 | name: text("name").notNull(), 7 | age: int("age"), 8 | occupation: text("occupation"), 9 | }); 10 | -------------------------------------------------------------------------------- /projects/planetscale-sls/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "moduleResolution": "node", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 5 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 6 | "strict": true, /* Enable all strict type-checking options. */ 7 | "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 8 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /projects/projectA/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | -------------------------------------------------------------------------------- /projects/projectA/drizzle.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "drizzle-kit"; 2 | import "dotenv/config"; 3 | 4 | export default { 5 | schema: "./schema.ts", 6 | connectionString: process.env.DATABASE_URL, 7 | tablesFilter: ["projectA_*"], 8 | } satisfies Config; 9 | -------------------------------------------------------------------------------- /projects/projectA/index.ts: -------------------------------------------------------------------------------- 1 | import { config } from "dotenv"; 2 | import { drizzle } from "drizzle-orm/planetscale-serverless"; 3 | import { migrate } from "drizzle-orm/planetscale-serverless/migrator"; 4 | 5 | const planetscale = import("@planetscale/database"); 6 | import { fetch } from "undici"; 7 | 8 | config(); 9 | 10 | const { DATABASE_URL: url } = process.env; 11 | 12 | const main = async () => { 13 | const { connect } = await planetscale; 14 | const connection = connect({ 15 | fetch, 16 | url 17 | }); 18 | 19 | const db = drizzle(connection); 20 | 21 | await migrate(db, { migrationsFolder: "./drizzle" }); 22 | 23 | // await db 24 | // .insert(people) 25 | // // .values({ name: 'John Wick', age: 58, occupation: 'housekeeper' }); 26 | }; 27 | 28 | main(); 29 | -------------------------------------------------------------------------------- /projects/projectA/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "planetscale-mysql2", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "push": "drizzle-kit push:mysql" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "@planetscale/database": "^1.6.0", 14 | "drizzle-orm": "0.23.2", 15 | "undici": "^5.21.0" 16 | }, 17 | "devDependencies": { 18 | "@types/node": "^18.15.5", 19 | "dotenv": "^16.0.3", 20 | "drizzle-kit": "0.17.1-5df459e", 21 | "typescript": "^5.0.2" 22 | } 23 | } -------------------------------------------------------------------------------- /projects/projectA/schema.ts: -------------------------------------------------------------------------------- 1 | import { mysqlTableCreator, text } from 'drizzle-orm/mysql-core'; 2 | import { int } from 'drizzle-orm/mysql-core'; 3 | 4 | const projectAMySqlTable = mysqlTableCreator((name) =>`projectA_${name}`) 5 | 6 | export const users = projectAMySqlTable('users', { 7 | id: int('id').autoincrement().primaryKey(), 8 | name: text('name').notNull(), 9 | age: int('age'), 10 | occupation: text('occupation') 11 | }) 12 | -------------------------------------------------------------------------------- /projects/projectA/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ 22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ 26 | 27 | /* Modules */ 28 | "module": "commonjs", /* Specify what module code is generated. */ 29 | // "rootDir": "./", /* Specify the root folder within your source files. */ 30 | // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ 31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ 35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ 38 | // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ 39 | // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ 40 | // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ 41 | // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ 42 | // "resolveJsonModule": true, /* Enable importing .json files. */ 43 | // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ 44 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ 45 | 46 | /* JavaScript Support */ 47 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 48 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 49 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 50 | 51 | /* Emit */ 52 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 53 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 54 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 55 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 56 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 57 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ 58 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 59 | // "removeComments": true, /* Disable emitting comments. */ 60 | // "noEmit": true, /* Disable emitting files from a compilation. */ 61 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 62 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ 63 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 64 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 65 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 66 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 67 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 68 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 69 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 70 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 71 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 72 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 73 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 74 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 75 | 76 | /* Interop Constraints */ 77 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 78 | // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ 79 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 80 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 81 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 82 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 83 | 84 | /* Type Checking */ 85 | "strict": true, /* Enable all strict type-checking options. */ 86 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 87 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 88 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 89 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 90 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 91 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 92 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 93 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 94 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 95 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 96 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 97 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 98 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 99 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 100 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 101 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 102 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 103 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 104 | 105 | /* Completeness */ 106 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 107 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /projects/projectB/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | -------------------------------------------------------------------------------- /projects/projectB/drizzle.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "drizzle-kit"; 2 | import "dotenv/config"; 3 | 4 | export default { 5 | schema: "./schema.ts", 6 | connectionString: process.env.DATABASE_URL, 7 | tablesFilter: ["projectB_*"], 8 | } satisfies Config; 9 | -------------------------------------------------------------------------------- /projects/projectB/index.ts: -------------------------------------------------------------------------------- 1 | import { config } from "dotenv"; 2 | import { drizzle } from "drizzle-orm/planetscale-serverless"; 3 | import { migrate } from "drizzle-orm/planetscale-serverless/migrator"; 4 | 5 | const planetscale = import("@planetscale/database"); 6 | import { fetch } from "undici"; 7 | 8 | config(); 9 | 10 | const { DATABASE_URL: url } = process.env; 11 | 12 | const main = async () => { 13 | const { connect } = await planetscale; 14 | 15 | const connection = connect({ 16 | fetch, 17 | url, 18 | }); 19 | 20 | const db = drizzle(connection); 21 | 22 | await migrate(db, { migrationsFolder: "./drizzle" }); 23 | 24 | // await db 25 | // .insert(people) 26 | // .values({ name: "John Wick", age: 58, occupation: "housekeeper" }); 27 | }; 28 | 29 | main(); 30 | -------------------------------------------------------------------------------- /projects/projectB/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "planetscale-mysql2", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "push": "drizzle-kit push:mysql" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "@planetscale/database": "^1.6.0", 14 | "drizzle-orm": "0.23.2", 15 | "undici": "^5.21.0" 16 | }, 17 | "devDependencies": { 18 | "@types/node": "^18.15.5", 19 | "dotenv": "^16.0.3", 20 | "drizzle-kit": "0.17.1-5df459e", 21 | "typescript": "^5.0.2" 22 | } 23 | } -------------------------------------------------------------------------------- /projects/projectB/schema.ts: -------------------------------------------------------------------------------- 1 | import { mysqlTableCreator, text } from 'drizzle-orm/mysql-core'; 2 | import { int } from 'drizzle-orm/mysql-core'; 3 | 4 | const projectAMySqlTable = mysqlTableCreator((name) =>`projectB_${name}`) 5 | 6 | export const users = projectAMySqlTable('users', { 7 | id: int('id').autoincrement().primaryKey(), 8 | name: text('name').notNull(), 9 | age: int('age'), 10 | occupation: text('occupation') 11 | }) 12 | -------------------------------------------------------------------------------- /projects/projectB/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ 22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ 26 | 27 | /* Modules */ 28 | "module": "commonjs", /* Specify what module code is generated. */ 29 | // "rootDir": "./", /* Specify the root folder within your source files. */ 30 | // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ 31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ 35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ 38 | // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ 39 | // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ 40 | // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ 41 | // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ 42 | // "resolveJsonModule": true, /* Enable importing .json files. */ 43 | // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ 44 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ 45 | 46 | /* JavaScript Support */ 47 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 48 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 49 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 50 | 51 | /* Emit */ 52 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 53 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 54 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 55 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 56 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 57 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ 58 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 59 | // "removeComments": true, /* Disable emitting comments. */ 60 | // "noEmit": true, /* Disable emitting files from a compilation. */ 61 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 62 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ 63 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 64 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 65 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 66 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 67 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 68 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 69 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 70 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 71 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 72 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 73 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 74 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 75 | 76 | /* Interop Constraints */ 77 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 78 | // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ 79 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 80 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 81 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 82 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 83 | 84 | /* Type Checking */ 85 | "strict": true, /* Enable all strict type-checking options. */ 86 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 87 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 88 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 89 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 90 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 91 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 92 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 93 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 94 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 95 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 96 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 97 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 98 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 99 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 100 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 101 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 102 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 103 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 104 | 105 | /* Completeness */ 106 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 107 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 108 | } 109 | } 110 | --------------------------------------------------------------------------------