From 9aa4854c5d752086004078b1927513a2bba43a94 Mon Sep 17 00:00:00 2001 From: SegaraRai <29276700+SegaraRai@users.noreply.github.com> Date: Fri, 31 Jul 2026 09:23:34 +0900 Subject: [PATCH 1/2] chore: remove Bun and migrate tooling to Vite+ --- .github/workflows/publish.yml | 2 - .github/workflows/test.yml | 2 - WORKSPACE.md | 6 +- packages/core/README.md | 20 +- .../meta/0000_snapshot.json | 9 +- .../migrations.e2e-binary/meta/_journal.json | 4 +- .../meta/0000_snapshot.json | 9 +- .../migrations.e2e-string/meta/_journal.json | 4 +- .../migrations/meta/0000_snapshot.json | 72 +- .../drizzle/migrations/meta/_journal.json | 4 +- packages/core/examples/common/client-base.ts | 2 +- .../examples/core-only/client.string.test.ts | 2 +- .../drizzle-orm-sync/client.binary.test.ts | 2 +- .../drizzle-orm-sync/client.string.test.ts | 2 +- .../drizzle-orm-sync/entrypoint.all.ts | 8 +- .../drizzle-orm-sync/server.binary.ts | 4 +- .../drizzle-orm-sync/server.string.ts | 4 +- .../drizzle-orm/client.binary.test.ts | 2 +- .../drizzle-orm/client.string.test.ts | 2 +- .../index-performance.binary.test.ts | 2 +- .../index-performance.string.test.ts | 2 +- .../drizzle-orm/sorting.binary.test.ts | 2 +- .../examples/prisma/client.binary.test.ts | 2 +- .../examples/prisma/client.string.test.ts | 2 +- packages/core/examples/rolldown.config.ts | 3 +- packages/core/package.json | 6 +- packages/core/prisma.config.ts | 3 + .../prisma/migrations/migration_lock.toml | 2 +- packages/core/prisma/schema.prisma | 2 +- packages/core/public/llms-full.txt | 10 +- packages/core/public/llms.txt | 2 +- packages/core/scripts/copy-assets.ts | 9 +- packages/core/scripts/generate-migrations.ts | 69 +- packages/core/src/bases.test.ts | 2 +- packages/core/src/drizzle/common.test.ts | 8 +- .../core/src/drizzle/runtime-sync.test.ts | 22 +- packages/core/src/drizzle/runtime-sync.ts | 2 +- packages/core/src/drizzle/runtime.test.ts | 18 +- packages/core/src/drizzle/runtime.ts | 2 +- packages/core/src/drizzle/schema.test.ts | 2 +- packages/core/src/factory.test.ts | 2 +- packages/core/src/lib/decimal-binary.test.ts | 2 +- packages/core/src/lib/decimal-string.test.ts | 2 +- .../lib/fractional-indexing-binary.bench.ts | 8 +- .../lib/fractional-indexing-binary.test.ts | 2 +- .../lib/fractional-indexing-string.bench.ts | 8 +- .../lib/fractional-indexing-string.test.ts | 2 +- packages/core/src/lib/utils.test.ts | 2 +- packages/core/src/prisma/extension.test.ts | 29 +- packages/core/src/prisma/schema.test.ts | 2 +- packages/core/test/common.ts | 7 +- packages/core/test/drizzle.e2e-binary.ts | 10 +- packages/core/test/drizzle.e2e-string.ts | 10 +- packages/core/test/drizzle.ts | 10 +- packages/core/test/prisma.ts | 3 +- packages/core/tsconfig.json | 10 +- packages/core/tsup.config.ts | 18 - packages/core/vite.config.ts | 32 + .../examples/common/schemas/schema.prisma | 3 - .../common/test/basic.drizzle.test.ts | 2 +- .../examples/common/test/basic.prisma.test.ts | 2 +- packages/examples/common/tsconfig.json | 2 +- packages/examples/drizzle-v0-30/package.json | 1 - packages/examples/drizzle-v0-30/src/server.ts | 1 - packages/examples/drizzle-v0-30/test-utils.ts | 1 - .../examples/drizzle-v0-30/test/basic.test.ts | 2 +- packages/examples/drizzle-v0-40/package.json | 1 - packages/examples/drizzle-v0-40/src/server.ts | 1 - packages/examples/drizzle-v0-40/test-utils.ts | 1 - .../examples/drizzle-v0-40/test/basic.test.ts | 2 +- packages/examples/drizzle-v0-44/package.json | 1 - packages/examples/drizzle-v0-44/src/server.ts | 1 - packages/examples/drizzle-v0-44/test-utils.ts | 1 - .../examples/drizzle-v0-44/test/basic.test.ts | 2 +- packages/examples/drizzle-v0-45/package.json | 1 - .../examples/drizzle-v0-45/test/basic.test.ts | 2 +- packages/examples/drizzle-v1/package.json | 1 - .../examples/drizzle-v1/test/basic.test.ts | 2 +- packages/examples/prisma-v5/package.json | 1 - .../examples/prisma-v5/prisma/schema.prisma | 3 - packages/examples/prisma-v5/src/server.ts | 1 - packages/examples/prisma-v5/test-utils.ts | 1 - .../examples/prisma-v5/test/basic.test.ts | 4 +- packages/examples/prisma-v6/package.json | 1 - .../examples/prisma-v6/prisma/schema.prisma | 3 - packages/examples/prisma-v6/src/server.ts | 1 - packages/examples/prisma-v6/test-utils.ts | 1 - .../examples/prisma-v6/test/basic.test.ts | 4 +- packages/examples/prisma-v7/package.json | 1 - .../examples/prisma-v7/test/basic.test.ts | 16 +- pnpm-lock.yaml | 1332 +++-------------- pnpm-workspace.yaml | 7 +- vite.config.ts | 40 +- 93 files changed, 532 insertions(+), 1405 deletions(-) delete mode 100644 packages/core/tsup.config.ts create mode 100644 packages/core/vite.config.ts delete mode 120000 packages/examples/drizzle-v0-30/src/server.ts delete mode 120000 packages/examples/drizzle-v0-30/test-utils.ts delete mode 120000 packages/examples/drizzle-v0-40/src/server.ts delete mode 120000 packages/examples/drizzle-v0-40/test-utils.ts delete mode 120000 packages/examples/drizzle-v0-44/src/server.ts delete mode 120000 packages/examples/drizzle-v0-44/test-utils.ts delete mode 120000 packages/examples/prisma-v5/src/server.ts delete mode 120000 packages/examples/prisma-v5/test-utils.ts delete mode 120000 packages/examples/prisma-v6/src/server.ts delete mode 120000 packages/examples/prisma-v6/test-utils.ts diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 21667d3..922fafd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -29,8 +29,6 @@ jobs: node-version-file: ".node-version" cache: true - - uses: oven-sh/setup-bun@v2 - - name: Install Dependencies run: vp install --frozen-lockfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7c358b7..7b25b60 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,8 +19,6 @@ jobs: node-version-file: ".node-version" cache: true - - uses: oven-sh/setup-bun@v2 - - name: Install Dependencies run: vp install --frozen-lockfile diff --git a/WORKSPACE.md b/WORKSPACE.md index 6e847ae..2db8774 100644 --- a/WORKSPACE.md +++ b/WORKSPACE.md @@ -1,7 +1,7 @@ # Workspace Structure This project uses a pnpm workspace and Vite+ for task orchestration, formatting, -and linting. Bun remains the test runtime. +linting, and testing. ## Structure @@ -36,7 +36,7 @@ fractional-indexing/ Contains the main fraci library code. This is what gets published to npm. - All source code (`src/`) -- Build configuration (`tsup.config.ts`) +- Vite+ package configuration (`vite.config.ts`) - Documentation generation (`typedoc.json`) - Core tests (`test/`) @@ -94,7 +94,7 @@ The workspace uses: - **pnpm workspaces** for dependency management - **Vite+** for tasks, formatting, and linting -- **Bun** as the test runtime +- **Vite+ Test** as the test and benchmark runner - **Workspace references** (`workspace:*`) for core library dependencies - **Version-local fixtures** so TypeScript validates against each installed ORM version diff --git a/packages/core/README.md b/packages/core/README.md index 6b53734..5bc4485 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -102,7 +102,7 @@ See the detailed examples below for more information. | -------------------- | ------------------------------------- | ---------------------------------------- | | **Storage** | Stored as text strings | Stored as binary data (`Uint8Array`) | | **Performance** | Good | Better (faster comparisons, less memory) | -| **Bundle Size** | 2.06 KiB (Core-only, gzipped) | 1.55 KiB (Core-only, gzipped) | +| **Bundle Size** | 1.82 KiB (Core-only, gzipped) | 1.45 KiB (Core-only, gzipped) | | **Database Column** | `text` or `varchar` | `blob` or `bytea` | | **Visual Debugging** | Easier (human-readable) | Harder (requires conversion) | | **Configuration** | Requires `digitBase` and `lengthBase` | Simpler configuration | @@ -115,13 +115,13 @@ each example. | Integration | Total Size (minified) | Total Size (minified + gzipped) | | ------------------------ | ------------------------- | ------------------------------- | -| **Core only (Binary)** | 3.50 KiB | **1.56 KiB** | -| **Core only (String)** | 4.86 KiB | **2.07 KiB** | -| **Core only (Both)** | 7.96 KiB | **3.02 KiB** | -| **Drizzle ORM (Binary)** | 4.56 KiB (Core +1.06 KiB) | **2.01 KiB** (Core +0.46 KiB) | -| **Drizzle ORM (String)** | 5.93 KiB (Core +1.07 KiB) | **2.51 KiB** (Core +0.44 KiB) | -| **Drizzle ORM (Both)** | 8.99 KiB (Core +1.03 KiB) | **3.46 KiB** (Core +0.44 KiB) | -| **Prisma ORM (Both)** | 9.30 KiB (Core +1.35 KiB) | **3.64 KiB** (Core +0.62 KiB) | +| **Core only (Binary)** | 3.37 KiB | **1.45 KiB** | +| **Core only (String)** | 4.15 KiB | **1.82 KiB** | +| **Core only (Both)** | 7.24 KiB | **2.76 KiB** | +| **Drizzle ORM (Binary)** | 4.36 KiB (Core +1.00 KiB) | **1.90 KiB** (Core +0.45 KiB) | +| **Drizzle ORM (String)** | 5.15 KiB (Core +1.00 KiB) | **2.25 KiB** (Core +0.42 KiB) | +| **Drizzle ORM (Both)** | 8.21 KiB (Core +0.97 KiB) | **3.19 KiB** (Core +0.43 KiB) | +| **Prisma ORM (Both)** | 8.56 KiB (Core +1.32 KiB) | **3.39 KiB** (Core +0.63 KiB) | ## Security Considerations @@ -155,7 +155,7 @@ yarn add fraci pnpm add fraci # or -bun add fraci +pnpm add fraci ``` > [!NOTE] @@ -273,7 +273,7 @@ export const fiArticles = defineDrizzleFraci( ```typescript import { getFraciErrorCode } from "fraci"; import { drizzleFraci } from "fraci/drizzle"; -// Or import `drizzleFraciSync` if you're using synchronous database (i.e. Bun SQLite) +// Or import `drizzleFraciSync` if you're using a synchronous database driver import { articles, fiArticles } from "./schema"; // Create your own function to check if the error is a unique constraint error diff --git a/packages/core/drizzle/migrations.e2e-binary/meta/0000_snapshot.json b/packages/core/drizzle/migrations.e2e-binary/meta/0000_snapshot.json index ca2b67b..9d9278b 100644 --- a/packages/core/drizzle/migrations.e2e-binary/meta/0000_snapshot.json +++ b/packages/core/drizzle/migrations.e2e-binary/meta/0000_snapshot.json @@ -1,7 +1,7 @@ { "version": "6", "dialect": "sqlite", - "id": "9eb3cf68-7056-4453-8cfb-12501dd1d568", + "id": "afaf7426-98e3-42a1-8a47-f33728292ba3", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { "exampleItem": { @@ -55,7 +55,10 @@ "indexes": { "group_id_fi_idx": { "name": "group_id_fi_idx", - "columns": ["group_id", "fi"], + "columns": [ + "group_id", + "fi" + ], "isUnique": true } }, @@ -75,4 +78,4 @@ "internal": { "indexes": {} } -} +} \ No newline at end of file diff --git a/packages/core/drizzle/migrations.e2e-binary/meta/_journal.json b/packages/core/drizzle/migrations.e2e-binary/meta/_journal.json index 9159e4b..78b5643 100644 --- a/packages/core/drizzle/migrations.e2e-binary/meta/_journal.json +++ b/packages/core/drizzle/migrations.e2e-binary/meta/_journal.json @@ -5,9 +5,9 @@ { "idx": 0, "version": "6", - "when": 1742387144991, + "when": 1785435581031, "tag": "0000_init", "breakpoints": true } ] -} +} \ No newline at end of file diff --git a/packages/core/drizzle/migrations.e2e-string/meta/0000_snapshot.json b/packages/core/drizzle/migrations.e2e-string/meta/0000_snapshot.json index a221710..f753f54 100644 --- a/packages/core/drizzle/migrations.e2e-string/meta/0000_snapshot.json +++ b/packages/core/drizzle/migrations.e2e-string/meta/0000_snapshot.json @@ -1,7 +1,7 @@ { "version": "6", "dialect": "sqlite", - "id": "ea494bc0-2dd1-4652-84b1-33207ad9b5b2", + "id": "47bbb0c1-1652-47c2-acf8-8fe63545a4b7", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { "exampleItem": { @@ -55,7 +55,10 @@ "indexes": { "group_id_fi_idx": { "name": "group_id_fi_idx", - "columns": ["group_id", "fi"], + "columns": [ + "group_id", + "fi" + ], "isUnique": true } }, @@ -75,4 +78,4 @@ "internal": { "indexes": {} } -} +} \ No newline at end of file diff --git a/packages/core/drizzle/migrations.e2e-string/meta/_journal.json b/packages/core/drizzle/migrations.e2e-string/meta/_journal.json index 00e73ee..b7ed956 100644 --- a/packages/core/drizzle/migrations.e2e-string/meta/_journal.json +++ b/packages/core/drizzle/migrations.e2e-string/meta/_journal.json @@ -5,9 +5,9 @@ { "idx": 0, "version": "6", - "when": 1742387146992, + "when": 1785435581856, "tag": "0000_init", "breakpoints": true } ] -} +} \ No newline at end of file diff --git a/packages/core/drizzle/migrations/meta/0000_snapshot.json b/packages/core/drizzle/migrations/meta/0000_snapshot.json index 293b717..698238d 100644 --- a/packages/core/drizzle/migrations/meta/0000_snapshot.json +++ b/packages/core/drizzle/migrations/meta/0000_snapshot.json @@ -1,7 +1,7 @@ { "version": "6", "dialect": "sqlite", - "id": "313dfcaa-b5d1-4940-946d-a502d899331e", + "id": "236f29c5-2306-4e3a-b0c6-84cb122d2864", "prevId": "00000000-0000-0000-0000-000000000000", "tables": { "article": { @@ -62,7 +62,10 @@ "indexes": { "user_id_fi_idx": { "name": "user_id_fi_idx", - "columns": ["user_id", "fi"], + "columns": [ + "user_id", + "fi" + ], "isUnique": true } }, @@ -71,8 +74,12 @@ "name": "article_user_id_user_id_fk", "tableFrom": "article", "tableTo": "user", - "columnsFrom": ["user_id"], - "columnsTo": ["id"], + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], "onDelete": "no action", "onUpdate": "no action" } @@ -146,12 +153,17 @@ "indexes": { "article_id_fi_idx": { "name": "article_id_fi_idx", - "columns": ["article_id", "fi"], + "columns": [ + "article_id", + "fi" + ], "isUnique": true }, "user_id_idx": { "name": "user_id_idx", - "columns": ["user_id"], + "columns": [ + "user_id" + ], "isUnique": false } }, @@ -160,8 +172,12 @@ "name": "photo_article_id_article_id_fk", "tableFrom": "photo", "tableTo": "article", - "columnsFrom": ["article_id"], - "columnsTo": ["id"], + "columnsFrom": [ + "article_id" + ], + "columnsTo": [ + "id" + ], "onDelete": "no action", "onUpdate": "no action" }, @@ -169,8 +185,12 @@ "name": "photo_user_id_user_id_fk", "tableFrom": "photo", "tableTo": "user", - "columnsFrom": ["user_id"], - "columnsTo": ["id"], + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], "onDelete": "no action", "onUpdate": "no action" } @@ -216,7 +236,9 @@ "indexes": { "name_idx": { "name": "name_idx", - "columns": ["name"], + "columns": [ + "name" + ], "isUnique": false } }, @@ -283,12 +305,18 @@ "indexes": { "tag_id_photo_fi_idx": { "name": "tag_id_photo_fi_idx", - "columns": ["tag_id", "photo_fi"], + "columns": [ + "tag_id", + "photo_fi" + ], "isUnique": true }, "photo_id_tag_fi_idx": { "name": "photo_id_tag_fi_idx", - "columns": ["photo_id", "tag_fi"], + "columns": [ + "photo_id", + "tag_fi" + ], "isUnique": true } }, @@ -297,8 +325,12 @@ "name": "tagsOnPhotos_photo_id_photo_id_fk", "tableFrom": "tagsOnPhotos", "tableTo": "photo", - "columnsFrom": ["photo_id"], - "columnsTo": ["id"], + "columnsFrom": [ + "photo_id" + ], + "columnsTo": [ + "id" + ], "onDelete": "no action", "onUpdate": "no action" }, @@ -306,8 +338,12 @@ "name": "tagsOnPhotos_tag_id_tag_id_fk", "tableFrom": "tagsOnPhotos", "tableTo": "tag", - "columnsFrom": ["tag_id"], - "columnsTo": ["id"], + "columnsFrom": [ + "tag_id" + ], + "columnsTo": [ + "id" + ], "onDelete": "no action", "onUpdate": "no action" } @@ -374,4 +410,4 @@ "internal": { "indexes": {} } -} +} \ No newline at end of file diff --git a/packages/core/drizzle/migrations/meta/_journal.json b/packages/core/drizzle/migrations/meta/_journal.json index f1e3fca..b67840d 100644 --- a/packages/core/drizzle/migrations/meta/_journal.json +++ b/packages/core/drizzle/migrations/meta/_journal.json @@ -5,9 +5,9 @@ { "idx": 0, "version": "6", - "when": 1742387143559, + "when": 1785435580114, "tag": "0000_init", "breakpoints": true } ] -} +} \ No newline at end of file diff --git a/packages/core/examples/common/client-base.ts b/packages/core/examples/common/client-base.ts index 18a5352..ac8790c 100644 --- a/packages/core/examples/common/client-base.ts +++ b/packages/core/examples/common/client-base.ts @@ -1,4 +1,4 @@ -import { expect } from "bun:test"; +import { expect } from "vite-plus/test"; import { hc } from "hono/client"; import type { ServerType } from "./server-base.js"; diff --git a/packages/core/examples/core-only/client.string.test.ts b/packages/core/examples/core-only/client.string.test.ts index 3755644..c34092b 100644 --- a/packages/core/examples/core-only/client.string.test.ts +++ b/packages/core/examples/core-only/client.string.test.ts @@ -1,5 +1,5 @@ // Note that this test needs the package to be built before running and type checking. -import { test } from "bun:test"; +import { test } from "vite-plus/test"; import { runTest } from "../common/client-base.js"; import app from "./server.string.js"; diff --git a/packages/core/examples/drizzle-orm-sync/client.binary.test.ts b/packages/core/examples/drizzle-orm-sync/client.binary.test.ts index ccc2a63..7a17cc8 100644 --- a/packages/core/examples/drizzle-orm-sync/client.binary.test.ts +++ b/packages/core/examples/drizzle-orm-sync/client.binary.test.ts @@ -1,5 +1,5 @@ // Note that this test needs the package to be built before running and type checking. -import { test } from "bun:test"; +import { test } from "vite-plus/test"; import { runTest } from "../common/client-base.js"; import app from "./server.binary.js"; diff --git a/packages/core/examples/drizzle-orm-sync/client.string.test.ts b/packages/core/examples/drizzle-orm-sync/client.string.test.ts index 5ff6ca9..00df9f1 100644 --- a/packages/core/examples/drizzle-orm-sync/client.string.test.ts +++ b/packages/core/examples/drizzle-orm-sync/client.string.test.ts @@ -1,5 +1,5 @@ // Note that this test needs the package to be built before running and type checking. -import { test } from "bun:test"; +import { test } from "vite-plus/test"; import { runTest } from "../common/client-base.js"; import app from "./server.string.js"; diff --git a/packages/core/examples/drizzle-orm-sync/entrypoint.all.ts b/packages/core/examples/drizzle-orm-sync/entrypoint.all.ts index 22de674..31786b5 100644 --- a/packages/core/examples/drizzle-orm-sync/entrypoint.all.ts +++ b/packages/core/examples/drizzle-orm-sync/entrypoint.all.ts @@ -9,11 +9,11 @@ import { exampleItems as exampleItemsString, fiExampleItems as fiExampleItemsString, } from "../../drizzle/schema.e2e-string.js"; -import { setupDrizzleDBBunSQLite as setupDrizzleDBBunSQLiteBinary } from "../../test/drizzle.e2e-binary.js"; -import { setupDrizzleDBBunSQLite as setupDrizzleDBBunSQLiteString } from "../../test/drizzle.e2e-string.js"; +import { setupDrizzleDBBetterSQLite as setupDrizzleDBBetterSQLiteBinary } from "../../test/drizzle.e2e-binary.js"; +import { setupDrizzleDBBetterSQLite as setupDrizzleDBBetterSQLiteString } from "../../test/drizzle.e2e-string.js"; -const dbBinary = setupDrizzleDBBunSQLiteBinary(); -const dbString = setupDrizzleDBBunSQLiteString(); +const dbBinary = setupDrizzleDBBetterSQLiteBinary(); +const dbString = setupDrizzleDBBetterSQLiteString(); const app = new Hono().get("/test", async (c) => { const [binaryFI] = drizzleFraciSync( diff --git a/packages/core/examples/drizzle-orm-sync/server.binary.ts b/packages/core/examples/drizzle-orm-sync/server.binary.ts index c50ca2a..fdfd30c 100644 --- a/packages/core/examples/drizzle-orm-sync/server.binary.ts +++ b/packages/core/examples/drizzle-orm-sync/server.binary.ts @@ -10,10 +10,10 @@ import { exampleItems, fiExampleItems, } from "../../drizzle/schema.e2e-binary.js"; -import { setupDrizzleDBBunSQLite } from "../../test/drizzle.e2e-binary.js"; +import { setupDrizzleDBBetterSQLite } from "../../test/drizzle.e2e-binary.js"; import type { ServerType } from "../common/server-base.js"; -const db = setupDrizzleDBBunSQLite(); +const db = setupDrizzleDBBetterSQLite(); // Fraci does not have a built-in function to detect index conflict errors for Drizzle ORM, since Drizzle ORM does not have a unified error handling mechanism. function isIndexConflictError(error: unknown): boolean { diff --git a/packages/core/examples/drizzle-orm-sync/server.string.ts b/packages/core/examples/drizzle-orm-sync/server.string.ts index c8f701b..e8acf63 100644 --- a/packages/core/examples/drizzle-orm-sync/server.string.ts +++ b/packages/core/examples/drizzle-orm-sync/server.string.ts @@ -9,10 +9,10 @@ import { exampleItems, fiExampleItems, } from "../../drizzle/schema.e2e-string.js"; -import { setupDrizzleDBBunSQLite } from "../../test/drizzle.e2e-string.js"; +import { setupDrizzleDBBetterSQLite } from "../../test/drizzle.e2e-string.js"; import type { ServerType } from "../common/server-base.js"; -const db = setupDrizzleDBBunSQLite(); +const db = setupDrizzleDBBetterSQLite(); // Fraci does not have a built-in function to detect index conflict errors for Drizzle ORM, since Drizzle ORM does not have a unified error handling mechanism. function isIndexConflictError(error: unknown): boolean { diff --git a/packages/core/examples/drizzle-orm/client.binary.test.ts b/packages/core/examples/drizzle-orm/client.binary.test.ts index a1e3f56..356e8e0 100644 --- a/packages/core/examples/drizzle-orm/client.binary.test.ts +++ b/packages/core/examples/drizzle-orm/client.binary.test.ts @@ -1,5 +1,5 @@ // Note that this test needs the package to be built before running and type checking. -import { test } from "bun:test"; +import { test } from "vite-plus/test"; import { runTest } from "../common/client-base.js"; import app from "./server.binary.js"; diff --git a/packages/core/examples/drizzle-orm/client.string.test.ts b/packages/core/examples/drizzle-orm/client.string.test.ts index 91a4d02..5a0a109 100644 --- a/packages/core/examples/drizzle-orm/client.string.test.ts +++ b/packages/core/examples/drizzle-orm/client.string.test.ts @@ -1,5 +1,5 @@ // Note that this test needs the package to be built before running and type checking. -import { test } from "bun:test"; +import { test } from "vite-plus/test"; import { runTest } from "../common/client-base.js"; import app from "./server.string.js"; diff --git a/packages/core/examples/drizzle-orm/index-performance.binary.test.ts b/packages/core/examples/drizzle-orm/index-performance.binary.test.ts index 6d6631d..3e44ad5 100644 --- a/packages/core/examples/drizzle-orm/index-performance.binary.test.ts +++ b/packages/core/examples/drizzle-orm/index-performance.binary.test.ts @@ -1,4 +1,4 @@ -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { and, asc, desc, gte, lte, SQL, sql } from "drizzle-orm"; import { drizzleFraci } from "fraci/drizzle"; import { diff --git a/packages/core/examples/drizzle-orm/index-performance.string.test.ts b/packages/core/examples/drizzle-orm/index-performance.string.test.ts index dc9ddff..6a9baf4 100644 --- a/packages/core/examples/drizzle-orm/index-performance.string.test.ts +++ b/packages/core/examples/drizzle-orm/index-performance.string.test.ts @@ -1,4 +1,4 @@ -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { and, asc, desc, gte, lte, SQL, sql } from "drizzle-orm"; import { drizzleFraci } from "fraci/drizzle"; import { diff --git a/packages/core/examples/drizzle-orm/sorting.binary.test.ts b/packages/core/examples/drizzle-orm/sorting.binary.test.ts index 622b5b9..6cf319d 100644 --- a/packages/core/examples/drizzle-orm/sorting.binary.test.ts +++ b/packages/core/examples/drizzle-orm/sorting.binary.test.ts @@ -1,4 +1,4 @@ -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { asc, sql } from "drizzle-orm"; import { exampleItems } from "../../drizzle/schema.e2e-binary.js"; import { setupDrizzleDBLibSQL } from "../../test/drizzle.e2e-binary.js"; diff --git a/packages/core/examples/prisma/client.binary.test.ts b/packages/core/examples/prisma/client.binary.test.ts index 4bb1b0d..084975d 100644 --- a/packages/core/examples/prisma/client.binary.test.ts +++ b/packages/core/examples/prisma/client.binary.test.ts @@ -1,5 +1,5 @@ // Note that this test needs the package to be built before running and type checking. -import { test } from "bun:test"; +import { test } from "vite-plus/test"; import { runTest } from "../common/client-base.js"; import app from "./server.binary.js"; diff --git a/packages/core/examples/prisma/client.string.test.ts b/packages/core/examples/prisma/client.string.test.ts index b3b5eaa..ce9d76c 100644 --- a/packages/core/examples/prisma/client.string.test.ts +++ b/packages/core/examples/prisma/client.string.test.ts @@ -1,5 +1,5 @@ // Note that this test needs the package to be built before running and type checking. -import { test } from "bun:test"; +import { test } from "vite-plus/test"; import { runTest } from "../common/client-base.js"; import app from "./server.string.js"; diff --git a/packages/core/examples/rolldown.config.ts b/packages/core/examples/rolldown.config.ts index 3107220..95018b8 100644 --- a/packages/core/examples/rolldown.config.ts +++ b/packages/core/examples/rolldown.config.ts @@ -73,9 +73,8 @@ export default defineConfig( ([entrypoint, id]): RolldownOptions => ({ input: `examples/${entrypoint}.ts`, external: [ - "bun", - /^bun:/, /^node:/, + /^better-sqlite3$/, /^drizzle-orm/, /^@prisma/, /^@?hono/, diff --git a/packages/core/package.json b/packages/core/package.json index 8338d20..31f22b1 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -65,17 +65,17 @@ "@libsql/client": "^0.17.4", "@prisma/adapter-libsql": "^7.9.1", "@prisma/client": "^7.9.1", - "@types/bun": "^1.3.14", + "@types/better-sqlite3": "^7.6.13", + "better-sqlite3": "^12.11.1", "drizzle-kit": "^0.31.10", "drizzle-orm": "^0.45.2", "esbuild": "^0.28.1", "hono": "^4.12.32", - "mitata": "^1.0.34", "prisma": "^7.9.1", "rolldown": "^1.2.1", - "tsup": "^8.5.1", "typedoc": "^0.28.20", "typescript": "^6.0.3", + "vite-plus": "^0.2.6", "zod": "^4.4.3" }, "peerDependencies": { diff --git a/packages/core/prisma.config.ts b/packages/core/prisma.config.ts index a5c164e..b7941c7 100644 --- a/packages/core/prisma.config.ts +++ b/packages/core/prisma.config.ts @@ -2,4 +2,7 @@ import { defineConfig } from "prisma/config"; export default defineConfig({ schema: "prisma/schema.prisma", + datasource: { + url: process.env["PRISMA_DB_URL"] ?? "file:temp/dev.db", + }, }); diff --git a/packages/core/prisma/migrations/migration_lock.toml b/packages/core/prisma/migrations/migration_lock.toml index e1640d1..2a5a444 100644 --- a/packages/core/prisma/migrations/migration_lock.toml +++ b/packages/core/prisma/migrations/migration_lock.toml @@ -1,3 +1,3 @@ # Please do not edit this file manually # It should be added in your version-control system (e.g., Git) -provider = "sqlite" \ No newline at end of file +provider = "sqlite" diff --git a/packages/core/prisma/schema.prisma b/packages/core/prisma/schema.prisma index 4bb3268..22d2eed 100644 --- a/packages/core/prisma/schema.prisma +++ b/packages/core/prisma/schema.prisma @@ -2,7 +2,7 @@ generator client { provider = "prisma-client" output = "./client" - runtime = "bun" + runtime = "nodejs" moduleFormat = "esm" } diff --git a/packages/core/public/llms-full.txt b/packages/core/public/llms-full.txt index 55ae0e9..43c975d 100644 --- a/packages/core/public/llms-full.txt +++ b/packages/core/public/llms-full.txt @@ -21,13 +21,11 @@ npm install fraci yarn add fraci # or pnpm add fraci -# or -bun add fraci ``` ## Usage Examples -Synchronous API of Drizzle ORM is only for Bun SQLite, which is the only DB engine that has a synchronous API. +Use `drizzleFraciSync` with synchronous database drivers such as better-sqlite3. ### With Drizzle ORM (Binary-based) @@ -172,7 +170,7 @@ function isIndexConflictError(error: unknown): boolean { ); } -// Get the helper object with synchronous API (only for Bun SQLite) +// Get the helper object with a synchronous database driver const tfi = drizzleFraciSync(db, fiTasks); // Create a new task at the end of the list @@ -353,7 +351,7 @@ function isIndexConflictError(error: unknown): boolean { ); } -// Get the helper object with synchronous API (only for Bun SQLite) +// Get the helper object with a synchronous database driver const tfi = drizzleFraciSync(db, fiTasks); // Create a new task at the end of the list @@ -643,7 +641,7 @@ const fiConfig = defineDrizzleFraci( // Get helper const fi = drizzleFraci(db, fiConfig); -// or for synchronous database (only for Bun SQLite) +// or for a synchronous database driver const fiSync = drizzleFraciSync(db, fiConfig); // Methods diff --git a/packages/core/public/llms.txt b/packages/core/public/llms.txt index 04c1639..e59b778 100644 --- a/packages/core/public/llms.txt +++ b/packages/core/public/llms.txt @@ -14,7 +14,7 @@ Fraci offers both string-based and binary-based fractional indexing implementati ## Examples -Synchronous API of Drizzle ORM is only for Bun SQLite, which is the only DB engine that has a synchronous API. +Use `drizzleFraciSync` with synchronous database drivers such as better-sqlite3. - With Drizzle ORM (Binary-based): diff --git a/packages/core/scripts/copy-assets.ts b/packages/core/scripts/copy-assets.ts index ca7e11e..f49e56d 100644 --- a/packages/core/scripts/copy-assets.ts +++ b/packages/core/scripts/copy-assets.ts @@ -1,3 +1,8 @@ -import { $ } from "bun"; +import { copyFile, mkdir, readdir } from "node:fs/promises"; -await $`cp public/* typedoc`; +await mkdir("typedoc", { recursive: true }); +for (const entry of await readdir("public", { withFileTypes: true })) { + if (entry.isFile()) { + await copyFile(`public/${entry.name}`, `typedoc/${entry.name}`); + } +} diff --git a/packages/core/scripts/generate-migrations.ts b/packages/core/scripts/generate-migrations.ts index fb19b93..d8b4bda 100644 --- a/packages/core/scripts/generate-migrations.ts +++ b/packages/core/scripts/generate-migrations.ts @@ -1,18 +1,61 @@ -import { $, env } from "bun"; -import { webcrypto as crypto } from "node:crypto"; +import { execFileSync } from "node:child_process"; +import { mkdir, rm, writeFile } from "node:fs/promises"; -// Prisma doesn't support in-memory SQLite databases, so we use a random file name. -env["PRISMA_DB_URL"] = `file:temp/${crypto.randomUUID()}.db?mode=memory`; +const run = (...args: string[]) => + execFileSync("vp", ["exec", ...args], { + env: process.env, + stdio: "inherit", + }); +const capture = (...args: string[]) => + execFileSync("vp", ["exec", ...args], { + encoding: "utf8", + env: process.env, + stdio: ["ignore", "pipe", "inherit"], + }); -await $`rm -rf drizzle/migrations`; -await $`bun drizzle-kit generate --config=drizzle.config.ts --name init`; +await rm("drizzle/migrations", { force: true, recursive: true }); +run("drizzle-kit", "generate", "--config=drizzle.config.ts", "--name", "init"); -await $`rm -rf drizzle/migrations.e2e-binary`; -await $`bun drizzle-kit generate --config=drizzle.e2e-binary.config.ts --name init`; +await rm("drizzle/migrations.e2e-binary", { force: true, recursive: true }); +run( + "drizzle-kit", + "generate", + "--config=drizzle.e2e-binary.config.ts", + "--name", + "init", +); -await $`rm -rf drizzle/migrations.e2e-string`; -await $`bun drizzle-kit generate --config=drizzle.e2e-string.config.ts --name init`; +await rm("drizzle/migrations.e2e-string", { force: true, recursive: true }); +run( + "drizzle-kit", + "generate", + "--config=drizzle.e2e-string.config.ts", + "--name", + "init", +); -await $`rm -rf prisma/migrations`; -await $`bun prisma migrate dev --name init`; -await $`bun prisma generate`; +await rm("prisma/migrations", { force: true, recursive: true }); +const prismaMigrationDir = "prisma/migrations/20250319122555_init"; +await mkdir(prismaMigrationDir, { recursive: true }); +await writeFile( + `${prismaMigrationDir}/migration.sql`, + `${capture( + "prisma", + "migrate", + "diff", + "--from-empty", + "--to-schema", + "prisma/schema.prisma", + "--script", + ).trimEnd()}\n`, +); +await writeFile( + "prisma/migrations/migration_lock.toml", + [ + "# Please do not edit this file manually", + "# It should be added in your version-control system (e.g., Git)", + 'provider = "sqlite"', + "", + ].join("\n"), +); +run("prisma", "generate"); diff --git a/packages/core/src/bases.test.ts b/packages/core/src/bases.test.ts index 2c62ce8..52a1264 100644 --- a/packages/core/src/bases.test.ts +++ b/packages/core/src/bases.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from "bun:test"; +import { describe, expect, it } from "vite-plus/test"; import * as BASES from "./bases.js"; import { createDigitBaseMap, createIntegerLengthBaseMap } from "./lib/utils.js"; diff --git a/packages/core/src/drizzle/common.test.ts b/packages/core/src/drizzle/common.test.ts index 8cace47..01646e3 100644 --- a/packages/core/src/drizzle/common.test.ts +++ b/packages/core/src/drizzle/common.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from "bun:test"; +import { describe, expect, test } from "vite-plus/test"; import { eq, isNull, sql } from "drizzle-orm"; import { sqliteTable, text } from "drizzle-orm/sqlite-core"; import type { AnyFractionalIndex as AFI } from "../types.js"; @@ -31,16 +31,16 @@ describe("equity", () => { describe("OPERATORS", () => { test("should have correct structure", () => { - expect(OPERATORS).toBeArrayOfSize(2); + expect(OPERATORS).toHaveLength(2); // First operator (asc) - expect(OPERATORS[0]).toBeArrayOfSize(3); + expect(OPERATORS[0]).toHaveLength(3); expect(OPERATORS[0][0].name).toBe("asc"); expect(OPERATORS[0][1].name).toBe("gte"); expect(typeof OPERATORS[0][2]).toBe("function"); // Second operator (desc) - expect(OPERATORS[1]).toBeArrayOfSize(3); + expect(OPERATORS[1]).toHaveLength(3); expect(OPERATORS[1][0].name).toBe("desc"); expect(OPERATORS[1][1].name).toBe("lte"); expect(typeof OPERATORS[1][2]).toBe("function"); diff --git a/packages/core/src/drizzle/runtime-sync.test.ts b/packages/core/src/drizzle/runtime-sync.test.ts index f5badbd..f5a385e 100644 --- a/packages/core/src/drizzle/runtime-sync.test.ts +++ b/packages/core/src/drizzle/runtime-sync.test.ts @@ -1,7 +1,7 @@ -import { Database } from "bun:sqlite"; -import { beforeAll, describe, expect, test } from "bun:test"; +import { beforeAll, describe, expect, test } from "vite-plus/test"; +import Database from "better-sqlite3"; import { sql } from "drizzle-orm"; -import { drizzle } from "drizzle-orm/bun-sqlite"; +import { drizzle } from "drizzle-orm/better-sqlite3"; import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core"; import { BASE36L } from "../bases.js"; import { fraciString } from "../factory.js"; @@ -78,7 +78,7 @@ describe("drizzleFraciSync with group columns", () => { test("indicesForFirst should return correct indices", () => { const indices = fetcher.indicesForFirst({ groupId: 1 }); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices[0]).toBeNull(); expect(indices[1]).toBe("a" as FI); }); @@ -86,7 +86,7 @@ describe("drizzleFraciSync with group columns", () => { test("indicesForLast should return correct indices", () => { const indices = fetcher.indicesForLast({ groupId: 1 }); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices[0]).toBe("z" as FI); expect(indices[1]).toBeNull(); }); @@ -105,7 +105,7 @@ describe("drizzleFraciSync with group columns", () => { const indices = fetcher.indicesForAfter({ groupId: 1 }, { id: item!.id }); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices![0]).toBe("a" as FI); expect(indices![1]).toBe("m" as FI); }); @@ -124,7 +124,7 @@ describe("drizzleFraciSync with group columns", () => { const indices = fetcher.indicesForBefore({ groupId: 1 }, { id: item!.id }); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices![0]).toBe("m" as FI); expect(indices![1]).toBe("z" as FI); }); @@ -266,7 +266,7 @@ describe("drizzleFraciSync without group columns", () => { test("indicesForFirst should return correct indices with empty group", () => { const indices = fetcher.indicesForFirst({}); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices[0]).toBeNull(); expect(indices[1]).toBe("a" as FI); }); @@ -274,7 +274,7 @@ describe("drizzleFraciSync without group columns", () => { test("indicesForLast should return correct indices with empty group", () => { const indices = fetcher.indicesForLast({}); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices[0]).toBe("z" as FI); expect(indices[1]).toBeNull(); }); @@ -291,7 +291,7 @@ describe("drizzleFraciSync without group columns", () => { const indices = fetcher.indicesForAfter({}, { id: item!.id }); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices![0]).toBe("a" as FI); expect(indices![1]).toBe("m" as FI); }); @@ -308,7 +308,7 @@ describe("drizzleFraciSync without group columns", () => { const indices = fetcher.indicesForBefore({}, { id: item!.id }); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices![0]).toBe("m" as FI); expect(indices![1]).toBe("z" as FI); }); diff --git a/packages/core/src/drizzle/runtime-sync.ts b/packages/core/src/drizzle/runtime-sync.ts index 3b7572e..227a5f6 100644 --- a/packages/core/src/drizzle/runtime-sync.ts +++ b/packages/core/src/drizzle/runtime-sync.ts @@ -235,7 +235,7 @@ export type FraciForDrizzleSync = * methods for retrieving indices based on synchronous database queries. * * This is the synchronous counterpart to the {@link drizzleFraci} function. - * Use this function when working with Bun SQLite. + * Use this function when working with synchronous SQLite drivers. * The API is identical except that methods return values directly instead of Promises. * * @template Config - The type of the fractional indexing configuration diff --git a/packages/core/src/drizzle/runtime.test.ts b/packages/core/src/drizzle/runtime.test.ts index 730c1d2..5492794 100644 --- a/packages/core/src/drizzle/runtime.test.ts +++ b/packages/core/src/drizzle/runtime.test.ts @@ -1,5 +1,5 @@ import { createClient } from "@libsql/client"; -import { afterAll, beforeAll, describe, expect, test } from "bun:test"; +import { afterAll, beforeAll, describe, expect, test } from "vite-plus/test"; import { sql } from "drizzle-orm"; import { drizzle } from "drizzle-orm/libsql"; import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core"; @@ -83,7 +83,7 @@ describe("drizzleFraci with group columns", () => { test("indicesForFirst should return correct indices", async () => { const indices = await fetcher.indicesForFirst({ groupId: 1 }); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices[0]).toBeNull(); expect(indices[1]).toBe("a" as FI); }); @@ -91,7 +91,7 @@ describe("drizzleFraci with group columns", () => { test("indicesForLast should return correct indices", async () => { const indices = await fetcher.indicesForLast({ groupId: 1 }); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices[0]).toBe("z" as FI); expect(indices[1]).toBeNull(); }); @@ -113,7 +113,7 @@ describe("drizzleFraci with group columns", () => { { id: item!.id }, ); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices![0]).toBe("a" as FI); expect(indices![1]).toBe("m" as FI); }); @@ -135,7 +135,7 @@ describe("drizzleFraci with group columns", () => { { id: item!.id }, ); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices![0]).toBe("m" as FI); expect(indices![1]).toBe("z" as FI); }); @@ -282,7 +282,7 @@ describe("drizzleFraci without group columns", () => { test("indicesForFirst should return correct indices with empty group", async () => { const indices = await fetcher.indicesForFirst({}); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices[0]).toBeNull(); expect(indices[1]).toBe("a" as FI); }); @@ -290,7 +290,7 @@ describe("drizzleFraci without group columns", () => { test("indicesForLast should return correct indices with empty group", async () => { const indices = await fetcher.indicesForLast({}); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices[0]).toBe("z" as FI); expect(indices[1]).toBeNull(); }); @@ -307,7 +307,7 @@ describe("drizzleFraci without group columns", () => { const indices = await fetcher.indicesForAfter({}, { id: item!.id }); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices![0]).toBe("a" as FI); expect(indices![1]).toBe("m" as FI); }); @@ -324,7 +324,7 @@ describe("drizzleFraci without group columns", () => { const indices = await fetcher.indicesForBefore({}, { id: item!.id }); - expect(indices).toBeArrayOfSize(2); + expect(indices).toHaveLength(2); expect(indices![0]).toBe("m" as FI); expect(indices![1]).toBe("z" as FI); }); diff --git a/packages/core/src/drizzle/runtime.ts b/packages/core/src/drizzle/runtime.ts index e82ba29..0b7700b 100644 --- a/packages/core/src/drizzle/runtime.ts +++ b/packages/core/src/drizzle/runtime.ts @@ -240,7 +240,7 @@ export type FraciForDrizzle = * methods for retrieving indices based on asynchronous database queries. * * This is the asynchronous version that works with all supported database engines. - * For Bun SQLite, use the {@link drizzleFraciSync} function. + * For synchronous SQLite drivers, use the {@link drizzleFraciSync} function. * The API is identical except that methods return Promises instead of direct values. * * @template Config - The type of the fractional indexing configuration diff --git a/packages/core/src/drizzle/schema.test.ts b/packages/core/src/drizzle/schema.test.ts index 4594e39..141a204 100644 --- a/packages/core/src/drizzle/schema.test.ts +++ b/packages/core/src/drizzle/schema.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from "bun:test"; +import { describe, expect, test } from "vite-plus/test"; import { sqliteTable, text } from "drizzle-orm/sqlite-core"; import { BASE36L } from "../bases.js"; import { fraciString } from "../factory.js"; diff --git a/packages/core/src/factory.test.ts b/packages/core/src/factory.test.ts index f31de73..4769036 100644 --- a/packages/core/src/factory.test.ts +++ b/packages/core/src/factory.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from "bun:test"; +import { describe, expect, it } from "vite-plus/test"; import { DEFAULT_MAX_LENGTH, createFraciCache, diff --git a/packages/core/src/lib/decimal-binary.test.ts b/packages/core/src/lib/decimal-binary.test.ts index 82c642f..fc3d571 100644 --- a/packages/core/src/lib/decimal-binary.test.ts +++ b/packages/core/src/lib/decimal-binary.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from "bun:test"; +import { describe, expect, test } from "vite-plus/test"; import { createBinary, fromHex, toHex } from "../../test/binary.js"; import { compare, diff --git a/packages/core/src/lib/decimal-string.test.ts b/packages/core/src/lib/decimal-string.test.ts index c6b961e..5b0ccc3 100644 --- a/packages/core/src/lib/decimal-string.test.ts +++ b/packages/core/src/lib/decimal-string.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from "bun:test"; +import { describe, expect, test } from "vite-plus/test"; import { BASE10, BASE95 } from "../bases.js"; import { decrementInteger, diff --git a/packages/core/src/lib/fractional-indexing-binary.bench.ts b/packages/core/src/lib/fractional-indexing-binary.bench.ts index c289096..3b0e06d 100644 --- a/packages/core/src/lib/fractional-indexing-binary.bench.ts +++ b/packages/core/src/lib/fractional-indexing-binary.bench.ts @@ -1,4 +1,4 @@ -import { bench, run } from "mitata"; +import { bench } from "vite-plus/test"; import { generateKeyBetween, generateNKeysBetween, @@ -85,7 +85,7 @@ bench("random operations x10000", () => { } } } -}).gc("inner"); +}); bench("random operations 2 x10000", () => { const keys: Uint8Array[] = []; @@ -102,6 +102,4 @@ bench("random operations 2 x10000", () => { } keys.splice(targetIndex + 1, 0, result); } -}).gc("inner"); - -await run(); +}); diff --git a/packages/core/src/lib/fractional-indexing-binary.test.ts b/packages/core/src/lib/fractional-indexing-binary.test.ts index c2bfa77..e1e7be9 100644 --- a/packages/core/src/lib/fractional-indexing-binary.test.ts +++ b/packages/core/src/lib/fractional-indexing-binary.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from "bun:test"; +import { describe, expect, test } from "vite-plus/test"; import { createBinary, fromHex, toHex } from "../../test/binary.js"; import { INTEGER_ZERO, compare } from "./decimal-binary.js"; import { diff --git a/packages/core/src/lib/fractional-indexing-string.bench.ts b/packages/core/src/lib/fractional-indexing-string.bench.ts index 08c6574..ba10826 100644 --- a/packages/core/src/lib/fractional-indexing-string.bench.ts +++ b/packages/core/src/lib/fractional-indexing-string.bench.ts @@ -1,4 +1,4 @@ -import { bench, run } from "mitata"; +import { bench } from "vite-plus/test"; import { BASE95 } from "../bases.js"; import { getSmallestInteger } from "./decimal-string.js"; import { @@ -104,7 +104,7 @@ bench("random operations x10000", () => { } } } -}).gc("inner"); +}); bench("random operations 2 x10000", () => { const keys: string[] = []; @@ -121,6 +121,4 @@ bench("random operations 2 x10000", () => { } keys.splice(targetIndex + 1, 0, result); } -}).gc("inner"); - -await run(); +}); diff --git a/packages/core/src/lib/fractional-indexing-string.test.ts b/packages/core/src/lib/fractional-indexing-string.test.ts index f910361..fba4b06 100644 --- a/packages/core/src/lib/fractional-indexing-string.test.ts +++ b/packages/core/src/lib/fractional-indexing-string.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from "bun:test"; +import { describe, expect, test } from "vite-plus/test"; import { BASE95 } from "../bases.js"; import { getSmallestInteger } from "./decimal-string.js"; import { diff --git a/packages/core/src/lib/utils.test.ts b/packages/core/src/lib/utils.test.ts index dffea88..530e9a6 100644 --- a/packages/core/src/lib/utils.test.ts +++ b/packages/core/src/lib/utils.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from "bun:test"; +import { describe, expect, it } from "vite-plus/test"; import { createDigitBaseMap, createIntegerLengthBaseMap } from "./utils.js"; describe("createDigitBaseMap", () => { diff --git a/packages/core/src/prisma/extension.test.ts b/packages/core/src/prisma/extension.test.ts index 30deee1..fdcde36 100644 --- a/packages/core/src/prisma/extension.test.ts +++ b/packages/core/src/prisma/extension.test.ts @@ -1,4 +1,4 @@ -import { beforeAll, describe, expect, test } from "bun:test"; +import { beforeAll, describe, expect, test } from "vite-plus/test"; import { BASE26L, BASE36L, BASE95, type FractionalIndexOf } from "fraci"; import { definePrismaFraci, @@ -224,7 +224,7 @@ test("should throw error if invalid column specified", () => { describe("basic", () => { test("photo.fi", async () => { - expect(prisma.photo.fraci("fi")).toBeObject(); + expect(prisma.photo.fraci("fi")).toEqual(expect.any(Object)); }); test("should not exist in photo.title", async () => { @@ -245,14 +245,14 @@ describe("indicesForBefore and indicesForAfter", () => { orderBy: { fi: "asc" }, }); - expect(articles).toBeArrayOfSize(2); + expect(articles).toHaveLength(2); expect(articles[0].title).toBe("article1 (user1)"); expect(articles[1].title).toBe("article2 (user1)"); const indicesForLast1 = await prisma.article .fraci("fi") .indicesForBefore({ userId: 1 }, null); - expect(indicesForLast1).toBeArrayOfSize(2); + expect(indicesForLast1).toHaveLength(2); expect(indicesForLast1[0] as string).toBe(articles[1].fi); expect(indicesForLast1[1]).toBeNull(); @@ -264,7 +264,7 @@ describe("indicesForBefore and indicesForAfter", () => { const indicesForFirst1 = await prisma.article .fraci("fi") .indicesForAfter({ userId: 1 }, null); - expect(indicesForFirst1).toBeArrayOfSize(2); + expect(indicesForFirst1).toHaveLength(2); expect(indicesForFirst1[0]).toBeNull(); expect(indicesForFirst1[1] as string).toBe(articles[0].fi); @@ -276,7 +276,7 @@ describe("indicesForBefore and indicesForAfter", () => { const indicesForMiddle1 = await prisma.article .fraci("fi") .indicesForBefore({ userId: 1 }, { id: articles[1].id }); - expect(indicesForMiddle1).toBeArrayOfSize(2); + expect(indicesForMiddle1).toHaveLength(2); expect(indicesForMiddle1?.[0] as string).toBe(articles[0].fi); expect(indicesForMiddle1?.[1] as string).toBe(articles[1].fi); @@ -292,13 +292,13 @@ describe("indicesForBefore and indicesForAfter", () => { orderBy: { fi: "asc" }, }); - expect(photos).toBeArrayOfSize(1); + expect(photos).toHaveLength(1); expect(photos[0].title).toBe("photo3 (article2)"); const indicesForLast1 = await prisma.photo .fraci("fi") .indicesForBefore({ articleId: 2, userId: 1 }, null); - expect(indicesForLast1).toBeArrayOfSize(2); + expect(indicesForLast1).toHaveLength(2); expect(indicesForLast1[0] as string).toBe(photos[0].fi); expect(indicesForLast1[1]).toBeNull(); @@ -310,7 +310,7 @@ describe("indicesForBefore and indicesForAfter", () => { const indicesForFirst1 = await prisma.photo .fraci("fi") .indicesForAfter({ articleId: 2, userId: 1 }, null); - expect(indicesForFirst1).toBeArrayOfSize(2); + expect(indicesForFirst1).toHaveLength(2); expect(indicesForFirst1[0]).toBeNull(); expect(indicesForFirst1[1] as string).toBe(photos[0].fi); @@ -326,19 +326,19 @@ describe("indicesForBefore and indicesForAfter", () => { orderBy: { fi: "asc" }, }); - expect(photos).toBeArrayOfSize(0); + expect(photos).toHaveLength(0); const indicesForLast = await prisma.photo .fraci("fi") .indicesForBefore({ articleId: 999, userId: 1 }, null); - expect(indicesForLast).toBeArrayOfSize(2); + expect(indicesForLast).toHaveLength(2); expect(indicesForLast[0]).toBeNull(); expect(indicesForLast[1]).toBeNull(); const indicesForFirst = await prisma.photo .fraci("fi") .indicesForAfter({ articleId: 999, userId: 1 }, null); - expect(indicesForFirst).toBeArrayOfSize(2); + expect(indicesForFirst).toHaveLength(2); expect(indicesForFirst[0]).toBeNull(); expect(indicesForFirst[1]).toBeNull(); }); @@ -523,6 +523,7 @@ test("FraciForPrisma", () => { markAsUsed(); markAsUsed(); - // @ts-expect-error afi and bfi are not compatible - expect(afi).toBe(bfi); + // @ts-expect-error afi and bfi are not type-compatible + const incompatible: typeof afi = bfi; + markAsUsed(); }); diff --git a/packages/core/src/prisma/schema.test.ts b/packages/core/src/prisma/schema.test.ts index 4d2ce06..56092ac 100644 --- a/packages/core/src/prisma/schema.test.ts +++ b/packages/core/src/prisma/schema.test.ts @@ -1,5 +1,5 @@ // Note that this test needs the package to be built before running and type checking. -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { BASE26L, BASE36L } from "fraci"; import { definePrismaFraci } from "fraci/prisma"; import { PrismaClient } from "../../prisma/client/client.js"; diff --git a/packages/core/test/common.ts b/packages/core/test/common.ts index 62ee2f7..41e36ea 100644 --- a/packages/core/test/common.ts +++ b/packages/core/test/common.ts @@ -1,13 +1,14 @@ -import { readFile } from "node:fs/promises"; +import { glob, readFile } from "node:fs/promises"; +import { resolve } from "node:path"; export async function collectMigrations(dir: string): Promise { const migrationSQLFiles = await Array.fromAsync( - new Bun.Glob("**/*.sql").scan({ cwd: dir, absolute: true }), + glob("**/*.sql", { cwd: dir, exclude: ["**/node_modules/**"] }), ); const queries: string[] = []; for (const file of migrationSQLFiles) { - const content = await readFile(file, "utf-8"); + const content = await readFile(resolve(dir, file), "utf-8"); const withoutComments = content.replace(/--.*$/gm, ""); const fileQueries = withoutComments.match(/(.*?);/gs)?.map((value) => value.trim()) ?? []; diff --git a/packages/core/test/drizzle.e2e-binary.ts b/packages/core/test/drizzle.e2e-binary.ts index 53bfe12..089dac6 100644 --- a/packages/core/test/drizzle.e2e-binary.ts +++ b/packages/core/test/drizzle.e2e-binary.ts @@ -1,5 +1,6 @@ +import Database from "better-sqlite3"; import { sql } from "drizzle-orm"; -import { drizzle } from "drizzle-orm/bun-sqlite"; +import { drizzle } from "drizzle-orm/better-sqlite3"; import { drizzle as drizzleLibSQL } from "drizzle-orm/libsql"; import { fileURLToPath } from "node:url"; import * as schema from "../drizzle/schema.e2e-binary.js"; @@ -13,11 +14,8 @@ function asSingleTuple(arr: T[]): [T] { return arr as [T]; } -export function setupDrizzleDBBunSQLite() { - const db = drizzle({ - connection: ":memory:", - schema, - }); +export function setupDrizzleDBBetterSQLite() { + const db = drizzle(new Database(":memory:"), { schema }); db.transaction((tx): void => { for (const query of migrationQueries) { diff --git a/packages/core/test/drizzle.e2e-string.ts b/packages/core/test/drizzle.e2e-string.ts index 481cfff..f2ebe47 100644 --- a/packages/core/test/drizzle.e2e-string.ts +++ b/packages/core/test/drizzle.e2e-string.ts @@ -1,5 +1,6 @@ +import Database from "better-sqlite3"; import { sql } from "drizzle-orm"; -import { drizzle } from "drizzle-orm/bun-sqlite"; +import { drizzle } from "drizzle-orm/better-sqlite3"; import { drizzle as drizzleLibSQL } from "drizzle-orm/libsql"; import { fileURLToPath } from "node:url"; import * as schema from "../drizzle/schema.e2e-string.js"; @@ -13,11 +14,8 @@ function asSingleTuple(arr: T[]): [T] { return arr as [T]; } -export function setupDrizzleDBBunSQLite() { - const db = drizzle({ - connection: ":memory:", - schema, - }); +export function setupDrizzleDBBetterSQLite() { + const db = drizzle(new Database(":memory:"), { schema }); db.transaction((tx): void => { for (const query of migrationQueries) { diff --git a/packages/core/test/drizzle.ts b/packages/core/test/drizzle.ts index 1e5add2..db26466 100644 --- a/packages/core/test/drizzle.ts +++ b/packages/core/test/drizzle.ts @@ -1,5 +1,6 @@ +import Database from "better-sqlite3"; import { sql } from "drizzle-orm"; -import { drizzle } from "drizzle-orm/bun-sqlite"; +import { drizzle } from "drizzle-orm/better-sqlite3"; import { drizzle as drizzleLibSQL } from "drizzle-orm/libsql"; import { fileURLToPath } from "node:url"; import * as schema from "../drizzle/schema.js"; @@ -13,11 +14,8 @@ function asSingleTuple(arr: T[]): [T] { return arr as [T]; } -export function setupDrizzleDBBunSQLite() { - const db = drizzle({ - connection: ":memory:", - schema, - }); +export function setupDrizzleDBBetterSQLite() { + const db = drizzle(new Database(":memory:"), { schema }); db.transaction((tx): void => { for (const query of migrationQueries) { diff --git a/packages/core/test/prisma.ts b/packages/core/test/prisma.ts index 2983944..056ac8b 100644 --- a/packages/core/test/prisma.ts +++ b/packages/core/test/prisma.ts @@ -11,7 +11,8 @@ const migrationQueries = await collectMigrations( export async function setupPrisma(): Promise { const prisma = new PrismaClient({ adapter: new PrismaLibSql({ - url: `file:prisma/temp/${crypto.randomUUID()}.db`, + url: new URL(`../prisma/temp/${crypto.randomUUID()}.db`, import.meta.url) + .href, }), }); await prisma.$transaction(async (tx) => { diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 1391ba4..4415445 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { // Enable latest features "lib": ["ESNext"], - "types": ["bun"], + "types": ["node"], "target": "ESNext", "module": "ESNext", "moduleDetection": "force", @@ -23,5 +23,11 @@ "noPropertyAccessFromIndexSignature": true, "ignoreDeprecations": "6.0" }, - "exclude": ["node_modules", "dist", "examples-bundled", "typedoc", ".tsup"] + "exclude": [ + "node_modules", + "dist", + "examples-bundled", + "typedoc", + ".vite-temp" + ] } diff --git a/packages/core/tsup.config.ts b/packages/core/tsup.config.ts deleted file mode 100644 index a5d5972..0000000 --- a/packages/core/tsup.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig( - (["DEV", "PROD"] as const).map((mode) => ({ - outDir: mode === "DEV" ? "dist/dev" : "dist", - entry: ["src/index.ts", "src/drizzle.ts", "src/prisma.ts"], - format: ["cjs", "esm"], - external: ["drizzle-orm", "@prisma/client"], - dts: true, - sourcemap: true, - clean: false, - minifyIdentifiers: true, - minifySyntax: true, - define: { - "globalThis.__DEV__": JSON.stringify(mode === "DEV"), - }, - })), -); diff --git a/packages/core/vite.config.ts b/packages/core/vite.config.ts new file mode 100644 index 0000000..821b0d7 --- /dev/null +++ b/packages/core/vite.config.ts @@ -0,0 +1,32 @@ +import { defineConfig } from "vite-plus"; + +export default defineConfig({ + pack: { + clean: true, + deps: { + neverBundle: ["@prisma/client", "drizzle-orm"], + }, + dts: true, + entry: { + drizzle: "src/drizzle.ts", + index: "src/index.ts", + prisma: "src/prisma.ts", + }, + fixedExtension: false, + format: ["esm", "cjs"], + minify: true, + plugins: [ + { + name: "fraci-build-mode", + tsdownConfig(config, inlineConfig) { + config.define = { + "globalThis.__DEV__": + inlineConfig.outDir === "dist/dev" ? "true" : "false", + }; + }, + }, + ], + sourcemap: true, + target: "esnext", + }, +}); diff --git a/packages/examples/common/schemas/schema.prisma b/packages/examples/common/schemas/schema.prisma index a5b9ded..61fcafe 100644 --- a/packages/examples/common/schemas/schema.prisma +++ b/packages/examples/common/schemas/schema.prisma @@ -1,9 +1,6 @@ generator client { provider = "prisma-client-js" output = "./client" - - runtime = "bun" - moduleFormat = "esm" } datasource db { diff --git a/packages/examples/common/test/basic.drizzle.test.ts b/packages/examples/common/test/basic.drizzle.test.ts index 7b82026..f603d27 100644 --- a/packages/examples/common/test/basic.drizzle.test.ts +++ b/packages/examples/common/test/basic.drizzle.test.ts @@ -1,5 +1,5 @@ import { createClient } from "@libsql/client"; -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { eq, sql } from "drizzle-orm"; import { drizzle } from "drizzle-orm/libsql"; import { drizzleFraci } from "fraci/drizzle"; diff --git a/packages/examples/common/test/basic.prisma.test.ts b/packages/examples/common/test/basic.prisma.test.ts index f3678ba..926c160 100644 --- a/packages/examples/common/test/basic.prisma.test.ts +++ b/packages/examples/common/test/basic.prisma.test.ts @@ -1,4 +1,4 @@ -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { prismaFraci } from "fraci/prisma"; import { PrismaClient } from "../prisma/client/index.js"; import { createTempDbName } from "../test-utils.js"; diff --git a/packages/examples/common/tsconfig.json b/packages/examples/common/tsconfig.json index bca83dc..3601bbe 100644 --- a/packages/examples/common/tsconfig.json +++ b/packages/examples/common/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { // Enable latest features "lib": ["ESNext"], - "types": ["bun"], + "types": ["node"], "target": "ESNext", "module": "ESNext", "moduleDetection": "force", diff --git a/packages/examples/drizzle-v0-30/package.json b/packages/examples/drizzle-v0-30/package.json index 4c1d224..4e33c29 100644 --- a/packages/examples/drizzle-v0-30/package.json +++ b/packages/examples/drizzle-v0-30/package.json @@ -9,7 +9,6 @@ }, "devDependencies": { "@libsql/client": "^0.17.4", - "@types/bun": "^1.3.14", "drizzle-kit": "^0.24.2", "drizzle-orm": "^0.30.10", "typescript": "^6.0.3" diff --git a/packages/examples/drizzle-v0-30/src/server.ts b/packages/examples/drizzle-v0-30/src/server.ts deleted file mode 120000 index 754f033..0000000 --- a/packages/examples/drizzle-v0-30/src/server.ts +++ /dev/null @@ -1 +0,0 @@ -../../common/src/server.drizzle.ts \ No newline at end of file diff --git a/packages/examples/drizzle-v0-30/test-utils.ts b/packages/examples/drizzle-v0-30/test-utils.ts deleted file mode 120000 index f730163..0000000 --- a/packages/examples/drizzle-v0-30/test-utils.ts +++ /dev/null @@ -1 +0,0 @@ -../common/test-utils.ts \ No newline at end of file diff --git a/packages/examples/drizzle-v0-30/test/basic.test.ts b/packages/examples/drizzle-v0-30/test/basic.test.ts index 88fac44..7a1da7d 100644 --- a/packages/examples/drizzle-v0-30/test/basic.test.ts +++ b/packages/examples/drizzle-v0-30/test/basic.test.ts @@ -1,5 +1,5 @@ import { createClient } from "@libsql/client"; -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { eq, sql } from "drizzle-orm"; import { drizzle } from "drizzle-orm/libsql"; import { drizzleFraci } from "fraci/drizzle"; diff --git a/packages/examples/drizzle-v0-40/package.json b/packages/examples/drizzle-v0-40/package.json index bf93947..dfc06b5 100644 --- a/packages/examples/drizzle-v0-40/package.json +++ b/packages/examples/drizzle-v0-40/package.json @@ -9,7 +9,6 @@ }, "devDependencies": { "@libsql/client": "^0.17.4", - "@types/bun": "^1.3.14", "drizzle-kit": "^0.25.0", "drizzle-orm": "^0.39.3", "typescript": "^6.0.3" diff --git a/packages/examples/drizzle-v0-40/src/server.ts b/packages/examples/drizzle-v0-40/src/server.ts deleted file mode 120000 index 754f033..0000000 --- a/packages/examples/drizzle-v0-40/src/server.ts +++ /dev/null @@ -1 +0,0 @@ -../../common/src/server.drizzle.ts \ No newline at end of file diff --git a/packages/examples/drizzle-v0-40/test-utils.ts b/packages/examples/drizzle-v0-40/test-utils.ts deleted file mode 120000 index f730163..0000000 --- a/packages/examples/drizzle-v0-40/test-utils.ts +++ /dev/null @@ -1 +0,0 @@ -../common/test-utils.ts \ No newline at end of file diff --git a/packages/examples/drizzle-v0-40/test/basic.test.ts b/packages/examples/drizzle-v0-40/test/basic.test.ts index 88fac44..7a1da7d 100644 --- a/packages/examples/drizzle-v0-40/test/basic.test.ts +++ b/packages/examples/drizzle-v0-40/test/basic.test.ts @@ -1,5 +1,5 @@ import { createClient } from "@libsql/client"; -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { eq, sql } from "drizzle-orm"; import { drizzle } from "drizzle-orm/libsql"; import { drizzleFraci } from "fraci/drizzle"; diff --git a/packages/examples/drizzle-v0-44/package.json b/packages/examples/drizzle-v0-44/package.json index 927445b..6a6c37c 100644 --- a/packages/examples/drizzle-v0-44/package.json +++ b/packages/examples/drizzle-v0-44/package.json @@ -9,7 +9,6 @@ }, "devDependencies": { "@libsql/client": "^0.17.4", - "@types/bun": "^1.3.14", "drizzle-kit": "^0.31.10", "drizzle-orm": "^0.44.7", "typescript": "^6.0.3" diff --git a/packages/examples/drizzle-v0-44/src/server.ts b/packages/examples/drizzle-v0-44/src/server.ts deleted file mode 120000 index 754f033..0000000 --- a/packages/examples/drizzle-v0-44/src/server.ts +++ /dev/null @@ -1 +0,0 @@ -../../common/src/server.drizzle.ts \ No newline at end of file diff --git a/packages/examples/drizzle-v0-44/test-utils.ts b/packages/examples/drizzle-v0-44/test-utils.ts deleted file mode 120000 index f730163..0000000 --- a/packages/examples/drizzle-v0-44/test-utils.ts +++ /dev/null @@ -1 +0,0 @@ -../common/test-utils.ts \ No newline at end of file diff --git a/packages/examples/drizzle-v0-44/test/basic.test.ts b/packages/examples/drizzle-v0-44/test/basic.test.ts index 88fac44..7a1da7d 100644 --- a/packages/examples/drizzle-v0-44/test/basic.test.ts +++ b/packages/examples/drizzle-v0-44/test/basic.test.ts @@ -1,5 +1,5 @@ import { createClient } from "@libsql/client"; -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { eq, sql } from "drizzle-orm"; import { drizzle } from "drizzle-orm/libsql"; import { drizzleFraci } from "fraci/drizzle"; diff --git a/packages/examples/drizzle-v0-45/package.json b/packages/examples/drizzle-v0-45/package.json index 77618ee..c1484f0 100644 --- a/packages/examples/drizzle-v0-45/package.json +++ b/packages/examples/drizzle-v0-45/package.json @@ -9,7 +9,6 @@ }, "devDependencies": { "@libsql/client": "^0.17.4", - "@types/bun": "^1.3.14", "drizzle-kit": "^0.31.10", "drizzle-orm": "^0.45.2", "typescript": "^6.0.3" diff --git a/packages/examples/drizzle-v0-45/test/basic.test.ts b/packages/examples/drizzle-v0-45/test/basic.test.ts index 88fac44..7a1da7d 100644 --- a/packages/examples/drizzle-v0-45/test/basic.test.ts +++ b/packages/examples/drizzle-v0-45/test/basic.test.ts @@ -1,5 +1,5 @@ import { createClient } from "@libsql/client"; -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { eq, sql } from "drizzle-orm"; import { drizzle } from "drizzle-orm/libsql"; import { drizzleFraci } from "fraci/drizzle"; diff --git a/packages/examples/drizzle-v1/package.json b/packages/examples/drizzle-v1/package.json index 3b85264..2581a33 100644 --- a/packages/examples/drizzle-v1/package.json +++ b/packages/examples/drizzle-v1/package.json @@ -9,7 +9,6 @@ }, "devDependencies": { "@libsql/client": "^0.17.4", - "@types/bun": "^1.3.14", "drizzle-kit": "1.0.0-rc.4", "drizzle-orm": "1.0.0-rc.4", "typescript": "^6.0.3" diff --git a/packages/examples/drizzle-v1/test/basic.test.ts b/packages/examples/drizzle-v1/test/basic.test.ts index 985be26..850e337 100644 --- a/packages/examples/drizzle-v1/test/basic.test.ts +++ b/packages/examples/drizzle-v1/test/basic.test.ts @@ -1,5 +1,5 @@ import { createClient } from "@libsql/client"; -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { eq, sql } from "drizzle-orm"; import { drizzle } from "drizzle-orm/libsql"; import { drizzleFraci } from "fraci/drizzle"; diff --git a/packages/examples/prisma-v5/package.json b/packages/examples/prisma-v5/package.json index 92cdf65..f630b31 100644 --- a/packages/examples/prisma-v5/package.json +++ b/packages/examples/prisma-v5/package.json @@ -9,7 +9,6 @@ }, "devDependencies": { "@prisma/client": "^5.22.0", - "@types/bun": "^1.3.14", "prisma": "^5.22.0", "typescript": "^6.0.3" } diff --git a/packages/examples/prisma-v5/prisma/schema.prisma b/packages/examples/prisma-v5/prisma/schema.prisma index 4e1b30a..0521b64 100644 --- a/packages/examples/prisma-v5/prisma/schema.prisma +++ b/packages/examples/prisma-v5/prisma/schema.prisma @@ -1,9 +1,6 @@ generator client { provider = "prisma-client-js" output = "./client" - - runtime = "bun" - moduleFormat = "esm" } datasource db { diff --git a/packages/examples/prisma-v5/src/server.ts b/packages/examples/prisma-v5/src/server.ts deleted file mode 120000 index f84dcb9..0000000 --- a/packages/examples/prisma-v5/src/server.ts +++ /dev/null @@ -1 +0,0 @@ -../../common/src/server.prisma.ts \ No newline at end of file diff --git a/packages/examples/prisma-v5/test-utils.ts b/packages/examples/prisma-v5/test-utils.ts deleted file mode 120000 index f730163..0000000 --- a/packages/examples/prisma-v5/test-utils.ts +++ /dev/null @@ -1 +0,0 @@ -../common/test-utils.ts \ No newline at end of file diff --git a/packages/examples/prisma-v5/test/basic.test.ts b/packages/examples/prisma-v5/test/basic.test.ts index 23f2cf1..2be8757 100644 --- a/packages/examples/prisma-v5/test/basic.test.ts +++ b/packages/examples/prisma-v5/test/basic.test.ts @@ -1,7 +1,7 @@ -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { prismaFraci } from "fraci/prisma"; import { PrismaClient } from "../prisma/client/index.js"; -import { createTempDbName } from "../test-utils.js"; +import { createTempDbName } from "../../common/test-utils.js"; test("prisma basic functionality", async () => { const prisma = new PrismaClient({ diff --git a/packages/examples/prisma-v6/package.json b/packages/examples/prisma-v6/package.json index 572deed..b0e124f 100644 --- a/packages/examples/prisma-v6/package.json +++ b/packages/examples/prisma-v6/package.json @@ -9,7 +9,6 @@ }, "devDependencies": { "@prisma/client": "^6.19.3", - "@types/bun": "^1.3.14", "prisma": "^6.19.3", "typescript": "^6.0.3" } diff --git a/packages/examples/prisma-v6/prisma/schema.prisma b/packages/examples/prisma-v6/prisma/schema.prisma index 4e1b30a..0521b64 100644 --- a/packages/examples/prisma-v6/prisma/schema.prisma +++ b/packages/examples/prisma-v6/prisma/schema.prisma @@ -1,9 +1,6 @@ generator client { provider = "prisma-client-js" output = "./client" - - runtime = "bun" - moduleFormat = "esm" } datasource db { diff --git a/packages/examples/prisma-v6/src/server.ts b/packages/examples/prisma-v6/src/server.ts deleted file mode 120000 index f84dcb9..0000000 --- a/packages/examples/prisma-v6/src/server.ts +++ /dev/null @@ -1 +0,0 @@ -../../common/src/server.prisma.ts \ No newline at end of file diff --git a/packages/examples/prisma-v6/test-utils.ts b/packages/examples/prisma-v6/test-utils.ts deleted file mode 120000 index f730163..0000000 --- a/packages/examples/prisma-v6/test-utils.ts +++ /dev/null @@ -1 +0,0 @@ -../common/test-utils.ts \ No newline at end of file diff --git a/packages/examples/prisma-v6/test/basic.test.ts b/packages/examples/prisma-v6/test/basic.test.ts index 23f2cf1..2be8757 100644 --- a/packages/examples/prisma-v6/test/basic.test.ts +++ b/packages/examples/prisma-v6/test/basic.test.ts @@ -1,7 +1,7 @@ -import { expect, test } from "bun:test"; +import { expect, test } from "vite-plus/test"; import { prismaFraci } from "fraci/prisma"; import { PrismaClient } from "../prisma/client/index.js"; -import { createTempDbName } from "../test-utils.js"; +import { createTempDbName } from "../../common/test-utils.js"; test("prisma basic functionality", async () => { const prisma = new PrismaClient({ diff --git a/packages/examples/prisma-v7/package.json b/packages/examples/prisma-v7/package.json index c7d7936..7f3d896 100644 --- a/packages/examples/prisma-v7/package.json +++ b/packages/examples/prisma-v7/package.json @@ -12,7 +12,6 @@ "@prisma/client": "^7.9.1", "@types/node": "^26.1.2", "prisma": "^7.9.1", - "tsx": "^4.23.1", "typescript": "^6.0.3" } } diff --git a/packages/examples/prisma-v7/test/basic.test.ts b/packages/examples/prisma-v7/test/basic.test.ts index 2727928..904a0a7 100644 --- a/packages/examples/prisma-v7/test/basic.test.ts +++ b/packages/examples/prisma-v7/test/basic.test.ts @@ -1,7 +1,6 @@ import { PrismaLibSql } from "@prisma/adapter-libsql"; import { prismaFraci } from "fraci/prisma"; -import assert from "node:assert/strict"; -import test from "node:test"; +import { expect, test } from "vite-plus/test"; import { PrismaClient } from "../prisma/client/client.js"; test("prisma basic functionality", async () => { @@ -49,7 +48,10 @@ test("prisma basic functionality", async () => { { groupId: 1 }, { id: first.id }, ); - assert(secondPair); + expect(secondPair).toBeDefined(); + if (!secondPair) { + throw new Error("Expected indices for the second item"); + } const [fi2] = helper.generateKeyBetween(...secondPair); await extended.stringExampleItem.create({ data: { name: "Second Item", groupId: 1, fi: fi2 }, @@ -59,10 +61,10 @@ test("prisma basic functionality", async () => { where: { groupId: 1 }, orderBy: { fi: "asc" }, }); - assert.deepEqual( - items.map(({ name }) => name), - ["First Item", "Second Item"], - ); + expect(items.map(({ name }) => name)).toEqual([ + "First Item", + "Second Item", + ]); } finally { await prisma.$disconnect(); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1906218..8bc02ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,12 +1,11 @@ lockfileVersion: '9.0' settings: - autoInstallPeers: true + autoInstallPeers: false excludeLinksFromLockfile: false overrides: vite: npm:@voidzero-dev/vite-plus-core@latest - vitest: npm:@voidzero-dev/vite-plus-test@latest importers: @@ -44,40 +43,40 @@ importers: version: 7.9.1 '@prisma/client': specifier: ^7.9.1 - version: 7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3) - '@types/bun': - specifier: ^1.3.14 - version: 1.3.14 + version: 7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3) + '@types/better-sqlite3': + specifier: ^7.6.13 + version: 7.6.13 + better-sqlite3: + specifier: ^12.11.1 + version: 12.11.1 drizzle-kit: specifier: ^0.31.10 version: 0.31.10 drizzle-orm: specifier: ^0.45.2 - version: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)) + version: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3)) esbuild: specifier: ^0.28.1 version: 0.28.1 hono: specifier: ^4.12.32 version: 4.12.32 - mitata: - specifier: ^1.0.34 - version: 1.0.34 prisma: specifier: ^7.9.1 - version: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + version: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3) rolldown: specifier: ^1.2.1 version: 1.2.1 - tsup: - specifier: ^8.5.1 - version: 8.5.1(jiti@2.7.0)(postcss@8.5.25)(supports-color@7.2.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0) typedoc: specifier: ^0.28.20 version: 0.28.20(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 + vite-plus: + specifier: ^0.2.6 + version: 0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0) zod: specifier: ^4.4.3 version: 4.4.3 @@ -91,15 +90,12 @@ importers: '@libsql/client': specifier: ^0.17.4 version: 0.17.4 - '@types/bun': - specifier: ^1.3.14 - version: 1.3.14 drizzle-kit: specifier: ^0.24.2 version: 0.24.2(supports-color@7.2.0) drizzle-orm: specifier: ^0.30.10 - version: 0.30.10(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@types/better-sqlite3@7.6.13)(@types/react@19.2.17)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(react@19.2.8) + version: 0.30.10(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@types/better-sqlite3@7.6.13)(@types/react@19.2.17)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -113,15 +109,12 @@ importers: '@libsql/client': specifier: ^0.17.4 version: 0.17.4 - '@types/bun': - specifier: ^1.3.14 - version: 1.3.14 drizzle-kit: specifier: ^0.25.0 version: 0.25.0(supports-color@7.2.0) drizzle-orm: specifier: ^0.39.3 - version: 0.39.3(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)) + version: 0.39.3(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3)) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -135,15 +128,12 @@ importers: '@libsql/client': specifier: ^0.17.4 version: 0.17.4 - '@types/bun': - specifier: ^1.3.14 - version: 1.3.14 drizzle-kit: specifier: ^0.31.10 version: 0.31.10 drizzle-orm: specifier: ^0.44.7 - version: 0.44.7(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)) + version: 0.44.7(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3)) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -157,15 +147,12 @@ importers: '@libsql/client': specifier: ^0.17.4 version: 0.17.4 - '@types/bun': - specifier: ^1.3.14 - version: 1.3.14 drizzle-kit: specifier: ^0.31.10 version: 0.31.10 drizzle-orm: specifier: ^0.45.2 - version: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)) + version: 0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3)) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -179,15 +166,12 @@ importers: '@libsql/client': specifier: ^0.17.4 version: 0.17.4 - '@types/bun': - specifier: ^1.3.14 - version: 1.3.14 drizzle-kit: specifier: 1.0.0-rc.4 version: 1.0.0-rc.4 drizzle-orm: specifier: 1.0.0-rc.4 - version: 1.0.0-rc.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(valibot@1.4.2(typescript@6.0.3))(zod@4.4.3) + version: 1.0.0-rc.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7)(valibot@1.4.2(typescript@6.0.3))(zod@4.4.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -201,9 +185,6 @@ importers: '@prisma/client': specifier: ^5.22.0 version: 5.22.0(prisma@5.22.0) - '@types/bun': - specifier: ^1.3.14 - version: 1.3.14 prisma: specifier: ^5.22.0 version: 5.22.0 @@ -220,9 +201,6 @@ importers: '@prisma/client': specifier: ^6.19.3 version: 6.19.3(prisma@6.19.3(typescript@6.0.3))(typescript@6.0.3) - '@types/bun': - specifier: ^1.3.14 - version: 1.3.14 prisma: specifier: ^6.19.3 version: 6.19.3(typescript@6.0.3) @@ -241,16 +219,13 @@ importers: version: 7.9.1 '@prisma/client': specifier: ^7.9.1 - version: 7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3) + version: 7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3) '@types/node': specifier: ^26.1.2 version: 26.1.2 prisma: specifier: ^7.9.1 - version: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) - tsx: - specifier: ^4.23.1 - version: 4.23.1 + version: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 @@ -395,12 +370,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.7': - resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.28.1': resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==} engines: {node: '>=18'} @@ -425,12 +394,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.7': - resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.28.1': resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==} engines: {node: '>=18'} @@ -455,12 +418,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.7': - resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.28.1': resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==} engines: {node: '>=18'} @@ -485,12 +442,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.7': - resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.28.1': resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==} engines: {node: '>=18'} @@ -515,12 +466,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.7': - resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.28.1': resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==} engines: {node: '>=18'} @@ -545,12 +490,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.7': - resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.28.1': resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==} engines: {node: '>=18'} @@ -575,12 +514,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.7': - resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.28.1': resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==} engines: {node: '>=18'} @@ -605,12 +538,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.7': - resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.28.1': resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==} engines: {node: '>=18'} @@ -635,12 +562,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.7': - resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.28.1': resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==} engines: {node: '>=18'} @@ -665,12 +586,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.7': - resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.28.1': resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==} engines: {node: '>=18'} @@ -695,12 +610,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.7': - resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.28.1': resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==} engines: {node: '>=18'} @@ -725,12 +634,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.7': - resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.28.1': resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==} engines: {node: '>=18'} @@ -755,12 +658,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.7': - resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.28.1': resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==} engines: {node: '>=18'} @@ -785,12 +682,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.7': - resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.28.1': resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==} engines: {node: '>=18'} @@ -815,12 +706,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.7': - resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.28.1': resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==} engines: {node: '>=18'} @@ -845,12 +730,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.7': - resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.28.1': resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==} engines: {node: '>=18'} @@ -875,12 +754,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.7': - resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.28.1': resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==} engines: {node: '>=18'} @@ -893,12 +766,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.7': - resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.28.1': resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==} engines: {node: '>=18'} @@ -923,12 +790,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.7': - resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.28.1': resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==} engines: {node: '>=18'} @@ -941,12 +802,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.7': - resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.28.1': resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==} engines: {node: '>=18'} @@ -971,12 +826,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.7': - resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.28.1': resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==} engines: {node: '>=18'} @@ -989,12 +838,6 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.7': - resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - '@esbuild/openharmony-arm64@0.28.1': resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==} engines: {node: '>=18'} @@ -1019,12 +862,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.7': - resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.28.1': resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==} engines: {node: '>=18'} @@ -1049,12 +886,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.7': - resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.28.1': resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==} engines: {node: '>=18'} @@ -1079,12 +910,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.7': - resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.28.1': resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==} engines: {node: '>=18'} @@ -1109,12 +934,6 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.7': - resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.28.1': resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==} engines: {node: '>=18'} @@ -1139,19 +958,9 @@ packages: '@types/node': optional: true - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@js-temporal/polyfill@0.5.1': resolution: {integrity: sha512-hloP58zRVCRSpgDxmqCWJNlizAlUgJFqG2ypq79DCvyv9tHjRYMDOcPFjzfl/A1/YxDvRCZz8wvZvmapQnKwFQ==} engines: {node: '>=12'} @@ -1244,17 +1053,10 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-project/runtime@0.133.0': - resolution: {integrity: sha512-PkvjA1Lq5++V5S1E6Patr92ZVcieE6EalDr1VJTqv4BnjZdOUC4W3p8k1wMXSd5/2aFP4b/A6N5sg2Bkzcr9vQ==} - engines: {node: ^20.19.0 || >=22.12.0} - '@oxc-project/runtime@0.141.0': resolution: {integrity: sha512-Z/6jQ0dyvE2fVjMUO7GoD4h+3q0G4lI4BWQNjaPhC4RPxaS4hF1b7/QYKB/Tl+KAQwqqKgMF54ukR/VvV5FILg==} engines: {node: ^20.19.0 || >=22.12.0} - '@oxc-project/types@0.133.0': - resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==} - '@oxc-project/types@0.141.0': resolution: {integrity: sha512-S4as7z0j0xQkXcJlyY5ehntwK8/wRkQb9Cyqw+J/N2rkWGQGK0SxD6X6DhQTc7qsxVTBxXbxZtBJh3mr3PtIzQ==} @@ -1830,144 +1632,6 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@rollup/rollup-android-arm-eabi@4.62.3': - resolution: {integrity: sha512-c0wdcekXtQvvn5Tsrk/+op/gUArrbWaFduBnTLP2l1cKLSQs4diMWjJw3m6A0DdzT8dAAX95KpkJ3qynCePbmw==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.62.3': - resolution: {integrity: sha512-3YjElDdWN+qXAFbJ/CzPV+0wspLqh54k/I6GfdYtEJRqg7buSgc1yPM3B+93j1M4neobtkATHZTmxK2AMVGfnA==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.62.3': - resolution: {integrity: sha512-Pch2pFNOxxz1hTjypIdPyRTR6riiwRl84+VcN9djS680fw+Co1nAJINrdpqp7KV0NvyuU8ilZXZCjd7ykJl1GQ==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.62.3': - resolution: {integrity: sha512-LEuncFUHFiF8t4yZVZvvZA1wk0pjAscRnsrn1EfTEmN4HXotBi2YtcnLRyaK6UbuczW7xZS5ES+81Rdz8Z0T6g==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.62.3': - resolution: {integrity: sha512-zvBUvsQUpOWALdDsk6qbS8bXf2VxmPisuudNDrY7x0p0jBdsoZl8HsHczIOgkQiZldmcacMKtBzpoGVNeIe2bQ==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.62.3': - resolution: {integrity: sha512-C2KmNrcSem/AMg984H/dev+si0lieQGdXdR/lYGJnuumXnFb9Y7QdiI62obFdLlxRYLBv4P0eUVIDbD4c1vVvw==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.62.3': - resolution: {integrity: sha512-ggXnsTAEzNQx74XpunRsiZ9aBZDsI7XIa0hm2nzR9f4WzH5/f/d73ZSDaC5ejJ8YLY4NW+V3wr0tjOaeCq8hqA==} - cpu: [arm] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm-musleabihf@4.62.3': - resolution: {integrity: sha512-2vng+FlzNUhKZxtej3IUqJgbZoQk2M/dwQM20+ULV0R/E/8tr9/P6uEf2iiGIk4HL0zMKh5Jry7mUHdUOvyGgA==} - cpu: [arm] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-arm64-gnu@4.62.3': - resolution: {integrity: sha512-LLLFZKt4/Nraf9rxDkhiU8QVgLF4WmCkfr0L4fj0fPfIZFBib0DeiFk1hhaYKd03LFAFJcxHslhDFlNJLylf5Q==} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm64-musl@4.62.3': - resolution: {integrity: sha512-WJkdQCvS9sWNOUBJZfQRKpZGFBztRzcowI+nndmflKgU4XY+3a420FgTOSKTsVqJbnzSxeT4vaJalpOaPo2YCQ==} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-loong64-gnu@4.62.3': - resolution: {integrity: sha512-PwHXCCS2n64/1Ot6rP1YEYA02MGYBcQlr8CSZZyrUG2O7NH6NklYmvr9v3Jy+5e/eDeNchc/ukmKJi9LuflMIQ==} - cpu: [loong64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-loong64-musl@4.62.3': - resolution: {integrity: sha512-vUjxINQu3RC8NZS3ykk1gN65gIz8pAopOq2HXuZhiIxHdx7TFvDG+jgrdSgInu1Eza4/Rfi2VzZgyIgEH4WOaw==} - cpu: [loong64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-ppc64-gnu@4.62.3': - resolution: {integrity: sha512-wzko4aJ13+0G3kGnviCg5gnXFKd40izKsrf2uOw12US4XqprkDrmwOpeW14aSNa37V8bfPcz5Fkob6LZ3BAPmA==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-ppc64-musl@4.62.3': - resolution: {integrity: sha512-8120ue0JUMSwy11stlwnfdX3pPd+WZYGCDBwEHWtIHi6pOpZmsEF5QKB7a/UN+XFdqvobxz98kv8RTqikyCEBw==} - cpu: [ppc64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-riscv64-gnu@4.62.3': - resolution: {integrity: sha512-XLFHnR3tXMjbOCh2vtVJHmxt+995uJsTERQyseFDRA0xxMxyTZPLa3OIUlyFaO4mF/Lu0FjmWHCuPXJT1n/IOg==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-riscv64-musl@4.62.3': - resolution: {integrity: sha512-se6yXvNGMIl0f+RQzyh7XAmia8/9kplQx424wnG2w0C1oi6XgO6Y8otKhdXFHbHs88Ihavzmvh1NWjuovE76BQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-s390x-gnu@4.62.3': - resolution: {integrity: sha512-gNoxRefktVIiGflpONuxWWXZAzIQG++z9qHO3xKwk4WdDMuQja3JHGfE1u0i3PfPDyvhypdk+WrgIJqLhGG7sg==} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-x64-gnu@4.62.3': - resolution: {integrity: sha512-V4KtWtQfAFMU7+9/A/VDps/VI8CHd3cYz0L8sgJzz8qK7eY7wI4ruFD82UYIYvW9Z4DtlTfhQcsl4XyPHW5uSg==} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-x64-musl@4.62.3': - resolution: {integrity: sha512-LBx9LYXvj2CBkMkjLdNAWLwH0MLMin7do2VcVo9kVPibGLkY0BQQut2fv7NVqkXqZ/CrAu9LqDHVV1xHCMpCPw==} - cpu: [x64] - os: [linux] - libc: [musl] - - '@rollup/rollup-openbsd-x64@4.62.3': - resolution: {integrity: sha512-ABVf3Q0RCu7NcyCCOZQI0pJ3GuSdfSl8EXcy88QtdceIMIoCUdfhsJChZ64L9zVM2aJHjde1Bhn5uqSRcX9ySA==} - cpu: [x64] - os: [openbsd] - - '@rollup/rollup-openharmony-arm64@4.62.3': - resolution: {integrity: sha512-+2Cy/ldweGBLlPIKsQLF8U5N44a0KDdbrk1rAjHOM9M2K+kGdIVjHLmmrZIcx+9Ny3ke/1JomCsDI1ocb11+sg==} - cpu: [arm64] - os: [openharmony] - - '@rollup/rollup-win32-arm64-msvc@4.62.3': - resolution: {integrity: sha512-dtZvzc8BedpSaFNy75x6uiWwAGTH+aZHDtdrqP6qk+WcLJrfti6sGje1ZJ9UxyzDLF23d/mV+PaMwuC0hL7UVA==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.62.3': - resolution: {integrity: sha512-Rj8Ra4noo+aYy7sKBggCx0407mws34kAb1ySyWuq5DAtFBQdkSwnsjCgPrhPe9cvgBKZIukpE+CVHvORCS93kQ==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-gnu@4.62.3': - resolution: {integrity: sha512-vp7N084ew/odXn2gi/mzm9mUkQu9l6AiN6dt4IeUM2Uvm9o+cVmP+YkqbMOteLbiGgqBBlJZjIMYVCfOOIVbVQ==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.62.3': - resolution: {integrity: sha512-MOG/3gTOn4Fwf574RVOaY61I5o6P90legkFADiTyn1hyjNydT+cerU2rLUwPdZkKKyJ+iT+K9p7WXK4LM1Ka6g==} - cpu: [x64] - os: [win32] - '@shikijs/engine-oniguruma@3.23.0': resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} @@ -2009,9 +1673,6 @@ packages: '@types/better-sqlite3@7.6.13': resolution: {integrity: sha512-NMv9ASNARoKksWtsq/SHakpYAYnhBrQgGD8zkLYk/jaK8jUGn08CfEdTRgYhMypUQAfzSP8W6gNLe0q19/t4VA==} - '@types/bun@1.3.14': - resolution: {integrity: sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw==} - '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} @@ -2152,15 +1813,13 @@ packages: '@vitest/utils@4.1.10': resolution: {integrity: sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==} - '@voidzero-dev/vite-plus-core@0.1.24': - resolution: {integrity: sha512-iXPGBABnQnrDMx89H6MOCGcTZp+QW+3rY4YMVKdE6ydchSvPk2O3MI2vgaRVfOtWJ2IjnxSnf1n2yjP67ZBRFQ==} - engines: {node: ^20.19.0 || >=22.12.0} + '@voidzero-dev/vite-plus-core@0.2.6': + resolution: {integrity: sha512-vqDuuLJWS2JHWkFO7r8Z6AehtKnurpnYtw2XEQtjIfwE2GgSAO3zJdPIeaEZiovS6CqfQa+iOMn3kzVzeTSpTw==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} peerDependencies: '@arethetypeswrong/core': ^0.18.1 - '@tsdown/css': 0.22.1 - '@tsdown/exe': 0.22.1 '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.18 + '@vitejs/devtools': ^0.3.0 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -2171,68 +1830,7 @@ packages: sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 - typescript: ^5.0.0 || ^6.0.0 - unplugin-unused: ^0.5.0 - unrun: '*' - yaml: ^2.4.2 - peerDependenciesMeta: - '@arethetypeswrong/core': - optional: true - '@tsdown/css': - optional: true - '@tsdown/exe': - optional: true - '@types/node': - optional: true - '@vitejs/devtools': - optional: true - esbuild: - optional: true - jiti: - optional: true - less: - optional: true - publint: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - typescript: - optional: true - unplugin-unused: - optional: true - unrun: - optional: true - yaml: - optional: true - - '@voidzero-dev/vite-plus-core@0.2.6': - resolution: {integrity: sha512-vqDuuLJWS2JHWkFO7r8Z6AehtKnurpnYtw2XEQtjIfwE2GgSAO3zJdPIeaEZiovS6CqfQa+iOMn3kzVzeTSpTw==} - engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} - peerDependencies: - '@arethetypeswrong/core': ^0.18.1 - '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.3.0 - esbuild: ^0.27.0 || ^0.28.0 - jiti: '>=1.21.0' - less: ^4.0.0 - publint: ^0.3.8 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: '>=0.54.8' - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 + typescript: ^5.0.0 || ^6.0.0 || ^7.0.0 unplugin-unused: ^0.5.0 unrun: '*' yaml: ^2.4.2 @@ -2312,37 +1910,6 @@ packages: os: [linux] libc: [musl] - '@voidzero-dev/vite-plus-test@0.1.24': - resolution: {integrity: sha512-9NiG6UadG0iOaPL1AMsO5sDKkx6MADHw4/mMOmHWZUhhUwqzfVtnnptMK37vD71e6KyR7yAscx19FrtOWWtjvA==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@edge-runtime/vm': '*' - '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/coverage-istanbul': 4.1.8 - '@vitest/coverage-v8': 4.1.8 - '@vitest/ui': 4.1.8 - happy-dom: '*' - jsdom: '*' - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@opentelemetry/api': - optional: true - '@types/node': - optional: true - '@vitest/coverage-istanbul': - optional: true - '@vitest/coverage-v8': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - '@voidzero-dev/vite-plus-win32-arm64-msvc@0.2.6': resolution: {integrity: sha512-4b5ASpQlkxSXDYzuM6MYsOc1GnYkqG9CbSA1QzobXm87V/Q+MGPn57eILyacgfbmNNLrO2HQ5hasoLvd2BXaSg==} engines: {node: '>=20.0.0'} @@ -2480,11 +2047,6 @@ packages: '@yuku-toolchain/types@0.5.43': resolution: {integrity: sha512-kSpvPntnXw5+lYjO71ffBEnQ5ycQ74KGIYknh0TS4xeyCuBkOqxyJumxZkMhLBBUCLjDAbx2+Icnr3Zh4ftjpQ==} - acorn@8.18.0: - resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} - engines: {node: '>=0.4.0'} - hasBin: true - ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} @@ -2577,15 +2139,6 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - bun-types@1.3.14: - resolution: {integrity: sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ==} - - bundle-require@5.1.0: - resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.18' - c12@3.1.0: resolution: {integrity: sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==} peerDependencies: @@ -2602,10 +2155,6 @@ packages: magicast: optional: true - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} @@ -2671,13 +2220,6 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - confbox@0.2.4: resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==} @@ -3358,8 +2900,8 @@ packages: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} esbuild-register@3.6.0: resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} @@ -3381,11 +2923,6 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.7: - resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.28.1: resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==} engines: {node: '>=18'} @@ -3407,6 +2944,10 @@ packages: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} + engines: {node: '>=12.0.0'} + exsolve@1.1.1: resolution: {integrity: sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==} @@ -3463,9 +3004,6 @@ packages: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - fix-dts-default-cjs-exports@1.0.1: - resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} - foreground-child@3.3.1: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} @@ -3597,10 +3135,6 @@ packages: resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true - joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - js-base64@3.9.2: resolution: {integrity: sha512-6zayE8QlUdiweYI6cETD/XBSqFcoCUlufn/29PJR99r82x1yDnIprRca0YvAYpAW+ez0GuQkVBC6xG5QkD7OjA==} @@ -3703,20 +3237,9 @@ packages: resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - linkify-it@5.0.2: resolution: {integrity: sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==} - load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -3785,15 +3308,9 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mitata@1.0.34: - resolution: {integrity: sha512-Mc3zrtNBKIMeHSCQ0XqRLo1vbdIx1wvFV9c8NJAiyho6AjNfMY8bVhbS12bwciUdd1t4rj8099CH3N3NFahaUA==} - mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mlly@1.8.2: - resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} - mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -3955,17 +3472,6 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} - - pixelmatch@7.2.0: - resolution: {integrity: sha512-xhcb4yHu9sM/G7foGzoLtXYcC0zHEaOXXjRKhGup0fw78Nf2Tkiapv4EQyMzrbcmQPsllAI7DbFY2UT7PlI9Pg==} - hasBin: true - - pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-types@2.3.1: resolution: {integrity: sha512-y+ichcgc2LrADuhLNAx8DFjVfgz91pRxfZdI3UDhxHvcVEZsenLO+7XaU5vOp0u/7V/wZ+plyuQxtrDlZJ+yeg==} @@ -3973,24 +3479,6 @@ packages: resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} engines: {node: '>=14.19.0'} - postcss-load-config@6.0.1: - resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} - engines: {node: '>= 18'} - peerDependencies: - jiti: '>=1.21.0' - postcss: '>=8.0.9' - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - jiti: - optional: true - postcss: - optional: true - tsx: - optional: true - yaml: - optional: true - postcss@8.5.25: resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==} engines: {node: ^10 || ^12 || >=14} @@ -4074,18 +3562,9 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-dom@19.2.8: - resolution: {integrity: sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==} - peerDependencies: - react: ^19.2.8 - react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - react@19.2.8: - resolution: {integrity: sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==} - engines: {node: '>=0.10.0'} - read-yaml-file@1.1.0: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} @@ -4140,11 +3619,6 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - rollup@4.62.3: - resolution: {integrity: sha512-Gu0c0iH9FzgX1L1t7ByIbbS3Vmdz+6KHm/EsqmmC71gUQ82yvZRkTK6XzrFObSka91WUVdynqp6nsfilzr5k6Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -4158,9 +3632,6 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - semver@7.8.5: resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} @@ -4177,6 +3648,9 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -4213,10 +3687,6 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - source-map@0.7.6: - resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} - engines: {node: '>= 12'} - spawndamnit@3.0.1: resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} @@ -4227,6 +3697,9 @@ packages: resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} engines: {node: '>= 0.6'} + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} @@ -4252,11 +3725,6 @@ packages: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} - sucrase@3.35.1: - resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -4286,9 +3754,6 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyexec@1.2.4: resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} engines: {node: '>=18'} @@ -4313,35 +3778,9 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} - tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - - ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsup@8.5.1: - resolution: {integrity: sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@microsoft/api-extractor': ^7.36.0 - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.5.0' - peerDependenciesMeta: - '@microsoft/api-extractor': - optional: true - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - tsx@4.23.1: resolution: {integrity: sha512-GQHnkIfxyx1wYCOS/wonik5MVRZU9hi1TEZmzGZSCJB1y9YgoZ8H6itNE/u4suE+yLmOzuE4E5S4TZ/ZX2wcWQ==} engines: {node: '>=18.0.0'} @@ -4370,9 +3809,6 @@ packages: uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - ufo@1.6.4: - resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} - undici-types@8.3.0: resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} @@ -4412,11 +3848,57 @@ packages: '@vitest/browser-webdriverio': optional: true + vitest@4.1.10: + resolution: {integrity: sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.10 + '@vitest/browser-preview': 4.1.10 + '@vitest/browser-webdriverio': 4.1.10 + '@vitest/coverage-istanbul': 4.1.10 + '@vitest/coverage-v8': 4.1.10 + '@vitest/ui': 4.1.10 + happy-dom: '*' + jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -4696,9 +4178,6 @@ snapshots: '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/aix-ppc64@0.27.7': - optional: true - '@esbuild/aix-ppc64@0.28.1': optional: true @@ -4711,9 +4190,6 @@ snapshots: '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm64@0.27.7': - optional: true - '@esbuild/android-arm64@0.28.1': optional: true @@ -4726,9 +4202,6 @@ snapshots: '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-arm@0.27.7': - optional: true - '@esbuild/android-arm@0.28.1': optional: true @@ -4741,9 +4214,6 @@ snapshots: '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/android-x64@0.27.7': - optional: true - '@esbuild/android-x64@0.28.1': optional: true @@ -4756,9 +4226,6 @@ snapshots: '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.27.7': - optional: true - '@esbuild/darwin-arm64@0.28.1': optional: true @@ -4771,9 +4238,6 @@ snapshots: '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/darwin-x64@0.27.7': - optional: true - '@esbuild/darwin-x64@0.28.1': optional: true @@ -4786,9 +4250,6 @@ snapshots: '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.27.7': - optional: true - '@esbuild/freebsd-arm64@0.28.1': optional: true @@ -4801,9 +4262,6 @@ snapshots: '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.27.7': - optional: true - '@esbuild/freebsd-x64@0.28.1': optional: true @@ -4816,9 +4274,6 @@ snapshots: '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm64@0.27.7': - optional: true - '@esbuild/linux-arm64@0.28.1': optional: true @@ -4831,9 +4286,6 @@ snapshots: '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-arm@0.27.7': - optional: true - '@esbuild/linux-arm@0.28.1': optional: true @@ -4846,9 +4298,6 @@ snapshots: '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-ia32@0.27.7': - optional: true - '@esbuild/linux-ia32@0.28.1': optional: true @@ -4861,9 +4310,6 @@ snapshots: '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-loong64@0.27.7': - optional: true - '@esbuild/linux-loong64@0.28.1': optional: true @@ -4876,9 +4322,6 @@ snapshots: '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-mips64el@0.27.7': - optional: true - '@esbuild/linux-mips64el@0.28.1': optional: true @@ -4891,9 +4334,6 @@ snapshots: '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-ppc64@0.27.7': - optional: true - '@esbuild/linux-ppc64@0.28.1': optional: true @@ -4906,9 +4346,6 @@ snapshots: '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.27.7': - optional: true - '@esbuild/linux-riscv64@0.28.1': optional: true @@ -4921,9 +4358,6 @@ snapshots: '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-s390x@0.27.7': - optional: true - '@esbuild/linux-s390x@0.28.1': optional: true @@ -4936,18 +4370,12 @@ snapshots: '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/linux-x64@0.27.7': - optional: true - '@esbuild/linux-x64@0.28.1': optional: true '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.27.7': - optional: true - '@esbuild/netbsd-arm64@0.28.1': optional: true @@ -4960,18 +4388,12 @@ snapshots: '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.27.7': - optional: true - '@esbuild/netbsd-x64@0.28.1': optional: true '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.27.7': - optional: true - '@esbuild/openbsd-arm64@0.28.1': optional: true @@ -4984,18 +4406,12 @@ snapshots: '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.27.7': - optional: true - '@esbuild/openbsd-x64@0.28.1': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.27.7': - optional: true - '@esbuild/openharmony-arm64@0.28.1': optional: true @@ -5008,9 +4424,6 @@ snapshots: '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/sunos-x64@0.27.7': - optional: true - '@esbuild/sunos-x64@0.28.1': optional: true @@ -5023,9 +4436,6 @@ snapshots: '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-arm64@0.27.7': - optional: true - '@esbuild/win32-arm64@0.28.1': optional: true @@ -5038,9 +4448,6 @@ snapshots: '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-ia32@0.27.7': - optional: true - '@esbuild/win32-ia32@0.28.1': optional: true @@ -5053,9 +4460,6 @@ snapshots: '@esbuild/win32-x64@0.25.12': optional: true - '@esbuild/win32-x64@0.27.7': - optional: true - '@esbuild/win32-x64@0.28.1': optional: true @@ -5079,20 +4483,8 @@ snapshots: optionalDependencies: '@types/node': 26.1.2 - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.31': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - '@js-temporal/polyfill@0.5.1': dependencies: jsbi: 4.3.2 @@ -5196,12 +4588,8 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@oxc-project/runtime@0.133.0': {} - '@oxc-project/runtime@0.141.0': {} - '@oxc-project/types@0.133.0': {} - '@oxc-project/types@0.141.0': {} '@oxc-project/types@0.142.0': {} @@ -5362,11 +4750,11 @@ snapshots: prisma: 6.19.3(typescript@6.0.3) typescript: 6.0.3 - '@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3)': + '@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3)': dependencies: '@prisma/client-runtime-utils': 7.9.1 optionalDependencies: - prisma: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + prisma: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3) typescript: 6.0.3 '@prisma/config@6.19.3': @@ -5489,76 +4877,63 @@ snapshots: env-paths: 3.0.0 proper-lockfile: 4.1.2 - '@prisma/studio-core@0.33.0(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@prisma/studio-core@0.33.0(@types/react@19.2.17)': dependencies: - '@radix-ui/react-toggle': 1.1.10(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@radix-ui/react-toggle': 1.1.10(@types/react@19.2.17) '@types/react': 19.2.17 '@visx/curve': 4.0.1-alpha.0 '@visx/event': 4.0.1-alpha.0 - '@visx/grid': 4.0.1-alpha.0(react@19.2.8) - '@visx/group': 4.0.1-alpha.0(react@19.2.8) - '@visx/responsive': 4.0.1-alpha.0(react@19.2.8) + '@visx/grid': 4.0.1-alpha.0 + '@visx/group': 4.0.1-alpha.0 + '@visx/responsive': 4.0.1-alpha.0 '@visx/scale': 4.0.1-alpha.0 - '@visx/shape': 4.0.1-alpha.0(react@19.2.8) + '@visx/shape': 4.0.1-alpha.0 d3-array: 3.2.4 d3-shape: 3.2.0 elkjs: 0.11.1 - react: 19.2.8 - react-dom: 19.2.8(react@19.2.8) transitivePeerDependencies: - '@types/react-dom' '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.17)(react@19.2.8)': - dependencies: - react: 19.2.8 + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.17)': optionalDependencies: '@types/react': 19.2.17 - '@radix-ui/react-primitive@2.1.3(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-primitive@2.1.3(@types/react@19.2.17)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.8) - react: 19.2.8 - react-dom: 19.2.8(react@19.2.8) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17) optionalDependencies: '@types/react': 19.2.17 - '@radix-ui/react-slot@1.2.3(@types/react@19.2.17)(react@19.2.8)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.17)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.8) - react: 19.2.8 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17) optionalDependencies: '@types/react': 19.2.17 - '@radix-ui/react-toggle@1.1.10(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)': + '@radix-ui/react-toggle@1.1.10(@types/react@19.2.17)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.8) - react: 19.2.8 - react-dom: 19.2.8(react@19.2.8) + '@radix-ui/react-primitive': 2.1.3(@types/react@19.2.17) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17) optionalDependencies: '@types/react': 19.2.17 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.17)(react@19.2.8)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.17)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.17)(react@19.2.8) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.8) - react: 19.2.8 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.17) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17) optionalDependencies: '@types/react': 19.2.17 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.17)(react@19.2.8)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.17)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.8) - react: 19.2.8 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17) optionalDependencies: '@types/react': 19.2.17 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.17)(react@19.2.8)': - dependencies: - react: 19.2.8 + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.17)': optionalDependencies: '@types/react': 19.2.17 @@ -5613,81 +4988,6 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@rollup/rollup-android-arm-eabi@4.62.3': - optional: true - - '@rollup/rollup-android-arm64@4.62.3': - optional: true - - '@rollup/rollup-darwin-arm64@4.62.3': - optional: true - - '@rollup/rollup-darwin-x64@4.62.3': - optional: true - - '@rollup/rollup-freebsd-arm64@4.62.3': - optional: true - - '@rollup/rollup-freebsd-x64@4.62.3': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.62.3': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.62.3': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.62.3': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.62.3': - optional: true - - '@rollup/rollup-linux-loong64-gnu@4.62.3': - optional: true - - '@rollup/rollup-linux-loong64-musl@4.62.3': - optional: true - - '@rollup/rollup-linux-ppc64-gnu@4.62.3': - optional: true - - '@rollup/rollup-linux-ppc64-musl@4.62.3': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.62.3': - optional: true - - '@rollup/rollup-linux-riscv64-musl@4.62.3': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.62.3': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.62.3': - optional: true - - '@rollup/rollup-linux-x64-musl@4.62.3': - optional: true - - '@rollup/rollup-openbsd-x64@4.62.3': - optional: true - - '@rollup/rollup-openharmony-arm64@4.62.3': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.62.3': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.62.3': - optional: true - - '@rollup/rollup-win32-x64-gnu@4.62.3': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.62.3': - optional: true - '@shikijs/engine-oniguruma@3.23.0': dependencies: '@shikijs/types': 3.23.0 @@ -5737,11 +5037,6 @@ snapshots: '@types/better-sqlite3@7.6.13': dependencies: '@types/node': 26.1.2 - optional: true - - '@types/bun@1.3.14': - dependencies: - bun-types: 1.3.14 '@types/chai@5.2.3': dependencies: @@ -5815,47 +5110,43 @@ snapshots: '@types/react': 19.2.17 '@visx/point': 4.0.1-alpha.0 - '@visx/grid@4.0.1-alpha.0(react@19.2.8)': + '@visx/grid@4.0.1-alpha.0': dependencies: '@types/react': 19.2.17 '@visx/curve': 4.0.1-alpha.0 - '@visx/group': 4.0.1-alpha.0(react@19.2.8) + '@visx/group': 4.0.1-alpha.0 '@visx/point': 4.0.1-alpha.0 '@visx/scale': 4.0.1-alpha.0 - '@visx/shape': 4.0.1-alpha.0(react@19.2.8) + '@visx/shape': 4.0.1-alpha.0 classnames: 2.5.1 - react: 19.2.8 - '@visx/group@4.0.1-alpha.0(react@19.2.8)': + '@visx/group@4.0.1-alpha.0': dependencies: '@types/react': 19.2.17 classnames: 2.5.1 - react: 19.2.8 '@visx/point@4.0.1-alpha.0': {} - '@visx/responsive@4.0.1-alpha.0(react@19.2.8)': + '@visx/responsive@4.0.1-alpha.0': dependencies: '@types/lodash': 4.17.24 '@types/react': 19.2.17 lodash: 4.18.1 - react: 19.2.8 '@visx/scale@4.0.1-alpha.0': dependencies: '@visx/vendor': 4.0.0-alpha.0 - '@visx/shape@4.0.1-alpha.0(react@19.2.8)': + '@visx/shape@4.0.1-alpha.0': dependencies: '@types/lodash': 4.17.24 '@types/react': 19.2.17 '@visx/curve': 4.0.1-alpha.0 - '@visx/group': 4.0.1-alpha.0(react@19.2.8) + '@visx/group': 4.0.1-alpha.0 '@visx/scale': 4.0.1-alpha.0 '@visx/vendor': 4.0.0-alpha.0 classnames: 2.5.1 lodash: 4.18.1 - react: 19.2.8 '@visx/vendor@4.0.0-alpha.0': dependencies: @@ -5883,19 +5174,19 @@ snapshots: d3-time-format: 4.1.0 internmap: 2.0.3 - '@vitest/browser-preview@4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(@voidzero-dev/vite-plus-test@0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))': + '@vitest/browser-preview@4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(vitest@4.1.10)': dependencies: '@testing-library/dom': 10.4.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/browser': 4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(@voidzero-dev/vite-plus-test@0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) - vitest: '@voidzero-dev/vite-plus-test@0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)' + '@vitest/browser': 4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(vitest@4.1.10) + vitest: 4.1.10(@types/node@26.1.2)(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(@voidzero-dev/vite-plus-test@0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))': + '@vitest/browser@4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(vitest@4.1.10)': dependencies: '@blazediff/core': 1.9.1 '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) @@ -5904,7 +5195,7 @@ snapshots: pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.1.1 - vitest: '@voidzero-dev/vite-plus-test@0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)' + vitest: 4.1.10(@types/node@26.1.2)(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) ws: 8.21.1 transitivePeerDependencies: - bufferutil @@ -5953,22 +5244,6 @@ snapshots: convert-source-map: 2.0.0 tinyrainbow: 3.1.1 - '@voidzero-dev/vite-plus-core@0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)': - dependencies: - '@oxc-project/runtime': 0.133.0 - '@oxc-project/types': 0.133.0 - lightningcss: 1.33.0 - postcss: 8.5.25 - optionalDependencies: - '@arethetypeswrong/core': 0.18.5 - '@types/node': 26.1.2 - esbuild: 0.28.1 - fsevents: 2.3.3 - jiti: 2.7.0 - tsx: 4.23.1 - typescript: 6.0.3 - yaml: 2.9.0 - '@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)': dependencies: '@oxc-project/runtime': 0.141.0 @@ -6005,46 +5280,6 @@ snapshots: '@voidzero-dev/vite-plus-linux-x64-musl@0.2.6': optional: true - '@voidzero-dev/vite-plus-test@0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)': - dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@voidzero-dev/vite-plus-core': 0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0) - es-module-lexer: 1.7.0 - obug: 2.1.4 - pixelmatch: 7.2.0 - pngjs: 7.0.0 - sirv: 3.0.2 - std-env: 4.2.0 - tinybench: 2.9.0 - tinyexec: 1.2.4 - tinyglobby: 0.2.17 - vite: '@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)' - ws: 8.21.1 - optionalDependencies: - '@types/node': 26.1.2 - transitivePeerDependencies: - - '@arethetypeswrong/core' - - '@tsdown/css' - - '@tsdown/exe' - - '@vitejs/devtools' - - bufferutil - - esbuild - - jiti - - less - - publint - - sass - - sass-embedded - - stylus - - sugarss - - terser - - tsx - - typescript - - unplugin-unused - - unrun - - utf-8-validate - - yaml - '@voidzero-dev/vite-plus-win32-arm64-msvc@0.2.6': optional: true @@ -6119,8 +5354,6 @@ snapshots: '@yuku-toolchain/types@0.5.43': {} - acorn@8.18.0: {} - ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 @@ -6168,8 +5401,7 @@ snapshots: balanced-match@4.0.4: {} - base64-js@1.5.1: - optional: true + base64-js@1.5.1: {} better-path-resolve@1.0.0: dependencies: @@ -6181,19 +5413,16 @@ snapshots: dependencies: bindings: 1.5.0 prebuild-install: 7.1.3 - optional: true bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 - optional: true bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - optional: true brace-expansion@5.0.8: dependencies: @@ -6209,16 +5438,6 @@ snapshots: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - optional: true - - bun-types@1.3.14: - dependencies: - '@types/node': 26.1.2 - - bundle-require@5.1.0(esbuild@0.27.7): - dependencies: - esbuild: 0.27.7 - load-tsconfig: 0.2.5 c12@3.1.0: dependencies: @@ -6250,8 +5469,6 @@ snapshots: pkg-types: 2.3.1 rc9: 3.0.1 - cac@6.7.14: {} - chai@6.2.2: {} chalk@4.1.2: @@ -6273,8 +5490,7 @@ snapshots: dependencies: readdirp: 5.0.0 - chownr@1.1.4: - optional: true + chownr@1.1.4: {} citty@0.1.6: dependencies: @@ -6315,10 +5531,6 @@ snapshots: commander@10.0.1: {} - commander@4.1.1: {} - - confbox@0.1.8: {} - confbox@0.2.4: {} consola@3.4.2: {} @@ -6388,10 +5600,8 @@ snapshots: decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 - optional: true - deep-extend@0.6.0: - optional: true + deep-extend@0.6.0: {} deepmerge-ts@7.1.5: {} @@ -6456,61 +5666,55 @@ snapshots: get-tsconfig: 4.14.0 jiti: 2.7.0 - drizzle-orm@0.30.10(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@types/better-sqlite3@7.6.13)(@types/react@19.2.17)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(react@19.2.8): + drizzle-orm@0.30.10(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@types/better-sqlite3@7.6.13)(@types/react@19.2.17)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7): optionalDependencies: '@electric-sql/pglite': 0.4.3 '@libsql/client': 0.17.4 '@types/better-sqlite3': 7.6.13 '@types/react': 19.2.17 better-sqlite3: 12.11.1 - bun-types: 1.3.14 mysql2: 3.15.3 postgres: 3.4.7 - react: 19.2.8 - drizzle-orm@0.39.3(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)): + drizzle-orm@0.39.3(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3)): optionalDependencies: '@electric-sql/pglite': 0.4.3 '@libsql/client': 0.17.4 - '@prisma/client': 7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3) + '@prisma/client': 7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3) '@types/better-sqlite3': 7.6.13 better-sqlite3: 12.11.1 - bun-types: 1.3.14 mysql2: 3.15.3 postgres: 3.4.7 - prisma: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + prisma: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3) - drizzle-orm@0.44.7(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)): + drizzle-orm@0.44.7(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3)): optionalDependencies: '@electric-sql/pglite': 0.4.3 '@libsql/client': 0.17.4 - '@prisma/client': 7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3) + '@prisma/client': 7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3) '@types/better-sqlite3': 7.6.13 better-sqlite3: 12.11.1 - bun-types: 1.3.14 mysql2: 3.15.3 postgres: 3.4.7 - prisma: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + prisma: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3) - drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3)): + drizzle-orm@0.45.2(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@prisma/client@7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3))(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7)(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3)): optionalDependencies: '@electric-sql/pglite': 0.4.3 '@libsql/client': 0.17.4 - '@prisma/client': 7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3))(typescript@6.0.3) + '@prisma/client': 7.9.1(prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3))(typescript@6.0.3) '@types/better-sqlite3': 7.6.13 better-sqlite3: 12.11.1 - bun-types: 1.3.14 mysql2: 3.15.3 postgres: 3.4.7 - prisma: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3) + prisma: 7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3) - drizzle-orm@1.0.0-rc.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(bun-types@1.3.14)(mysql2@3.15.3)(postgres@3.4.7)(valibot@1.4.2(typescript@6.0.3))(zod@4.4.3): + drizzle-orm@1.0.0-rc.4(@electric-sql/pglite@0.4.3)(@libsql/client@0.17.4)(@types/better-sqlite3@7.6.13)(better-sqlite3@12.11.1)(mysql2@3.15.3)(postgres@3.4.7)(valibot@1.4.2(typescript@6.0.3))(zod@4.4.3): optionalDependencies: '@electric-sql/pglite': 0.4.3 '@libsql/client': 0.17.4 '@types/better-sqlite3': 7.6.13 better-sqlite3: 12.11.1 - bun-types: 1.3.14 mysql2: 3.15.3 postgres: 3.4.7 valibot: 1.4.2(typescript@6.0.3) @@ -6537,7 +5741,6 @@ snapshots: end-of-stream@1.4.5: dependencies: once: 1.4.0 - optional: true enquirer@2.4.1: dependencies: @@ -6550,7 +5753,7 @@ snapshots: environment@1.1.0: {} - es-module-lexer@1.7.0: {} + es-module-lexer@2.3.1: {} esbuild-register@3.6.0(esbuild@0.19.12)(supports-color@7.2.0): dependencies: @@ -6639,35 +5842,6 @@ snapshots: '@esbuild/win32-ia32': 0.25.12 '@esbuild/win32-x64': 0.25.12 - esbuild@0.27.7: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.7 - '@esbuild/android-arm': 0.27.7 - '@esbuild/android-arm64': 0.27.7 - '@esbuild/android-x64': 0.27.7 - '@esbuild/darwin-arm64': 0.27.7 - '@esbuild/darwin-x64': 0.27.7 - '@esbuild/freebsd-arm64': 0.27.7 - '@esbuild/freebsd-x64': 0.27.7 - '@esbuild/linux-arm': 0.27.7 - '@esbuild/linux-arm64': 0.27.7 - '@esbuild/linux-ia32': 0.27.7 - '@esbuild/linux-loong64': 0.27.7 - '@esbuild/linux-mips64el': 0.27.7 - '@esbuild/linux-ppc64': 0.27.7 - '@esbuild/linux-riscv64': 0.27.7 - '@esbuild/linux-s390x': 0.27.7 - '@esbuild/linux-x64': 0.27.7 - '@esbuild/netbsd-arm64': 0.27.7 - '@esbuild/netbsd-x64': 0.27.7 - '@esbuild/openbsd-arm64': 0.27.7 - '@esbuild/openbsd-x64': 0.27.7 - '@esbuild/openharmony-arm64': 0.27.7 - '@esbuild/sunos-x64': 0.27.7 - '@esbuild/win32-arm64': 0.27.7 - '@esbuild/win32-ia32': 0.27.7 - '@esbuild/win32-x64': 0.27.7 - esbuild@0.28.1: optionalDependencies: '@esbuild/aix-ppc64': 0.28.1 @@ -6705,8 +5879,9 @@ snapshots: dependencies: '@types/estree': 1.0.9 - expand-template@2.0.3: - optional: true + expand-template@2.0.3: {} + + expect-type@1.4.0: {} exsolve@1.1.1: {} @@ -6744,8 +5919,7 @@ snapshots: fflate@0.8.3: {} - file-uri-to-path@1.0.0: - optional: true + file-uri-to-path@1.0.0: {} fill-range@7.1.1: dependencies: @@ -6762,19 +5936,12 @@ snapshots: locate-path: 5.0.0 path-exists: 4.0.0 - fix-dts-default-cjs-exports@1.0.1: - dependencies: - magic-string: 0.30.21 - mlly: 1.8.2 - rollup: 4.62.3 - foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fs-constants@1.0.0: - optional: true + fs-constants@1.0.0: {} fs-extra@7.0.1: dependencies: @@ -6814,8 +5981,7 @@ snapshots: giget@3.3.1: {} - github-from-package@0.0.0: - optional: true + github-from-package@0.0.0: {} glob-parent@5.1.2: dependencies: @@ -6848,16 +6014,13 @@ snapshots: dependencies: safer-buffer: 2.1.2 - ieee754@1.2.1: - optional: true + ieee754@1.2.1: {} ignore@5.3.2: {} - inherits@2.0.4: - optional: true + inherits@2.0.4: {} - ini@1.3.8: - optional: true + ini@1.3.8: {} internmap@2.0.3: {} @@ -6883,8 +6046,6 @@ snapshots: jiti@2.7.0: {} - joycon@3.1.1: {} - js-base64@3.9.2: {} js-tokens@4.0.0: {} @@ -6970,16 +6131,10 @@ snapshots: lightningcss-win32-arm64-msvc: 1.33.0 lightningcss-win32-x64-msvc: 1.33.0 - lilconfig@3.1.3: {} - - lines-and-columns@1.2.4: {} - linkify-it@5.0.2: dependencies: uc.micro: 2.1.0 - load-tsconfig@0.2.5: {} - locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -7033,27 +6188,15 @@ snapshots: braces: 3.0.3 picomatch: 2.3.2 - mimic-response@3.1.0: - optional: true + mimic-response@3.1.0: {} minimatch@10.2.6: dependencies: brace-expansion: 5.0.8 - minimist@1.2.8: - optional: true - - mitata@1.0.34: {} - - mkdirp-classic@0.5.3: - optional: true + minimist@1.2.8: {} - mlly@1.8.2: - dependencies: - acorn: 8.18.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.6.4 + mkdirp-classic@0.5.3: {} mri@1.2.0: {} @@ -7085,13 +6228,11 @@ snapshots: nanoid@3.3.16: {} - napi-build-utils@2.0.0: - optional: true + napi-build-utils@2.0.0: {} node-abi@3.94.0: dependencies: semver: 7.8.5 - optional: true node-emoji@2.2.0: dependencies: @@ -7117,7 +6258,6 @@ snapshots: once@1.4.0: dependencies: wrappy: 1.0.2 - optional: true outdent@0.5.0: {} @@ -7227,18 +6367,6 @@ snapshots: pify@4.0.1: {} - pirates@4.0.7: {} - - pixelmatch@7.2.0: - dependencies: - pngjs: 7.0.0 - - pkg-types@1.3.1: - dependencies: - confbox: 0.1.8 - mlly: 1.8.2 - pathe: 2.0.3 - pkg-types@2.3.1: dependencies: confbox: 0.2.4 @@ -7247,15 +6375,6 @@ snapshots: pngjs@7.0.0: {} - postcss-load-config@6.0.1(jiti@2.7.0)(postcss@8.5.25)(tsx@4.23.1)(yaml@2.9.0): - dependencies: - lilconfig: 3.1.3 - optionalDependencies: - jiti: 2.7.0 - postcss: 8.5.25 - tsx: 4.23.1 - yaml: 2.9.0 - postcss@8.5.25: dependencies: nanoid: 3.3.16 @@ -7278,7 +6397,6 @@ snapshots: simple-get: 4.0.1 tar-fs: 2.1.5 tunnel-agent: 0.6.0 - optional: true prettier@2.8.8: {} @@ -7303,12 +6421,12 @@ snapshots: transitivePeerDependencies: - magicast - prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(typescript@6.0.3): + prisma@7.9.1(@types/react@19.2.17)(better-sqlite3@12.11.1)(typescript@6.0.3): dependencies: '@prisma/config': 7.9.1 '@prisma/dev': 0.24.17(typescript@6.0.3) '@prisma/engines': 7.9.1 - '@prisma/studio-core': 0.33.0(@types/react@19.2.17)(react-dom@19.2.8(react@19.2.8))(react@19.2.8) + '@prisma/studio-core': 0.33.0(@types/react@19.2.17) mysql2: 3.15.3 postgres: 3.4.7 optionalDependencies: @@ -7333,7 +6451,6 @@ snapshots: dependencies: end-of-stream: 1.4.5 once: 1.4.0 - optional: true punycode.js@2.3.1: {} @@ -7359,17 +6476,9 @@ snapshots: ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - optional: true - - react-dom@19.2.8(react@19.2.8): - dependencies: - react: 19.2.8 - scheduler: 0.27.0 react-is@17.0.2: {} - react@19.2.8: {} - read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 @@ -7382,7 +6491,6 @@ snapshots: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - optional: true readdirp@4.1.2: {} @@ -7427,43 +6535,11 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.2.1 '@rolldown/binding-win32-x64-msvc': 1.2.1 - rollup@4.62.3: - dependencies: - '@types/estree': 1.0.9 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.62.3 - '@rollup/rollup-android-arm64': 4.62.3 - '@rollup/rollup-darwin-arm64': 4.62.3 - '@rollup/rollup-darwin-x64': 4.62.3 - '@rollup/rollup-freebsd-arm64': 4.62.3 - '@rollup/rollup-freebsd-x64': 4.62.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.62.3 - '@rollup/rollup-linux-arm-musleabihf': 4.62.3 - '@rollup/rollup-linux-arm64-gnu': 4.62.3 - '@rollup/rollup-linux-arm64-musl': 4.62.3 - '@rollup/rollup-linux-loong64-gnu': 4.62.3 - '@rollup/rollup-linux-loong64-musl': 4.62.3 - '@rollup/rollup-linux-ppc64-gnu': 4.62.3 - '@rollup/rollup-linux-ppc64-musl': 4.62.3 - '@rollup/rollup-linux-riscv64-gnu': 4.62.3 - '@rollup/rollup-linux-riscv64-musl': 4.62.3 - '@rollup/rollup-linux-s390x-gnu': 4.62.3 - '@rollup/rollup-linux-x64-gnu': 4.62.3 - '@rollup/rollup-linux-x64-musl': 4.62.3 - '@rollup/rollup-openbsd-x64': 4.62.3 - '@rollup/rollup-openharmony-arm64': 4.62.3 - '@rollup/rollup-win32-arm64-msvc': 4.62.3 - '@rollup/rollup-win32-ia32-msvc': 4.62.3 - '@rollup/rollup-win32-x64-gnu': 4.62.3 - '@rollup/rollup-win32-x64-msvc': 4.62.3 - fsevents: 2.3.3 - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - safe-buffer@5.2.1: - optional: true + safe-buffer@5.2.1: {} safe-regex2@5.1.1: dependencies: @@ -7471,8 +6547,6 @@ snapshots: safer-buffer@2.1.2: {} - scheduler@0.27.0: {} - semver@7.8.5: {} seq-queue@0.0.5: {} @@ -7483,19 +6557,19 @@ snapshots: shebang-regex@3.0.0: {} + siginfo@2.0.0: {} + signal-exit@3.0.7: {} signal-exit@4.1.0: {} - simple-concat@1.0.1: - optional: true + simple-concat@1.0.1: {} simple-get@4.0.1: dependencies: decompress-response: 6.0.0 once: 1.4.0 simple-concat: 1.0.1 - optional: true sirv@3.0.2: dependencies: @@ -7518,8 +6592,6 @@ snapshots: source-map@0.6.1: {} - source-map@0.7.6: {} - spawndamnit@3.0.1: dependencies: cross-spawn: 7.0.6 @@ -7529,6 +6601,8 @@ snapshots: sqlstring@2.3.3: {} + stackback@0.0.2: {} + std-env@3.10.0: {} std-env@4.2.0: {} @@ -7542,7 +6616,6 @@ snapshots: string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - optional: true strip-ansi@6.0.1: dependencies: @@ -7550,18 +6623,7 @@ snapshots: strip-bom@3.0.0: {} - strip-json-comments@2.0.1: - optional: true - - sucrase@3.35.1: - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - commander: 4.1.1 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.7 - tinyglobby: 0.2.17 - ts-interface-checker: 0.1.13 + strip-json-comments@2.0.1: {} supports-color@7.2.0: dependencies: @@ -7578,7 +6640,6 @@ snapshots: mkdirp-classic: 0.5.3 pump: 3.0.4 tar-stream: 2.2.0 - optional: true tar-stream@2.2.0: dependencies: @@ -7587,7 +6648,6 @@ snapshots: fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 - optional: true term-size@2.2.1: {} @@ -7601,8 +6661,6 @@ snapshots: tinybench@2.9.0: {} - tinyexec@0.3.2: {} - tinyexec@1.2.4: {} tinyglobby@0.2.17: @@ -7620,40 +6678,8 @@ snapshots: totalist@3.0.1: {} - tree-kill@1.2.2: {} - - ts-interface-checker@0.1.13: {} - tslib@2.8.1: {} - tsup@8.5.1(jiti@2.7.0)(postcss@8.5.25)(supports-color@7.2.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0): - dependencies: - bundle-require: 5.1.0(esbuild@0.27.7) - cac: 6.7.14 - chokidar: 4.0.3 - consola: 3.4.2 - debug: 4.4.3(supports-color@7.2.0) - esbuild: 0.27.7 - fix-dts-default-cjs-exports: 1.0.1 - joycon: 3.1.1 - picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.7.0)(postcss@8.5.25)(tsx@4.23.1)(yaml@2.9.0) - resolve-from: 5.0.0 - rollup: 4.62.3 - source-map: 0.7.6 - sucrase: 3.35.1 - tinyexec: 0.3.2 - tinyglobby: 0.2.17 - tree-kill: 1.2.2 - optionalDependencies: - postcss: 8.5.25 - typescript: 6.0.3 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - tsx@4.23.1: dependencies: esbuild: 0.28.1 @@ -7663,7 +6689,6 @@ snapshots: tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 - optional: true typedoc@0.28.20(typescript@6.0.3): dependencies: @@ -7680,16 +6705,13 @@ snapshots: uc.micro@2.1.0: {} - ufo@1.6.4: {} - undici-types@8.3.0: {} unicode-emoji-modifier-base@1.0.0: {} universalify@0.1.2: {} - util-deprecate@1.0.2: - optional: true + util-deprecate@1.0.2: {} valibot@1.4.2(typescript@6.0.3): optionalDependencies: @@ -7701,8 +6723,8 @@ snapshots: dependencies: '@oxc-project/types': 0.141.0 '@oxlint/plugins': 1.73.0 - '@vitest/browser': 4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(@voidzero-dev/vite-plus-test@0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) - '@vitest/browser-preview': 4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(@voidzero-dev/vite-plus-test@0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) + '@vitest/browser': 4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(vitest@4.1.10) + '@vitest/browser-preview': 4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(vitest@4.1.10) '@vitest/expect': 4.1.10 '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.10 @@ -7714,7 +6736,7 @@ snapshots: oxfmt: 0.60.0(vite-plus@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) oxlint: 1.75.0(oxlint-tsgolint@7.0.2001)(vite-plus@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) oxlint-tsgolint: 7.0.2001 - vitest: '@voidzero-dev/vite-plus-test@0.1.24(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)' + vitest: 4.1.10(@types/node@26.1.2)(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) optionalDependencies: '@voidzero-dev/vite-plus-darwin-arm64': 0.2.6 '@voidzero-dev/vite-plus-darwin-x64': 0.2.6 @@ -7728,8 +6750,6 @@ snapshots: - '@arethetypeswrong/core' - '@edge-runtime/vm' - '@opentelemetry/api' - - '@tsdown/css' - - '@tsdown/exe' - '@types/node' - '@vitejs/devtools' - '@vitest/coverage-istanbul' @@ -7757,18 +6777,50 @@ snapshots: - vite - yaml + vitest@4.1.10(@types/node@26.1.2)(@vitest/browser-preview@4.1.10)(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)): + dependencies: + '@vitest/expect': 4.1.10 + '@vitest/mocker': 4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.10 + '@vitest/runner': 4.1.10 + '@vitest/snapshot': 4.1.10 + '@vitest/spy': 4.1.10 + '@vitest/utils': 4.1.10 + es-module-lexer: 2.3.1 + expect-type: 1.4.0 + magic-string: 0.30.21 + obug: 2.1.4 + pathe: 2.0.3 + picomatch: 4.0.5 + std-env: 4.2.0 + tinybench: 2.9.0 + tinyexec: 1.2.4 + tinyglobby: 0.2.17 + tinyrainbow: 3.1.1 + vite: '@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0)' + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 26.1.2 + '@vitest/browser-preview': 4.1.10(@voidzero-dev/vite-plus-core@0.2.6(@arethetypeswrong/core@0.18.5)(@types/node@26.1.2)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.23.1)(typescript@6.0.3)(yaml@2.9.0))(vitest@4.1.10) + transitivePeerDependencies: + - msw + which@2.0.2: dependencies: isexe: 2.0.0 + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - wrappy@1.0.2: - optional: true + wrappy@1.0.2: {} ws@8.21.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 0b1ecdc..e80528c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,6 +2,8 @@ packages: - packages/core - packages/examples/* +autoInstallPeers: false + allowBuilds: "@prisma/client": true "@prisma/engines": true @@ -11,9 +13,10 @@ allowBuilds: overrides: vite: npm:@voidzero-dev/vite-plus-core@latest - vitest: npm:@voidzero-dev/vite-plus-test@latest peerDependencyRules: allowAny: - vite - - vitest + ignoreMissing: + - react + - react-dom diff --git a/vite.config.ts b/vite.config.ts index 1e82050..4f9dc20 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -18,17 +18,6 @@ const fixtureTypecheckCommands = [ "vp exec --filter @fraci/example-prisma-v7 -- tsc --noEmit", ]; -const fixtureTestCommands = [ - "vp exec --filter @fraci/example-drizzle-v0-30 -- bun test", - "vp exec --filter @fraci/example-drizzle-v0-40 -- bun test", - "vp exec --filter @fraci/example-drizzle-v0-44 -- bun test", - "vp exec --filter @fraci/example-drizzle-v0-45 -- bun test", - "vp exec --filter @fraci/example-drizzle-v1 -- bun test", - "vp exec --filter @fraci/example-prisma-v5 -- bun test", - "vp exec --filter @fraci/example-prisma-v6 -- bun test", - "vp exec --filter @fraci/example-prisma-v7 -- tsx --test test/basic.test.ts", -]; - export default defineConfig({ lint: { options: { @@ -55,13 +44,24 @@ export default defineConfig({ ignorePatterns: [ "**/dist/**", "**/examples-bundled/**", - "**/migrations/**", + "**/LICENSE.md", + "**/migrations*/**", "**/prisma/client/**", "**/public/llms*.txt", "**/typedoc/**", "pnpm-lock.yaml", ], }, + test: { + exclude: [ + "**/dist/**", + "**/examples-bundled/**", + "**/node_modules/**", + "**/prisma/client/**", + "**/typedoc/**", + "packages/examples/common/test/**", + ], + }, run: { tasks: { generate: { @@ -70,8 +70,8 @@ export default defineConfig({ }, build: { command: [ - "vp exec --filter fraci -- node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"", - "vp exec --filter fraci -- tsup", + "vp exec --filter fraci -- vp pack", + "vp exec --filter fraci -- vp pack --out-dir dist/dev --no-clean", ], dependsOn: ["generate"], }, @@ -89,15 +89,12 @@ export default defineConfig({ cache: false, }, test: { - command: ["vp exec --filter fraci -- bun test", ...fixtureTestCommands], + command: "vp test run", dependsOn: ["build"], cache: false, }, bench: { - command: [ - "vp exec --filter fraci -- bun src/lib/fractional-indexing-string.bench.ts", - "vp exec --filter fraci -- bun src/lib/fractional-indexing-binary.bench.ts", - ], + command: "vp test bench packages/core/src/lib", cache: false, }, attw: { @@ -108,7 +105,7 @@ export default defineConfig({ "build:docs": { command: [ "vp exec --filter fraci -- typedoc", - "vp exec --filter fraci -- bun scripts/copy-assets.ts", + "vp exec --filter fraci -- node scripts/copy-assets.ts", ], dependsOn: ["build"], }, @@ -118,7 +115,8 @@ export default defineConfig({ dependsOn: ["build"], }, "generate:migrations": { - command: "vp exec --filter fraci -- bun scripts/generate-migrations.ts", + command: + "vp exec --filter fraci -- node scripts/generate-migrations.ts", cache: false, }, format: { From 63281dc1467d736769ccac9607f46bc4c82c2f8b Mon Sep 17 00:00:00 2001 From: SegaraRai <29276700+SegaraRai@users.noreply.github.com> Date: Fri, 31 Jul 2026 09:36:02 +0900 Subject: [PATCH 2/2] test: allow slower index performance tests in CI --- .../core/examples/drizzle-orm/index-performance.binary.test.ts | 2 +- .../core/examples/drizzle-orm/index-performance.string.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/examples/drizzle-orm/index-performance.binary.test.ts b/packages/core/examples/drizzle-orm/index-performance.binary.test.ts index 3e44ad5..3e81482 100644 --- a/packages/core/examples/drizzle-orm/index-performance.binary.test.ts +++ b/packages/core/examples/drizzle-orm/index-performance.binary.test.ts @@ -112,4 +112,4 @@ test("Ensure that the query plan is optimal (Binary)", async () => { ); expect(listExplained.every((item) => !item.includes("SCAN"))).toBe(true); } -}); +}, 30_000); diff --git a/packages/core/examples/drizzle-orm/index-performance.string.test.ts b/packages/core/examples/drizzle-orm/index-performance.string.test.ts index 6a9baf4..904ee29 100644 --- a/packages/core/examples/drizzle-orm/index-performance.string.test.ts +++ b/packages/core/examples/drizzle-orm/index-performance.string.test.ts @@ -112,4 +112,4 @@ test("Ensure that the query plan is optimal (String)", async () => { ); expect(listExplained.every((item) => !item.includes("SCAN"))).toBe(true); } -}); +}, 30_000);