@syncular/testkit 0.0.4-26 → 0.0.6-100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- import { ClientTableRegistry, enqueueOutboxCommit, type SyncClientDb, type SyncClientPlugin, SyncEngine, type SyncOnceOptions, type SyncOnceResult, type SyncPullOnceOptions, type SyncPullResponse, type SyncPushOnceOptions, type SyncPushOnceResult } from '@syncular/client';
1
+ import { type ClientHandlerCollection, enqueueOutboxCommit, type SyncClientDb, type SyncClientPlugin, SyncEngine, type SyncOnceOptions, type SyncOnceResult, type SyncPullOnceOptions, type SyncPullResponse, type SyncPushOnceOptions, type SyncPushOnceResult } from '@syncular/client';
2
2
  import { type SyncSubscriptionRequest, type SyncTransport } from '@syncular/core';
3
- import { type ServerSyncDialect, type SyncCoreDb, TableRegistry } from '@syncular/server';
3
+ import { type ServerHandlerCollection, type ServerSyncDialect, type SyncCoreDb } from '@syncular/server';
4
4
  import type { Kysely } from 'kysely';
5
5
  export type ServerDialect = 'sqlite' | 'pglite';
6
6
  export type ClientDialect = 'bun-sqlite' | 'pglite';
@@ -24,17 +24,20 @@ export interface TasksClientDb extends SyncClientDb {
24
24
  server_version: number;
25
25
  };
26
26
  }
27
+ type TestAuth = {
28
+ actorId: string;
29
+ };
27
30
  export interface TestServer {
28
31
  db: Kysely<TasksServerDb>;
29
32
  dialect: ServerSyncDialect;
30
- handlers: TableRegistry<TasksServerDb>;
33
+ handlers: ServerHandlerCollection<TasksServerDb, TestAuth>;
31
34
  destroy: () => Promise<void>;
32
35
  }
33
36
  export interface TestClient {
34
37
  mode: 'raw';
35
38
  db: Kysely<TasksClientDb>;
36
39
  transport: SyncTransport;
37
- handlers: ClientTableRegistry<TasksClientDb>;
40
+ handlers: ClientHandlerCollection<TasksClientDb>;
38
41
  actorId: string;
39
42
  clientId: string;
40
43
  enqueue: (args: Parameters<typeof enqueueOutboxCommit<TasksClientDb>>[1]) => Promise<{
@@ -97,4 +100,5 @@ export declare function seedServerData(server: TestServer, options: {
97
100
  }): Promise<void>;
98
101
  export declare function destroyTestClient(client: Pick<TestClient, 'destroy'> | Pick<EngineTestClient, 'destroy'>): Promise<void>;
99
102
  export declare function destroyTestServer(server: Pick<TestServer, 'destroy'>): Promise<void>;
103
+ export {};
100
104
  //# sourceMappingURL=fixtures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
package/dist/fixtures.js CHANGED
@@ -1,20 +1,29 @@
1
- import { ClientTableRegistry, enqueueOutboxCommit, ensureClientSyncSchema, SyncEngine, syncOnce, syncPullOnce, syncPushOnce, } from '@syncular/client';
2
- import { isRecord, } from '@syncular/core';
3
- import { createBunSqliteDb } from '@syncular/dialect-bun-sqlite';
4
- import { createLibsqlDb } from '@syncular/dialect-libsql';
5
- import { createPgliteDb } from '@syncular/dialect-pglite';
6
- import { createSqlite3Db } from '@syncular/dialect-sqlite3';
7
- import { ensureSyncSchema, pull, pushCommit, readSnapshotChunk, recordClientCursor, TableRegistry, } from '@syncular/server';
1
+ import { enqueueOutboxCommit, ensureClientSyncSchema, SyncEngine, syncOnce, syncPullOnce, syncPushOnce, } from '@syncular/client';
2
+ import { createDatabase, isRecord, } from '@syncular/core';
3
+ import { createBunSqliteDialect } from '@syncular/dialect-bun-sqlite';
4
+ import { createLibsqlDialect } from '@syncular/dialect-libsql';
5
+ import { createPgliteDialect } from '@syncular/dialect-pglite';
6
+ import { createSqlite3Dialect } from '@syncular/dialect-sqlite3';
7
+ import { createServerHandlerCollection, ensureSyncSchema, pull, pushCommit, readSnapshotChunk, recordClientCursor, } from '@syncular/server';
8
8
  import { createPostgresServerDialect } from '@syncular/server-dialect-postgres';
9
9
  import { createSqliteServerDialect } from '@syncular/server-dialect-sqlite';
10
10
  function createTestSqliteDb(dialect, options = {}) {
11
11
  if (dialect === 'bun-sqlite') {
12
- return createBunSqliteDb({ path: options.path ?? ':memory:' });
12
+ return createDatabase({
13
+ dialect: createBunSqliteDialect({ path: options.path ?? ':memory:' }),
14
+ family: 'sqlite',
15
+ });
13
16
  }
14
17
  if (dialect === 'sqlite3') {
15
- return createSqlite3Db({ path: options.path ?? ':memory:' });
18
+ return createDatabase({
19
+ dialect: createSqlite3Dialect({ path: options.path ?? ':memory:' }),
20
+ family: 'sqlite',
21
+ });
16
22
  }
17
- return createLibsqlDb({ url: options.url ?? ':memory:' });
23
+ return createDatabase({
24
+ dialect: createLibsqlDialect({ url: options.url ?? ':memory:' }),
25
+ family: 'sqlite',
26
+ });
18
27
  }
19
28
  function parseTaskPayload(payload) {
20
29
  if (!isRecord(payload)) {
@@ -305,8 +314,9 @@ async function setupTestServer(db, dialect) {
305
314
  .addColumn('user_id', 'text', (col) => col.notNull())
306
315
  .addColumn('server_version', 'integer', (col) => col.notNull().defaultTo(1))
307
316
  .execute();
308
- const handlers = new TableRegistry();
309
- handlers.register(tasksServerHandler);
317
+ const handlers = createServerHandlerCollection([
318
+ tasksServerHandler,
319
+ ]);
310
320
  return {
311
321
  db,
312
322
  dialect,
@@ -353,7 +363,7 @@ function createInProcessTransport(server, actorId) {
353
363
  db: server.db,
354
364
  dialect: server.dialect,
355
365
  handlers: server.handlers,
356
- actorId,
366
+ auth: { actorId },
357
367
  request: {
358
368
  clientId: request.clientId,
359
369
  clientCommitId: request.push.clientCommitId,
@@ -368,7 +378,7 @@ function createInProcessTransport(server, actorId) {
368
378
  db: server.db,
369
379
  dialect: server.dialect,
370
380
  handlers: server.handlers,
371
- actorId,
381
+ auth: { actorId },
372
382
  request: {
373
383
  clientId: request.clientId,
374
384
  ...request.pull,
@@ -398,7 +408,10 @@ function defaultSubscriptions(actorId) {
398
408
  }
399
409
  export async function createTestServer(serverDialect) {
400
410
  if (serverDialect === 'pglite') {
401
- return setupTestServer(createPgliteDb(), createPostgresServerDialect());
411
+ return setupTestServer(createDatabase({
412
+ dialect: createPgliteDialect(),
413
+ family: 'postgres',
414
+ }), createPostgresServerDialect());
402
415
  }
403
416
  return setupTestServer(createTestSqliteDb('bun-sqlite'), createSqliteServerDialect());
404
417
  }
@@ -407,7 +420,10 @@ export async function createTestSqliteServer(dialect) {
407
420
  }
408
421
  export async function createTestClient(clientDialect, server, options) {
409
422
  const db = clientDialect === 'pglite'
410
- ? createPgliteDb()
423
+ ? createDatabase({
424
+ dialect: createPgliteDialect(),
425
+ family: 'postgres',
426
+ })
411
427
  : createTestSqliteDb(clientDialect);
412
428
  await ensureClientSyncSchema(db);
413
429
  await db.schema
@@ -419,8 +435,9 @@ export async function createTestClient(clientDialect, server, options) {
419
435
  .addColumn('user_id', 'text', (col) => col.notNull())
420
436
  .addColumn('server_version', 'integer', (col) => col.notNull().defaultTo(0))
421
437
  .execute();
422
- const handlers = new ClientTableRegistry();
423
- handlers.register(createTasksClientHandler());
438
+ const handlers = [
439
+ createTasksClientHandler(),
440
+ ];
424
441
  const transport = createInProcessTransport(server, options.actorId);
425
442
  return {
426
443
  mode: 'raw',
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { ClientTableRegistry, enqueueOutboxCommit, type SyncClientDb, type SyncOnceOptions, type SyncOnceResult, type SyncPullOnceOptions, type SyncPullResponse, type SyncPushOnceOptions, type SyncPushOnceResult } from '@syncular/client';
2
- import type { SyncTransport } from '@syncular/core';
1
+ import { type ClientHandlerCollection, enqueueOutboxCommit, type SyncClientDb, type SyncOnceOptions, type SyncOnceResult, type SyncPullOnceOptions, type SyncPullResponse, type SyncPushOnceOptions, type SyncPushOnceResult } from '@syncular/client';
2
+ import { type SyncTransport } from '@syncular/core';
3
3
  import { type ServerSyncDialect, type ServerTableHandler, type SyncCoreDb } from '@syncular/server';
4
4
  import { type CreateSyncRoutesOptions } from '@syncular/server-hono';
5
5
  import { Hono } from 'hono';
@@ -19,8 +19,12 @@ export interface CreateHttpServerFixtureOptions<DB extends SyncCoreDb> {
19
19
  serverDialect: HttpServerDialect;
20
20
  createTables: (db: Kysely<DB>) => Promise<void>;
21
21
  handlers: ServerTableHandler<DB>[];
22
- authenticate: CreateSyncRoutesOptions<DB>['authenticate'];
23
- sync?: CreateSyncRoutesOptions<DB>['sync'];
22
+ authenticate: CreateSyncRoutesOptions<DB, {
23
+ actorId: string;
24
+ }>['authenticate'];
25
+ sync?: CreateSyncRoutesOptions<DB, {
26
+ actorId: string;
27
+ }>['sync'];
24
28
  routePath?: string;
25
29
  cors?: boolean;
26
30
  corsAllowMethods?: string;
@@ -30,7 +34,7 @@ export interface CreateHttpServerFixtureOptions<DB extends SyncCoreDb> {
30
34
  export interface HttpClientFixture<DB extends SyncClientDb> {
31
35
  db: Kysely<DB>;
32
36
  transport: SyncTransport;
33
- handlers: ClientTableRegistry<DB>;
37
+ handlers: ClientHandlerCollection<DB>;
34
38
  actorId: string;
35
39
  clientId: string;
36
40
  enqueue: (args: Parameters<typeof enqueueOutboxCommit<DB>>[1]) => Promise<{
@@ -48,7 +52,7 @@ export interface CreateHttpClientFixtureOptions<DB extends SyncClientDb> {
48
52
  actorId: string;
49
53
  clientId: string;
50
54
  createTables: (db: Kysely<DB>) => Promise<void>;
51
- registerHandlers: (handlers: ClientTableRegistry<DB>) => void;
55
+ registerHandlers: (handlers: ClientHandlerCollection<DB>) => void;
52
56
  fetch?: typeof globalThis.fetch;
53
57
  getHeaders?: () => Record<string, string>;
54
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http-fixtures.d.ts","sourceRoot":"","sources":["../src/http-fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-fixtures.d.ts","sourceRoot":"","sources":["../src/http-fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { ClientTableRegistry, enqueueOutboxCommit, ensureClientSyncSchema, syncOnce, syncPullOnce, syncPushOnce, } from '@syncular/client';
2
- import { createBunSqliteDb } from '@syncular/dialect-bun-sqlite';
3
- import { createPgliteDb } from '@syncular/dialect-pglite';
1
+ import { enqueueOutboxCommit, ensureClientSyncSchema, syncOnce, syncPullOnce, syncPushOnce, } from '@syncular/client';
2
+ import { createDatabase } from '@syncular/core';
3
+ import { createBunSqliteDialect } from '@syncular/dialect-bun-sqlite';
4
+ import { createPgliteDialect } from '@syncular/dialect-pglite';
4
5
  import { ensureSyncSchema, } from '@syncular/server';
5
6
  import { createPostgresServerDialect } from '@syncular/server-dialect-postgres';
6
7
  import { createSqliteServerDialect } from '@syncular/server-dialect-sqlite';
@@ -8,18 +9,67 @@ import { createSyncRoutes, } from '@syncular/server-hono';
8
9
  import { createHttpTransport } from '@syncular/transport-http';
9
10
  import { Hono } from 'hono';
10
11
  import { createNodeHonoServer } from './hono-node-server.js';
12
+ const PGLITE_INIT_ATTEMPTS = 3;
13
+ function isTransientPgliteInitError(error) {
14
+ return (error.message.includes('access to a null reference') ||
15
+ error.message.includes('_pgl_initdb'));
16
+ }
17
+ function isServerNotRunningError(error) {
18
+ return (error !== null && 'code' in error && error.code === 'ERR_SERVER_NOT_RUNNING');
19
+ }
20
+ async function delay(ms) {
21
+ await new Promise((resolve) => {
22
+ setTimeout(resolve, ms);
23
+ });
24
+ }
25
+ async function withPgliteInitRetry(useRetries, create) {
26
+ const maxAttempts = useRetries ? PGLITE_INIT_ATTEMPTS : 1;
27
+ let lastError = null;
28
+ for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
29
+ try {
30
+ return await create();
31
+ }
32
+ catch (error) {
33
+ const candidate = error instanceof Error ? error : new Error(String(error));
34
+ lastError = candidate;
35
+ const isRetryable = useRetries &&
36
+ attempt < maxAttempts &&
37
+ isTransientPgliteInitError(candidate);
38
+ if (!isRetryable) {
39
+ throw candidate;
40
+ }
41
+ await delay(25 * attempt);
42
+ }
43
+ }
44
+ throw lastError ?? new Error('PGLite initialization failed');
45
+ }
11
46
  export async function createHttpServerFixture(options) {
12
- const db = options.serverDialect === 'pglite'
13
- ? createPgliteDb()
14
- : createBunSqliteDb({ path: ':memory:' });
15
47
  const dialect = options.serverDialect === 'pglite'
16
48
  ? createPostgresServerDialect()
17
49
  : createSqliteServerDialect();
18
- await ensureSyncSchema(db, dialect);
19
- if (dialect.ensureConsoleSchema) {
20
- await dialect.ensureConsoleSchema(db);
21
- }
22
- await options.createTables(db);
50
+ const db = await withPgliteInitRetry(options.serverDialect === 'pglite', async () => {
51
+ const candidateDb = options.serverDialect === 'pglite'
52
+ ? createDatabase({
53
+ dialect: createPgliteDialect(),
54
+ family: 'postgres',
55
+ })
56
+ : createDatabase({
57
+ dialect: createBunSqliteDialect({ path: ':memory:' }),
58
+ family: 'sqlite',
59
+ });
60
+ try {
61
+ await ensureSyncSchema(candidateDb, dialect);
62
+ if (dialect.ensureConsoleSchema) {
63
+ await dialect.ensureConsoleSchema(candidateDb);
64
+ }
65
+ await options.createTables(candidateDb);
66
+ return candidateDb;
67
+ }
68
+ catch (error) {
69
+ await candidateDb.destroy();
70
+ throw error;
71
+ }
72
+ });
23
73
  const app = new Hono();
24
74
  const routePath = options.routePath ?? '/sync';
25
75
  const syncRoutes = createSyncRoutes({
@@ -41,6 +91,7 @@ export async function createHttpServerFixture(options) {
41
91
  });
42
92
  const address = httpServer.address();
43
93
  const port = typeof address === 'object' && address ? address.port : 0;
94
+ let destroyed = false;
44
95
  return {
45
96
  db,
46
97
  dialect,
@@ -48,9 +99,13 @@ export async function createHttpServerFixture(options) {
48
99
  httpServer,
49
100
  baseUrl: `http://localhost:${port}`,
50
101
  destroy: async () => {
102
+ if (destroyed) {
103
+ return;
104
+ }
105
+ destroyed = true;
51
106
  await new Promise((resolve, reject) => {
52
107
  httpServer.close((err) => {
53
- if (err) {
108
+ if (err && !isServerNotRunningError(err)) {
54
109
  reject(err);
55
110
  return;
56
111
  }
@@ -62,12 +117,27 @@ export async function createHttpServerFixture(options) {
62
117
  };
63
118
  }
64
119
  export async function createHttpClientFixture(options) {
65
- const db = options.clientDialect === 'pglite'
66
- ? createPgliteDb()
67
- : createBunSqliteDb({ path: ':memory:' });
68
- await ensureClientSyncSchema(db);
69
- await options.createTables(db);
70
- const handlers = new ClientTableRegistry();
120
+ const db = await withPgliteInitRetry(options.clientDialect === 'pglite', async () => {
121
+ const candidateDb = options.clientDialect === 'pglite'
122
+ ? createDatabase({
123
+ dialect: createPgliteDialect(),
124
+ family: 'postgres',
125
+ })
126
+ : createDatabase({
127
+ dialect: createBunSqliteDialect({ path: ':memory:' }),
128
+ family: 'sqlite',
129
+ });
130
+ try {
131
+ await ensureClientSyncSchema(candidateDb);
132
+ await options.createTables(candidateDb);
133
+ return candidateDb;
134
+ }
135
+ catch (error) {
136
+ await candidateDb.destroy();
137
+ throw error;
138
+ }
139
+ });
140
+ const handlers = [];
71
141
  options.registerHandlers(handlers);
72
142
  const transport = createHttpTransport({
73
143
  baseUrl: options.baseUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"http-fixtures.js","sourceRoot":"","sources":["../src/http-fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-fixtures.js","sourceRoot":"","sources":["../src/http-fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { type ClientTableRegistry, enqueueOutboxCommit, type SyncClientDb, type SyncOnceOptions, type SyncOnceResult, type SyncPullOnceOptions, type SyncPullResponse, type SyncPushOnceOptions, type SyncPushOnceResult } from '@syncular/client';
1
+ import { type ClientHandlerCollection, enqueueOutboxCommit, type SyncClientDb, type SyncOnceOptions, type SyncOnceResult, type SyncPullOnceOptions, type SyncPullResponse, type SyncPushOnceOptions, type SyncPushOnceResult } from '@syncular/client';
2
2
  import type { SyncCombinedRequest, SyncCombinedResponse, SyncTransport } from '@syncular/core';
3
3
  import type { Kysely } from 'kysely';
4
4
  export interface ScenarioFlowClient<DB extends SyncClientDb> {
5
5
  db: Kysely<DB>;
6
6
  transport: SyncTransport;
7
- handlers: ClientTableRegistry<DB>;
7
+ handlers: ClientHandlerCollection<DB>;
8
8
  clientId: string;
9
9
  actorId?: string;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-flow.d.ts","sourceRoot":"","sources":["../src/scenario-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenario-flow.d.ts","sourceRoot":"","sources":["../src/scenario-flow.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@syncular/testkit",
3
- "version": "0.0.4-26",
3
+ "version": "0.0.6-100",
4
4
  "description": "Testing fixtures and utilities for Syncular",
5
- "license": "MIT",
5
+ "license": "Apache-2.0",
6
6
  "author": "Benjamin Kniffler",
7
7
  "homepage": "https://syncular.dev",
8
8
  "repository": {
@@ -41,18 +41,18 @@
41
41
  "release": "bunx syncular-publish"
42
42
  },
43
43
  "dependencies": {
44
- "@syncular/client": "0.0.4-26",
45
- "@syncular/core": "0.0.4-26",
46
- "@syncular/dialect-bun-sqlite": "0.0.4-26",
47
- "@syncular/dialect-libsql": "0.0.4-26",
48
- "@syncular/dialect-pglite": "0.0.4-26",
49
- "@syncular/dialect-sqlite3": "0.0.4-26",
50
- "@syncular/server": "0.0.4-26",
51
- "@syncular/server-dialect-postgres": "0.0.4-26",
52
- "@syncular/server-dialect-sqlite": "0.0.4-26",
53
- "@syncular/server-hono": "0.0.4-26",
54
- "@syncular/transport-http": "0.0.4-26",
55
- "hono": "^4.11.9"
44
+ "@syncular/client": "0.0.6-100",
45
+ "@syncular/core": "0.0.6-100",
46
+ "@syncular/dialect-bun-sqlite": "0.0.6-100",
47
+ "@syncular/dialect-libsql": "0.0.6-100",
48
+ "@syncular/dialect-pglite": "0.0.6-100",
49
+ "@syncular/dialect-sqlite3": "0.0.6-100",
50
+ "@syncular/server": "0.0.6-100",
51
+ "@syncular/server-dialect-postgres": "0.0.6-100",
52
+ "@syncular/server-dialect-sqlite": "0.0.6-100",
53
+ "@syncular/server-hono": "0.0.6-100",
54
+ "@syncular/transport-http": "0.0.6-100",
55
+ "hono": "^4.12.3"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@syncular/config": "0.0.0",
package/src/fixtures.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  type ClientClearContext,
3
+ type ClientHandlerCollection,
3
4
  type ClientSnapshotHookContext,
4
5
  type ClientTableHandler,
5
- ClientTableRegistry,
6
6
  enqueueOutboxCommit,
7
7
  ensureClientSyncSchema,
8
8
  type SyncClientDb,
@@ -19,28 +19,30 @@ import {
19
19
  syncPushOnce,
20
20
  } from '@syncular/client';
21
21
  import {
22
+ createDatabase,
22
23
  isRecord,
23
24
  type SyncCombinedResponse,
24
25
  type SyncOperation,
25
26
  type SyncSubscriptionRequest,
26
27
  type SyncTransport,
27
28
  } from '@syncular/core';
28
- import { createBunSqliteDb } from '@syncular/dialect-bun-sqlite';
29
- import { createLibsqlDb } from '@syncular/dialect-libsql';
30
- import { createPgliteDb } from '@syncular/dialect-pglite';
31
- import { createSqlite3Db } from '@syncular/dialect-sqlite3';
29
+ import { createBunSqliteDialect } from '@syncular/dialect-bun-sqlite';
30
+ import { createLibsqlDialect } from '@syncular/dialect-libsql';
31
+ import { createPgliteDialect } from '@syncular/dialect-pglite';
32
+ import { createSqlite3Dialect } from '@syncular/dialect-sqlite3';
32
33
  import {
33
34
  type ApplyOperationResult,
35
+ createServerHandlerCollection,
34
36
  type EmittedChange,
35
37
  ensureSyncSchema,
36
38
  pull,
37
39
  pushCommit,
38
40
  readSnapshotChunk,
39
41
  recordClientCursor,
42
+ type ServerHandlerCollection,
40
43
  type ServerSyncDialect,
41
44
  type ServerTableHandler,
42
45
  type SyncCoreDb,
43
- TableRegistry,
44
46
  } from '@syncular/server';
45
47
  import { createPostgresServerDialect } from '@syncular/server-dialect-postgres';
46
48
  import { createSqliteServerDialect } from '@syncular/server-dialect-sqlite';
@@ -72,10 +74,12 @@ export interface TasksClientDb extends SyncClientDb {
72
74
  };
73
75
  }
74
76
 
77
+ type TestAuth = { actorId: string };
78
+
75
79
  export interface TestServer {
76
80
  db: Kysely<TasksServerDb>;
77
81
  dialect: ServerSyncDialect;
78
- handlers: TableRegistry<TasksServerDb>;
82
+ handlers: ServerHandlerCollection<TasksServerDb, TestAuth>;
79
83
  destroy: () => Promise<void>;
80
84
  }
81
85
 
@@ -83,7 +87,7 @@ export interface TestClient {
83
87
  mode: 'raw';
84
88
  db: Kysely<TasksClientDb>;
85
89
  transport: SyncTransport;
86
- handlers: ClientTableRegistry<TasksClientDb>;
90
+ handlers: ClientHandlerCollection<TasksClientDb>;
87
91
  actorId: string;
88
92
  clientId: string;
89
93
  enqueue: (
@@ -158,14 +162,23 @@ function createTestSqliteDb<T>(
158
162
  options: { path?: string; url?: string } = {}
159
163
  ): Kysely<T> {
160
164
  if (dialect === 'bun-sqlite') {
161
- return createBunSqliteDb<T>({ path: options.path ?? ':memory:' });
165
+ return createDatabase<T>({
166
+ dialect: createBunSqliteDialect({ path: options.path ?? ':memory:' }),
167
+ family: 'sqlite',
168
+ });
162
169
  }
163
170
 
164
171
  if (dialect === 'sqlite3') {
165
- return createSqlite3Db<T>({ path: options.path ?? ':memory:' });
172
+ return createDatabase<T>({
173
+ dialect: createSqlite3Dialect({ path: options.path ?? ':memory:' }),
174
+ family: 'sqlite',
175
+ });
166
176
  }
167
177
 
168
- return createLibsqlDb<T>({ url: options.url ?? ':memory:' });
178
+ return createDatabase<T>({
179
+ dialect: createLibsqlDialect({ url: options.url ?? ':memory:' }),
180
+ family: 'sqlite',
181
+ });
169
182
  }
170
183
 
171
184
  function parseTaskPayload(payload: SyncOperation['payload']): {
@@ -527,8 +540,9 @@ async function setupTestServer(
527
540
  .addColumn('server_version', 'integer', (col) => col.notNull().defaultTo(1))
528
541
  .execute();
529
542
 
530
- const handlers = new TableRegistry<TasksServerDb>();
531
- handlers.register(tasksServerHandler);
543
+ const handlers = createServerHandlerCollection<TasksServerDb, TestAuth>([
544
+ tasksServerHandler,
545
+ ]);
532
546
 
533
547
  return {
534
548
  db,
@@ -582,7 +596,7 @@ function createInProcessTransport(
582
596
  db: server.db,
583
597
  dialect: server.dialect,
584
598
  handlers: server.handlers,
585
- actorId,
599
+ auth: { actorId },
586
600
  request: {
587
601
  clientId: request.clientId,
588
602
  clientCommitId: request.push.clientCommitId,
@@ -598,7 +612,7 @@ function createInProcessTransport(
598
612
  db: server.db,
599
613
  dialect: server.dialect,
600
614
  handlers: server.handlers,
601
- actorId,
615
+ auth: { actorId },
602
616
  request: {
603
617
  clientId: request.clientId,
604
618
  ...request.pull,
@@ -639,7 +653,10 @@ export async function createTestServer(
639
653
  ): Promise<TestServer> {
640
654
  if (serverDialect === 'pglite') {
641
655
  return setupTestServer(
642
- createPgliteDb<TasksServerDb>(),
656
+ createDatabase<TasksServerDb>({
657
+ dialect: createPgliteDialect(),
658
+ family: 'postgres',
659
+ }),
643
660
  createPostgresServerDialect()
644
661
  );
645
662
  }
@@ -666,7 +683,10 @@ export async function createTestClient(
666
683
  ): Promise<TestClient> {
667
684
  const db =
668
685
  clientDialect === 'pglite'
669
- ? createPgliteDb<TasksClientDb>()
686
+ ? createDatabase<TasksClientDb>({
687
+ dialect: createPgliteDialect(),
688
+ family: 'postgres',
689
+ })
670
690
  : createTestSqliteDb<TasksClientDb>(clientDialect);
671
691
 
672
692
  await ensureClientSyncSchema(db);
@@ -681,8 +701,9 @@ export async function createTestClient(
681
701
  .addColumn('server_version', 'integer', (col) => col.notNull().defaultTo(0))
682
702
  .execute();
683
703
 
684
- const handlers = new ClientTableRegistry<TasksClientDb>();
685
- handlers.register(createTasksClientHandler());
704
+ const handlers: ClientHandlerCollection<TasksClientDb> = [
705
+ createTasksClientHandler(),
706
+ ];
686
707
 
687
708
  const transport = createInProcessTransport(server, options.actorId);
688
709
 
@@ -1,5 +1,5 @@
1
1
  import {
2
- ClientTableRegistry,
2
+ type ClientHandlerCollection,
3
3
  enqueueOutboxCommit,
4
4
  ensureClientSyncSchema,
5
5
  type SyncClientDb,
@@ -13,9 +13,9 @@ import {
13
13
  syncPullOnce,
14
14
  syncPushOnce,
15
15
  } from '@syncular/client';
16
- import type { SyncTransport } from '@syncular/core';
17
- import { createBunSqliteDb } from '@syncular/dialect-bun-sqlite';
18
- import { createPgliteDb } from '@syncular/dialect-pglite';
16
+ import { createDatabase, type SyncTransport } from '@syncular/core';
17
+ import { createBunSqliteDialect } from '@syncular/dialect-bun-sqlite';
18
+ import { createPgliteDialect } from '@syncular/dialect-pglite';
19
19
  import {
20
20
  ensureSyncSchema,
21
21
  type ServerSyncDialect,
@@ -49,8 +49,11 @@ export interface CreateHttpServerFixtureOptions<DB extends SyncCoreDb> {
49
49
  serverDialect: HttpServerDialect;
50
50
  createTables: (db: Kysely<DB>) => Promise<void>;
51
51
  handlers: ServerTableHandler<DB>[];
52
- authenticate: CreateSyncRoutesOptions<DB>['authenticate'];
53
- sync?: CreateSyncRoutesOptions<DB>['sync'];
52
+ authenticate: CreateSyncRoutesOptions<
53
+ DB,
54
+ { actorId: string }
55
+ >['authenticate'];
56
+ sync?: CreateSyncRoutesOptions<DB, { actorId: string }>['sync'];
54
57
  routePath?: string;
55
58
  cors?: boolean;
56
59
  corsAllowMethods?: string;
@@ -61,7 +64,7 @@ export interface CreateHttpServerFixtureOptions<DB extends SyncCoreDb> {
61
64
  export interface HttpClientFixture<DB extends SyncClientDb> {
62
65
  db: Kysely<DB>;
63
66
  transport: SyncTransport;
64
- handlers: ClientTableRegistry<DB>;
67
+ handlers: ClientHandlerCollection<DB>;
65
68
  actorId: string;
66
69
  clientId: string;
67
70
  enqueue: (
@@ -85,29 +88,97 @@ export interface CreateHttpClientFixtureOptions<DB extends SyncClientDb> {
85
88
  actorId: string;
86
89
  clientId: string;
87
90
  createTables: (db: Kysely<DB>) => Promise<void>;
88
- registerHandlers: (handlers: ClientTableRegistry<DB>) => void;
91
+ registerHandlers: (handlers: ClientHandlerCollection<DB>) => void;
89
92
  fetch?: typeof globalThis.fetch;
90
93
  getHeaders?: () => Record<string, string>;
91
94
  }
92
95
 
96
+ const PGLITE_INIT_ATTEMPTS = 3;
97
+
98
+ function isTransientPgliteInitError(error: Error): boolean {
99
+ return (
100
+ error.message.includes('access to a null reference') ||
101
+ error.message.includes('_pgl_initdb')
102
+ );
103
+ }
104
+
105
+ function isServerNotRunningError(error: Error | null): boolean {
106
+ return (
107
+ error !== null && 'code' in error && error.code === 'ERR_SERVER_NOT_RUNNING'
108
+ );
109
+ }
110
+
111
+ async function delay(ms: number): Promise<void> {
112
+ await new Promise<void>((resolve) => {
113
+ setTimeout(resolve, ms);
114
+ });
115
+ }
116
+
117
+ async function withPgliteInitRetry<T>(
118
+ useRetries: boolean,
119
+ create: () => Promise<T>
120
+ ): Promise<T> {
121
+ const maxAttempts = useRetries ? PGLITE_INIT_ATTEMPTS : 1;
122
+ let lastError: Error | null = null;
123
+
124
+ for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
125
+ try {
126
+ return await create();
127
+ } catch (error) {
128
+ const candidate =
129
+ error instanceof Error ? error : new Error(String(error));
130
+ lastError = candidate;
131
+
132
+ const isRetryable =
133
+ useRetries &&
134
+ attempt < maxAttempts &&
135
+ isTransientPgliteInitError(candidate);
136
+ if (!isRetryable) {
137
+ throw candidate;
138
+ }
139
+
140
+ await delay(25 * attempt);
141
+ }
142
+ }
143
+
144
+ throw lastError ?? new Error('PGLite initialization failed');
145
+ }
146
+
93
147
  export async function createHttpServerFixture<DB extends SyncCoreDb>(
94
148
  options: CreateHttpServerFixtureOptions<DB>
95
149
  ): Promise<HttpServerFixture<DB>> {
96
- const db =
97
- options.serverDialect === 'pglite'
98
- ? createPgliteDb<DB>()
99
- : createBunSqliteDb<DB>({ path: ':memory:' });
100
-
101
150
  const dialect =
102
151
  options.serverDialect === 'pglite'
103
152
  ? createPostgresServerDialect()
104
153
  : createSqliteServerDialect();
105
154
 
106
- await ensureSyncSchema(db, dialect);
107
- if (dialect.ensureConsoleSchema) {
108
- await dialect.ensureConsoleSchema(db);
109
- }
110
- await options.createTables(db);
155
+ const db = await withPgliteInitRetry(
156
+ options.serverDialect === 'pglite',
157
+ async () => {
158
+ const candidateDb =
159
+ options.serverDialect === 'pglite'
160
+ ? createDatabase<DB>({
161
+ dialect: createPgliteDialect(),
162
+ family: 'postgres',
163
+ })
164
+ : createDatabase<DB>({
165
+ dialect: createBunSqliteDialect({ path: ':memory:' }),
166
+ family: 'sqlite',
167
+ });
168
+
169
+ try {
170
+ await ensureSyncSchema(candidateDb, dialect);
171
+ if (dialect.ensureConsoleSchema) {
172
+ await dialect.ensureConsoleSchema(candidateDb);
173
+ }
174
+ await options.createTables(candidateDb);
175
+ return candidateDb;
176
+ } catch (error) {
177
+ await candidateDb.destroy();
178
+ throw error;
179
+ }
180
+ }
181
+ );
111
182
 
112
183
  const app = new Hono();
113
184
  const routePath = options.routePath ?? '/sync';
@@ -136,6 +207,8 @@ export async function createHttpServerFixture<DB extends SyncCoreDb>(
136
207
  const address = httpServer.address();
137
208
  const port = typeof address === 'object' && address ? address.port : 0;
138
209
 
210
+ let destroyed = false;
211
+
139
212
  return {
140
213
  db,
141
214
  dialect,
@@ -143,9 +216,14 @@ export async function createHttpServerFixture<DB extends SyncCoreDb>(
143
216
  httpServer,
144
217
  baseUrl: `http://localhost:${port}`,
145
218
  destroy: async () => {
219
+ if (destroyed) {
220
+ return;
221
+ }
222
+ destroyed = true;
223
+
146
224
  await new Promise<void>((resolve, reject) => {
147
225
  httpServer.close((err) => {
148
- if (err) {
226
+ if (err && !isServerNotRunningError(err)) {
149
227
  reject(err);
150
228
  return;
151
229
  }
@@ -160,15 +238,32 @@ export async function createHttpServerFixture<DB extends SyncCoreDb>(
160
238
  export async function createHttpClientFixture<DB extends SyncClientDb>(
161
239
  options: CreateHttpClientFixtureOptions<DB>
162
240
  ): Promise<HttpClientFixture<DB>> {
163
- const db =
164
- options.clientDialect === 'pglite'
165
- ? createPgliteDb<DB>()
166
- : createBunSqliteDb<DB>({ path: ':memory:' });
241
+ const db = await withPgliteInitRetry(
242
+ options.clientDialect === 'pglite',
243
+ async () => {
244
+ const candidateDb =
245
+ options.clientDialect === 'pglite'
246
+ ? createDatabase<DB>({
247
+ dialect: createPgliteDialect(),
248
+ family: 'postgres',
249
+ })
250
+ : createDatabase<DB>({
251
+ dialect: createBunSqliteDialect({ path: ':memory:' }),
252
+ family: 'sqlite',
253
+ });
167
254
 
168
- await ensureClientSyncSchema(db);
169
- await options.createTables(db);
255
+ try {
256
+ await ensureClientSyncSchema(candidateDb);
257
+ await options.createTables(candidateDb);
258
+ return candidateDb;
259
+ } catch (error) {
260
+ await candidateDb.destroy();
261
+ throw error;
262
+ }
263
+ }
264
+ );
170
265
 
171
- const handlers = new ClientTableRegistry<DB>();
266
+ const handlers: ClientHandlerCollection<DB> = [];
172
267
  options.registerHandlers(handlers);
173
268
 
174
269
  const transport = createHttpTransport({
@@ -1,5 +1,5 @@
1
1
  import {
2
- type ClientTableRegistry,
2
+ type ClientHandlerCollection,
3
3
  enqueueOutboxCommit,
4
4
  type SyncClientDb,
5
5
  type SyncOnceOptions,
@@ -22,7 +22,7 @@ import type { Kysely } from 'kysely';
22
22
  export interface ScenarioFlowClient<DB extends SyncClientDb> {
23
23
  db: Kysely<DB>;
24
24
  transport: SyncTransport;
25
- handlers: ClientTableRegistry<DB>;
25
+ handlers: ClientHandlerCollection<DB>;
26
26
  clientId: string;
27
27
  actorId?: string;
28
28
  }