orez 0.0.47 → 0.0.49

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.
Files changed (65) hide show
  1. package/dist/admin/http-proxy.d.ts.map +1 -1
  2. package/dist/admin/http-proxy.js.map +1 -1
  3. package/dist/admin/log-store.d.ts.map +1 -1
  4. package/dist/admin/log-store.js.map +1 -1
  5. package/dist/admin/server.d.ts +2 -2
  6. package/dist/admin/server.d.ts.map +1 -1
  7. package/dist/admin/server.js.map +1 -1
  8. package/dist/admin/ui.d.ts.map +1 -1
  9. package/dist/admin/ui.js +2 -2
  10. package/dist/admin/ui.js.map +1 -1
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +6 -112
  13. package/dist/cli.js.map +1 -1
  14. package/dist/config.d.ts +0 -5
  15. package/dist/config.d.ts.map +1 -1
  16. package/dist/config.js +0 -5
  17. package/dist/config.js.map +1 -1
  18. package/dist/index.d.ts +0 -9
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +91 -249
  21. package/dist/index.js.map +1 -1
  22. package/dist/log.d.ts +0 -9
  23. package/dist/log.d.ts.map +1 -1
  24. package/dist/log.js +1 -24
  25. package/dist/log.js.map +1 -1
  26. package/dist/mutex.d.ts.map +1 -1
  27. package/dist/mutex.js +2 -13
  28. package/dist/mutex.js.map +1 -1
  29. package/dist/pg-proxy.d.ts +2 -3
  30. package/dist/pg-proxy.d.ts.map +1 -1
  31. package/dist/pg-proxy.js +167 -377
  32. package/dist/pg-proxy.js.map +1 -1
  33. package/dist/pglite-manager.d.ts +0 -1
  34. package/dist/pglite-manager.d.ts.map +1 -1
  35. package/dist/pglite-manager.js +1 -1
  36. package/dist/pglite-manager.js.map +1 -1
  37. package/dist/replication/change-tracker.d.ts +0 -6
  38. package/dist/replication/change-tracker.d.ts.map +1 -1
  39. package/dist/replication/change-tracker.js +0 -74
  40. package/dist/replication/change-tracker.js.map +1 -1
  41. package/dist/replication/handler.d.ts.map +1 -1
  42. package/dist/replication/handler.js +5 -47
  43. package/dist/replication/handler.js.map +1 -1
  44. package/dist/vite-plugin.d.ts +0 -3
  45. package/dist/vite-plugin.d.ts.map +1 -1
  46. package/dist/vite-plugin.js +0 -24
  47. package/dist/vite-plugin.js.map +1 -1
  48. package/package.json +5 -4
  49. package/src/admin/http-proxy.ts +5 -1
  50. package/src/admin/log-store.ts +4 -1
  51. package/src/admin/server.ts +7 -3
  52. package/src/admin/ui.ts +682 -680
  53. package/src/cli.ts +6 -111
  54. package/src/config.ts +0 -10
  55. package/src/index.ts +92 -262
  56. package/src/integration/integration.test.ts +264 -133
  57. package/src/log.ts +1 -25
  58. package/src/mutex.ts +2 -12
  59. package/src/pg-proxy.ts +187 -449
  60. package/src/pglite-manager.ts +1 -1
  61. package/src/replication/change-tracker.ts +0 -92
  62. package/src/replication/handler.ts +4 -50
  63. package/src/shim/hooks.mjs +34 -1
  64. package/src/vite-plugin.ts +0 -28
  65. package/src/wasm-sqlite.test.ts +1 -2
package/dist/index.js CHANGED
@@ -6,15 +6,13 @@
6
6
  * `bun run` command.
7
7
  */
8
8
  import { spawn } from 'node:child_process';
9
- import { existsSync, mkdirSync, readFileSync, rmSync, unlinkSync, writeFileSync } from 'node:fs';
9
+ import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
10
10
  import { createRequire } from 'node:module';
11
- import { totalmem } from 'node:os';
12
11
  import { dirname, resolve } from 'node:path';
13
- import { fileURLToPath } from 'node:url';
14
12
  import { getConfig, getConnectionString } from './config.js';
15
- import { log, port, setLogLevel, addLogListener } from './log.js';
13
+ import { log, port, setLogLevel } from './log.js';
16
14
  import { startPgProxy } from './pg-proxy.js';
17
- import { createInstance, createPGliteInstances, runMigrations } from './pglite-manager.js';
15
+ import { createPGliteInstances, runMigrations } from './pglite-manager.js';
18
16
  import { findPort } from './port.js';
19
17
  import { installChangeTracking } from './replication/change-tracker.js';
20
18
  export { getConfig, getConnectionString } from './config.js';
@@ -36,20 +34,6 @@ function resolvePackage(pkg) {
36
34
  export async function startZeroLite(overrides = {}) {
37
35
  const config = getConfig(overrides);
38
36
  setLogLevel(config.logLevel);
39
- // when admin ui enabled, create log store and capture all log output
40
- const SOURCE_MAP = {
41
- 'orez': 'orez', 'pglite': 'pglite', 'pg-proxy': 'proxy',
42
- 'zero': 'zero', 'zero-cache': 'zero', 'orez/s3': 's3',
43
- };
44
- let logStore = null;
45
- let removeLogListener = null;
46
- if (config.admin) {
47
- const { createLogStore } = await import('./admin/log-store.js');
48
- logStore = createLogStore(config.dataDir, config.adminLogs);
49
- removeLogListener = addLogListener((source, level, msg) => {
50
- logStore.push(SOURCE_MAP[source] || source, level, msg);
51
- });
52
- }
53
37
  // find available ports
54
38
  const pgPort = await findPort(config.pgPort);
55
39
  const zeroPort = config.skipZeroCache
@@ -73,7 +57,7 @@ export async function startZeroLite(overrides = {}) {
73
57
  await installChangeTracking(db);
74
58
  // start tcp proxy (routes connections to correct instance by database name)
75
59
  const pgServer = await startPgProxy(instances, config);
76
- log.pglite(`postgres up ${port(pgPort, 'green')}`);
60
+ log.orez(`db up ${port(pgPort, 'green')}`);
77
61
  if (migrationsApplied > 0)
78
62
  log.orez(`${migrationsApplied} migration${migrationsApplied === 1 ? '' : 's'} applied`);
79
63
  // seed data if needed
@@ -112,127 +96,20 @@ export async function startZeroLite(overrides = {}) {
112
96
  log.debug.orez('re-installing change tracking after on-db-ready');
113
97
  await installChangeTracking(db);
114
98
  }
115
- // run beforeZero callback (e.g. create tables before zero-cache starts)
116
- if (config.beforeZero) {
117
- log.debug.orez('running beforeZero callback');
118
- await config.beforeZero(db);
119
- // re-install change tracking on tables created by the callback
120
- await installChangeTracking(db);
121
- }
122
- // clean up stale lock files from previous crash (keep replica for fast restart)
123
- cleanupStaleLockFiles(config);
124
- // http proxy for admin traffic logging
125
- let httpLogStore = null;
126
- let httpProxyServer = null;
127
- let zeroInternalPort = zeroPort;
128
- if (config.admin && !config.skipZeroCache) {
129
- const { createHttpLogStore } = await import('./admin/http-proxy.js');
130
- httpLogStore = createHttpLogStore();
131
- zeroInternalPort = await findPort(zeroPort + 100);
132
- }
133
- // start zero-cache with auto-recovery for stale change db
99
+ // clean up stale sqlite replica from previous runs
100
+ cleanupStaleReplica(config);
101
+ // start zero-cache
134
102
  let zeroCacheProcess = null;
135
- let zeroEnv = {};
136
- const cdbResets = { count: 0, lastReset: 0 };
137
- const MAX_CDB_RESETS = 10;
138
- const MIN_RESET_INTERVAL_MS = 60_000;
139
103
  if (!config.skipZeroCache) {
140
- let currentResult = await startZeroCache(config, zeroInternalPort);
141
- zeroCacheProcess = currentResult.child;
142
- zeroEnv = currentResult.env;
143
- // watch for stale changeLog crashes and auto-recover
144
- const attachCdbRecovery = (result) => {
145
- result.child.on('exit', async (code) => {
146
- if (code === 0 || code === null)
147
- return;
148
- if (!result.stderrBuf.includes('changeLog_pkey'))
149
- return;
150
- const now = Date.now();
151
- if (cdbResets.count >= MAX_CDB_RESETS) {
152
- log.zero('change db reset limit reached, not retrying');
153
- return;
154
- }
155
- const elapsed = now - cdbResets.lastReset;
156
- if (elapsed < MIN_RESET_INTERVAL_MS) {
157
- log.zero(`change db reset too soon (${Math.round(elapsed / 1000)}s ago), not retrying`);
158
- return;
159
- }
160
- cdbResets.count++;
161
- cdbResets.lastReset = now;
162
- log.zero(`stale change db detected, resetting (${cdbResets.count}/${MAX_CDB_RESETS})`);
163
- try {
164
- await instances.cdb.close();
165
- const cdbPath = resolve(config.dataDir, 'pgdata-cdb');
166
- rmSync(cdbPath, { recursive: true, force: true });
167
- instances.cdb = await createInstance(config, 'cdb', false);
168
- currentResult = await startZeroCache(config, zeroInternalPort);
169
- zeroCacheProcess = currentResult.child;
170
- attachCdbRecovery(currentResult);
171
- await waitForZeroCache(config, undefined, zeroInternalPort);
172
- log.zero(`recovered, ready ${port(config.zeroPort, 'magenta')}`);
173
- }
174
- catch (err) {
175
- log.zero(`recovery failed: ${err}`);
176
- }
177
- });
178
- };
179
- attachCdbRecovery(currentResult);
180
- await waitForZeroCache(config, undefined, zeroInternalPort);
104
+ zeroCacheProcess = await startZeroCache(config);
105
+ await waitForZeroCache(config);
181
106
  log.zero(`ready ${port(config.zeroPort, 'magenta')}`);
182
- // start http proxy for admin traffic logging
183
- if (httpLogStore) {
184
- const { startHttpProxy } = await import('./admin/http-proxy.js');
185
- httpProxyServer = await startHttpProxy({
186
- listenPort: zeroPort,
187
- targetPort: zeroInternalPort,
188
- httpLog: httpLogStore,
189
- });
190
- }
191
107
  }
192
108
  else {
193
109
  log.orez('skip zero-cache');
194
110
  }
195
- // admin action handlers
196
- const actions = {
197
- restartZero: config.skipZeroCache ? undefined : async () => {
198
- if (zeroCacheProcess && !zeroCacheProcess.killed) {
199
- zeroCacheProcess.kill('SIGTERM');
200
- await new Promise((r) => {
201
- const t = setTimeout(() => { zeroCacheProcess?.kill('SIGKILL'); r(); }, 3000);
202
- zeroCacheProcess.on('exit', () => { clearTimeout(t); r(); });
203
- });
204
- }
205
- const zc = await startZeroCache(config, zeroInternalPort);
206
- zeroCacheProcess = zc.child;
207
- await waitForZeroCache(config, undefined, zeroInternalPort);
208
- log.zero(`restarted ${port(config.zeroPort, 'magenta')}`);
209
- },
210
- resetZero: config.skipZeroCache ? undefined : async () => {
211
- if (zeroCacheProcess && !zeroCacheProcess.killed) {
212
- zeroCacheProcess.kill('SIGTERM');
213
- await new Promise((r) => {
214
- const t = setTimeout(() => { zeroCacheProcess?.kill('SIGKILL'); r(); }, 3000);
215
- zeroCacheProcess.on('exit', () => { clearTimeout(t); r(); });
216
- });
217
- }
218
- const replicaPath = resolve(config.dataDir, 'zero-replica.db');
219
- for (const suffix of ['', '-wal', '-shm', '-wal2']) {
220
- try {
221
- if (existsSync(replicaPath + suffix))
222
- unlinkSync(replicaPath + suffix);
223
- }
224
- catch { }
225
- }
226
- const zc = await startZeroCache(config, zeroInternalPort);
227
- zeroCacheProcess = zc.child;
228
- await waitForZeroCache(config, undefined, zeroInternalPort);
229
- log.zero(`reset and restarted ${port(config.zeroPort, 'magenta')}`);
230
- },
231
- };
232
111
  const stop = async () => {
233
112
  log.debug.orez('shutting down');
234
- removeLogListener?.();
235
- httpProxyServer?.close();
236
113
  if (zeroCacheProcess && !zeroCacheProcess.killed) {
237
114
  zeroCacheProcess.kill('SIGTERM');
238
115
  // wait up to 3s for graceful exit, then force kill
@@ -257,20 +134,21 @@ export async function startZeroLite(overrides = {}) {
257
134
  ]);
258
135
  log.debug.orez('stopped');
259
136
  };
260
- return { config, stop, db, instances, pgPort: config.pgPort, zeroPort: config.zeroPort, logStore, zeroEnv, actions, httpLogStore };
137
+ return { config, stop, db, instances, pgPort: config.pgPort, zeroPort: config.zeroPort };
261
138
  }
262
- function cleanupStaleLockFiles(config) {
139
+ function cleanupStaleReplica(config) {
263
140
  const replicaPath = resolve(config.dataDir, 'zero-replica.db');
264
- // only delete lock/wal files that prevent zero-cache from starting after a crash.
265
- // keep the replica db itself zero-cache catches up via replication, which is
266
- // nearly instant vs a full initial sync (COPY of all tables). if the replica is
267
- // too stale, ZERO_AUTO_RESET=true makes zero-cache wipe and resync automatically.
268
- for (const suffix of ['-wal', '-shm', '-wal2']) {
141
+ // delete replica + all lock/wal files so zero-cache does a fresh sync
142
+ // the replica is just a cache of pglite data, safe to recreate
143
+ for (const suffix of ['', '-wal', '-shm', '-wal2']) {
269
144
  const file = replicaPath + suffix;
270
145
  try {
271
146
  if (existsSync(file)) {
272
147
  unlinkSync(file);
273
- log.debug.orez(`cleaned up stale ${suffix} file`);
148
+ if (suffix)
149
+ log.debug.orez(`cleaned up stale ${suffix} file`);
150
+ else
151
+ log.debug.orez('cleaned up stale replica (will re-sync)');
274
152
  }
275
153
  }
276
154
  catch {
@@ -305,24 +183,60 @@ async function seedIfNeeded(db, config) {
305
183
  }
306
184
  log.orez('seeded');
307
185
  }
308
- // write esm loader hooks to tmpdir that intercept @rocicorp/zero-sqlite3
309
- // and redirect to bedrock-sqlite wasm. templates live in src/shim/.
310
- // returns the path to register.mjs (passed via --import in NODE_OPTIONS).
186
+ // create a fake @rocicorp/zero-sqlite3 package in tmpdir that redirects to
187
+ // bedrock-sqlite (wasm). uses NODE_PATH to make node resolve our shim first —
188
+ // no require hooks, no Module._resolveFilename monkey-patching, no .cjs files
189
+ // in the package (which all break vite).
311
190
  function writeSqliteShim() {
312
191
  const tmp = process.env.TMPDIR || process.env.TEMP || '/tmp';
313
- const dir = resolve(tmp, 'orez-sqlite');
192
+ const dir = resolve(tmp, 'orez-sqlite', 'node_modules', '@rocicorp', 'zero-sqlite3');
314
193
  mkdirSync(dir, { recursive: true });
315
194
  const bedrockEntry = resolvePackage('bedrock-sqlite');
316
- const shimDir = resolve(dirname(fileURLToPath(import.meta.url)), '..', 'src', 'shim');
317
- const hooksPath = resolve(dir, 'hooks.mjs');
318
- const hooksTemplate = readFileSync(resolve(shimDir, 'hooks.mjs'), 'utf-8');
319
- writeFileSync(hooksPath, hooksTemplate.replace(/__BEDROCK_PATH__/g, bedrockEntry));
320
- const registerPath = resolve(dir, 'register.mjs');
321
- const registerTemplate = readFileSync(resolve(shimDir, 'register.mjs'), 'utf-8');
322
- writeFileSync(registerPath, registerTemplate.replace(/__HOOKS_URL__/g, `file://${hooksPath}`));
323
- return registerPath;
195
+ writeFileSync(resolve(dir, 'package.json'), '{"name":"@rocicorp/zero-sqlite3","main":"./index.js"}\n');
196
+ writeFileSync(resolve(dir, 'index.js'), `'use strict';
197
+ var mod = require('${bedrockEntry}');
198
+ var OrigDatabase = mod.Database;
199
+ var SqliteError = mod.SqliteError;
200
+ function Database() {
201
+ var db = new OrigDatabase(...arguments);
202
+ try {
203
+ db.pragma('journal_mode = delete');
204
+ db.pragma('busy_timeout = 30000');
205
+ db.pragma('synchronous = normal');
206
+ } catch(e) {}
207
+ return db;
324
208
  }
325
- async function startZeroCache(config, portOverride) {
209
+ Database.prototype = OrigDatabase.prototype;
210
+ Database.prototype.constructor = Database;
211
+ Object.keys(OrigDatabase).forEach(function(k) { Database[k] = OrigDatabase[k]; });
212
+ Database.prototype.unsafeMode = function() { return this; };
213
+ if (!Database.prototype.defaultSafeIntegers) Database.prototype.defaultSafeIntegers = function() { return this; };
214
+ if (!Database.prototype.serialize) Database.prototype.serialize = function() { throw new Error('not supported in wasm'); };
215
+ if (!Database.prototype.backup) Database.prototype.backup = function() { throw new Error('not supported in wasm'); };
216
+ var tmpDb = new OrigDatabase(':memory:');
217
+ var tmpStmt = tmpDb.prepare('SELECT 1');
218
+ var SP = Object.getPrototypeOf(tmpStmt);
219
+ if (!SP.safeIntegers) SP.safeIntegers = function() { return this; };
220
+ SP.scanStatus = function() { return undefined; };
221
+ SP.scanStatusV2 = function() { return []; };
222
+ SP.scanStatusReset = function() {};
223
+ tmpDb.close();
224
+ Database.SQLITE_SCANSTAT_NLOOP = 0;
225
+ Database.SQLITE_SCANSTAT_NVISIT = 1;
226
+ Database.SQLITE_SCANSTAT_EST = 2;
227
+ Database.SQLITE_SCANSTAT_NAME = 3;
228
+ Database.SQLITE_SCANSTAT_EXPLAIN = 4;
229
+ Database.SQLITE_SCANSTAT_SELECTID = 5;
230
+ Database.SQLITE_SCANSTAT_PARENTID = 6;
231
+ Database.SQLITE_SCANSTAT_NCYCLE = 7;
232
+ Database.SQLITE_SCANSTAT_COMPLEX = 8;
233
+ module.exports = Database;
234
+ module.exports.SqliteError = SqliteError;
235
+ `);
236
+ // return the node_modules root so it can be prepended to NODE_PATH
237
+ return resolve(tmp, 'orez-sqlite', 'node_modules');
238
+ }
239
+ async function startZeroCache(config) {
326
240
  // resolve @rocicorp/zero entry for finding zero-cache modules
327
241
  const zeroEntry = resolvePackage('@rocicorp/zero');
328
242
  if (!zeroEntry) {
@@ -337,20 +251,12 @@ async function startZeroCache(config, portOverride) {
337
251
  // defaults that can be overridden by user env
338
252
  const defaults = {
339
253
  NODE_ENV: 'development',
340
- ZERO_LOG_LEVEL: 'info',
254
+ ZERO_LOG_LEVEL: config.logLevel,
341
255
  ZERO_NUM_SYNC_WORKERS: '1',
342
256
  // disable query planner — it relies on scanStatus which causes infinite
343
257
  // loops with wasm sqlite and has caused freezes with native too.
344
258
  // planner is an optimization, not required for correctness.
345
259
  ZERO_ENABLE_QUERY_PLANNER: 'false',
346
- // work around postgres.js bug: concurrent COPY TO STDOUT on a reused
347
- // connection causes .readable() to hang indefinitely. setting workers
348
- // high ensures each table gets its own connection (1 COPY per conn).
349
- // zero-cache already applies this workaround on windows (initial-sync.js).
350
- ZERO_INITIAL_SYNC_TABLE_COPY_WORKERS: '999',
351
- // auto-reset on replication errors (e.g. after pg_restore) instead of
352
- // crashing — zero-cache wipes its replica and resyncs from scratch.
353
- ZERO_AUTO_RESET: 'true',
354
260
  };
355
261
  const env = {
356
262
  ...defaults,
@@ -362,127 +268,63 @@ async function startZeroCache(config, portOverride) {
362
268
  ZERO_CVR_DB: cvrUrl,
363
269
  ZERO_CHANGE_DB: cdbUrl,
364
270
  ZERO_REPLICA_FILE: resolve(config.dataDir, 'zero-replica.db'),
365
- ZERO_PORT: String(portOverride || config.zeroPort),
271
+ ZERO_PORT: String(config.zeroPort),
366
272
  };
367
273
  const zeroCacheBin = resolve(zeroEntry, '..', 'cli.js');
368
274
  if (!existsSync(zeroCacheBin)) {
369
275
  throw new Error('zero-cache cli.js not found. install @rocicorp/zero');
370
276
  }
371
- // calculate heap size: ~25% of system memory, min 4gb
372
- const memMB = Math.round(totalmem() / 1024 / 1024);
373
- const heapMB = Math.max(4096, Math.round(memMB * 0.25));
374
- const existing = process.env.NODE_OPTIONS || '';
375
- // wasm sqlite: write shim + ESM loader to tmpdir, pass --import to intercept
376
- // @rocicorp/zero-sqlite3 resolution with our bedrock-sqlite wasm build
277
+ // wasm sqlite: create a fake @rocicorp/zero-sqlite3 in tmpdir and prepend
278
+ // to NODE_PATH so node resolves our shim first. no require hooks, no
279
+ // Module._resolveFilename monkey-patching (which conflicts with vite).
377
280
  if (!config.disableWasmSqlite) {
378
- const registerPath = writeSqliteShim();
379
- const registerUrl = `file://${registerPath}`;
380
- env.NODE_OPTIONS =
381
- `--import ${registerUrl} --max-old-space-size=${heapMB} ${existing}`.trim();
382
- }
383
- else {
384
- env.NODE_OPTIONS = `--max-old-space-size=${heapMB} ${existing}`.trim();
385
- }
386
- // log env vars if --log-env was passed
387
- if (config.logEnv) {
388
- const zeroVars = Object.entries(env)
389
- .filter(([key]) => key.startsWith('ZERO_') || key === 'NODE_ENV')
390
- .sort(([a], [b]) => a.localeCompare(b));
391
- log.orez('zero-cache env:');
392
- for (const [key, value] of zeroVars) {
393
- log.orez(` ${key}=${value}`);
394
- }
281
+ const shimNodeModules = writeSqliteShim();
282
+ const existingNodePath = process.env.NODE_PATH || '';
283
+ env.NODE_PATH = existingNodePath
284
+ ? `${shimNodeModules}:${existingNodePath}`
285
+ : shimNodeModules;
395
286
  }
287
+ const nodeOptions = !config.disableWasmSqlite
288
+ ? `--max-old-space-size=16384 ${process.env.NODE_OPTIONS || ''}`
289
+ : process.env.NODE_OPTIONS || '';
290
+ if (nodeOptions.trim())
291
+ env.NODE_OPTIONS = nodeOptions.trim();
396
292
  const child = spawn(zeroCacheBin, [], {
397
293
  env,
398
294
  stdio: ['ignore', 'pipe', 'pipe'],
399
295
  });
400
- // zero-cache uses structured logging when piped (not a tty).
401
- // multiline format: timestamp + "[" on one line, context lines, "] message" on another.
402
- // single-line format: timestamp + [ context ] message, or timestamp + key=val,... message
403
- // we buffer multiline blocks and extract just the message.
404
- const timestampRe = /^\d{4}-\d{2}-\d{2}T[\d:.+\-Z]+\s*/;
405
- let inBlock = false;
406
- const zeroLog = (line) => {
407
- let stripped = line.replace(timestampRe, '');
408
- // start of multiline context block: line ends with "[" (possibly after timestamp)
409
- if (!inBlock && /^\[?\s*$/.test(stripped)) {
410
- inBlock = true;
411
- return;
412
- }
413
- // inside multiline block: skip context lines, look for "] message"
414
- if (inBlock) {
415
- const closeMatch = stripped.match(/^\]\s*(.*)$/);
416
- if (closeMatch) {
417
- inBlock = false;
418
- const msg = closeMatch[1].trim();
419
- if (msg)
420
- log.zero(msg);
421
- }
422
- // context continuation lines like "'pid=8278'," — skip
423
- return;
424
- }
425
- // single-line: strip inline [ context ] and key=val prefixes
426
- stripped = stripped.replace(/\[.*?\]\s*/g, '');
427
- stripped = stripped.replace(/^(?:\w+=\S+,)*\w+=\S+\s+/, '');
428
- stripped = stripped.trim();
429
- if (!stripped || /^[\[\]',\s]*$/.test(stripped))
430
- return;
431
- log.zero(stripped);
432
- };
433
296
  child.stdout?.on('data', (data) => {
434
297
  const lines = data.toString().trim().split('\n');
435
298
  for (const line of lines) {
436
- zeroLog(line);
299
+ log.debug.zero(line);
437
300
  }
438
301
  });
439
- const result = { child, env, stderrBuf: '' };
440
302
  child.stderr?.on('data', (data) => {
441
- const chunk = data.toString();
442
- result.stderrBuf += chunk;
443
- const lines = chunk.trim().split('\n');
303
+ const lines = data.toString().trim().split('\n');
444
304
  for (const line of lines) {
445
- zeroLog(line);
305
+ log.debug.zero(line);
446
306
  }
447
307
  });
448
308
  child.on('exit', (code) => {
449
309
  if (code !== 0 && code !== null) {
450
- // changeLog_pkey errors are handled by the recovery logic in startZeroLite
451
- if (result.stderrBuf.includes('changeLog_pkey'))
452
- return;
453
- if (result.stderrBuf.includes('Could not locate the bindings file')) {
454
- log.zero('native @rocicorp/zero-sqlite3 not found — native deps were not compiled.\n' +
455
- 'either:\n' +
456
- ' • remove --disable-wasm-sqlite to use the built-in wasm sqlite\n' +
457
- ' • install with native deps: bun install --trust @rocicorp/zero-sqlite3\n' +
458
- ' or add "trustedDependencies": ["@rocicorp/zero-sqlite3"] to package.json');
459
- }
460
- else {
461
- const lastLines = result.stderrBuf.trim().split('\n').slice(-5).join('\n');
462
- if (lastLines) {
463
- log.zero(`exited with code ${code}:\n${lastLines}`);
464
- }
465
- else {
466
- log.zero(`exited with code ${code}`);
467
- }
468
- }
310
+ log.zero(`exited with code ${code}`);
469
311
  }
470
312
  });
471
- return result;
313
+ return child;
472
314
  }
473
- async function waitForZeroCache(config, timeoutMs = 120000, portOverride) {
315
+ async function waitForZeroCache(config, timeoutMs = 60000) {
474
316
  const start = Date.now();
475
- const url = `http://127.0.0.1:${portOverride || config.zeroPort}/`;
317
+ const url = `http://127.0.0.1:${config.zeroPort}/`;
476
318
  while (Date.now() - start < timeoutMs) {
477
319
  try {
478
320
  const res = await fetch(url);
479
- if (res.ok || res.status === 404)
321
+ if (res.ok)
480
322
  return;
481
323
  }
482
324
  catch {
483
325
  // not ready yet
484
326
  }
485
- await new Promise((r) => setTimeout(r, 42));
327
+ await new Promise((r) => setTimeout(r, 500));
486
328
  }
487
329
  log.zero('health check timed out, continuing anyway');
488
330
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/log.d.ts CHANGED
@@ -7,8 +7,6 @@ declare const COLORS: {
7
7
  readonly blue: "\u001B[34m";
8
8
  };
9
9
  export declare function setLogLevel(level: LogLevel): void;
10
- type LogListener = (source: string, level: LogLevel, msg: string) => void;
11
- export declare function addLogListener(fn: LogListener): () => void;
12
10
  /** format a port number with matching dim color */
13
11
  export declare function port(n: number, color: keyof typeof COLORS): string;
14
12
  export declare const log: {
@@ -17,13 +15,6 @@ export declare const log: {
17
15
  proxy: (...args: unknown[]) => void;
18
16
  zero: (...args: unknown[]) => void;
19
17
  s3: (...args: unknown[]) => void;
20
- info: {
21
- orez: (...args: unknown[]) => void;
22
- pglite: (...args: unknown[]) => void;
23
- proxy: (...args: unknown[]) => void;
24
- zero: (...args: unknown[]) => void;
25
- s3: (...args: unknown[]) => void;
26
- };
27
18
  debug: {
28
19
  orez: (...args: unknown[]) => void;
29
20
  pglite: (...args: unknown[]) => void;
package/dist/log.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAM3C,QAAA,MAAM,MAAM;;;;;;CAMF,CAAA;AAWV,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAE1C;AAED,KAAK,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;AAGzE,wBAAgB,cAAc,CAAC,EAAE,EAAE,WAAW,cAM7C;AAMD,mDAAmD;AACnD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,MAAM,GAAG,MAAM,CAElE;AAiBD,eAAO,MAAM,GAAG;oBAbG,OAAO,EAAE;sBAAT,OAAO,EAAE;qBAAT,OAAO,EAAE;oBAAT,OAAO,EAAE;kBAAT,OAAO,EAAE;;wBAAT,OAAO,EAAE;0BAAT,OAAO,EAAE;yBAAT,OAAO,EAAE;wBAAT,OAAO,EAAE;sBAAT,OAAO,EAAE;;;wBAAT,OAAO,EAAE;0BAAT,OAAO,EAAE;yBAAT,OAAO,EAAE;wBAAT,OAAO,EAAE;sBAAT,OAAO,EAAE;;CAiC3B,CAAA"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAM3C,QAAA,MAAM,MAAM;;;;;;CAMF,CAAA;AAWV,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAE1C;AAMD,mDAAmD;AACnD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,OAAO,MAAM,GAAG,MAAM,CAElE;AAWD,eAAO,MAAM,GAAG;oBAPG,OAAO,EAAE;sBAAT,OAAO,EAAE;qBAAT,OAAO,EAAE;oBAAT,OAAO,EAAE;kBAAT,OAAO,EAAE;;wBAAT,OAAO,EAAE;0BAAT,OAAO,EAAE;yBAAT,OAAO,EAAE;wBAAT,OAAO,EAAE;sBAAT,OAAO,EAAE;;CAoB3B,CAAA"}
package/dist/log.js CHANGED
@@ -18,15 +18,6 @@ let currentLevel = 'warn';
18
18
  export function setLogLevel(level) {
19
19
  currentLevel = level;
20
20
  }
21
- const listeners = [];
22
- export function addLogListener(fn) {
23
- listeners.push(fn);
24
- return () => {
25
- const idx = listeners.indexOf(fn);
26
- if (idx !== -1)
27
- listeners.splice(idx, 1);
28
- };
29
- }
30
21
  function prefix(label, color) {
31
22
  return `${BOLD}${color}[${label}]${RESET}`;
32
23
  }
@@ -37,13 +28,6 @@ export function port(n, color) {
37
28
  function makeLogger(label, color, level = 'info') {
38
29
  const p = prefix(label, color);
39
30
  return (...args) => {
40
- // always notify listeners (they capture everything for admin ui)
41
- if (listeners.length > 0) {
42
- const msg = args.map((a) => (typeof a === 'string' ? a : String(a))).join(' ');
43
- for (const fn of listeners)
44
- fn(label, level, msg);
45
- }
46
- // only print to terminal if level passes filter
47
31
  if (LEVEL_PRIORITY[level] <= LEVEL_PRIORITY[currentLevel]) {
48
32
  console.info(p, ...args);
49
33
  }
@@ -53,15 +37,8 @@ export const log = {
53
37
  orez: makeLogger('orez', COLORS.cyan, 'warn'),
54
38
  pglite: makeLogger('pglite', COLORS.green, 'warn'),
55
39
  proxy: makeLogger('pg-proxy', COLORS.yellow, 'warn'),
56
- zero: makeLogger('zero', COLORS.magenta, 'warn'),
40
+ zero: makeLogger('zero-cache', COLORS.magenta, 'warn'),
57
41
  s3: makeLogger('orez/s3', COLORS.blue, 'warn'),
58
- info: {
59
- orez: makeLogger('orez', COLORS.cyan, 'info'),
60
- pglite: makeLogger('pglite', COLORS.green, 'info'),
61
- proxy: makeLogger('pg-proxy', COLORS.yellow, 'info'),
62
- zero: makeLogger('zero', COLORS.magenta, 'info'),
63
- s3: makeLogger('orez/s3', COLORS.blue, 'info'),
64
- },
65
42
  debug: {
66
43
  orez: makeLogger('orez', COLORS.cyan, 'debug'),
67
44
  pglite: makeLogger('pglite', COLORS.green, 'debug'),
package/dist/log.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,SAAS,CAAA;AACvB,MAAM,IAAI,GAAG,SAAS,CAAA;AACtB,MAAM,GAAG,GAAG,SAAS,CAAA;AAErB,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;CACR,CAAA;AAEV,MAAM,cAAc,GAA6B;IAC/C,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAA;AAED,IAAI,YAAY,GAAa,MAAM,CAAA;AAEnC,MAAM,UAAU,WAAW,CAAC,KAAe;IACzC,YAAY,GAAG,KAAK,CAAA;AACtB,CAAC;AAED,SAAS,MAAM,CAAC,KAAa,EAAE,KAAa;IAC1C,OAAO,GAAG,IAAI,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAA;AAC5C,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,IAAI,CAAC,CAAS,EAAE,KAA0B;IACxD,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAA;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,KAAa,EAAE,QAAkB,MAAM;IACxE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC9B,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IAC7C,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;IAClD,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IACpD,IAAI,EAAE,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;IACtD,EAAE,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9C,KAAK,EAAE;QACL,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;QAC9C,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;QACnD,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QACrD,IAAI,EAAE,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;QACvD,EAAE,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;KAChD;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutex.d.ts","sourceRoot":"","sources":["../src/mutex.ts"],"names":[],"mappings":"AAKA,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAwB;IAE/B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,OAAO,IAAI,IAAI;CAchB"}
1
+ {"version":3,"file":"mutex.d.ts","sourceRoot":"","sources":["../src/mutex.ts"],"names":[],"mappings":"AACA,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAwB;IAE/B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,OAAO,IAAI,IAAI;CAQhB"}
package/dist/mutex.js CHANGED
@@ -1,8 +1,4 @@
1
- // simple mutex for serializing pglite access.
2
- // uses setImmediate/setTimeout between releases to prevent event loop
3
- // starvation when multiple connections queue up — without this, releasing
4
- // the mutex resolves the next waiter as a microtask, which causes a chain
5
- // of synchronous pglite executions that blocks all I/O processing.
1
+ // simple mutex for serializing pglite access
6
2
  export class Mutex {
7
3
  locked = false;
8
4
  queue = [];
@@ -18,14 +14,7 @@ export class Mutex {
18
14
  release() {
19
15
  const next = this.queue.shift();
20
16
  if (next) {
21
- // yield to event loop so I/O events (socket reads/writes) are processed
22
- // before the next waiter acquires the mutex
23
- if (typeof setImmediate !== 'undefined') {
24
- setImmediate(next);
25
- }
26
- else {
27
- setTimeout(next, 0);
28
- }
17
+ next();
29
18
  }
30
19
  else {
31
20
  this.locked = false;