From a0f6e594ba48c9b5cfc19c2b9e2e65c7ce0cdfe2 Mon Sep 17 00:00:00 2001 From: julien Date: Mon, 4 May 2026 10:46:12 +0200 Subject: [PATCH] fix(portal-bff): downgrade Prisma to 6.x for nestjs-prisma compatibility (#3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Pin `prisma` and `@prisma/client` to `^6` (resolved 6.19.3) instead of the previous `^7`. - Switch the generator in `apps/portal-bff/prisma/schema.prisma` from `prisma-client` to `prisma-client-js` (Prisma 6's default). - Add the explicit `url = env("DATABASE_URL")` in the `datasource db` block (required by Prisma 6; was implicit in Prisma 7 via `prisma.config.ts`). - Remove `apps/portal-bff/prisma.config.ts` (Prisma 7-only feature). - Drop the now-irrelevant `/generated/prisma` entry from `apps/portal-bff/.gitignore`. ## Motivation Two distinct Prisma 7 breaking changes surfaced as runtime errors in `pnpm nx serve portal-bff`: 1. **Generator output path:** Prisma 7's default `prisma-client` generator writes to a custom output dir declared in the schema. `@prisma/client/default.js`'s runtime stub still resolves `.prisma/client/default` in a sibling `node_modules/.prisma/client/`, which only the legacy `prisma-client-js` generator populates. Result: `ESM loader error: Cannot find module '.prisma/client/default'`. 2. **PrismaClientOptions API:** In Prisma 7, `PrismaClientOptions` no longer exposes `datasourceUrl` nor `datasources`. The connection must come through a driver adapter (e.g. `@prisma/adapter-pg`). `nestjs-prisma@0.27.0` calls `super(undefined)` when no `prismaServiceOptions` is passed, which Prisma 7 rejects with `PrismaClientInitializationError: PrismaClient needs to be constructed with a non-empty, valid PrismaClientOptions`. Both issues are downstream of Prisma 7's "adapter-first" architecture being incompatible with `nestjs-prisma`'s still-Prisma-6-shaped wrapper. Working around each issue separately would lead into bespoke wiring (custom PrismaService, manual `@prisma/adapter-pg` install, hand-rolled DI). That's bricolage on a foundational layer. Per CLAUDE.md ("default to stable, recognized, battle-tested choices; cutting-edge alternatives only when the trade-off is captured in an ADR"), the cheapest, cleanest fix is to use Prisma 6 — still actively maintained, fully aligned with `nestjs-prisma`'s design, supported by every tutorial and example in the wider ecosystem. ## Implementation notes - ADR-0006 ("Persistence — PostgreSQL with Prisma") specifies "Prisma" without pinning a version. The version choice is a tactical detail. No ADR amendment. - `apps/portal-bff/.env.example` is unchanged — the `DATABASE_URL` variable name is the same in Prisma 6 and 7. - `prisma.config.ts` removed: it was a Prisma 7 file that Prisma 6 ignores; keeping it would only confuse a future contributor. - The Prisma 7 `prisma-client` generator left a residual output dir at `apps/portal-bff/generated/` from the previous setup; removed locally and excluded from gitignore (no longer needed). - Re-evaluate when `nestjs-prisma` releases an update aligned with Prisma 7's adapter model. The path back is symmetric: pin Prisma to `^7`, restore the schema's `prisma-client` generator, install `@prisma/adapter-pg`, and update `app.module.ts` to instantiate the adapter. ## Verification - [x] `pnpm exec prisma generate` populates `node_modules/.../@prisma+client@6.19.3/.prisma/client/default.js` (no more 7.x in the active resolution). - [x] `pnpm nx build portal-bff` green. - [X] `pnpm nx serve portal-bff` boots cleanly (no `PrismaClientInitializationError`) — to be confirmed locally before merge. Connection to a real Postgres is out of scope of this PR; if Postgres is not running, an `ECONNREFUSED` is expected and unrelated. - [ ] `pnpm ci:check` — runs in CI on PR open. ## Related - [ADR-0006 — Persistence: PostgreSQL with Prisma](docs/decisions/0006-persistence-postgresql-prisma.md). Generator and version are tactical; no amendment. - Future: revisit Prisma version when `nestjs-prisma` ships an update with first-class driver-adapter support. --------- Co-authored-by: Julien Gautier Reviewed-on: https://git.unespace.com/julien/apf_portal/pulls/3 --- apps/portal-bff/.gitignore | 2 - apps/portal-bff/prisma.config.ts | 14 - apps/portal-bff/prisma/schema.prisma | 4 +- package.json | 4 +- pnpm-lock.yaml | 782 ++++----------------------- 5 files changed, 124 insertions(+), 682 deletions(-) delete mode 100644 apps/portal-bff/prisma.config.ts diff --git a/apps/portal-bff/.gitignore b/apps/portal-bff/.gitignore index 9f62ec0..11ddd8d 100644 --- a/apps/portal-bff/.gitignore +++ b/apps/portal-bff/.gitignore @@ -1,5 +1,3 @@ node_modules # Keep environment variables out of version control .env - -/generated/prisma diff --git a/apps/portal-bff/prisma.config.ts b/apps/portal-bff/prisma.config.ts deleted file mode 100644 index 831a20f..0000000 --- a/apps/portal-bff/prisma.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This file was generated by Prisma, and assumes you have installed the following: -// npm install --save-dev prisma dotenv -import "dotenv/config"; -import { defineConfig } from "prisma/config"; - -export default defineConfig({ - schema: "prisma/schema.prisma", - migrations: { - path: "prisma/migrations", - }, - datasource: { - url: process.env["DATABASE_URL"], - }, -}); diff --git a/apps/portal-bff/prisma/schema.prisma b/apps/portal-bff/prisma/schema.prisma index 8bddec1..d7d0675 100644 --- a/apps/portal-bff/prisma/schema.prisma +++ b/apps/portal-bff/prisma/schema.prisma @@ -4,10 +4,10 @@ // Get a free hosted Postgres database in seconds: `npx create-db` generator client { - provider = "prisma-client" - output = "../generated/prisma" + provider = "prisma-client-js" } datasource db { provider = "postgresql" + url = env("DATABASE_URL") } diff --git a/package.json b/package.json index 93525f0..5054782 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "nx": "22.7.0", "postcss": "^8.5.12", "prettier": "^3.8.1", - "prisma": "^7.8.0", + "prisma": "^6.19.3", "tailwindcss": "^4.2.4", "ts-jest": "^29.4.0", "ts-node": "10.9.1", @@ -90,7 +90,7 @@ "@nestjs/common": "^11.0.0", "@nestjs/core": "^11.0.0", "@nestjs/platform-express": "^11.0.0", - "@prisma/client": "^7.8.0", + "@prisma/client": "^6.19.3", "axios": "^1.6.0", "class-transformer": "^0.5.1", "class-validator": "^0.15.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 11566ad..4fd76db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,8 +35,8 @@ importers: specifier: ^11.0.0 version: 11.1.19(@nestjs/common@11.1.19(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.19) '@prisma/client': - specifier: ^7.8.0 - version: 7.8.0(prisma@7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3))(typescript@5.9.3) + specifier: ^6.19.3 + version: 6.19.3(prisma@6.19.3(typescript@5.9.3))(typescript@5.9.3) axios: specifier: ^1.6.0 version: 1.15.0 @@ -48,7 +48,7 @@ importers: version: 0.15.1 nestjs-prisma: specifier: ^0.27.0 - version: 0.27.0(@nestjs/common@11.1.19(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@prisma/client@7.8.0(prisma@7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3))(typescript@5.9.3))(chokidar@5.0.0)(prisma@7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3)) + version: 0.27.0(@nestjs/common@11.1.19(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@prisma/client@6.19.3(prisma@6.19.3(typescript@5.9.3))(typescript@5.9.3))(chokidar@5.0.0)(prisma@6.19.3(typescript@5.9.3)) reflect-metadata: specifier: ^0.1.13 version: 0.1.14 @@ -216,8 +216,8 @@ importers: specifier: ^3.8.1 version: 3.8.3 prisma: - specifier: ^7.8.0 - version: 7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3) + specifier: ^6.19.3 + version: 6.19.3(typescript@5.9.3) tailwindcss: specifier: ^4.2.4 version: 4.2.4 @@ -1939,29 +1939,6 @@ packages: } engines: { node: '>=10.0.0' } - '@electric-sql/pglite-socket@0.1.1': - resolution: - { - integrity: sha512-p2hoXw3Z3LQHwTeikdZNsFBOvXGqKY2hk51BBw+8NKND8eoH+8LFOtW9Z8CQKmTJ2qqGYu82ipqiyFZOTTXNfw==, - } - hasBin: true - peerDependencies: - '@electric-sql/pglite': 0.4.1 - - '@electric-sql/pglite-tools@0.3.1': - resolution: - { - integrity: sha512-C+T3oivmy9bpQvSxVqXA1UDY8cB9Eb9vZHL9zxWwEUfDixbXv4G3r2LjoTdR33LD8aomR3O9ZXEO3XEwr/cUCA==, - } - peerDependencies: - '@electric-sql/pglite': 0.4.1 - - '@electric-sql/pglite@0.4.1': - resolution: - { - integrity: sha512-mZ9NzzUSYPOCnxHH1oAHPRzoMFJHY472raDKwXl/+6oPbpdJ7g8LsCN4FSaIIfkiCKHhb3iF/Zqo3NYxaIhU7Q==, - } - '@emnapi/core@1.10.0': resolution: { @@ -2352,15 +2329,6 @@ packages: integrity: sha512-sSAYhQca3rDWtQUHSAPeO7axFIUJOI6hn1gjRC5APVE1a90tuyT8f5WIgRsFhhWA7htNkju2veB9eWL6YHi/Lw==, } - '@hono/node-server@1.19.11': - resolution: - { - integrity: sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==, - } - engines: { node: '>=18.14.1' } - peerDependencies: - hono: ^4 - '@hono/node-server@1.19.14': resolution: { @@ -2981,12 +2949,6 @@ packages: peerDependencies: tslib: '2' - '@kurkle/color@0.3.4': - resolution: - { - integrity: sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==, - } - '@leichtgewicht/ip-codec@2.0.5': resolution: { @@ -4456,105 +4418,57 @@ packages: integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==, } - '@prisma/client-runtime-utils@7.8.0': + '@prisma/client@6.19.3': resolution: { - integrity: sha512-5NQZztQ0oY/ADFkmd9gPuweH5A1/CCY8YQPorLLO0Mu6a87mY5gsnDkzmFmIHs9NFaLnZojzgddFVN4RpKYrdw==, + integrity: sha512-mKq3jQFhjvko5LTJFHGilsuQs+W+T3Gm451NzuTDGQxwCzwXHYnIu2zGkRoW+Exq3Rob7yp2MfzSrdIiZVhrBg==, } - - '@prisma/client@7.8.0': - resolution: - { - integrity: sha512-HFp3Dawv/3sU3JtlPha90IB+48lS7zHiH4LKZPjmcE8YH5P9DOXGPvo8dqOtO7MqLDd1p2hOWMcFlRT1DMblHw==, - } - engines: { node: ^20.19 || ^22.12 || >=24.0 } + engines: { node: '>=18.18' } peerDependencies: prisma: '*' - typescript: '>=5.4.0' + typescript: '>=5.1.0' peerDependenciesMeta: prisma: optional: true typescript: optional: true - '@prisma/config@7.8.0': + '@prisma/config@6.19.3': resolution: { - integrity: sha512-HFESzd9rx2ZQxlK+TL7tu1HPvCqrHiL6LCxYykI2c34mvaUuIVVl3lYuicJD/MNnzgPnyeBEMlK4WTomJCV5jw==, + integrity: sha512-CBPT44BjlQxEt8kiMEauji2WHTDoVBOKl7UlewXmUgBPnr/oPRZC3psci5chJnYmH0ivEIog2OU9PGWoki3DLQ==, } - '@prisma/debug@7.2.0': + '@prisma/debug@6.19.3': resolution: { - integrity: sha512-YSGTiSlBAVJPzX4ONZmMotL+ozJwQjRmZweQNIq/ER0tQJKJynNkRB3kyvt37eOfsbMCXk3gnLF6J9OJ4QWftw==, + integrity: sha512-ljkJ+SgpXNktLG0Q/n4JGYCkKf0f8oYLyjImS2I8e2q2WCfdRRtWER062ZV/ixaNP2M2VKlWXVJiGzZaUgbKZw==, } - '@prisma/debug@7.8.0': + '@prisma/engines-version@7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7': resolution: { - integrity: sha512-p+QZReysDUqXC+mk17q9a+Y/qzh4c2KYliDK30buYUyfrGeTGSyfmc0AIrJRhZJrLHhRiJa9Au/J72h3C+szvA==, + integrity: sha512-03bgb1VD5gvuumNf+7fVGBzfpJPjmqV423l/WxsWk2cNQ42JD0/SsFBPhN6z8iAvdHs07/7ei77SKu7aZfq8bA==, } - '@prisma/dev@0.24.3': + '@prisma/engines@6.19.3': resolution: { - integrity: sha512-ffHlQuKXZiaDt9Go0OnCTdJZrHxK0k7omJKNV86/VjpsXu5EIHZLK0T7JSWgvNlJwh56kW9JFu9v0qJciFzepg==, + integrity: sha512-RSYxtlYFl5pJ8ZePgMv0lZ9IzVCOdTPOegrs2qcbAEFrBI1G33h6wyC9kjQvo0DnYEhEVY0X4LsuFHXLKQk88g==, } - '@prisma/engines-version@7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a': + '@prisma/fetch-engine@6.19.3': resolution: { - integrity: sha512-fJPQxCkLgA5EayWaW8eArgCvjJ+N+Kz3VyeNKMEeYiQC4alNkxRKFVAGxv/ZUzuJISKqdw+zGeDbS6mn6RCPOA==, + integrity: sha512-tKtl/qco9Nt7LU5iKhpultD8O4vMCZcU2CHjNTnRrL1QvSUr5W/GcyFPjNL87GtRrwBc7ubXXD9xy4EvLvt8JA==, } - '@prisma/engines@7.8.0': + '@prisma/get-platform@6.19.3': resolution: { - integrity: sha512-jx3rCnNNrt5uzbkKlegtQ2GZHxSlihMCzutgT/BP6UIDF1r9tDI39hV/0T/cHZgzJ3ELbuQPXlVZy+Y1n0pcgw==, + integrity: sha512-xFj1VcJ1N3MKooOQAGO0W5tsd0W2QzIvW7DD7c/8H14Zmp4jseeWAITm+w2LLoLrlhoHdPPh0NMZ8mfL6puoHA==, } - '@prisma/fetch-engine@7.8.0': - resolution: - { - integrity: sha512-gwB0Euiz/DDRyxFRpLXYlK3RfaZUj1c5dAYMuhZYfApg7arknJlcb9bIsOHDppJmbqYaVA+yBIiFMDBfprsNPQ==, - } - - '@prisma/get-platform@7.2.0': - resolution: - { - integrity: sha512-k1V0l0Td1732EHpAfi2eySTezyllok9dXb6UQanajkJQzPUGi3vO2z7jdkz67SypFTdmbnyGYxvEvYZdZsMAVA==, - } - - '@prisma/get-platform@7.8.0': - resolution: - { - integrity: sha512-WlxgRGnolL8VH2EmkH1R/DkKNr/mVdS3G2h42IZFFZ3eUrH9OT6t73kIOSlkkrv50wG123Iq8d96ufv5LlZktw==, - } - - '@prisma/query-plan-executor@7.2.0': - resolution: - { - integrity: sha512-EOZmNzcV8uJ0mae3DhTsiHgoNCuu1J9mULQpGCh62zN3PxPTd+qI9tJvk5jOst8WHKQNwJWR3b39t0XvfBB0WQ==, - } - - '@prisma/streams-local@0.1.2': - resolution: - { - integrity: sha512-l49yTxKKF2odFxaAXTmwmkBKL3+bVQ1tFOooGifu4xkdb9NMNLxHj27XAhTylWZod8I+ISGM5erU1xcl/oBCtg==, - } - engines: { bun: '>=1.3.6', node: '>=22.0.0' } - - '@prisma/studio-core@0.27.3': - resolution: - { - integrity: sha512-AADjNFPdsrglxHQVTmHFqv6DuKQZ5WY4p5/gVFY017twvNrSwpLJ9lqUbYYxEu2W7nbvVxTZA8deJ8LseNALsw==, - } - engines: { node: ^20.19 || ^22.12 || >=24.0, pnpm: '8' } - peerDependencies: - '@types/react': ^18.0.0 || ^19.0.0 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - '@puppeteer/browsers@2.13.0': resolution: { @@ -4563,104 +4477,6 @@ packages: engines: { node: '>=18' } hasBin: true - '@radix-ui/primitive@1.1.3': - resolution: - { - integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==, - } - - '@radix-ui/react-compose-refs@1.1.2': - resolution: - { - integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==, - } - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-primitive@2.1.3': - resolution: - { - integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==, - } - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-slot@1.2.3': - resolution: - { - integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==, - } - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-toggle@1.1.10': - resolution: - { - integrity: sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==, - } - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - - '@radix-ui/react-use-controllable-state@1.2.2': - resolution: - { - integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==, - } - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-use-effect-event@0.0.2': - resolution: - { - integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==, - } - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-use-layout-effect@1.1.1': - resolution: - { - integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==, - } - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@rolldown/binding-android-arm64@1.0.0-rc.17': resolution: { @@ -5961,12 +5777,6 @@ packages: integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==, } - '@types/react@19.2.14': - resolution: - { - integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==, - } - '@types/retry@0.12.2': resolution: { @@ -6879,13 +6689,6 @@ packages: peerDependencies: postcss: ^8.1.0 - aws-ssl-profiles@1.1.2: - resolution: - { - integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==, - } - engines: { node: '>= 6.0.0' } - axe-core@4.11.4: resolution: { @@ -7139,12 +6942,6 @@ packages: } engines: { node: '>=18.0.0' } - better-result@2.9.0: - resolution: - { - integrity: sha512-NHwGDGVbRlWDOce3CwcfGIrcNR9zY37ut3SVwQVfv57DZdVhxjhA4mfaHN1n8QwWnRAR4iErpW1X/eaiaUaFYg==, - } - bidi-js@1.0.3: resolution: { @@ -7289,13 +7086,13 @@ packages: } engines: { node: '>=6.0.0' } - c12@3.3.4: + c12@3.1.0: resolution: { - integrity: sha512-cM0ApFQSBXuourJejzwv/AuPRvAxordTyParRVcHjjtXirtkzM0uK2L9TTn9s0cXZbG7E55jCivRQzoxYmRAlA==, + integrity: sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==, } peerDependencies: - magicast: '*' + magicast: ^0.3.5 peerDependenciesMeta: magicast: optional: true @@ -7401,13 +7198,6 @@ packages: integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==, } - chart.js@4.5.1: - resolution: - { - integrity: sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==, - } - engines: { pnpm: '>=8' } - chokidar@3.6.0: resolution: { @@ -7472,6 +7262,18 @@ packages: } engines: { node: '>=8' } + citty@0.1.6: + resolution: + { + integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==, + } + + citty@0.2.2: + resolution: + { + integrity: sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==, + } + cjs-module-lexer@2.2.0: resolution: { @@ -8087,12 +7889,6 @@ packages: } engines: { node: '>=20' } - csstype@3.2.3: - resolution: - { - integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==, - } - data-uri-to-buffer@6.0.2: resolution: { @@ -8240,13 +8036,6 @@ packages: } engines: { node: '>=0.4.0' } - denque@2.1.0: - resolution: - { - integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==, - } - engines: { node: '>=0.10' } - depd@1.1.2: resolution: { @@ -8374,10 +8163,10 @@ packages: } engines: { node: '>=12' } - dotenv@17.4.2: + dotenv@16.6.1: resolution: { - integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==, + integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==, } engines: { node: '>=12' } @@ -8400,10 +8189,10 @@ packages: integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, } - effect@3.20.0: + effect@3.21.0: resolution: { - integrity: sha512-qMLfDJscrNG8p/aw+IkT9W7fgj50Z4wG5bLBy0Txsxz8iUHjDIkOgO3SV0WZfnQbNG2VJYb0b+rDLMrhM4+Krw==, + integrity: sha512-PPN80qRokCd1f015IANNhrwOnLO7GrrMQfk4/lnZRE/8j7UPWrNNjPV0uBrZutI/nHzernbW+J0hdqQysHiSnQ==, } ejs@5.0.1: @@ -8527,13 +8316,6 @@ packages: } engines: { node: '>=6' } - env-paths@3.0.0: - resolution: - { - integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - envinfo@7.21.0: resolution: { @@ -9263,12 +9045,6 @@ packages: integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, } - generate-function@2.3.1: - resolution: - { - integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==, - } - gensync@1.0.0-beta.2: resolution: { @@ -9304,12 +9080,6 @@ packages: } engines: { node: '>=8.0.0' } - get-port-please@3.2.0: - resolution: - { - integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==, - } - get-proto@1.0.1: resolution: { @@ -9344,10 +9114,10 @@ packages: } engines: { node: '>= 14' } - giget@3.2.0: + giget@2.0.0: resolution: { - integrity: sha512-GvHTWcykIR/fP8cj8dMpuMMkvaeJfPvYnhq0oW+chSeIr+ldX21ifU2Ms6KBoyKZQZmVaUAAhQ2EZ68KJF8a7A==, + integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==, } hasBin: true @@ -9465,18 +9235,6 @@ packages: integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, } - grammex@3.1.12: - resolution: - { - integrity: sha512-6ufJOsSA7LcQehIJNCO7HIBykfM7DXQual0Ny780/DEcJIpBlHRvcqEBWGPYd7hrXL2GJ3oJI1MIhaXjWmLQOQ==, - } - - graphmatch@1.1.1: - resolution: - { - integrity: sha512-5ykVn/EXM1hF0XCaWh05VbYvEiOL2lY1kBxZtaYsyvjp7cmWOU1XsAdfQBwClraEofXDT197lFbXOEVMHpvQOg==, - } - handle-thing@2.0.1: resolution: { @@ -9679,12 +9437,6 @@ packages: engines: { node: '>=12' } hasBin: true - http-status-codes@2.3.0: - resolution: - { - integrity: sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==, - } - https-proxy-agent@7.0.6: resolution: { @@ -10074,12 +9826,6 @@ packages: integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==, } - is-property@1.0.2: - resolution: - { - integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==, - } - is-stream@2.0.1: resolution: { @@ -10995,12 +10741,6 @@ packages: integrity: sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w==, } - long@5.3.2: - resolution: - { - integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==, - } - lookup-closest-locale@6.2.0: resolution: { @@ -11033,13 +10773,6 @@ packages: } engines: { node: '>=12' } - lru.min@1.1.4: - resolution: - { - integrity: sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==, - } - engines: { bun: '>=1.0.0', deno: '>=1.30.0', node: '>=8.0.0' } - luxon@3.7.2: resolution: { @@ -11458,20 +11191,6 @@ packages: } engines: { node: ^18.17.0 || >=20.5.0 } - mysql2@3.15.3: - resolution: - { - integrity: sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg==, - } - engines: { node: '>= 8.0' } - - named-placeholders@1.1.6: - resolution: - { - integrity: sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==, - } - engines: { node: '>=8.0.0' } - nanoid@3.3.11: resolution: { @@ -11564,6 +11283,12 @@ packages: integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==, } + node-fetch-native@1.6.7: + resolution: + { + integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==, + } + node-fetch@2.7.0: resolution: { @@ -11724,6 +11449,14 @@ packages: '@swc/core': optional: true + nypm@0.6.6: + resolution: + { + integrity: sha512-vRyr0r4cbBapw07Xw8xrj9Teq3o7MUD35rSaTcanDbW+aK2XHDgJFiU6ZTj2GBw7Q12ysdsyFss+Vdz4hQ0Y6Q==, + } + engines: { node: '>=18' } + hasBin: true + object-assign@4.1.1: resolution: { @@ -12113,10 +11846,10 @@ packages: integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==, } - perfect-debounce@2.1.0: + perfect-debounce@1.0.0: resolution: { - integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==, + integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==, } picocolors@1.1.1: @@ -12570,13 +12303,6 @@ packages: } engines: { node: ^10 || ^12 || >=14 } - postgres@3.4.7: - resolution: - { - integrity: sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw==, - } - engines: { node: '>=12' } - prelude-ls@1.2.1: resolution: { @@ -12599,19 +12325,16 @@ packages: } engines: { node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0 } - prisma@7.8.0: + prisma@6.19.3: resolution: { - integrity: sha512-yfN4yrw7HV9kEJhoy1+jgah0jafEIQsf7uWouSsM8MvJtlubsk+kM7AIBWZ8+GJl74Yj3c+nbYqBkMOxtsZ3Lw==, + integrity: sha512-++ZJ0ijLrDJF6hNB4t4uxg2br3fC4H9Yc9tcbjr2fcNFP3rh/SBNrAgjhsqBU4Ght8JPrVofG/ZkXfnSfnYsFg==, } - engines: { node: ^20.19 || ^22.12 || >=24.0 } + engines: { node: '>=18.18' } hasBin: true peerDependencies: - better-sqlite3: '>=9.0.0' - typescript: '>=5.4.0' + typescript: '>=5.1.0' peerDependenciesMeta: - better-sqlite3: - optional: true typescript: optional: true @@ -12642,12 +12365,6 @@ packages: } engines: { node: '>=10' } - proper-lockfile@4.1.2: - resolution: - { - integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==, - } - proxy-addr@2.0.7: resolution: { @@ -12767,20 +12484,12 @@ packages: } engines: { node: '>= 0.10' } - rc9@3.0.1: + rc9@2.1.2: resolution: { - integrity: sha512-gMDyleLWVE+i6Sgtc0QbbY6pEKqYs97NGi6isHQPqYlLemPoO8dxQ3uGi0f4NiP98c+jMW6cG1Kx9dDwfvqARQ==, + integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==, } - react-dom@19.2.5: - resolution: - { - integrity: sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==, - } - peerDependencies: - react: ^19.2.5 - react-is@18.3.1: resolution: { @@ -12794,13 +12503,6 @@ packages: } engines: { node: '>=0.10.0' } - react@19.2.5: - resolution: - { - integrity: sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==, - } - engines: { node: '>=0.10.0' } - read-cache@1.0.0: resolution: { @@ -12893,12 +12595,6 @@ packages: } hasBin: true - remeda@2.33.4: - resolution: - { - integrity: sha512-ygHswjlc/opg2VrtiYvUOPLjxjtdKvjGz1/plDhkG66hjNjFr1xmfrs2ClNFo/E6TyUFiwYNh53bKV26oBoMGQ==, - } - require-directory@2.1.1: resolution: { @@ -13362,12 +13058,6 @@ packages: } engines: { node: '>=v12.22.7' } - scheduler@0.27.0: - resolution: - { - integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==, - } - schema-utils@3.3.0: resolution: { @@ -13459,12 +13149,6 @@ packages: } engines: { node: '>= 18' } - seq-queue@0.0.5: - resolution: - { - integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==, - } - serialize-javascript@7.0.5: resolution: { @@ -13774,13 +13458,6 @@ packages: integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, } - sqlstring@2.3.3: - resolution: - { - integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==, - } - engines: { node: '>= 0.6' } - ssri@13.0.1: resolution: { @@ -13821,12 +13498,6 @@ packages: } engines: { node: '>= 0.8' } - std-env@3.10.0: - resolution: - { - integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==, - } - std-env@4.1.0: resolution: { @@ -14727,17 +14398,6 @@ packages: } engines: { node: '>=10.12.0' } - valibot@1.2.0: - resolution: - { - integrity: sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==, - } - peerDependencies: - typescript: '>=5' - peerDependenciesMeta: - typescript: - optional: true - validate-npm-package-name@7.0.2: resolution: { @@ -15424,12 +15084,6 @@ packages: } engines: { node: '>=18' } - zeptomatch@2.1.0: - resolution: - { - integrity: sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA==, - } - zod-to-json-schema@3.25.2: resolution: { @@ -16793,16 +16447,6 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@electric-sql/pglite-socket@0.1.1(@electric-sql/pglite@0.4.1)': - dependencies: - '@electric-sql/pglite': 0.4.1 - - '@electric-sql/pglite-tools@0.3.1(@electric-sql/pglite@0.4.1)': - dependencies: - '@electric-sql/pglite': 0.4.1 - - '@electric-sql/pglite@0.4.1': {} - '@emnapi/core@1.10.0': dependencies: '@emnapi/wasi-threads': 1.2.1 @@ -16989,10 +16633,6 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.11(hono@4.12.16)': - dependencies: - hono: 4.12.16 - '@hono/node-server@1.19.14(hono@4.12.16)': dependencies: hono: 4.12.16 @@ -17496,8 +17136,6 @@ snapshots: '@jsonjoy.com/codegen': 17.67.0(tslib@2.8.1) tslib: 2.8.1 - '@kurkle/color@0.3.4': {} - '@leichtgewicht/ip-codec@2.0.5': {} '@lhci/cli@0.15.1(encoding@0.1.13)': @@ -19006,91 +18644,40 @@ snapshots: '@polka/url@1.0.0-next.29': {} - '@prisma/client-runtime-utils@7.8.0': {} - - '@prisma/client@7.8.0(prisma@7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3))(typescript@5.9.3)': - dependencies: - '@prisma/client-runtime-utils': 7.8.0 + '@prisma/client@6.19.3(prisma@6.19.3(typescript@5.9.3))(typescript@5.9.3)': optionalDependencies: - prisma: 7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3) + prisma: 6.19.3(typescript@5.9.3) typescript: 5.9.3 - '@prisma/config@7.8.0(magicast@0.5.2)': + '@prisma/config@6.19.3': dependencies: - c12: 3.3.4(magicast@0.5.2) + c12: 3.1.0 deepmerge-ts: 7.1.5 - effect: 3.20.0 + effect: 3.21.0 empathic: 2.0.0 transitivePeerDependencies: - magicast - '@prisma/debug@7.2.0': {} + '@prisma/debug@6.19.3': {} - '@prisma/debug@7.8.0': {} + '@prisma/engines-version@7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7': {} - '@prisma/dev@0.24.3(typescript@5.9.3)': + '@prisma/engines@6.19.3': dependencies: - '@electric-sql/pglite': 0.4.1 - '@electric-sql/pglite-socket': 0.1.1(@electric-sql/pglite@0.4.1) - '@electric-sql/pglite-tools': 0.3.1(@electric-sql/pglite@0.4.1) - '@hono/node-server': 1.19.11(hono@4.12.16) - '@prisma/get-platform': 7.2.0 - '@prisma/query-plan-executor': 7.2.0 - '@prisma/streams-local': 0.1.2 - foreground-child: 3.3.1 - get-port-please: 3.2.0 - hono: 4.12.16 - http-status-codes: 2.3.0 - pathe: 2.0.3 - proper-lockfile: 4.1.2 - remeda: 2.33.4 - std-env: 3.10.0 - valibot: 1.2.0(typescript@5.9.3) - zeptomatch: 2.1.0 - transitivePeerDependencies: - - typescript + '@prisma/debug': 6.19.3 + '@prisma/engines-version': 7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + '@prisma/fetch-engine': 6.19.3 + '@prisma/get-platform': 6.19.3 - '@prisma/engines-version@7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a': {} - - '@prisma/engines@7.8.0': + '@prisma/fetch-engine@6.19.3': dependencies: - '@prisma/debug': 7.8.0 - '@prisma/engines-version': 7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a - '@prisma/fetch-engine': 7.8.0 - '@prisma/get-platform': 7.8.0 + '@prisma/debug': 6.19.3 + '@prisma/engines-version': 7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + '@prisma/get-platform': 6.19.3 - '@prisma/fetch-engine@7.8.0': + '@prisma/get-platform@6.19.3': dependencies: - '@prisma/debug': 7.8.0 - '@prisma/engines-version': 7.8.0-6.3c6e192761c0362d496ed980de936e2f3cebcd3a - '@prisma/get-platform': 7.8.0 - - '@prisma/get-platform@7.2.0': - dependencies: - '@prisma/debug': 7.2.0 - - '@prisma/get-platform@7.8.0': - dependencies: - '@prisma/debug': 7.8.0 - - '@prisma/query-plan-executor@7.2.0': {} - - '@prisma/streams-local@0.1.2': - dependencies: - ajv: 8.20.0 - better-result: 2.9.0 - env-paths: 3.0.0 - proper-lockfile: 4.1.2 - - '@prisma/studio-core@0.27.3(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': - dependencies: - '@radix-ui/react-toggle': 1.1.10(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@types/react': 19.2.14 - chart.js: 4.5.1 - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - transitivePeerDependencies: - - '@types/react-dom' + '@prisma/debug': 6.19.3 '@puppeteer/browsers@2.13.0': dependencies: @@ -19107,60 +18694,6 @@ snapshots: - react-native-b4a - supports-color - '@radix-ui/primitive@1.1.3': {} - - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.14)(react@19.2.5)': - dependencies: - react: 19.2.5 - optionalDependencies: - '@types/react': 19.2.14 - - '@radix-ui/react-primitive@2.1.3(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': - dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.5) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - optionalDependencies: - '@types/react': 19.2.14 - - '@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.2.5)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.5) - react: 19.2.5 - optionalDependencies: - '@types/react': 19.2.14 - - '@radix-ui/react-toggle@1.1.10(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': - dependencies: - '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.14)(react@19.2.5) - react: 19.2.5 - react-dom: 19.2.5(react@19.2.5) - optionalDependencies: - '@types/react': 19.2.14 - - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.14)(react@19.2.5)': - dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.5) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) - react: 19.2.5 - optionalDependencies: - '@types/react': 19.2.14 - - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.14)(react@19.2.5)': - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.5) - react: 19.2.5 - optionalDependencies: - '@types/react': 19.2.14 - - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.2.5)': - dependencies: - react: 19.2.5 - optionalDependencies: - '@types/react': 19.2.14 - '@rolldown/binding-android-arm64@1.0.0-rc.17': optional: true @@ -19842,10 +19375,6 @@ snapshots: '@types/range-parser@1.2.7': {} - '@types/react@19.2.14': - dependencies: - csstype: 3.2.3 - '@types/retry@0.12.2': {} '@types/semver@7.5.8': {} @@ -20424,8 +19953,6 @@ snapshots: postcss: 8.5.12 postcss-value-parser: 4.2.0 - aws-ssl-profiles@1.1.2: {} - axe-core@4.11.4: {} axios@1.15.0: @@ -20613,8 +20140,6 @@ snapshots: postcss-media-query-parser: 0.2.3 postcss-safe-parser: 7.0.1(postcss@8.5.12) - better-result@2.9.0: {} - bidi-js@1.0.3: dependencies: require-from-string: 2.0.2 @@ -20721,22 +20246,20 @@ snapshots: bytestreamjs@2.0.1: {} - c12@3.3.4(magicast@0.5.2): + c12@3.1.0: dependencies: - chokidar: 5.0.0 + chokidar: 4.0.3 confbox: 0.2.4 defu: 6.1.7 - dotenv: 17.4.2 + dotenv: 16.6.1 exsolve: 1.0.8 - giget: 3.2.0 + giget: 2.0.0 jiti: 2.6.1 ohash: 2.0.11 pathe: 2.0.3 - perfect-debounce: 2.1.0 + perfect-debounce: 1.0.0 pkg-types: 2.3.1 - rc9: 3.0.1 - optionalDependencies: - magicast: 0.5.2 + rc9: 2.1.2 cacache@20.0.4: dependencies: @@ -20797,10 +20320,6 @@ snapshots: chardet@2.1.1: {} - chart.js@4.5.1: - dependencies: - '@kurkle/color': 0.3.4 - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -20853,6 +20372,12 @@ snapshots: ci-info@4.4.0: {} + citty@0.1.6: + dependencies: + consola: 3.4.2 + + citty@0.2.2: {} + cjs-module-lexer@2.2.0: {} class-transformer@0.5.1: {} @@ -21231,8 +20756,6 @@ snapshots: css-tree: 3.2.1 lru-cache: 11.3.5 - csstype@3.2.3: {} - data-uri-to-buffer@6.0.2: {} data-urls@6.0.1: @@ -21291,8 +20814,6 @@ snapshots: delayed-stream@1.0.0: {} - denque@2.1.0: {} - depd@1.1.2: {} depd@2.0.0: {} @@ -21352,7 +20873,7 @@ snapshots: dotenv@16.4.7: {} - dotenv@17.4.2: {} + dotenv@16.6.1: {} dunder-proto@1.0.1: dependencies: @@ -21364,7 +20885,7 @@ snapshots: ee-first@1.1.1: {} - effect@3.20.0: + effect@3.21.0: dependencies: '@standard-schema/spec': 1.1.0 fast-check: 3.23.2 @@ -21414,8 +20935,6 @@ snapshots: env-paths@2.2.1: {} - env-paths@3.0.0: {} - envinfo@7.21.0: {} environment@1.1.0: {} @@ -21948,10 +21467,6 @@ snapshots: function-bind@1.1.2: {} - generate-function@2.3.1: - dependencies: - is-property: 1.0.2 - gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -21973,8 +21488,6 @@ snapshots: get-package-type@0.1.0: {} - get-port-please@3.2.0: {} - get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 @@ -21996,7 +21509,14 @@ snapshots: transitivePeerDependencies: - supports-color - giget@3.2.0: {} + giget@2.0.0: + dependencies: + citty: 0.1.6 + consola: 3.4.2 + defu: 6.1.7 + node-fetch-native: 1.6.7 + nypm: 0.6.6 + pathe: 2.0.3 git-raw-commits@5.0.1(conventional-commits-parser@6.4.0): dependencies: @@ -22074,10 +21594,6 @@ snapshots: graceful-fs@4.2.11: {} - grammex@3.1.12: {} - - graphmatch@1.1.1: {} - handle-thing@2.0.1: {} handlebars@4.7.9: @@ -22228,8 +21744,6 @@ snapshots: - debug - supports-color - http-status-codes@2.3.0: {} - https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 @@ -22400,8 +21914,6 @@ snapshots: is-promise@4.0.0: {} - is-property@1.0.2: {} - is-stream@2.0.1: {} is-typedarray@1.0.0: {} @@ -23156,8 +22668,6 @@ snapshots: long-timeout@0.1.1: {} - long@5.3.2: {} - lookup-closest-locale@6.2.0: {} lru-cache@10.4.3: {} @@ -23170,8 +22680,6 @@ snapshots: lru-cache@7.18.3: {} - lru.min@1.1.4: {} - luxon@3.7.2: {} magic-string@0.25.7: @@ -23405,22 +22913,6 @@ snapshots: mute-stream@2.0.0: {} - mysql2@3.15.3: - dependencies: - aws-ssl-profiles: 1.1.2 - denque: 2.1.0 - generate-function: 2.3.1 - iconv-lite: 0.7.2 - long: 5.3.2 - lru.min: 1.1.4 - named-placeholders: 1.1.6 - seq-queue: 0.0.5 - sqlstring: 2.3.3 - - named-placeholders@1.1.6: - dependencies: - lru.min: 1.1.4 - nanoid@3.3.11: {} napi-postinstall@0.3.4: {} @@ -23441,14 +22933,14 @@ snapshots: neo-async@2.6.2: {} - nestjs-prisma@0.27.0(@nestjs/common@11.1.19(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@prisma/client@7.8.0(prisma@7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3))(typescript@5.9.3))(chokidar@5.0.0)(prisma@7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3)): + nestjs-prisma@0.27.0(@nestjs/common@11.1.19(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.1.14)(rxjs@7.8.2))(@prisma/client@6.19.3(prisma@6.19.3(typescript@5.9.3))(typescript@5.9.3))(chokidar@5.0.0)(prisma@6.19.3(typescript@5.9.3)): dependencies: '@angular-devkit/core': 13.3.11(chokidar@5.0.0) '@angular-devkit/schematics': 13.3.11(chokidar@5.0.0) '@nestjs/common': 11.1.19(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@prisma/client': 7.8.0(prisma@7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3))(typescript@5.9.3) + '@prisma/client': 6.19.3(prisma@6.19.3(typescript@5.9.3))(typescript@5.9.3) '@schematics/angular': 13.3.11(chokidar@5.0.0) - prisma: 7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3) + prisma: 6.19.3(typescript@5.9.3) transitivePeerDependencies: - chokidar @@ -23462,6 +22954,8 @@ snapshots: node-addon-api@7.1.1: optional: true + node-fetch-native@1.6.7: {} + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 @@ -23810,6 +23304,12 @@ snapshots: transitivePeerDependencies: - debug + nypm@0.6.6: + dependencies: + citty: 0.2.2 + pathe: 2.0.3 + tinyexec: 1.1.2 + object-assign@4.1.1: {} object-inspect@1.13.4: {} @@ -24079,7 +23579,7 @@ snapshots: pend@1.2.0: {} - perfect-debounce@2.1.0: {} + perfect-debounce@1.0.0: {} picocolors@1.1.1: {} @@ -24350,8 +23850,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postgres@3.4.7: {} - prelude-ls@1.2.1: {} prettier@3.8.3: {} @@ -24362,22 +23860,14 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - prisma@7.8.0(@types/react@19.2.14)(magicast@0.5.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(typescript@5.9.3): + prisma@6.19.3(typescript@5.9.3): dependencies: - '@prisma/config': 7.8.0(magicast@0.5.2) - '@prisma/dev': 0.24.3(typescript@5.9.3) - '@prisma/engines': 7.8.0 - '@prisma/studio-core': 0.27.3(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) - mysql2: 3.15.3 - postgres: 3.4.7 + '@prisma/config': 6.19.3 + '@prisma/engines': 6.19.3 optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' - magicast - - react - - react-dom proc-log@6.1.0: {} @@ -24390,12 +23880,6 @@ snapshots: err-code: 2.0.3 retry: 0.12.0 - proper-lockfile@4.1.2: - dependencies: - graceful-fs: 4.2.11 - retry: 0.12.0 - signal-exit: 3.0.7 - proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -24481,22 +23965,15 @@ snapshots: iconv-lite: 0.7.2 unpipe: 1.0.0 - rc9@3.0.1: + rc9@2.1.2: dependencies: defu: 6.1.7 destr: 2.0.5 - react-dom@19.2.5(react@19.2.5): - dependencies: - react: 19.2.5 - scheduler: 0.27.0 - react-is@18.3.1: {} react-refresh@0.18.0: {} - react@19.2.5: {} - read-cache@1.0.0: dependencies: pify: 2.3.0 @@ -24554,8 +24031,6 @@ snapshots: dependencies: jsesc: 3.1.0 - remeda@2.33.4: {} - require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -24853,8 +24328,6 @@ snapshots: dependencies: xmlchars: 2.2.0 - scheduler@0.27.0: {} - schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.15 @@ -24931,8 +24404,6 @@ snapshots: transitivePeerDependencies: - supports-color - seq-queue@0.0.5: {} - serialize-javascript@7.0.5: {} serve-index@1.9.2: @@ -25142,8 +24613,6 @@ snapshots: sprintf-js@1.0.3: {} - sqlstring@2.3.3: {} - ssri@13.0.1: dependencies: minipass: 7.1.3 @@ -25160,8 +24629,6 @@ snapshots: statuses@2.0.2: {} - std-env@3.10.0: {} - std-env@4.1.0: {} stdin-discarder@0.3.2: {} @@ -25704,10 +25171,6 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 - valibot@1.2.0(typescript@5.9.3): - optionalDependencies: - typescript: 5.9.3 - validate-npm-package-name@7.0.2: {} validator@13.15.35: {} @@ -26116,11 +25579,6 @@ snapshots: yoctocolors@2.1.2: {} - zeptomatch@2.1.0: - dependencies: - grammex: 3.1.12 - graphmatch: 1.1.1 - zod-to-json-schema@3.25.2(zod@4.3.6): dependencies: zod: 4.3.6