diff --git a/examples/react/projects/package.json b/examples/react/projects/package.json index c99c8adad0..1a38ff93fe 100644 --- a/examples/react/projects/package.json +++ b/examples/react/projects/package.json @@ -61,7 +61,7 @@ "tsx": "^4.21.0", "typescript": "^5.9.2", "vite": "^7.3.7", - "vitest": "^3.2.4", + "vitest": "^4.1.12", "web-vitals": "^5.1.0" } } diff --git a/package.json b/package.json index f416eefbc6..19c67190a8 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "devDependencies": { "@changesets/cli": "^2.29.8", "@eslint/js": "^9.39.2", - "@fast-check/vitest": "^0.2.0", + "@fast-check/vitest": "^0.4.1", "@svitejs/changesets-changelog-github-compact": "^1.2.0", "@tanstack/eslint-config": "0.3.4", "@tanstack/typedoc-config": "0.3.3", @@ -71,7 +71,7 @@ "tsx": "^4.21.0", "typescript": "^5.9.2", "vite": "^7.3.7", - "vitest": "^3.2.4", + "vitest": "^4.1.12", "zod": "^4.6.7" } } diff --git a/packages/angular-db/package.json b/packages/angular-db/package.json index 8cc18696f6..8616ca2c9e 100644 --- a/packages/angular-db/package.json +++ b/packages/angular-db/package.json @@ -58,7 +58,7 @@ "@angular/core": "^20.3.34", "@angular/platform-browser": "^20.3.34", "@angular/platform-browser-dynamic": "^20.3.34", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "rxjs": "^7.8.2", "zone.js": "~0.15.0" } diff --git a/packages/browser-db-sqlite-persistence/package.json b/packages/browser-db-sqlite-persistence/package.json index 3f683f6075..3aaff33bf2 100644 --- a/packages/browser-db-sqlite-persistence/package.json +++ b/packages/browser-db-sqlite-persistence/package.json @@ -65,7 +65,7 @@ "@tanstack/query-core": "^5.90.20", "@tanstack/query-db-collection": "workspace:*", "@types/better-sqlite3": "^7.6.13", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "better-sqlite3": "^12.6.2", "next": "^16.3.1", "react": "^19.2.4", diff --git a/packages/browser-db-sqlite-persistence/tests/multi-tab-electric-oracle.test.ts b/packages/browser-db-sqlite-persistence/tests/multi-tab-electric-oracle.test.ts index 4a6d74c630..fcdad376c0 100644 --- a/packages/browser-db-sqlite-persistence/tests/multi-tab-electric-oracle.test.ts +++ b/packages/browser-db-sqlite-persistence/tests/multi-tab-electric-oracle.test.ts @@ -147,58 +147,54 @@ vi.mock( const actual = await importOriginal>() return { ...actual, - ShapeStream: vi.fn( - (options: { - headers?: Record - offset?: string - handle?: string - onError?: (error: unknown) => unknown - }) => { - const stream: ControlledStream = { - tab: options.headers?.[`x-tab`] ?? `unknown`, - startedAt: { - handle: options.handle, - offset: options.offset ?? `-1`, - }, - stopped: false, - shapeHandle: options.handle, - lastOffset: options.offset ?? `-1`, - send: () => { - throw new Error(`stream for tab ${stream.tab} is not subscribed`) - }, - onError: (error) => options.onError?.(error), - giveUp: () => { - throw new Error(`stream for tab ${stream.tab} is not subscribed`) - }, - } - streams.push(stream) - return { - subscribe: ( - send: ControlledStream[`send`], - giveUp: ControlledStream[`giveUp`], - ) => { - stream.send = send - stream.giveUp = giveUp - return () => undefined - }, - unsubscribeAll: () => { - stream.stopped = true - }, - requestSnapshot: vi.fn().mockResolvedValue(undefined), - fetchSnapshot: vi - .fn() - .mockResolvedValue({ metadata: {}, data: [] }), - forceDisconnectAndRefresh: vi.fn().mockResolvedValue(undefined), - isUpToDate: false, - get shapeHandle() { - return stream.shapeHandle - }, - get lastOffset() { - return stream.lastOffset - }, - } - }, - ), + ShapeStream: vi.fn(function (options: { + headers?: Record + offset?: string + handle?: string + onError?: (error: unknown) => unknown + }) { + const stream: ControlledStream = { + tab: options.headers?.[`x-tab`] ?? `unknown`, + startedAt: { + handle: options.handle, + offset: options.offset ?? `-1`, + }, + stopped: false, + shapeHandle: options.handle, + lastOffset: options.offset ?? `-1`, + send: () => { + throw new Error(`stream for tab ${stream.tab} is not subscribed`) + }, + onError: (error) => options.onError?.(error), + giveUp: () => { + throw new Error(`stream for tab ${stream.tab} is not subscribed`) + }, + } + streams.push(stream) + return { + subscribe: ( + send: ControlledStream[`send`], + giveUp: ControlledStream[`giveUp`], + ) => { + stream.send = send + stream.giveUp = giveUp + return () => undefined + }, + unsubscribeAll: () => { + stream.stopped = true + }, + requestSnapshot: vi.fn().mockResolvedValue(undefined), + fetchSnapshot: vi.fn().mockResolvedValue({ metadata: {}, data: [] }), + forceDisconnectAndRefresh: vi.fn().mockResolvedValue(undefined), + isUpToDate: false, + get shapeHandle() { + return stream.shapeHandle + }, + get lastOffset() { + return stream.lastOffset + }, + } + }), } }, ) diff --git a/packages/capacitor-db-sqlite-persistence/package.json b/packages/capacitor-db-sqlite-persistence/package.json index 64daa9dfd7..cf1567aefb 100644 --- a/packages/capacitor-db-sqlite-persistence/package.json +++ b/packages/capacitor-db-sqlite-persistence/package.json @@ -67,7 +67,7 @@ }, "devDependencies": { "@types/better-sqlite3": "^7.6.13", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "better-sqlite3": "^12.6.2" } } diff --git a/packages/cloudflare-durable-objects-db-sqlite-persistence/package.json b/packages/cloudflare-durable-objects-db-sqlite-persistence/package.json index 44308569ee..8d3f6a0b00 100644 --- a/packages/cloudflare-durable-objects-db-sqlite-persistence/package.json +++ b/packages/cloudflare-durable-objects-db-sqlite-persistence/package.json @@ -54,7 +54,7 @@ }, "devDependencies": { "@types/better-sqlite3": "^7.6.13", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "better-sqlite3": "^12.6.2", "wrangler": "^4.64.0" } diff --git a/packages/convex-db-collection/package.json b/packages/convex-db-collection/package.json index df44dfdcb4..4a3c1bbbb8 100644 --- a/packages/convex-db-collection/package.json +++ b/packages/convex-db-collection/package.json @@ -68,7 +68,7 @@ "typescript": ">=4.7" }, "devDependencies": { - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "convex": "^1.47.0" } } diff --git a/packages/db-collection-e2e/package.json b/packages/db-collection-e2e/package.json index 6fe089a41f..8370137c2c 100644 --- a/packages/db-collection-e2e/package.json +++ b/packages/db-collection-e2e/package.json @@ -17,9 +17,9 @@ }, "devDependencies": { "@types/pg": "^8.16.0", - "@vitest/ui": "^3.2.4", + "@vitest/ui": "^4.1.12", "typescript": "^5.9.2", "vite": "^7.3.7", - "vitest": "^3.2.4" + "vitest": "^4.1.12" } } diff --git a/packages/db-collection-e2e/support/global-setup.ts b/packages/db-collection-e2e/support/global-setup.ts index 667e4e2e43..122d1721ca 100644 --- a/packages/db-collection-e2e/support/global-setup.ts +++ b/packages/db-collection-e2e/support/global-setup.ts @@ -1,6 +1,6 @@ import { Client } from 'pg' import type { ClientConfig } from 'pg' -import type { GlobalSetupContext } from 'vitest/node' +import type { TestProject } from 'vitest/node' const ELECTRIC_URL = process.env.ELECTRIC_URL ?? 'http://localhost:3000' const POSTGRES_HOST = process.env.POSTGRES_HOST ?? 'localhost' @@ -102,7 +102,7 @@ async function waitForPostgres(client: Client): Promise { * 4. Provides context to all tests * 5. Returns cleanup function */ -export default async function ({ provide }: GlobalSetupContext) { +export default async function ({ provide }: TestProject) { console.log('🚀 Starting e2e test suite global setup...') // Wait for Electric server to be ready diff --git a/packages/db-ivm/package.json b/packages/db-ivm/package.json index be7413db8c..2d4a83edcb 100644 --- a/packages/db-ivm/package.json +++ b/packages/db-ivm/package.json @@ -56,7 +56,7 @@ "typescript": ">=4.7" }, "devDependencies": { - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "temporal-polyfill": "^0.3.0" } } diff --git a/packages/db-sqlite-persistence-core/package.json b/packages/db-sqlite-persistence-core/package.json index 9d1c15a4a9..c4628e7862 100644 --- a/packages/db-sqlite-persistence-core/package.json +++ b/packages/db-sqlite-persistence-core/package.json @@ -63,7 +63,7 @@ "typescript": ">=4.7" }, "devDependencies": { - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "temporal-polyfill": "^0.3.0" } } diff --git a/packages/db/package.json b/packages/db/package.json index 598819c214..440a6fc943 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -64,7 +64,7 @@ "devDependencies": { "@playwright/test": "^1.60.0", "@tanstack/config": "^0.22.2", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "arktype": "^2.1.29", "fake-indexeddb": "^6.0.0", "mitt": "^3.0.1", diff --git a/packages/db/tests/collection-change-events.test.ts b/packages/db/tests/collection-change-events.test.ts index d9f1620a40..a5a2d6b435 100644 --- a/packages/db/tests/collection-change-events.test.ts +++ b/packages/db/tests/collection-change-events.test.ts @@ -7,6 +7,7 @@ import { import { Func, PropRef, Value } from '../src/query/ir.js' import { DEFAULT_COMPARE_OPTIONS } from '../src/utils.js' import { BTreeIndex } from '../src/indexes/btree-index.js' +import type { SyncConfig } from '../src/types.js' interface TestUser { id: string @@ -37,10 +38,10 @@ it(`treats predicate evaluation failures as nonmatches`, () => { }) describe(`currentStateAsChanges`, () => { - let mockSync: ReturnType + let mockSync: ReturnType[`sync`]>> beforeEach(() => { - mockSync = vi.fn() + mockSync = vi.fn[`sync`]>() }) afterEach(() => { diff --git a/packages/db/tests/collection-events.test.ts b/packages/db/tests/collection-events.test.ts index daffd342a7..815c0602d8 100644 --- a/packages/db/tests/collection-events.test.ts +++ b/packages/db/tests/collection-events.test.ts @@ -17,10 +17,10 @@ class TestEventEmitter extends EventEmitter<{ event: { id: number } }> { describe(`Collection Events System`, () => { let collection: Collection - let mockSync: ReturnType + let mockSync: ReturnType void>> beforeEach(() => { - mockSync = vi.fn() + mockSync = vi.fn<() => void>() collection = createCollection({ id: `test-collection`, getKey: (item: any) => item.id, diff --git a/packages/db/tests/paced-mutations-scenarios.test.ts b/packages/db/tests/paced-mutations-scenarios.test.ts index 477d6e202d..2b46d28ac2 100644 --- a/packages/db/tests/paced-mutations-scenarios.test.ts +++ b/packages/db/tests/paced-mutations-scenarios.test.ts @@ -1951,7 +1951,7 @@ for (const admission of [`admitted`, `dropped`, `queued`] as const) }) try { expect(() => mutate(1)).toThrow(failure) - const scope = create.mock.instances.at(-1) as unknown as TransactionScope + const scope = create.mock.instances.at(-1) as TransactionScope const transaction = create.mock.results.at(-1)?.value as Transaction<{ id: number }> diff --git a/packages/db/tests/query/join-subquery.test.ts b/packages/db/tests/query/join-subquery.test.ts index a0f4b6e779..72cd4e5f4b 100644 --- a/packages/db/tests/query/join-subquery.test.ts +++ b/packages/db/tests/query/join-subquery.test.ts @@ -3,6 +3,7 @@ import { createLiveQueryCollection, eq, gt } from '../../src/query/index.js' import { createCollection } from '../../src/collection/index.js' import { BTreeIndex } from '../../src/indexes/btree-index.js' import { mockSyncCollectionOptions, stripVirtualProps } from '../utils.js' +import type { MockInstance } from 'vitest' // Sample data types for join-subquery testing type Issue = { @@ -1149,7 +1150,7 @@ describe(`Lazy join: subquery whose join key resolves to an indexed collection`, let teams: ReturnType let members: ReturnType - let warnSpy: ReturnType + let warnSpy: MockInstance beforeEach(() => { teams = makeTeamsCollection() diff --git a/packages/db/vite.config.ts b/packages/db/vite.config.ts index 73d1df98b9..6b2f2fd929 100644 --- a/packages/db/vite.config.ts +++ b/packages/db/vite.config.ts @@ -42,7 +42,11 @@ const config = defineConfig({ name: packageJson.name, dir: `./tests`, environment: `jsdom`, - coverage: { enabled: true, provider: `istanbul`, include: [`src/**/*`] }, + coverage: { + enabled: true, + provider: `istanbul`, + include: [`src/**/*.{ts,tsx,js,jsx,mts,cts,mjs,cjs}`], + }, typecheck: { enabled: true, tsconfig: `./tsconfig.test.json` }, setupFiles: [`./tests/test-setup.ts`], }, diff --git a/packages/electric-db-collection/package.json b/packages/electric-db-collection/package.json index 6d9d89b040..f7fc2059e3 100644 --- a/packages/electric-db-collection/package.json +++ b/packages/electric-db-collection/package.json @@ -56,7 +56,7 @@ "@tanstack/query-core": "^5.90.20", "@types/debug": "^4.1.12", "@types/pg": "^8.16.0", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "pg": "^8.20.0" } } diff --git a/packages/electric-db-collection/tests/async-hold-outcomes.test.ts b/packages/electric-db-collection/tests/async-hold-outcomes.test.ts index 96b0d9bc48..0cb9823ed5 100644 --- a/packages/electric-db-collection/tests/async-hold-outcomes.test.ts +++ b/packages/electric-db-collection/tests/async-hold-outcomes.test.ts @@ -34,12 +34,14 @@ vi.mock(`@electric-sql/client`, async () => { const actual = await vi.importActual(`@electric-sql/client`) return { ...actual, - ShapeStream: vi.fn(() => ({ - subscribe: mockSubscribe, - unsubscribeAll: vi.fn(), - fetchSnapshot: mockFetchSnapshot, - requestSnapshot: vi.fn(), - })), + ShapeStream: vi.fn(function () { + return { + subscribe: mockSubscribe, + unsubscribeAll: vi.fn(), + fetchSnapshot: mockFetchSnapshot, + requestSnapshot: vi.fn(), + } + }), } }) diff --git a/packages/electric-db-collection/tests/electric-adapter-support.ts b/packages/electric-db-collection/tests/electric-adapter-support.ts index 739ccfaec5..d0f068695c 100644 --- a/packages/electric-db-collection/tests/electric-adapter-support.ts +++ b/packages/electric-db-collection/tests/electric-adapter-support.ts @@ -7,6 +7,7 @@ import { expect, vi } from 'vitest' import { createCollection } from '@tanstack/db' import { electricCollectionOptions } from '../src/electric' import { withElectricCleanup } from './electric-oracle-lifecycle' +import type { Mock } from 'vitest' import type { Collection, SyncMetadataApi } from '@tanstack/db' import type { ChangeMessage, Message, Offset, Row } from '@electric-sql/client' import type { @@ -21,11 +22,20 @@ export type OracleRow = Row & { stable: string } -export const mockSubscribe = vi.fn() +export const mockSubscribe: Mock = vi.fn() export const shapeId = `{"params":{"table":"test_table"},"url":"http://test-url"}` -export const mockStream = { +export const mockStream: { + subscribe: Mock + unsubscribeAll: Mock + requestSnapshot: Mock + fetchSnapshot: Mock + forceDisconnectAndRefresh: Mock + isUpToDate: boolean + shapeHandle: string | undefined + lastOffset: string +} = { subscribe: mockSubscribe, unsubscribeAll: vi.fn(), requestSnapshot: vi.fn().mockResolvedValue(undefined), @@ -211,7 +221,7 @@ export function createOracleCollection( ) { let subscriber!: (messages: Array>) => void let sdkError!: (error: unknown) => void - const unsubscribe = vi.fn() + const unsubscribe: Mock = vi.fn() mockSubscribe.mockImplementationOnce((callback, onSubscriberError) => { subscriber = callback sdkError = onSubscriberError diff --git a/packages/electric-db-collection/tests/electric-adapter.test.ts b/packages/electric-db-collection/tests/electric-adapter.test.ts index 717eeef741..b85adcdcd8 100644 --- a/packages/electric-db-collection/tests/electric-adapter.test.ts +++ b/packages/electric-db-collection/tests/electric-adapter.test.ts @@ -42,7 +42,9 @@ vi.mock(`@electric-sql/client`, async () => { const actual = await vi.importActual(`@electric-sql/client`) return { ...actual, - ShapeStream: vi.fn(() => createMockStream(mockStream)), + ShapeStream: vi.fn(function () { + return createMockStream(mockStream) + }), } }) diff --git a/packages/electric-db-collection/tests/electric-descriptor-harness.ts b/packages/electric-db-collection/tests/electric-descriptor-harness.ts index 7d28ebc69d..097485ac5b 100644 --- a/packages/electric-db-collection/tests/electric-descriptor-harness.ts +++ b/packages/electric-db-collection/tests/electric-descriptor-harness.ts @@ -7,6 +7,7 @@ */ import { isDeepStrictEqual } from 'node:util' import { expect, vi } from 'vitest' +import type { Mock } from 'vitest' import type { TestRow } from './electric-persistence-fixture' import type { Message } from '@electric-sql/client' @@ -46,11 +47,16 @@ export const harnessState: { onStreamSubscribed: (() => void) | undefined } = { holdNewSnapshots: false, onStreamSubscribed: undefined } -export async function createMockedElectricClient() { +export async function createMockedElectricClient(): Promise<{ + ShapeStream: Mock +}> { const actual = await vi.importActual(`@electric-sql/client`) return { ...actual, - ShapeStream: vi.fn((options: { log?: string; signal?: AbortSignal }) => { + ShapeStream: vi.fn(function (options: { + log?: string + signal?: AbortSignal + }) { const pendingSnapshots: Array<{ resolve: () => void reject: (error: Error) => void diff --git a/packages/electric-db-collection/tests/electric-live-query.test.ts b/packages/electric-db-collection/tests/electric-live-query.test.ts index 5e83711db1..9616251d8c 100644 --- a/packages/electric-db-collection/tests/electric-live-query.test.ts +++ b/packages/electric-db-collection/tests/electric-live-query.test.ts @@ -125,7 +125,9 @@ vi.mock(`@electric-sql/client`, async () => { const actual = await vi.importActual(`@electric-sql/client`) return { ...actual, - ShapeStream: vi.fn(() => mockStream), + ShapeStream: vi.fn(function () { + return mockStream + }), } }) diff --git a/packages/electric-db-collection/tests/electric-oracle.property.test.ts b/packages/electric-db-collection/tests/electric-oracle.property.test.ts index 1062739bdd..17fb8c87de 100644 --- a/packages/electric-db-collection/tests/electric-oracle.property.test.ts +++ b/packages/electric-db-collection/tests/electric-oracle.property.test.ts @@ -111,7 +111,9 @@ vi.mock(`@electric-sql/client`, async () => { ...actual, // Full SDK release clears this stream's callback, including when another // Collection has a separate stream using these shared request mocks. - ShapeStream: vi.fn(() => createMockStream(mockStream)), + ShapeStream: vi.fn(function () { + return createMockStream(mockStream) + }), } }) @@ -2260,7 +2262,9 @@ async function runSchedulerPermutation( }, } vi.mocked(ShapeStream).mockReset() - vi.mocked(ShapeStream).mockImplementation(() => schedulerStream as never) + vi.mocked(ShapeStream).mockImplementation(function () { + return schedulerStream as never + }) const collection = createCollection( persistedCollectionOptions< @@ -2384,9 +2388,9 @@ async function runSchedulerPermutation( } finally { await collection.cleanup() vi.mocked(ShapeStream).mockReset() - vi.mocked(ShapeStream).mockImplementation( - () => createMockStream(mockStream) as never, - ) + vi.mocked(ShapeStream).mockImplementation(function () { + return createMockStream(mockStream) as never + }) } } diff --git a/packages/electric-db-collection/tests/electric-progressive-offline-readiness-witness.test.ts b/packages/electric-db-collection/tests/electric-progressive-offline-readiness-witness.test.ts index 1cd616422b..2a752391bb 100644 --- a/packages/electric-db-collection/tests/electric-progressive-offline-readiness-witness.test.ts +++ b/packages/electric-db-collection/tests/electric-progressive-offline-readiness-witness.test.ts @@ -53,19 +53,21 @@ let requestSnapshot: () => Promise = () => new Promise(() => {}) vi.mock(`@electric-sql/client`, async () => ({ ...(await vi.importActual(`@electric-sql/client`)), - ShapeStream: vi.fn(() => ({ - subscribe: (subscriber: Subscriber) => { - subscribers.push(subscriber) - return () => {} - }, - unsubscribeAll: () => {}, - requestSnapshot: () => requestSnapshot(), - fetchSnapshot: () => fetchSnapshot(), - forceDisconnectAndRefresh: () => Promise.resolve(), - isUpToDate: false, - shapeHandle: `shape-1`, - lastOffset: `10_0`, - })), + ShapeStream: vi.fn(function () { + return { + subscribe: (subscriber: Subscriber) => { + subscribers.push(subscriber) + return () => {} + }, + unsubscribeAll: () => {}, + requestSnapshot: () => requestSnapshot(), + fetchSnapshot: () => fetchSnapshot(), + forceDisconnectAndRefresh: () => Promise.resolve(), + isUpToDate: false, + shapeHandle: `shape-1`, + lastOffset: `10_0`, + } + }), })) const rows: Array = [ diff --git a/packages/electric-db-collection/tests/electric-recovery-oracle.test.ts b/packages/electric-db-collection/tests/electric-recovery-oracle.test.ts index 902b701826..674ea6d7a0 100644 --- a/packages/electric-db-collection/tests/electric-recovery-oracle.test.ts +++ b/packages/electric-db-collection/tests/electric-recovery-oracle.test.ts @@ -76,16 +76,18 @@ const mockSubscribe = vi.fn((callback: Subscriber) => { vi.mock(`@electric-sql/client`, async () => ({ ...(await vi.importActual(`@electric-sql/client`)), - ShapeStream: vi.fn(() => ({ - subscribe: mockSubscribe, - unsubscribeAll: vi.fn(), - requestSnapshot: vi.fn().mockResolvedValue(undefined), - fetchSnapshot: vi.fn().mockResolvedValue({ metadata: {}, data: [] }), - forceDisconnectAndRefresh: vi.fn().mockResolvedValue(undefined), - isUpToDate: false, - shapeHandle: `shape-current`, - lastOffset: `20_0`, - })), + ShapeStream: vi.fn(function () { + return { + subscribe: mockSubscribe, + unsubscribeAll: vi.fn(), + requestSnapshot: vi.fn().mockResolvedValue(undefined), + fetchSnapshot: vi.fn().mockResolvedValue({ metadata: {}, data: [] }), + forceDisconnectAndRefresh: vi.fn().mockResolvedValue(undefined), + isUpToDate: false, + shapeHandle: `shape-current`, + lastOffset: `20_0`, + } + }), })) function deferred() { diff --git a/packages/electric-db-collection/tests/electric-recovery.test.ts b/packages/electric-db-collection/tests/electric-recovery.test.ts index cef5541d07..16382806c1 100644 --- a/packages/electric-db-collection/tests/electric-recovery.test.ts +++ b/packages/electric-db-collection/tests/electric-recovery.test.ts @@ -32,16 +32,18 @@ const mockSubscribe = vi.fn((callback: Subscriber) => { vi.mock(`@electric-sql/client`, async () => ({ ...(await vi.importActual(`@electric-sql/client`)), - ShapeStream: vi.fn(() => ({ - subscribe: mockSubscribe, - unsubscribeAll: vi.fn(), - requestSnapshot: vi.fn().mockResolvedValue(undefined), - fetchSnapshot: vi.fn().mockResolvedValue({ metadata: {}, data: [] }), - forceDisconnectAndRefresh: vi.fn().mockResolvedValue(undefined), - isUpToDate: false, - shapeHandle: `shape-current`, - lastOffset: `20_0`, - })), + ShapeStream: vi.fn(function () { + return { + subscribe: mockSubscribe, + unsubscribeAll: vi.fn(), + requestSnapshot: vi.fn().mockResolvedValue(undefined), + fetchSnapshot: vi.fn().mockResolvedValue({ metadata: {}, data: [] }), + forceDisconnectAndRefresh: vi.fn().mockResolvedValue(undefined), + isUpToDate: false, + shapeHandle: `shape-current`, + lastOffset: `20_0`, + } + }), })) describe(`persisted Electric recovery laws`, () => { diff --git a/packages/electric-db-collection/tests/electric-resume-snapshot-races.test.ts b/packages/electric-db-collection/tests/electric-resume-snapshot-races.test.ts index 42c02d9bc6..925990c2cb 100644 --- a/packages/electric-db-collection/tests/electric-resume-snapshot-races.test.ts +++ b/packages/electric-db-collection/tests/electric-resume-snapshot-races.test.ts @@ -31,16 +31,18 @@ const mockSubscribe = vi.fn((subscriber: Subscriber) => { vi.mock(`@electric-sql/client`, async () => ({ ...(await vi.importActual(`@electric-sql/client`)), - ShapeStream: vi.fn(() => ({ - subscribe: mockSubscribe, - unsubscribeAll: vi.fn(), - requestSnapshot: vi.fn(() => snapshotRequest?.() ?? Promise.resolve()), - fetchSnapshot: vi.fn().mockResolvedValue({ metadata: {}, data: [] }), - forceDisconnectAndRefresh: vi.fn().mockResolvedValue(undefined), - isUpToDate: false, - shapeHandle: `shape-current`, - lastOffset: `20_0`, - })), + ShapeStream: vi.fn(function () { + return { + subscribe: mockSubscribe, + unsubscribeAll: vi.fn(), + requestSnapshot: vi.fn(() => snapshotRequest?.() ?? Promise.resolve()), + fetchSnapshot: vi.fn().mockResolvedValue({ metadata: {}, data: [] }), + forceDisconnectAndRefresh: vi.fn().mockResolvedValue(undefined), + isUpToDate: false, + shapeHandle: `shape-current`, + lastOffset: `20_0`, + } + }), })) function toBinding(value: unknown): string | number | bigint | null { diff --git a/packages/electric-db-collection/tests/electric.test.ts b/packages/electric-db-collection/tests/electric.test.ts index bd9bc66122..46b271d978 100644 --- a/packages/electric-db-collection/tests/electric.test.ts +++ b/packages/electric-db-collection/tests/electric.test.ts @@ -61,7 +61,9 @@ vi.mock(`@electric-sql/client`, async () => { const actual = await vi.importActual(`@electric-sql/client`) return { ...actual, - ShapeStream: vi.fn(() => createMockStream(mockStream)), + ShapeStream: vi.fn(function () { + return createMockStream(mockStream) + }), } }) @@ -2767,9 +2769,9 @@ describe(`Electric Integration`, () => { }) // Mock AbortController - global.AbortController = vi - .fn() - .mockImplementation(() => mockAbortController) + global.AbortController = vi.fn().mockImplementation(function () { + return mockAbortController + }) }) afterEach(() => { diff --git a/packages/electric-db-collection/tests/tags.test.ts b/packages/electric-db-collection/tests/tags.test.ts index 65cfafc13a..796a259376 100644 --- a/packages/electric-db-collection/tests/tags.test.ts +++ b/packages/electric-db-collection/tests/tags.test.ts @@ -29,7 +29,9 @@ vi.mock(`@electric-sql/client`, async () => { const actual = await vi.importActual(`@electric-sql/client`) return { ...actual, - ShapeStream: vi.fn(() => mockStream), + ShapeStream: vi.fn(function () { + return mockStream + }), } }) diff --git a/packages/electron-db-sqlite-persistence/package.json b/packages/electron-db-sqlite-persistence/package.json index 651afb0103..72e61efa40 100644 --- a/packages/electron-db-sqlite-persistence/package.json +++ b/packages/electron-db-sqlite-persistence/package.json @@ -74,7 +74,7 @@ "typescript": ">=4.7" }, "devDependencies": { - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "electron": "^42.0.0" } } diff --git a/packages/expo-db-sqlite-persistence/package.json b/packages/expo-db-sqlite-persistence/package.json index d575a3c095..0d310be2c4 100644 --- a/packages/expo-db-sqlite-persistence/package.json +++ b/packages/expo-db-sqlite-persistence/package.json @@ -67,7 +67,7 @@ }, "devDependencies": { "@types/better-sqlite3": "^7.6.13", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "better-sqlite3": "^12.6.2", "expo-sqlite-57": "npm:expo-sqlite@57.0.3" } diff --git a/packages/node-db-sqlite-persistence/package.json b/packages/node-db-sqlite-persistence/package.json index 4b8acc3d91..d8d8c04e41 100644 --- a/packages/node-db-sqlite-persistence/package.json +++ b/packages/node-db-sqlite-persistence/package.json @@ -56,6 +56,6 @@ }, "devDependencies": { "@types/better-sqlite3": "^7.6.13", - "@vitest/coverage-istanbul": "^3.2.4" + "@vitest/coverage-istanbul": "^4.1.12" } } diff --git a/packages/offline-transactions/package.json b/packages/offline-transactions/package.json index cbbed40509..3855887c5f 100644 --- a/packages/offline-transactions/package.json +++ b/packages/offline-transactions/package.json @@ -80,6 +80,6 @@ "eslint": "^9.39.2", "react-native": "0.79.6", "typescript": "^5.9.2", - "vitest": "^3.2.4" + "vitest": "^4.1.12" } } diff --git a/packages/powersync-db-collection/package.json b/packages/powersync-db-collection/package.json index d326135fc8..da109832ef 100644 --- a/packages/powersync-db-collection/package.json +++ b/packages/powersync-db-collection/package.json @@ -65,7 +65,7 @@ "@powersync/common": "2.0.0", "@powersync/node": "0.20.0", "@types/debug": "^4.1.12", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "better-sqlite3": "^12.6.2" } } diff --git a/packages/powersync-db-collection/tests/on-demand-sync.test.ts b/packages/powersync-db-collection/tests/on-demand-sync.test.ts index f9214c444d..0e4bc81b3d 100644 --- a/packages/powersync-db-collection/tests/on-demand-sync.test.ts +++ b/packages/powersync-db-collection/tests/on-demand-sync.test.ts @@ -2957,7 +2957,7 @@ describe(`On-Demand Sync Mode`, () => { await options.hooks?.beforeCreate?.({ getAll: () => Promise.resolve([]), } as never) - return vi.fn() + return vi.fn<() => Promise>() }) const commit = vi.fn(() => { entered.resolve() @@ -3050,7 +3050,7 @@ describe(`On-Demand Sync Mode`, () => { await options.hooks?.beforeCreate?.({ getAll: () => Promise.resolve(rows.slice(cursor, ++cursor)), } as never) - return vi.fn() + return vi.fn<() => Promise>() }, ) const commit = vi.fn(() => { diff --git a/packages/preact-db/package.json b/packages/preact-db/package.json index 655b402e0a..117fa5e5c0 100644 --- a/packages/preact-db/package.json +++ b/packages/preact-db/package.json @@ -48,7 +48,7 @@ "preact": ">=10.0.0" }, "devDependencies": { - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "preact": "^11.0.1" } } diff --git a/packages/query-db-collection/package.json b/packages/query-db-collection/package.json index e253782f03..bb8363dfea 100644 --- a/packages/query-db-collection/package.json +++ b/packages/query-db-collection/package.json @@ -58,7 +58,7 @@ "@tanstack/node-db-sqlite-persistence": "workspace:*", "@tanstack/offline-transactions": "workspace:*", "@tanstack/query-core": "^5.90.20", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "seroval": "1.6.3" } } diff --git a/packages/query-db-collection/tests/query.test.ts b/packages/query-db-collection/tests/query.test.ts index 6db932fe14..d41b90e889 100644 --- a/packages/query-db-collection/tests/query.test.ts +++ b/packages/query-db-collection/tests/query.test.ts @@ -5794,7 +5794,7 @@ describe(`QueryCollection`, () => { // Helper to create test collection with common configuration const createErrorHandlingTestCollection = ( testId: string, - queryFn: ReturnType, + queryFn: QueryCollectionConfig[`queryFn`], ) => { const config: QueryCollectionConfig = { id: testId, diff --git a/packages/react-db/package.json b/packages/react-db/package.json index cb955b8f33..e8cc6eeee4 100644 --- a/packages/react-db/package.json +++ b/packages/react-db/package.json @@ -57,7 +57,7 @@ "@testing-library/react": "^16.3.2", "@types/react": "^19.2.13", "@types/react-dom": "^19.2.3", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "react": "^19.2.4", "react-dom": "^19.2.4" } diff --git a/packages/react-db/tests/source-id-reuse.test.tsx b/packages/react-db/tests/source-id-reuse.test.tsx index d23cc36eb7..90cd1f16f2 100644 --- a/packages/react-db/tests/source-id-reuse.test.tsx +++ b/packages/react-db/tests/source-id-reuse.test.tsx @@ -196,7 +196,11 @@ describe(`React source ID reuse`, () => { [first, `first`], [replacement, `replacement`], ]) - const View = ({ current }: { current: typeof first }) => { + const View = ({ + current, + }: { + current: typeof first | typeof replacement + }) => { // A hashable dependency keys the Suspense cache; a Collection cannot. const { data } = useLiveSuspenseQuery( (q) => q.from({ settings: current }), diff --git a/packages/react-native-db-sqlite-persistence/package.json b/packages/react-native-db-sqlite-persistence/package.json index 7378aef71a..62aa57249e 100644 --- a/packages/react-native-db-sqlite-persistence/package.json +++ b/packages/react-native-db-sqlite-persistence/package.json @@ -66,7 +66,7 @@ }, "devDependencies": { "@types/better-sqlite3": "^7.6.13", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "better-sqlite3": "^12.6.2" } } diff --git a/packages/react-router-with-db/package.json b/packages/react-router-with-db/package.json index d69cf15835..b0b47d56fc 100644 --- a/packages/react-router-with-db/package.json +++ b/packages/react-router-with-db/package.json @@ -59,7 +59,7 @@ "@tanstack/react-router": "^1.170.41", "@tanstack/router-core": "^1.171.34", "@vitejs/plugin-react": "^5.1.3", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "react": "^19.2.4", "react-dom": "^19.2.4" } diff --git a/packages/rxdb-db-collection/package.json b/packages/rxdb-db-collection/package.json index 48a0cc94e5..f0bb54d37a 100644 --- a/packages/rxdb-db-collection/package.json +++ b/packages/rxdb-db-collection/package.json @@ -75,6 +75,6 @@ }, "devDependencies": { "@types/debug": "^4.1.12", - "@vitest/coverage-istanbul": "^3.2.4" + "@vitest/coverage-istanbul": "^4.1.12" } } diff --git a/packages/solid-db/package.json b/packages/solid-db/package.json index e1dae5c513..2f860bf7cc 100644 --- a/packages/solid-db/package.json +++ b/packages/solid-db/package.json @@ -51,10 +51,10 @@ "devDependencies": { "@electric-sql/client": "^1.5.15", "@solidjs/testing-library": "^0.8.10", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "jsdom": "^27.4.0", "solid-js": "^1.9.11", "vite-plugin-solid": "^2.11.10", - "vitest": "^3.2.4" + "vitest": "^4.1.12" } } diff --git a/packages/svelte-db/package.json b/packages/svelte-db/package.json index eef224b15a..661171de0b 100644 --- a/packages/svelte-db/package.json +++ b/packages/svelte-db/package.json @@ -49,7 +49,7 @@ "devDependencies": { "@sveltejs/package": "^2.5.7", "@sveltejs/vite-plugin-svelte": "^6.2.4", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "publint": "^0.3.17", "svelte": "^5.50.0", "svelte-check": "^4.3.6" diff --git a/packages/tauri-db-sqlite-persistence/package.json b/packages/tauri-db-sqlite-persistence/package.json index d43b101128..6374e98e0f 100644 --- a/packages/tauri-db-sqlite-persistence/package.json +++ b/packages/tauri-db-sqlite-persistence/package.json @@ -65,7 +65,7 @@ "devDependencies": { "@tauri-apps/plugin-sql": "^2.3.2", "@types/better-sqlite3": "^7.6.13", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "better-sqlite3": "^12.6.2" } } diff --git a/packages/trailbase-db-collection/package.json b/packages/trailbase-db-collection/package.json index 4eb642f9e8..0af52d40ee 100644 --- a/packages/trailbase-db-collection/package.json +++ b/packages/trailbase-db-collection/package.json @@ -58,6 +58,6 @@ }, "devDependencies": { "@types/debug": "^4.1.12", - "@vitest/coverage-istanbul": "^3.2.4" + "@vitest/coverage-istanbul": "^4.1.12" } } diff --git a/packages/vue-db/package.json b/packages/vue-db/package.json index ee1e19c6b6..a6ec622aa0 100644 --- a/packages/vue-db/package.json +++ b/packages/vue-db/package.json @@ -54,7 +54,7 @@ "devDependencies": { "@electric-sql/client": "^1.5.15", "@vitejs/plugin-vue": "^6.0.4", - "@vitest/coverage-istanbul": "^3.2.4", + "@vitest/coverage-istanbul": "^4.1.12", "vue": "^3.5.28" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 58c6433cd0..4cfa0e4632 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,8 +33,8 @@ importers: specifier: ^9.39.2 version: 9.39.4 '@fast-check/vitest': - specifier: ^0.2.0 - version: 0.2.4(vitest@3.2.4) + specifier: ^0.4.1 + version: 0.4.1(vitest@4.1.12) '@svitejs/changesets-changelog-github-compact': specifier: ^1.2.0 version: 1.2.0 @@ -123,8 +123,8 @@ importers: specifier: ^7.3.7 version: 7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) + specifier: ^4.1.12 + version: 4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) zod: specifier: ^4.6.7 version: 4.6.7 @@ -167,7 +167,7 @@ importers: devDependencies: '@angular/build': specifier: ^20.3.40 - version: 20.3.40(@angular/compiler-cli@20.3.34(@angular/compiler@20.3.34)(typescript@5.9.3))(@angular/compiler@20.3.34)(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.34(@angular/common@20.3.34(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1)))(@types/node@25.2.2)(chokidar@4.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(postcss@8.5.31)(tailwindcss@4.1.18)(terser@5.51.2)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.9.3)(vitest@3.2.4)(yaml@2.8.1) + version: 20.3.40(@angular/compiler-cli@20.3.34(@angular/compiler@20.3.34)(typescript@5.9.3))(@angular/compiler@20.3.34)(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.34(@angular/common@20.3.34(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1)))(@types/node@25.2.2)(chokidar@4.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(postcss@8.5.31)(tailwindcss@4.1.18)(terser@5.51.2)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.9.3)(vitest@4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)))(yaml@2.8.1) '@angular/cli': specifier: ^20.3.40 version: 20.3.40(@types/node@25.2.2)(chokidar@4.0.1) @@ -690,7 +690,7 @@ importers: version: 11.10.0(typescript@5.9.3) better-auth: specifier: ^1.6.22 - version: 1.6.22(02ff209b4afe56b49414e40d0a7101b4) + version: 1.6.22(261f3abdcb0412d90890f6a952f0c71b) dotenv: specifier: ^17.2.4 version: 17.2.4 @@ -786,8 +786,8 @@ importers: specifier: ^5.9.2 version: 5.9.3 vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) + specifier: ^4.1.12 + version: 4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) web-vitals: specifier: ^5.1.0 version: 5.1.0 @@ -1087,8 +1087,8 @@ importers: specifier: ^20.3.34 version: 20.3.34(@angular/common@20.3.34(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.34)(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.34(@angular/common@20.3.34(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))) '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) rxjs: specifier: ^7.8.2 version: 7.8.2 @@ -1121,8 +1121,8 @@ importers: specifier: ^7.6.13 version: 7.6.13 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) better-sqlite3: specifier: ^12.6.2 version: 12.8.0 @@ -1155,8 +1155,8 @@ importers: specifier: ^7.6.13 version: 7.6.13 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) better-sqlite3: specifier: ^12.6.2 version: 12.8.0 @@ -1208,8 +1208,8 @@ importers: specifier: ^7.6.13 version: 7.6.13 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) better-sqlite3: specifier: ^12.6.2 version: 12.8.0 @@ -1233,8 +1233,8 @@ importers: version: 5.9.3 devDependencies: '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) convex: specifier: ^1.47.0 version: 1.47.0(react@19.2.4) @@ -1282,8 +1282,8 @@ importers: specifier: ^0.22.2 version: 0.22.2(@types/node@25.2.2)(@typescript-eslint/utils@8.55.0(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint@9.39.4(jiti@2.7.0))(rollup@4.64.12)(typescript@5.9.3)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) arktype: specifier: ^2.1.29 version: 2.1.29 @@ -1319,8 +1319,8 @@ importers: specifier: ^8.16.0 version: 8.16.0 '@vitest/ui': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) typescript: specifier: ^5.9.2 version: 5.9.3 @@ -1328,8 +1328,8 @@ importers: specifier: ^7.3.7 version: 7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) + specifier: ^4.1.12 + version: 4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) packages/db-collections: {} @@ -1343,8 +1343,8 @@ importers: version: 5.9.3 devDependencies: '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) temporal-polyfill: specifier: ^0.3.0 version: 0.3.0 @@ -1362,8 +1362,8 @@ importers: version: 5.9.3 devDependencies: '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) temporal-polyfill: specifier: ^0.3.0 version: 0.3.0 @@ -1393,8 +1393,8 @@ importers: specifier: ^8.16.0 version: 8.16.0 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) pg: specifier: ^8.20.0 version: 8.20.0 @@ -1409,8 +1409,8 @@ importers: version: 5.9.3 devDependencies: '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) electron: specifier: ^42.0.0 version: 42.11.18 @@ -1431,8 +1431,8 @@ importers: specifier: ^7.6.13 version: 7.6.13 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) better-sqlite3: specifier: ^12.6.2 version: 12.8.0 @@ -1477,8 +1477,8 @@ importers: specifier: ^7.6.13 version: 7.6.13 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) packages/offline-transactions: dependencies: @@ -1502,8 +1502,8 @@ importers: specifier: ^5.9.2 version: 5.9.3 vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) + specifier: ^4.1.12 + version: 4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) packages/powersync-db-collection: dependencies: @@ -1533,8 +1533,8 @@ importers: specifier: ^4.1.12 version: 4.1.12 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) better-sqlite3: specifier: ^12.6.2 version: 12.8.0 @@ -1546,8 +1546,8 @@ importers: version: link:../db devDependencies: '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) preact: specifier: ^11.0.1 version: 11.0.1 @@ -1574,8 +1574,8 @@ importers: specifier: ^5.90.20 version: 5.90.20 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) seroval: specifier: 1.6.3 version: 1.6.3 @@ -1599,8 +1599,8 @@ importers: specifier: ^19.2.3 version: 19.2.3(@types/react@19.2.13) '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) react: specifier: ^19.2.4 version: 19.2.4 @@ -1624,8 +1624,8 @@ importers: specifier: ^7.6.13 version: 7.6.13 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) better-sqlite3: specifier: ^12.6.2 version: 12.8.0 @@ -1645,8 +1645,8 @@ importers: specifier: ^5.1.3 version: 5.1.3(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) react: specifier: ^19.2.4 version: 19.2.4 @@ -1682,8 +1682,8 @@ importers: specifier: ^4.1.12 version: 4.1.12 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) packages/solid-db: dependencies: @@ -1701,8 +1701,8 @@ importers: specifier: ^0.8.10 version: 0.8.10(solid-js@1.9.11) '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) jsdom: specifier: ^27.4.0 version: 27.4.0 @@ -1713,8 +1713,8 @@ importers: specifier: ^2.11.10 version: 2.11.10(@testing-library/jest-dom@6.9.1)(solid-js@1.9.11)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) vitest: - specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) + specifier: ^4.1.12 + version: 4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) packages/svelte-db: dependencies: @@ -1729,8 +1729,8 @@ importers: specifier: ^6.2.4 version: 6.2.4(svelte@5.55.7(@typescript-eslint/types@8.55.0))(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) publint: specifier: ^0.3.17 version: 0.3.17 @@ -1757,8 +1757,8 @@ importers: specifier: ^7.6.13 version: 7.6.13 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) better-sqlite3: specifier: ^12.6.2 version: 12.8.0 @@ -1816,8 +1816,8 @@ importers: specifier: ^4.1.12 version: 4.1.12 '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) packages/vue-db: dependencies: @@ -1832,8 +1832,8 @@ importers: specifier: ^6.0.4 version: 6.0.4(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1))(vue@3.5.28(typescript@5.9.3)) '@vitest/coverage-istanbul': - specifier: ^3.2.4 - version: 3.2.4(vitest@3.2.4) + specifier: ^4.1.12 + version: 4.1.12(vitest@4.1.12) vue: specifier: ^3.5.28 version: 3.5.28(typescript@5.9.3) @@ -4069,10 +4069,10 @@ packages: resolution: {integrity: sha512-o2qDlTqJ606h4xR36H2zWTywmZ3v3842K6TU8Ik2n1mfW0S580VHlt3eItVYdLYz+klaPp7CXqanja8eASZjRw==} hasBin: true - '@fast-check/vitest@0.2.4': - resolution: {integrity: sha512-Ilcr+JAIPhb1s6FRm4qoglQYSGXXrS+zAupZeNuWAA3qHVGDA1d1Gb84Hb/+otL3GzVZjFJESg5/1SfIvrgssA==} + '@fast-check/vitest@0.4.1': + resolution: {integrity: sha512-OX6TecB+ZzRfPc49jcPChcV1cf5aDu77CdDU8liecWVam7eD7mPvJNP50b9bBSTxVoGN5wzxrX9PIcCnqgC8bg==} peerDependencies: - vitest: ^1 || ^2 || ^3 || ^4 + vitest: ^4.1.0 '@gar/promise-retry@1.0.3': resolution: {integrity: sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==} @@ -7022,44 +7022,44 @@ packages: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 vue: ^3.2.25 - '@vitest/coverage-istanbul@3.2.4': - resolution: {integrity: sha512-IDlpuFJiWU9rhcKLkpzj8mFu/lpe64gVgnV15ZOrYx1iFzxxrxCzbExiUEKtwwXRvEiEMUS6iZeYgnMxgbqbxQ==} + '@vitest/coverage-istanbul@4.1.12': + resolution: {integrity: sha512-f98TiCqF7IriBQEpm6usi56wyD4G1cRYabI15f3Jm7R355q9tlwqJ0j1oPf+tWZ7D0LPnCh3dU70duRt10erHg==} peerDependencies: - vitest: 3.2.4 + vitest: 4.1.12 - '@vitest/expect@3.2.4': - resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} + '@vitest/expect@4.1.12': + resolution: {integrity: sha512-vFlTt+YEu9WBpNjdGayNmlMVzrWPi1+sv853/7t2FU7hpO5gAFBKHzQmkCq5Xjpr+evegF2994LQT3hF3mRlqQ==} - '@vitest/mocker@3.2.4': - resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} + '@vitest/mocker@4.1.12': + resolution: {integrity: sha512-fKShNpKZzupWZuY0z7egydvL0sqW4INEZBEExMBMAa6izlENEVHwoXgdaTCaBZ5fwlr4xf2o1wXC83n9RpO+NA==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@3.2.4': - resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} + '@vitest/pretty-format@4.1.12': + resolution: {integrity: sha512-XW9O8+Mxx4VpCtkYdMJLZQQwsVryP9wk7cPKDxtXFfwSak6yRh5+2fep/Y0XF/ElBvJHq8bcYdi6aeuai0opZA==} - '@vitest/runner@3.2.4': - resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} + '@vitest/runner@4.1.12': + resolution: {integrity: sha512-NKlVKCr5QnCe8jijdMnmkpHHU+WTqiLFR6G0pHji9uRjXK9xJl1k1nTw6F3pOOj2PDcsDt2GKQMI7wIsaT491w==} - '@vitest/snapshot@3.2.4': - resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} + '@vitest/snapshot@4.1.12': + resolution: {integrity: sha512-ko1y1Qgb/slzQ9mr+b89Cuqud8WG1TKtsPD8r7ZUBdvVOGt85Af2HwCqHujrhwJq95hs/9RM7fcAPg57o1vlzw==} - '@vitest/spy@3.2.4': - resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + '@vitest/spy@4.1.12': + resolution: {integrity: sha512-RGq9x4JNGNTZHEJxvN0oSiJjeSCExm0n2gZKKJZHY9cX5AVA6M7VJILBT3ZJ/tJ/0J9uWT7fETV9/btoi//vSg==} - '@vitest/ui@3.2.4': - resolution: {integrity: sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==} + '@vitest/ui@4.1.12': + resolution: {integrity: sha512-eYUTHtsp52Fu6YGUw9T9173bba7YUr9j/Xj9CdhUaOb8AppLKcknHUaiZQeqJ8MiJ8C2VyKiZuUGSKdvPIKQKA==} peerDependencies: - vitest: 3.2.4 + vitest: 4.1.12 - '@vitest/utils@3.2.4': - resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + '@vitest/utils@4.1.12': + resolution: {integrity: sha512-Q3awXrwOfEV+qc3WmO5ONyE0yO7Q1gQ9/oyHxGLZ/pl7N3NO/ZztqQwKLuwMkV+CA1JYSIeO3gkHnRDIo4AVaA==} '@volar/language-core@2.4.23': resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==} @@ -7371,10 +7371,6 @@ packages: asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -7705,10 +7701,6 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - cacache@20.0.3: resolution: {integrity: sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==} engines: {node: ^20.17.0 || >=22.9.0} @@ -7759,8 +7751,8 @@ packages: caniuse-lite@1.0.30001819: resolution: {integrity: sha512-LFUqIIAwpzsIuevnKnsR9qnStBcgzPShTX61lBwN9uFkkf8o8zLiebEjbW8AYtZiF+1YKDWfdt/pWDtMuG8Xwg==} - chai@5.3.3: - resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} + chai@6.3.0: + resolution: {integrity: sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==} engines: {node: '>=18'} chalk@2.4.2: @@ -7778,10 +7770,6 @@ packages: chardet@2.1.1: resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} - cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} @@ -8142,10 +8130,6 @@ packages: dedent-js@1.0.1: resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} - deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -8490,9 +8474,6 @@ packages: resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} engines: {node: '>= 0.4'} - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - es-module-lexer@2.3.2: resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==} @@ -8769,8 +8750,8 @@ packages: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} - expect-type@1.2.2: - resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} engines: {node: '>=12.0.0'} expo-asset@11.1.7: @@ -9066,6 +9047,9 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} + flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} @@ -9790,10 +9774,6 @@ packages: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} - istanbul-lib-source-maps@5.0.6: - resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} - engines: {node: '>=10'} - istanbul-reports@3.2.0: resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} @@ -9877,9 +9857,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.1: - resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -10312,9 +10289,6 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@3.2.1: - resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} - lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -10349,8 +10323,8 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - magicast@0.3.5: - resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + magicast@0.5.5: + resolution: {integrity: sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==} make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} @@ -11112,10 +11086,6 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pathval@2.0.1: - resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} - engines: {node: '>= 14.16'} - pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -12142,8 +12112,8 @@ packages: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + std-env@4.3.0: + resolution: {integrity: sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==} stdin-discarder@0.2.2: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} @@ -12246,9 +12216,6 @@ packages: resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} engines: {node: '>=14.16'} - strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - structured-headers@0.4.1: resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==} @@ -12389,10 +12356,6 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - test-exclude@7.0.1: - resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} - engines: {node: '>=18'} - text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} @@ -12419,8 +12382,9 @@ 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.3.1: + resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} + engines: {node: '>=18'} tinyglobby@0.2.14: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} @@ -12430,16 +12394,8 @@ packages: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} - engines: {node: '>=14.0.0'} - - tinyspy@4.0.3: - resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} + tinyrainbow@3.2.0: + resolution: {integrity: sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A==} engines: {node: '>=14.0.0'} tldts-core@7.0.16: @@ -12782,11 +12738,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vite-node@3.2.4: - resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - vite-plugin-dts@4.2.3: resolution: {integrity: sha512-O5NalzHANQRwVw1xj8KQun3Bv8OSDAlNJXrnqoAz10BOuW8FVvY5g4ygj+DlJZL5mtSPuMu9vd3OfrdW5d4k6w==} engines: {node: ^14.18.0 || >=16.0.0} @@ -12908,26 +12859,39 @@ packages: vite: optional: true - vitest@3.2.4: - resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vitest@4.1.12: + resolution: {integrity: sha512-5eWdz2yb3ajxWF3C8C4TjkXl7FGm3n2E/VlazALrQHzK7nYMSGFnCZto0bbPNl77AwkOZVLk0YnBAejUu0NiWA==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/debug': ^4.1.12 - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.4 - '@vitest/ui': 3.2.4 + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.12 + '@vitest/browser-preview': 4.1.12 + '@vitest/browser-webdriverio': ^4.1.11 + '@vitest/coverage-istanbul': 4.1.12 + '@vitest/coverage-v8': 4.1.12 + '@vitest/ui': 4.1.12 happy-dom: '*' jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true - '@types/debug': + '@opentelemetry/api': optional: true '@types/node': optional: true - '@vitest/browser': + '@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 @@ -13431,7 +13395,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@20.3.40(@angular/compiler-cli@20.3.34(@angular/compiler@20.3.34)(typescript@5.9.3))(@angular/compiler@20.3.34)(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.34(@angular/common@20.3.34(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1)))(@types/node@25.2.2)(chokidar@4.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(postcss@8.5.31)(tailwindcss@4.1.18)(terser@5.51.2)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.9.3)(vitest@3.2.4)(yaml@2.8.1)': + '@angular/build@20.3.40(@angular/compiler-cli@20.3.34(@angular/compiler@20.3.34)(typescript@5.9.3))(@angular/compiler@20.3.34)(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.34(@angular/common@20.3.34(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.34(@angular/compiler@20.3.34)(rxjs@7.8.2)(zone.js@0.15.1)))(@types/node@25.2.2)(chokidar@4.0.1)(jiti@2.7.0)(lightningcss@1.33.0)(postcss@8.5.31)(tailwindcss@4.1.18)(terser@5.51.2)(tslib@2.8.1)(tsx@4.21.0)(typescript@5.9.3)(vitest@4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)))(yaml@2.8.1)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.40(chokidar@4.0.1) @@ -13469,7 +13433,7 @@ snapshots: lmdb: 3.4.2 postcss: 8.5.31 tailwindcss: 4.1.18 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) transitivePeerDependencies: - '@types/node' - chokidar @@ -15791,10 +15755,10 @@ snapshots: chalk: 4.1.2 js-yaml: 4.1.1 - '@fast-check/vitest@0.2.4(vitest@3.2.4)': + '@fast-check/vitest@0.4.1(vitest@4.1.12)': dependencies: fast-check: 3.23.2 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) '@gar/promise-retry@1.0.3': {} @@ -16822,7 +16786,7 @@ snapshots: detect-libc: 2.1.2 is-glob: 4.0.3 node-addon-api: 7.1.1 - picomatch: 4.0.4 + picomatch: 4.0.7 optionalDependencies: '@parcel/watcher-android-arm64': 2.6.0 '@parcel/watcher-darwin-arm64': 2.6.0 @@ -19044,74 +19008,73 @@ snapshots: vite: 7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) vue: 3.5.28(typescript@5.9.3) - '@vitest/coverage-istanbul@3.2.4(vitest@3.2.4)': + '@vitest/coverage-istanbul@4.1.12(vitest@4.1.12)': dependencies: + '@babel/core': 7.29.7 '@istanbuljs/schema': 0.1.3 - debug: 4.4.3 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.2.0 - magicast: 0.3.5 - test-exclude: 7.0.1 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) + magicast: 0.5.5 + obug: 2.1.1 + tinyrainbow: 3.2.0 + vitest: 4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) transitivePeerDependencies: - supports-color - '@vitest/expect@3.2.4': + '@vitest/expect@4.1.12': dependencies: + '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.2 - '@vitest/spy': 3.2.4 - '@vitest/utils': 3.2.4 - chai: 5.3.3 - tinyrainbow: 2.0.0 + '@vitest/spy': 4.1.12 + '@vitest/utils': 4.1.12 + chai: 6.3.0 + tinyrainbow: 3.2.0 - '@vitest/mocker@3.2.4(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1))': + '@vitest/mocker@4.1.12(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1))': dependencies: - '@vitest/spy': 3.2.4 + '@vitest/spy': 4.1.12 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: vite: 7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) - '@vitest/pretty-format@3.2.4': + '@vitest/pretty-format@4.1.12': dependencies: - tinyrainbow: 2.0.0 + tinyrainbow: 3.2.0 - '@vitest/runner@3.2.4': + '@vitest/runner@4.1.12': dependencies: - '@vitest/utils': 3.2.4 + '@vitest/utils': 4.1.12 pathe: 2.0.3 - strip-literal: 3.0.0 - '@vitest/snapshot@3.2.4': + '@vitest/snapshot@4.1.12': dependencies: - '@vitest/pretty-format': 3.2.4 + '@vitest/pretty-format': 4.1.12 + '@vitest/utils': 4.1.12 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@3.2.4': - dependencies: - tinyspy: 4.0.3 + '@vitest/spy@4.1.12': {} - '@vitest/ui@3.2.4(vitest@3.2.4)': + '@vitest/ui@4.1.12(vitest@4.1.12)': dependencies: - '@vitest/utils': 3.2.4 + '@vitest/utils': 4.1.12 fflate: 0.8.2 - flatted: 3.3.3 + flatted: 3.4.4 pathe: 2.0.3 sirv: 3.0.2 tinyglobby: 0.2.17 - tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) + tinyrainbow: 3.2.0 + vitest: 4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) - '@vitest/utils@3.2.4': + '@vitest/utils@4.1.12': dependencies: - '@vitest/pretty-format': 3.2.4 - loupe: 3.2.1 - tinyrainbow: 2.0.0 + '@vitest/pretty-format': 4.1.12 + convert-source-map: 2.0.0 + tinyrainbow: 3.2.0 '@volar/language-core@2.4.23': dependencies: @@ -19517,8 +19480,6 @@ snapshots: asap@2.0.6: {} - assertion-error@2.0.1: {} - astral-regex@2.0.0: {} async-function@1.0.0: {} @@ -19757,7 +19718,7 @@ snapshots: postcss: 8.5.31 postcss-media-query-parser: 0.2.3 - better-auth@1.6.22(02ff209b4afe56b49414e40d0a7101b4): + better-auth@1.6.22(261f3abdcb0412d90890f6a952f0c71b): dependencies: '@better-auth/core': 1.6.22(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.3.7(zod@4.6.7))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.4) '@better-auth/drizzle-adapter': 1.6.22(@better-auth/core@1.6.22(@better-auth/utils@0.4.2)(@better-fetch/fetch@1.3.1)(better-call@1.3.7(zod@4.6.7))(jose@6.2.12)(kysely@0.29.6)(nanostores@1.5.4))(@better-auth/utils@0.4.2)(drizzle-orm@0.45.1(@op-engineering/op-sqlite@15.2.7(react-native@0.83.2(@babel/core@7.29.7)(@types/react@19.2.13)(react@19.2.4))(react@19.2.4))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.8.0)(expo-sqlite@57.0.3(expo@55.0.8)(react-native@0.83.2(@babel/core@7.29.7)(@types/react@19.2.13)(react@19.2.4))(react@19.2.4))(kysely@0.29.6)(pg@8.20.0)(postgres@3.4.8)(sql.js@1.14.1)) @@ -19788,7 +19749,7 @@ snapshots: react-dom: 19.2.4(react@19.2.4) solid-js: 1.9.11 svelte: 5.55.7(@typescript-eslint/types@8.55.0) - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) vue: 3.5.28(typescript@5.9.3) transitivePeerDependencies: - '@cloudflare/workers-types' @@ -19940,8 +19901,6 @@ snapshots: bytes@3.1.2: {} - cac@6.7.14: {} - cacache@20.0.3: dependencies: '@npmcli/fs': 5.0.0 @@ -20006,13 +19965,7 @@ snapshots: caniuse-lite@1.0.30001819: {} - chai@5.3.3: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.2 - loupe: 3.2.1 - pathval: 2.0.1 + chai@6.3.0: {} chalk@2.4.2: dependencies: @@ -20029,8 +19982,6 @@ snapshots: chardet@2.1.1: {} - check-error@2.1.1: {} - cheerio-select@2.1.0: dependencies: boolbase: 1.0.0 @@ -20383,8 +20334,6 @@ snapshots: dedent-js@1.0.1: {} - deep-eql@5.0.2: {} - deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -20673,8 +20622,6 @@ snapshots: iterator.prototype: 1.1.5 safe-array-concat: 1.1.3 - es-module-lexer@1.7.0: {} - es-module-lexer@2.3.2: {} es-object-atoms@1.1.1: @@ -21128,7 +21075,7 @@ snapshots: expand-template@2.0.3: {} - expect-type@1.2.2: {} + expect-type@1.4.0: {} expo-asset@11.1.7(expo@53.0.26)(react-native@0.79.6(@babel/core@7.29.7)(@types/react@19.2.13)(react@19.0.0))(react@19.0.0): dependencies: @@ -21756,6 +21703,8 @@ snapshots: flatted@3.3.3: {} + flatted@3.4.4: {} + flow-enums-runtime@0.0.6: {} follow-redirects@1.15.11: {} @@ -22423,14 +22372,6 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-lib-source-maps@5.0.6: - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - debug: 4.4.3 - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - istanbul-reports@3.2.0: dependencies: html-escaper: 2.0.2 @@ -22563,8 +22504,6 @@ snapshots: js-tokens@4.0.0: {} - js-tokens@9.0.1: {} - js-yaml@3.14.1: dependencies: argparse: 1.0.10 @@ -22966,8 +22905,6 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@3.2.1: {} - lower-case@2.0.2: dependencies: tslib: 2.8.1 @@ -23001,7 +22938,7 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 - magicast@0.3.5: + magicast@0.5.5: dependencies: '@babel/parser': 7.29.9 '@babel/types': 7.29.8 @@ -23923,8 +23860,6 @@ snapshots: pathe@2.0.3: {} - pathval@2.0.1: {} - pend@1.2.0: {} pg-cloudflare@1.3.0: @@ -25371,7 +25306,7 @@ snapshots: statuses@2.0.2: {} - std-env@3.9.0: {} + std-env@4.3.0: {} stdin-discarder@0.2.2: {} @@ -25491,10 +25426,6 @@ snapshots: strip-json-comments@5.0.3: {} - strip-literal@3.0.0: - dependencies: - js-tokens: 9.0.1 - structured-headers@0.4.1: {} style-to-object@1.0.9: @@ -25667,12 +25598,6 @@ snapshots: glob: 7.2.3 minimatch: 3.1.5 - test-exclude@7.0.1: - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 10.5.0 - minimatch: 9.0.5 - text-extensions@2.4.0: {} thenify-all@1.6.0: @@ -25695,7 +25620,7 @@ snapshots: tinybench@2.9.0: {} - tinyexec@0.3.2: {} + tinyexec@1.3.1: {} tinyglobby@0.2.14: dependencies: @@ -25707,11 +25632,7 @@ snapshots: fdir: 6.5.0(picomatch@4.0.7) picomatch: 4.0.7 - tinypool@1.1.1: {} - - tinyrainbow@2.0.0: {} - - tinyspy@4.0.3: {} + tinyrainbow@3.2.0: {} tldts-core@7.0.16: {} @@ -26050,27 +25971,6 @@ snapshots: vary@1.1.2: {} - vite-node@3.2.4(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1): - dependencies: - cac: 6.7.14 - debug: 4.4.3 - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - vite-plugin-dts@4.2.3(@types/node@25.2.2)(rollup@4.64.12)(typescript@5.9.3)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)): dependencies: '@microsoft/api-extractor': 7.47.7(@types/node@25.2.2) @@ -26160,49 +26060,35 @@ snapshots: optionalDependencies: vite: 7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) - vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(@vitest/ui@3.2.4)(jiti@2.7.0)(jsdom@27.4.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1): + vitest@4.1.12(@types/node@25.2.2)(@vitest/coverage-istanbul@4.1.12)(@vitest/ui@4.1.12)(jsdom@27.4.0)(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)): dependencies: - '@types/chai': 5.2.2 - '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) - '@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.3.3 - debug: 4.4.3 - expect-type: 1.2.2 + '@vitest/expect': 4.1.12 + '@vitest/mocker': 4.1.12(vite@7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1)) + '@vitest/pretty-format': 4.1.12 + '@vitest/runner': 4.1.12 + '@vitest/snapshot': 4.1.12 + '@vitest/spy': 4.1.12 + '@vitest/utils': 4.1.12 + es-module-lexer: 2.3.2 + expect-type: 1.4.0 magic-string: 0.30.21 + obug: 2.1.1 pathe: 2.0.3 picomatch: 4.0.7 - std-env: 3.9.0 + std-env: 4.3.0 tinybench: 2.9.0 - tinyexec: 0.3.2 + tinyexec: 1.3.1 tinyglobby: 0.2.17 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 + tinyrainbow: 3.2.0 vite: 7.3.7(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) - vite-node: 3.2.4(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.51.2)(tsx@4.21.0)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/debug': 4.1.12 '@types/node': 25.2.2 - '@vitest/ui': 3.2.4(vitest@3.2.4) + '@vitest/coverage-istanbul': 4.1.12(vitest@4.1.12) + '@vitest/ui': 4.1.12(vitest@4.1.12) jsdom: 27.4.0 transitivePeerDependencies: - - jiti - - less - - lightningcss - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml vlq@1.0.1: {}