diff --git a/demo/nextjs/package.json b/demo/nextjs/package.json index 5f432fefbb..63ca5d7c12 100644 --- a/demo/nextjs/package.json +++ b/demo/nextjs/package.json @@ -92,7 +92,7 @@ }, "devDependencies": { "@types/canvas-confetti": "^1.9.0", - "@types/node": "^20.17.9", + "@types/node": "^24.3.0", "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", "@types/three": "^0.168.0", diff --git a/docs/content/docs/adapters/sqlite.mdx b/docs/content/docs/adapters/sqlite.mdx index e93673c92c..70241a2937 100644 --- a/docs/content/docs/adapters/sqlite.mdx +++ b/docs/content/docs/adapters/sqlite.mdx @@ -8,8 +8,11 @@ Read more [here.](https://www.sqlite.org/) ## Example Usage -Make sure you have SQLite installed and configured. -Then, you can connect it straight into Better Auth. +Better Auth supports multiple SQLite drivers. Choose the one that best fits your environment: + +### Better-SQLite3 (Recommended) + +The most popular and stable SQLite driver for Node.js: ```ts title="auth.ts" import { betterAuth } from "better-auth"; @@ -25,6 +28,40 @@ export const auth = betterAuth({ [SqliteDialect](https://kysely-org.github.io/kysely-apidoc/classes/SqliteDialect.html). +### Node.js Built-in SQLite (Experimental) + + + The `node:sqlite` module is still experimental and may change at any time. It requires Node.js 22.5.0 or later. + + +Starting from Node.js 22.5.0, you can use the built-in [SQLite](https://nodejs.org/api/sqlite.html) module: + +```ts title="auth.ts" +import { betterAuth } from "better-auth"; +import { DatabaseSync } from "node:sqlite"; + +export const auth = betterAuth({ + database: new DatabaseSync("database.sqlite"), +}); +``` + +To run your application with Node.js SQLite: +```bash +node your-app.js +``` + +### Bun Built-in SQLite + +You can also use the built-in [SQLite](https://bun.com/docs/api/sqlite) module in Bun, which is similar to the Node.js version: + +```ts title="auth.ts" +import { betterAuth } from "better-auth"; +import { Database } from "bun:sqlite"; +export const auth = betterAuth({ + database: new Database("database.sqlite"), +}); +``` + ## Schema generation & migration The [Better Auth CLI](/docs/concepts/cli) allows you to generate or migrate diff --git a/docs/package.json b/docs/package.json index 7cacad5733..3fca9fdc62 100644 --- a/docs/package.json +++ b/docs/package.json @@ -75,7 +75,7 @@ "@tailwindcss/postcss": "^4.0.9", "@types/jsrsasign": "^10.5.15", "@types/mdx": "^2.0.13", - "@types/node": "22.13.8", + "@types/node": "^24.3.0", "@types/react": "^19.0.10", "@types/react-dom": "^19.0.4", "postcss": "^8.5.3", diff --git a/package.json b/package.json index 271c399fd0..4aabf52f48 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ }, "devDependencies": { "@biomejs/biome": "2.2.0", - "@types/node": "^20.17.9", + "@types/node": "^24.3.0", "bumpp": "^9.8.1", "cross-env": "^7.0.3", "dotenv-cli": "^7.4.4", diff --git a/packages/better-auth/src/adapters/kysely-adapter/dialect.ts b/packages/better-auth/src/adapters/kysely-adapter/dialect.ts index e51d158106..510e92a6b2 100644 --- a/packages/better-auth/src/adapters/kysely-adapter/dialect.ts +++ b/packages/better-auth/src/adapters/kysely-adapter/dialect.ts @@ -44,6 +44,9 @@ export function getKyselyDatabaseType( if ("fileControl" in db) { return "sqlite"; } + if ("open" in db && "close" in db && "prepare" in db) { + return "sqlite"; + } return null; } @@ -103,6 +106,29 @@ export const createKyselyAdapter = async (config: BetterAuthOptions) => { }); } + if ("createSession" in db) { + let DatabaseSync: typeof import("node:sqlite").DatabaseSync | undefined = + undefined; + try { + ({ DatabaseSync } = await import("node:sqlite")); + } catch (error: unknown) { + if ( + error !== null && + typeof error === "object" && + "code" in error && + error.code !== "ERR_UNKNOWN_BUILTIN_MODULE" + ) { + throw error; + } + } + if (DatabaseSync && db instanceof DatabaseSync) { + const { NodeSqliteDialect } = await import("./node-sqlite-dialect"); + dialect = new NodeSqliteDialect({ + database: db, + }); + } + } + return { kysely: dialect ? new Kysely({ dialect }) : null, databaseType, diff --git a/packages/better-auth/src/adapters/kysely-adapter/index.ts b/packages/better-auth/src/adapters/kysely-adapter/index.ts index 5602fdaef7..393d337afa 100644 --- a/packages/better-auth/src/adapters/kysely-adapter/index.ts +++ b/packages/better-auth/src/adapters/kysely-adapter/index.ts @@ -1,3 +1,5 @@ export * from "./dialect"; export * from "./types"; export * from "./kysely-adapter"; +// Don't export node:sqlite by default, as it is not production ready. +// export * from "./node-sqlite"; diff --git a/packages/better-auth/src/adapters/kysely-adapter/node-sqlite-dialect.ts b/packages/better-auth/src/adapters/kysely-adapter/node-sqlite-dialect.ts new file mode 100644 index 0000000000..d34cb9600a --- /dev/null +++ b/packages/better-auth/src/adapters/kysely-adapter/node-sqlite-dialect.ts @@ -0,0 +1,299 @@ +/** + * @see {@link https://nodejs.org/api/sqlite.html} - Node.js SQLite API documentation + */ +import { + Kysely, + CompiledQuery, + DEFAULT_MIGRATION_LOCK_TABLE, + DEFAULT_MIGRATION_TABLE, + sql, + type DatabaseConnection, + type QueryResult, + type DatabaseIntrospector, + type SchemaMetadata, + type DatabaseMetadataOptions, + type TableMetadata, + type DatabaseMetadata, + type Driver, + type Dialect, + type QueryCompiler, + type DialectAdapter, +} from "kysely"; +import { DefaultQueryCompiler } from "kysely"; +import { DialectAdapterBase } from "kysely"; +import type { DatabaseSync } from "node:sqlite"; + +export class NodeSqliteAdapter implements DialectAdapterBase { + get supportsCreateIfNotExists(): boolean { + return true; + } + + get supportsTransactionalDdl(): boolean { + return false; + } + + get supportsReturning(): boolean { + return true; + } + + async acquireMigrationLock(): Promise { + // SQLite only has one connection that's reserved by the migration system + // for the whole time between acquireMigrationLock and releaseMigrationLock. + // We don't need to do anything here. + } + + async releaseMigrationLock(): Promise { + // SQLite only has one connection that's reserved by the migration system + // for the whole time between acquireMigrationLock and releaseMigrationLock. + // We don't need to do anything here. + } + get supportsOutput(): boolean { + return true; + } +} + +/** + * Config for the SQLite dialect. + */ +export interface NodeSqliteDialectConfig { + /** + * A sqlite DatabaseSync instance or a function that returns one. + */ + database: DatabaseSync; + + /** + * Called once when the first query is executed. + */ + onCreateConnection?: (connection: DatabaseConnection) => Promise; +} + +export class NodeSqliteDriver implements Driver { + readonly #config: NodeSqliteDialectConfig; + readonly #connectionMutex = new ConnectionMutex(); + + #db?: DatabaseSync; + #connection?: DatabaseConnection; + + constructor(config: NodeSqliteDialectConfig) { + this.#config = { ...config }; + } + + async init(): Promise { + this.#db = this.#config.database; + + this.#connection = new NodeSqliteConnection(this.#db); + + if (this.#config.onCreateConnection) { + await this.#config.onCreateConnection(this.#connection); + } + } + + async acquireConnection(): Promise { + // SQLite only has one single connection. We use a mutex here to wait + // until the single connection has been released. + await this.#connectionMutex.lock(); + return this.#connection!; + } + + async beginTransaction(connection: DatabaseConnection): Promise { + await connection.executeQuery(CompiledQuery.raw("begin")); + } + + async commitTransaction(connection: DatabaseConnection): Promise { + await connection.executeQuery(CompiledQuery.raw("commit")); + } + + async rollbackTransaction(connection: DatabaseConnection): Promise { + await connection.executeQuery(CompiledQuery.raw("rollback")); + } + + async releaseConnection(): Promise { + this.#connectionMutex.unlock(); + } + + async destroy(): Promise { + this.#db?.close(); + } +} + +class NodeSqliteConnection implements DatabaseConnection { + readonly #db: DatabaseSync; + + constructor(db: DatabaseSync) { + this.#db = db; + } + + executeQuery(compiledQuery: CompiledQuery): Promise> { + const { sql, parameters } = compiledQuery; + const stmt = this.#db.prepare(sql); + + const rows = stmt.all(...(parameters as any[])) as O[]; + + return Promise.resolve({ + rows, + }); + } + + async *streamQuery() { + throw new Error("Streaming query is not supported by SQLite driver."); + } +} + +class ConnectionMutex { + #promise?: Promise; + #resolve?: () => void; + + async lock(): Promise { + while (this.#promise) { + await this.#promise; + } + + this.#promise = new Promise((resolve) => { + this.#resolve = resolve; + }); + } + + unlock(): void { + const resolve = this.#resolve; + + this.#promise = undefined; + this.#resolve = undefined; + + resolve?.(); + } +} + +export class NodeSqliteIntrospector implements DatabaseIntrospector { + readonly #db: Kysely; + + constructor(db: Kysely) { + this.#db = db; + } + + async getSchemas(): Promise { + // Sqlite doesn't support schemas. + return []; + } + + async getTables( + options: DatabaseMetadataOptions = { withInternalKyselyTables: false }, + ): Promise { + let query = this.#db + // @ts-ignore + .selectFrom("sqlite_schema") + // @ts-ignore + .where("type", "=", "table") + // @ts-ignore + .where("name", "not like", "sqlite_%") + // @ts-ignore + .select("name") + .$castTo<{ name: string }>(); + + if (!options.withInternalKyselyTables) { + query = query + // @ts-ignore + .where("name", "!=", DEFAULT_MIGRATION_TABLE) + // @ts-ignore + .where("name", "!=", DEFAULT_MIGRATION_LOCK_TABLE); + } + + const tables = await query.execute(); + return Promise.all(tables.map(({ name }) => this.#getTableMetadata(name))); + } + + async getMetadata( + options?: DatabaseMetadataOptions, + ): Promise { + return { + tables: await this.getTables(options), + }; + } + + async #getTableMetadata(table: string): Promise { + const db = this.#db; + + // Get the SQL that was used to create the table. + const createSql = await db + // @ts-ignore + .selectFrom("sqlite_master") + // @ts-ignore + .where("name", "=", table) + // @ts-ignore + .select("sql") + .$castTo<{ sql: string | undefined }>() + .execute(); + + // Try to find the name of the column that has `autoincrement` >& + const autoIncrementCol = createSql[0]?.sql + ?.split(/[\(\),]/) + ?.find((it) => it.toLowerCase().includes("autoincrement")) + ?.split(/\s+/)?.[0] + ?.replace(/["`]/g, ""); + + const columns = await db + .selectFrom( + sql<{ + name: string; + type: string; + notnull: 0 | 1; + dflt_value: any; + }>`pragma_table_info(${table})`.as("table_info"), + ) + .select(["name", "type", "notnull", "dflt_value"]) + .execute(); + + return { + name: table, + columns: columns.map((col) => ({ + name: col.name, + dataType: col.type, + isNullable: !col.notnull, + isAutoIncrementing: col.name === autoIncrementCol, + hasDefaultValue: col.dflt_value != null, + })), + isView: true, + }; + } +} + +export class NodeSqliteQueryCompiler extends DefaultQueryCompiler { + protected override getCurrentParameterPlaceholder() { + return "?"; + } + + protected override getLeftIdentifierWrapper(): string { + return '"'; + } + + protected override getRightIdentifierWrapper(): string { + return '"'; + } + + protected override getAutoIncrement() { + return "autoincrement"; + } +} + +export class NodeSqliteDialect implements Dialect { + readonly #config: NodeSqliteDialectConfig; + + constructor(config: NodeSqliteDialectConfig) { + this.#config = { ...config }; + } + + createDriver(): Driver { + return new NodeSqliteDriver(this.#config); + } + + createQueryCompiler(): QueryCompiler { + return new NodeSqliteQueryCompiler(); + } + + createAdapter(): DialectAdapter { + return new NodeSqliteAdapter(); + } + + createIntrospector(db: Kysely): DatabaseIntrospector { + return new NodeSqliteIntrospector(db); + } +} diff --git a/packages/better-auth/src/adapters/kysely-adapter/test/normal/node-sqlite-dialect.test.ts b/packages/better-auth/src/adapters/kysely-adapter/test/normal/node-sqlite-dialect.test.ts new file mode 100644 index 0000000000..04991e871c --- /dev/null +++ b/packages/better-auth/src/adapters/kysely-adapter/test/normal/node-sqlite-dialect.test.ts @@ -0,0 +1,237 @@ +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import { Kysely, sql } from "kysely"; +import { NodeSqliteDialect } from "../../node-sqlite-dialect"; +import { kyselyAdapter } from "../../kysely-adapter"; +import { runAdapterTest } from "../../../test"; +import { getMigrations } from "../../../../db/get-migration"; +import type { BetterAuthOptions } from "../../../../types"; +import merge from "deepmerge"; +import type { DatabaseSync } from "node:sqlite"; +const nodeVersion = process.version; +const nodeSqliteSupported = +nodeVersion.split(".")[0].slice(1) >= 22; + +describe.runIf(nodeSqliteSupported)("node-sqlite-dialect", async () => { + let db: DatabaseSync; + let kysely: Kysely; + + beforeAll(async () => { + const { DatabaseSync } = await import("node:sqlite"); + + db = new DatabaseSync(":memory:"); + + kysely = new Kysely({ + dialect: new NodeSqliteDialect({ + database: db, + }), + }); + }); + + afterAll(async () => { + await kysely.destroy(); + db.close(); + }); + + describe("basic operations", () => { + it("should create tables", async () => { + await kysely.schema + .createTable("test_table") + .addColumn("id", "integer", (col) => col.primaryKey()) + .addColumn("name", "text", (col) => col.notNull()) + .addColumn("created_at", "timestamp", (col) => + col.defaultTo(sql`CURRENT_TIMESTAMP`), + ) + .execute(); + + const tables = await kysely.introspection.getTables(); + const testTable = tables.find((t) => t.name === "test_table"); + expect(testTable).toBeDefined(); + expect(testTable?.columns).toHaveLength(3); + }); + + it("should insert and select data", async () => { + await kysely + .insertInto("test_table") + .values({ id: 1, name: "Test User" }) + .execute(); + + const result = await kysely + .selectFrom("test_table") + .selectAll() + .execute(); + + expect(result).toHaveLength(1); + expect(result[0]).toMatchObject({ + id: 1, + name: "Test User", + }); + }); + + it("should update data", async () => { + await kysely + .updateTable("test_table") + .set({ name: "Updated User" }) + .where("id", "=", 1) + .execute(); + + const result = await kysely + .selectFrom("test_table") + .where("id", "=", 1) + .selectAll() + .executeTakeFirst(); + + expect(result?.name).toBe("Updated User"); + }); + + it("should delete data", async () => { + await kysely.deleteFrom("test_table").where("id", "=", 1).execute(); + + const result = await kysely + .selectFrom("test_table") + .selectAll() + .execute(); + + expect(result).toHaveLength(0); + }); + + it("should handle transactions", async () => { + await kysely.transaction().execute(async (trx) => { + await trx + .insertInto("test_table") + .values({ id: 2, name: "Transaction Test" }) + .execute(); + + const result = await trx + .selectFrom("test_table") + .where("id", "=", 2) + .selectAll() + .executeTakeFirst(); + + expect(result?.name).toBe("Transaction Test"); + }); + + // Verify the transaction was committed + const result = await kysely + .selectFrom("test_table") + .where("id", "=", 2) + .selectAll() + .executeTakeFirst(); + + expect(result?.name).toBe("Transaction Test"); + }); + + it("should rollback transactions on error", async () => { + try { + await kysely.transaction().execute(async (trx) => { + await trx + .insertInto("test_table") + .values({ id: 3, name: "Rollback Test" }) + .execute(); + + // Force an error + throw new Error("Test error"); + }); + } catch (error) { + // Expected error + } + + // Verify the transaction was rolled back + const result = await kysely + .selectFrom("test_table") + .where("id", "=", 3) + .selectAll() + .executeTakeFirst(); + + expect(result).toBeUndefined(); + }); + }); + + describe("introspection", () => { + beforeAll(async () => { + // Create a table with various column types + await kysely.schema + .createTable("introspection_test") + .addColumn("id", "integer", (col) => col.primaryKey().autoIncrement()) + .addColumn("name", "text", (col) => col.notNull()) + .addColumn("email", "text", (col) => col.unique()) + .addColumn("age", "integer") + .addColumn("is_active", "boolean", (col) => col.defaultTo(true)) + .execute(); + }); + + it("should get table metadata", async () => { + const tables = await kysely.introspection.getTables(); + const table = tables.find((t) => t.name === "introspection_test"); + + expect(table).toBeDefined(); + expect(table?.columns).toHaveLength(5); + + const idColumn = table?.columns.find((c) => c.name === "id"); + expect(idColumn?.isAutoIncrementing).toBe(true); + expect(idColumn?.isNullable).toBe(true); // SQLite primary keys can be NULL until a value is inserted + + const nameColumn = table?.columns.find((c) => c.name === "name"); + expect(nameColumn?.isNullable).toBe(false); + + const ageColumn = table?.columns.find((c) => c.name === "age"); + expect(ageColumn?.isNullable).toBe(true); + + const isActiveColumn = table?.columns.find((c) => c.name === "is_active"); + expect(isActiveColumn?.hasDefaultValue).toBe(true); + }); + }); + + it("better-auth adapter integration", async () => { + const { DatabaseSync } = await import("node:sqlite"); + const db = new DatabaseSync(":memory:"); + const betterAuthKysely = new Kysely({ + dialect: new NodeSqliteDialect({ + database: db, + }), + }); + + const opts: BetterAuthOptions = { + database: { + db: betterAuthKysely, + type: "sqlite", + }, + user: { + fields: { + email: "email_address", + }, + additionalFields: { + test: { + type: "string", + defaultValue: "test", + }, + }, + }, + session: { + modelName: "sessions", + }, + }; + + beforeAll(async () => { + const { runMigrations } = await getMigrations(opts); + await runMigrations(); + }); + + afterAll(async () => { + await betterAuthKysely.destroy(); + db.close(); + }); + + const adapter = kyselyAdapter(betterAuthKysely, { + type: "sqlite", + debugLogs: { + isRunningAdapterTests: true, + }, + }); + + await runAdapterTest({ + getAdapter: async (customOptions = {}) => { + return adapter(merge(customOptions, opts)); + }, + testPrefix: "node-sqlite", + }); + }); +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 63836141a4..d98864db51 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,8 +37,8 @@ importers: specifier: 2.2.0 version: 2.2.0 '@types/node': - specifier: ^20.17.9 - version: 20.17.57 + specifier: ^24.3.0 + version: 24.3.0 bumpp: specifier: ^9.8.1 version: 9.11.1(magicast@0.3.5) @@ -65,7 +65,7 @@ importers: version: 5.9.2 vitest: specifier: 'catalog:' - version: 3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) demo/nextjs: dependencies: @@ -308,8 +308,8 @@ importers: specifier: ^1.9.0 version: 1.9.0 '@types/node': - specifier: ^20.17.9 - version: 20.17.57 + specifier: ^24.3.0 + version: 24.3.0 '@types/react': specifier: ^19.0.0 version: 19.1.6 @@ -429,7 +429,7 @@ importers: version: 0.5.15(next@15.3.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.89.1))(react@19.1.1) '@vercel/analytics': specifier: ^1.5.0 - version: 1.5.0(@remix-run/react@2.16.8(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(next@15.3.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.89.1))(react@19.1.1)(svelte@5.36.16)(vue-router@4.5.1(vue@3.5.18(typescript@5.9.2)))(vue@3.5.18(typescript@5.9.2)) + version: 1.5.0(@remix-run/react@2.16.8(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(next@15.3.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.89.1))(react@19.1.1)(svelte@5.36.16)(vue-router@4.5.1(vue@3.5.18(typescript@5.9.2)))(vue@3.5.18(typescript@5.9.2)) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -534,8 +534,8 @@ importers: specifier: ^2.0.13 version: 2.0.13 '@types/node': - specifier: 22.13.8 - version: 22.13.8 + specifier: ^24.3.0 + version: 24.3.0 '@types/react': specifier: ^19.0.10 version: 19.1.6 @@ -591,7 +591,7 @@ importers: devDependencies: '@cloudflare/vitest-pool-workers': specifier: ^0.8.60 - version: 0.8.60(@cloudflare/workers-types@4.20250805.0)(@vitest/runner@3.2.4)(@vitest/snapshot@3.2.4)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 0.8.60(@cloudflare/workers-types@4.20250805.0)(@vitest/runner@3.2.4)(@vitest/snapshot@3.2.4)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) '@cloudflare/workers-types': specifier: ^4.20250805.0 version: 4.20250805.0 @@ -643,7 +643,7 @@ importers: version: 5.22.0(prisma@5.22.0) '@tanstack/react-start': specifier: ^1.131.3 - version: 1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + version: 1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) '@types/better-sqlite3': specifier: ^7.6.13 version: 7.6.13 @@ -908,7 +908,7 @@ importers: version: 11.10.0 stripe: specifier: ^18.0.0 - version: 18.2.0(@types/node@24.2.1) + version: 18.2.0(@types/node@24.3.0) zod: specifier: ^4.0.0 version: 4.0.17 @@ -5431,14 +5431,8 @@ packages: '@types/node-forge@1.3.13': resolution: {integrity: sha512-zePQJSW5QkwSHKRApqWCVKeKoSOt4xvEnLENZPjyvm9Ezdf/EyDeJM7jqLzOwjVICQQzvLZ63T55MKdJB5H6ww==} - '@types/node@20.17.57': - resolution: {integrity: sha512-f3T4y6VU4fVQDKVqJV4Uppy8c1p/sVvS3peyqxyWnzkqXFJLRU7Y1Bl7rMS1Qe9z0v4M6McY0Fp9yBsgHJUsWQ==} - - '@types/node@22.13.8': - resolution: {integrity: sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==} - - '@types/node@24.2.1': - resolution: {integrity: sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ==} + '@types/node@24.3.0': + resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -12461,12 +12455,6 @@ packages: unctx@2.4.1: resolution: {integrity: sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==} - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - undici-types@7.10.0: resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} @@ -14399,7 +14387,7 @@ snapshots: optionalDependencies: workerd: 1.20250803.0 - '@cloudflare/vitest-pool-workers@0.8.60(@cloudflare/workers-types@4.20250805.0)(@vitest/runner@3.2.4)(@vitest/snapshot@3.2.4)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@cloudflare/vitest-pool-workers@0.8.60(@cloudflare/workers-types@4.20250805.0)(@vitest/runner@3.2.4)(@vitest/snapshot@3.2.4)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -14408,7 +14396,7 @@ snapshots: devalue: 4.3.3 miniflare: 4.20250803.0 semver: 7.7.2 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) wrangler: 4.28.0(@cloudflare/workers-types@4.20250805.0) zod: 3.25.42 transitivePeerDependencies: @@ -15414,14 +15402,14 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.57 + '@types/node': 24.3.0 jest-mock: 29.7.0 '@jest/fake-timers@29.7.0': dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.17.57 + '@types/node': 24.3.0 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -15454,7 +15442,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/yargs': 15.0.19 chalk: 4.1.2 optional: true @@ -15464,7 +15452,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -17645,10 +17633,10 @@ snapshots: acorn: 8.15.0 optional: true - '@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) '@types/cookie': 0.6.0 acorn: 8.15.0 cookie: 0.6.0 @@ -17661,29 +17649,29 @@ snapshots: set-cookie-parser: 2.7.1 sirv: 3.0.1 svelte: 5.36.16 - vite: 6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) optional: true - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': 5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) debug: 4.4.1 svelte: 5.36.16 - vite: 6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - supports-color optional: true - '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) debug: 4.4.1 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 5.36.16 - vite: 6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - vitefu: 1.1.1(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vitefu: 1.1.1(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) transitivePeerDependencies: - supports-color optional: true @@ -17766,7 +17754,7 @@ snapshots: postcss: 8.5.6 tailwindcss: 4.1.8 - '@tanstack/directive-functions-plugin@1.131.2(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@tanstack/directive-functions-plugin@1.131.2(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.28.0 @@ -17775,7 +17763,7 @@ snapshots: '@tanstack/router-utils': 1.131.2 babel-dead-code-elimination: 1.0.10 tiny-invariant: 1.3.3 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -17810,12 +17798,12 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/react-start-plugin@1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@tanstack/react-start-plugin@1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: - '@tanstack/start-plugin-core': 1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) - '@vitejs/plugin-react': 4.5.0(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@tanstack/start-plugin-core': 1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@vitejs/plugin-react': 4.5.0(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) pathe: 2.0.3 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) zod: 3.25.42 transitivePeerDependencies: - '@azure/app-configuration' @@ -17861,17 +17849,17 @@ snapshots: react: 19.1.1 react-dom: 19.1.1(react@19.1.1) - '@tanstack/react-start@1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@tanstack/react-start@1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@tanstack/react-start-client': 1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/react-start-plugin': 1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@tanstack/react-start-plugin': 1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) '@tanstack/react-start-server': 1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - '@tanstack/start-server-functions-client': 1.131.3(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) - '@tanstack/start-server-functions-server': 1.131.2(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) - '@vitejs/plugin-react': 4.5.0(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@tanstack/start-server-functions-client': 1.131.3(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@tanstack/start-server-functions-server': 1.131.2(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@vitejs/plugin-react': 4.5.0(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -17934,7 +17922,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.131.3(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@tanstack/router-plugin@1.131.3(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) @@ -17952,8 +17940,8 @@ snapshots: zod: 3.25.42 optionalDependencies: '@tanstack/react-router': 1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - vite-plugin-solid: 2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite-plugin-solid: 2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) transitivePeerDependencies: - supports-color @@ -17968,7 +17956,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/server-functions-plugin@1.131.2(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@tanstack/server-functions-plugin@1.131.2(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.28.0 @@ -17977,7 +17965,7 @@ snapshots: '@babel/template': 7.27.2 '@babel/traverse': 7.28.0 '@babel/types': 7.28.2 - '@tanstack/directive-functions-plugin': 1.131.2(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@tanstack/directive-functions-plugin': 1.131.2(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) babel-dead-code-elimination: 1.0.10 tiny-invariant: 1.3.3 transitivePeerDependencies: @@ -17992,16 +17980,16 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/start-plugin-core@1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@tanstack/start-plugin-core@1.131.3(@azure/identity@4.10.0)(@libsql/client@0.12.0)(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3)(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@babel/code-frame': 7.26.2 '@babel/core': 7.28.0 '@babel/types': 7.28.2 '@tanstack/router-core': 1.131.3 '@tanstack/router-generator': 1.131.3 - '@tanstack/router-plugin': 1.131.3(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@tanstack/router-plugin': 1.131.3(@tanstack/react-router@1.131.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) '@tanstack/router-utils': 1.131.2 - '@tanstack/server-functions-plugin': 1.131.2(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@tanstack/server-functions-plugin': 1.131.2(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) '@tanstack/start-server-core': 1.131.3 '@types/babel__code-frame': 7.0.6 '@types/babel__core': 7.20.5 @@ -18011,8 +17999,8 @@ snapshots: nitropack: 2.11.12(@azure/identity@4.10.0)(@libsql/client@0.12.0)(better-sqlite3@11.10.0)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250805.0)(@libsql/client@0.12.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.15.5)(@types/react@18.3.23)(better-sqlite3@11.10.0)(bun-types@1.2.20(@types/react@18.3.23))(kysely@0.28.5)(mysql2@3.14.3)(pg@8.16.3)(prisma@5.22.0)(react@19.1.1))(mysql2@3.14.3) pathe: 2.0.3 ufo: 1.6.1 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - vitefu: 1.1.1(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vitefu: 1.1.1(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) xmlbuilder2: 3.1.1 zod: 3.25.42 transitivePeerDependencies: @@ -18059,9 +18047,9 @@ snapshots: tiny-warning: 1.0.3 unctx: 2.4.1 - '@tanstack/start-server-functions-client@1.131.3(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@tanstack/start-server-functions-client@1.131.3(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: - '@tanstack/server-functions-plugin': 1.131.2(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@tanstack/server-functions-plugin': 1.131.2(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) '@tanstack/start-server-functions-fetcher': 1.131.3 transitivePeerDependencies: - supports-color @@ -18072,9 +18060,9 @@ snapshots: '@tanstack/router-core': 1.131.3 '@tanstack/start-client-core': 1.131.3 - '@tanstack/start-server-functions-server@1.131.2(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@tanstack/start-server-functions-server@1.131.2(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: - '@tanstack/server-functions-plugin': 1.131.2(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@tanstack/server-functions-plugin': 1.131.2(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) tiny-invariant: 1.3.3 transitivePeerDependencies: - supports-color @@ -18128,12 +18116,12 @@ snapshots: '@types/better-sqlite3@7.6.13': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/bun@1.2.20(@types/react@18.3.23)': dependencies: @@ -18155,7 +18143,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/cookie@0.6.0': optional: true @@ -18203,7 +18191,7 @@ snapshots: '@types/express-serve-static-core@5.0.7': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 0.17.5 @@ -18217,11 +18205,11 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/hast@3.0.4': dependencies: @@ -18245,13 +18233,13 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/jsrsasign@10.5.15': {} '@types/keccak@3.0.5': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/mdast@4.0.4': dependencies: @@ -18265,26 +18253,17 @@ snapshots: '@types/node-forge@1.3.13': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 - '@types/node@20.17.57': - dependencies: - undici-types: 6.19.8 - - '@types/node@22.13.8': - dependencies: - undici-types: 6.20.0 - - '@types/node@24.2.1': + '@types/node@24.3.0': dependencies: undici-types: 7.10.0 - optional: true '@types/normalize-package-data@2.4.4': {} '@types/pg@8.15.5': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 pg-protocol: 1.10.3 pg-types: 2.2.0 @@ -18292,7 +18271,7 @@ snapshots: '@types/prompts@2.4.9': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 kleur: 3.0.3 '@types/prop-types@15.7.14': {} @@ -18324,7 +18303,7 @@ snapshots: '@types/readable-stream@4.0.20': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/resolve@1.20.2': {} @@ -18333,12 +18312,12 @@ snapshots: '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/serve-static@1.15.8': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/send': 0.17.5 '@types/stack-utils@2.0.3': {} @@ -18372,7 +18351,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/yargs-parser@21.0.3': {} @@ -18387,7 +18366,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 optional: true '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1)(typescript@5.9.2)': @@ -18592,10 +18571,10 @@ snapshots: '@urql/core': 5.2.0(graphql@15.10.1) wonka: 6.3.5 - '@vercel/analytics@1.5.0(@remix-run/react@2.16.8(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(next@15.3.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.89.1))(react@19.1.1)(svelte@5.36.16)(vue-router@4.5.1(vue@3.5.18(typescript@5.9.2)))(vue@3.5.18(typescript@5.9.2))': + '@vercel/analytics@1.5.0(@remix-run/react@2.16.8(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2))(@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(next@15.3.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.89.1))(react@19.1.1)(svelte@5.36.16)(vue-router@4.5.1(vue@3.5.18(typescript@5.9.2)))(vue@3.5.18(typescript@5.9.2))': optionalDependencies: '@remix-run/react': 2.16.8(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.2) - '@sveltejs/kit': 2.21.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@sveltejs/kit': 2.21.1(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)))(svelte@5.36.16)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) next: 15.3.3(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.89.1) react: 19.1.1 svelte: 5.36.16 @@ -18640,7 +18619,7 @@ snapshots: - rollup - supports-color - '@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@vitejs/plugin-react@4.5.0(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0) @@ -18648,7 +18627,7 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.9 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -18660,13 +18639,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@20.17.57)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.3.5(@types/node@20.17.57)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -19376,12 +19355,12 @@ snapshots: bun-types@1.2.20(@types/react@18.3.23): dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/react': 18.3.23 bun-types@1.2.20(@types/react@19.1.6): dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 '@types/react': 19.1.6 bundle-name@4.1.0: @@ -19591,7 +19570,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -19600,7 +19579,7 @@ snapshots: chromium-edge-launcher@0.2.0: dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -22351,7 +22330,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.57 + '@types/node': 24.3.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -22361,7 +22340,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.17.57 + '@types/node': 24.3.0 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -22388,7 +22367,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.57 + '@types/node': 24.3.0 jest-util: 29.7.0 jest-regex-util@29.6.3: {} @@ -22396,7 +22375,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.57 + '@types/node': 24.3.0 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -22413,7 +22392,7 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -26194,11 +26173,11 @@ snapshots: dependencies: js-tokens: 9.0.1 - stripe@18.2.0(@types/node@24.2.1): + stripe@18.2.0(@types/node@24.3.0): dependencies: qs: 6.14.0 optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.3.0 strnum@1.1.2: optional: true @@ -26398,7 +26377,7 @@ snapshots: '@azure/identity': 4.10.0 '@azure/keyvault-keys': 4.9.0 '@js-joda/core': 5.6.5 - '@types/node': 20.17.57 + '@types/node': 24.3.0 bl: 6.1.0 iconv-lite: 0.6.3 js-md4: 0.3.2 @@ -26698,12 +26677,7 @@ snapshots: magic-string: 0.30.17 unplugin: 2.3.5 - undici-types@6.19.8: {} - - undici-types@6.20.0: {} - - undici-types@7.10.0: - optional: true + undici-types@7.10.0: {} undici@5.29.0: dependencies: @@ -27019,13 +26993,13 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 - vite-node@3.2.4(@types/node@20.17.57)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0): + vite-node@3.2.4(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.5(@types/node@20.17.57)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -27040,28 +27014,7 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0): - dependencies: - cac: 6.7.14 - debug: 4.4.1 - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - - vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)): + vite-plugin-solid@2.11.6(solid-js@1.9.8)(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)): dependencies: '@babel/core': 7.28.0 '@types/babel__core': 7.20.5 @@ -27069,13 +27022,13 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.8 solid-refresh: 0.6.3(solid-js@1.9.8) - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - vitefu: 1.1.1(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vitefu: 1.1.1(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) transitivePeerDependencies: - supports-color optional: true - vite@6.3.5(@types/node@20.17.57)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0): + vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0): dependencies: esbuild: 0.25.5 fdir: 6.4.5(picomatch@4.0.2) @@ -27084,7 +27037,7 @@ snapshots: rollup: 4.41.1 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 20.17.57 + '@types/node': 24.3.0 fsevents: 2.3.3 jiti: 2.4.2 less: 4.3.0 @@ -27094,59 +27047,15 @@ snapshots: tsx: 4.19.4 yaml: 2.8.0 - vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0): - dependencies: - esbuild: 0.25.5 - fdir: 6.4.5(picomatch@4.0.2) - picomatch: 4.0.2 - postcss: 8.5.6 - rollup: 4.41.1 - tinyglobby: 0.2.14 + vitefu@1.1.1(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)): optionalDependencies: - '@types/node': 22.13.8 - fsevents: 2.3.3 - jiti: 2.4.2 - less: 4.3.0 - lightningcss: 1.30.1 - sass: 1.89.1 - terser: 5.40.0 - tsx: 4.19.4 - yaml: 2.8.0 - optional: true + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0): - dependencies: - esbuild: 0.25.5 - fdir: 6.4.5(picomatch@4.0.2) - picomatch: 4.0.2 - postcss: 8.5.6 - rollup: 4.41.1 - tinyglobby: 0.2.14 - optionalDependencies: - '@types/node': 24.2.1 - fsevents: 2.3.3 - jiti: 2.4.2 - less: 4.3.0 - lightningcss: 1.30.1 - sass: 1.89.1 - terser: 5.40.0 - tsx: 4.19.4 - yaml: 2.8.0 - - vitefu@1.1.1(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)): - optionalDependencies: - vite: 6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - optional: true - - vitefu@1.1.1(vite@6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)): - optionalDependencies: - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - - vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.17.57)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.3.0)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@20.17.57)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -27164,55 +27073,12 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@20.17.57)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@20.17.57)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite: 6.3.5(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@24.3.0)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 20.17.57 - happy-dom: 15.11.7 - transitivePeerDependencies: - - jiti - - less - - lightningcss - - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.2.1)(happy-dom@15.11.7)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0): - dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@6.3.5(@types/node@20.17.57)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) - '@vitest/pretty-format': 3.2.4 - '@vitest/runner': 3.2.4 - '@vitest/snapshot': 3.2.4 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.2.0 - debug: 4.4.1 - expect-type: 1.2.1 - magic-string: 0.30.17 - pathe: 2.0.3 - picomatch: 4.0.2 - std-env: 3.9.0 - tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@24.2.1)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/debug': 4.1.12 - '@types/node': 24.2.1 + '@types/node': 24.3.0 happy-dom: 15.11.7 transitivePeerDependencies: - jiti