orez 0.0.48 → 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.
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -112
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +0 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -5
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +91 -280
- package/dist/index.js.map +1 -1
- package/dist/log.d.ts +0 -9
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +1 -24
- package/dist/log.js.map +1 -1
- package/dist/mutex.d.ts.map +1 -1
- package/dist/mutex.js +2 -13
- package/dist/mutex.js.map +1 -1
- package/dist/pg-proxy.d.ts +2 -3
- package/dist/pg-proxy.d.ts.map +1 -1
- package/dist/pg-proxy.js +167 -377
- package/dist/pg-proxy.js.map +1 -1
- package/dist/pglite-manager.d.ts +0 -1
- package/dist/pglite-manager.d.ts.map +1 -1
- package/dist/pglite-manager.js +2 -8
- package/dist/pglite-manager.js.map +1 -1
- package/dist/replication/change-tracker.d.ts +0 -6
- package/dist/replication/change-tracker.d.ts.map +1 -1
- package/dist/replication/change-tracker.js +1 -62
- package/dist/replication/change-tracker.js.map +1 -1
- package/dist/replication/handler.d.ts.map +1 -1
- package/dist/replication/handler.js +7 -66
- package/dist/replication/handler.js.map +1 -1
- package/dist/vite-plugin.d.ts +0 -3
- package/dist/vite-plugin.d.ts.map +1 -1
- package/dist/vite-plugin.js +0 -24
- package/dist/vite-plugin.js.map +1 -1
- package/package.json +5 -4
- package/src/cli.ts +18 -124
- package/src/config.ts +0 -10
- package/src/index.ts +92 -309
- package/src/integration/integration.test.ts +264 -133
- package/src/log.ts +1 -25
- package/src/mutex.ts +2 -12
- package/src/pg-proxy.ts +187 -451
- package/src/pglite-manager.ts +2 -9
- package/src/replication/change-tracker.ts +1 -83
- package/src/replication/handler.ts +6 -79
- package/src/replication/pgoutput-encoder.test.ts +0 -217
- package/src/replication/zero-compat.test.ts +1 -232
- package/src/shim/hooks.mjs +1 -1
- package/src/vite-plugin.ts +0 -28
- 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,
|
|
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
|
|
13
|
+
import { log, port, setLogLevel } from './log.js';
|
|
16
14
|
import { startPgProxy } from './pg-proxy.js';
|
|
17
|
-
import {
|
|
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,24 +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',
|
|
42
|
-
pglite: 'pglite',
|
|
43
|
-
'pg-proxy': 'proxy',
|
|
44
|
-
zero: 'zero',
|
|
45
|
-
'zero-cache': 'zero',
|
|
46
|
-
'orez/s3': 's3',
|
|
47
|
-
};
|
|
48
|
-
let logStore = null;
|
|
49
|
-
let removeLogListener = null;
|
|
50
|
-
if (config.admin) {
|
|
51
|
-
const { createLogStore } = await import('./admin/log-store.js');
|
|
52
|
-
logStore = createLogStore(config.dataDir, config.adminLogs);
|
|
53
|
-
removeLogListener = addLogListener((source, level, msg) => {
|
|
54
|
-
logStore.push(SOURCE_MAP[source] || source, level, msg);
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
37
|
// find available ports
|
|
58
38
|
const pgPort = await findPort(config.pgPort);
|
|
59
39
|
const zeroPort = config.skipZeroCache
|
|
@@ -77,7 +57,7 @@ export async function startZeroLite(overrides = {}) {
|
|
|
77
57
|
await installChangeTracking(db);
|
|
78
58
|
// start tcp proxy (routes connections to correct instance by database name)
|
|
79
59
|
const pgServer = await startPgProxy(instances, config);
|
|
80
|
-
log.
|
|
60
|
+
log.orez(`db up ${port(pgPort, 'green')}`);
|
|
81
61
|
if (migrationsApplied > 0)
|
|
82
62
|
log.orez(`${migrationsApplied} migration${migrationsApplied === 1 ? '' : 's'} applied`);
|
|
83
63
|
// seed data if needed
|
|
@@ -116,143 +96,20 @@ export async function startZeroLite(overrides = {}) {
|
|
|
116
96
|
log.debug.orez('re-installing change tracking after on-db-ready');
|
|
117
97
|
await installChangeTracking(db);
|
|
118
98
|
}
|
|
119
|
-
//
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
await config.beforeZero(db);
|
|
123
|
-
// re-install change tracking on tables created by the callback
|
|
124
|
-
await installChangeTracking(db);
|
|
125
|
-
}
|
|
126
|
-
// clean up stale lock files from previous crash (keep replica for fast restart)
|
|
127
|
-
cleanupStaleLockFiles(config);
|
|
128
|
-
// http proxy for admin traffic logging
|
|
129
|
-
let httpLogStore = null;
|
|
130
|
-
let httpProxyServer = null;
|
|
131
|
-
let zeroInternalPort = zeroPort;
|
|
132
|
-
if (config.admin && !config.skipZeroCache) {
|
|
133
|
-
const { createHttpLogStore } = await import('./admin/http-proxy.js');
|
|
134
|
-
httpLogStore = createHttpLogStore();
|
|
135
|
-
zeroInternalPort = await findPort(zeroPort + 100);
|
|
136
|
-
}
|
|
137
|
-
// 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
|
|
138
102
|
let zeroCacheProcess = null;
|
|
139
|
-
let zeroEnv = {};
|
|
140
|
-
const cdbResets = { count: 0, lastReset: 0 };
|
|
141
|
-
const MAX_CDB_RESETS = 10;
|
|
142
|
-
const MIN_RESET_INTERVAL_MS = 60_000;
|
|
143
103
|
if (!config.skipZeroCache) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
zeroEnv = currentResult.env;
|
|
147
|
-
// watch for stale changeLog crashes and auto-recover
|
|
148
|
-
const attachCdbRecovery = (result) => {
|
|
149
|
-
result.child.on('exit', async (code) => {
|
|
150
|
-
if (code === 0 || code === null)
|
|
151
|
-
return;
|
|
152
|
-
if (!result.stderrBuf.includes('changeLog_pkey'))
|
|
153
|
-
return;
|
|
154
|
-
const now = Date.now();
|
|
155
|
-
if (cdbResets.count >= MAX_CDB_RESETS) {
|
|
156
|
-
log.zero('change db reset limit reached, not retrying');
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
const elapsed = now - cdbResets.lastReset;
|
|
160
|
-
if (elapsed < MIN_RESET_INTERVAL_MS) {
|
|
161
|
-
log.zero(`change db reset too soon (${Math.round(elapsed / 1000)}s ago), not retrying`);
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
cdbResets.count++;
|
|
165
|
-
cdbResets.lastReset = now;
|
|
166
|
-
log.zero(`stale change db detected, resetting (${cdbResets.count}/${MAX_CDB_RESETS})`);
|
|
167
|
-
try {
|
|
168
|
-
await instances.cdb.close();
|
|
169
|
-
const cdbPath = resolve(config.dataDir, 'pgdata-cdb');
|
|
170
|
-
rmSync(cdbPath, { recursive: true, force: true });
|
|
171
|
-
instances.cdb = await createInstance(config, 'cdb', false);
|
|
172
|
-
currentResult = await startZeroCache(config, zeroInternalPort);
|
|
173
|
-
zeroCacheProcess = currentResult.child;
|
|
174
|
-
attachCdbRecovery(currentResult);
|
|
175
|
-
await waitForZeroCache(config, undefined, zeroInternalPort);
|
|
176
|
-
log.zero(`recovered, ready ${port(config.zeroPort, 'magenta')}`);
|
|
177
|
-
}
|
|
178
|
-
catch (err) {
|
|
179
|
-
log.zero(`recovery failed: ${err}`);
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
};
|
|
183
|
-
attachCdbRecovery(currentResult);
|
|
184
|
-
await waitForZeroCache(config, undefined, zeroInternalPort);
|
|
104
|
+
zeroCacheProcess = await startZeroCache(config);
|
|
105
|
+
await waitForZeroCache(config);
|
|
185
106
|
log.zero(`ready ${port(config.zeroPort, 'magenta')}`);
|
|
186
|
-
// start http proxy for admin traffic logging
|
|
187
|
-
if (httpLogStore) {
|
|
188
|
-
const { startHttpProxy } = await import('./admin/http-proxy.js');
|
|
189
|
-
httpProxyServer = await startHttpProxy({
|
|
190
|
-
listenPort: zeroPort,
|
|
191
|
-
targetPort: zeroInternalPort,
|
|
192
|
-
httpLog: httpLogStore,
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
107
|
}
|
|
196
108
|
else {
|
|
197
109
|
log.orez('skip zero-cache');
|
|
198
110
|
}
|
|
199
|
-
// admin action handlers
|
|
200
|
-
const actions = {
|
|
201
|
-
restartZero: config.skipZeroCache
|
|
202
|
-
? undefined
|
|
203
|
-
: async () => {
|
|
204
|
-
if (zeroCacheProcess && !zeroCacheProcess.killed) {
|
|
205
|
-
zeroCacheProcess.kill('SIGTERM');
|
|
206
|
-
await new Promise((r) => {
|
|
207
|
-
const t = setTimeout(() => {
|
|
208
|
-
zeroCacheProcess?.kill('SIGKILL');
|
|
209
|
-
r();
|
|
210
|
-
}, 3000);
|
|
211
|
-
zeroCacheProcess.on('exit', () => {
|
|
212
|
-
clearTimeout(t);
|
|
213
|
-
r();
|
|
214
|
-
});
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
const zc = await startZeroCache(config, zeroInternalPort);
|
|
218
|
-
zeroCacheProcess = zc.child;
|
|
219
|
-
await waitForZeroCache(config, undefined, zeroInternalPort);
|
|
220
|
-
log.zero(`restarted ${port(config.zeroPort, 'magenta')}`);
|
|
221
|
-
},
|
|
222
|
-
resetZero: config.skipZeroCache
|
|
223
|
-
? undefined
|
|
224
|
-
: async () => {
|
|
225
|
-
if (zeroCacheProcess && !zeroCacheProcess.killed) {
|
|
226
|
-
zeroCacheProcess.kill('SIGTERM');
|
|
227
|
-
await new Promise((r) => {
|
|
228
|
-
const t = setTimeout(() => {
|
|
229
|
-
zeroCacheProcess?.kill('SIGKILL');
|
|
230
|
-
r();
|
|
231
|
-
}, 3000);
|
|
232
|
-
zeroCacheProcess.on('exit', () => {
|
|
233
|
-
clearTimeout(t);
|
|
234
|
-
r();
|
|
235
|
-
});
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
const replicaPath = resolve(config.dataDir, 'zero-replica.db');
|
|
239
|
-
for (const suffix of ['', '-wal', '-shm', '-wal2']) {
|
|
240
|
-
try {
|
|
241
|
-
if (existsSync(replicaPath + suffix))
|
|
242
|
-
unlinkSync(replicaPath + suffix);
|
|
243
|
-
}
|
|
244
|
-
catch { }
|
|
245
|
-
}
|
|
246
|
-
const zc = await startZeroCache(config, zeroInternalPort);
|
|
247
|
-
zeroCacheProcess = zc.child;
|
|
248
|
-
await waitForZeroCache(config, undefined, zeroInternalPort);
|
|
249
|
-
log.zero(`reset and restarted ${port(config.zeroPort, 'magenta')}`);
|
|
250
|
-
},
|
|
251
|
-
};
|
|
252
111
|
const stop = async () => {
|
|
253
112
|
log.debug.orez('shutting down');
|
|
254
|
-
removeLogListener?.();
|
|
255
|
-
httpProxyServer?.close();
|
|
256
113
|
if (zeroCacheProcess && !zeroCacheProcess.killed) {
|
|
257
114
|
zeroCacheProcess.kill('SIGTERM');
|
|
258
115
|
// wait up to 3s for graceful exit, then force kill
|
|
@@ -277,31 +134,21 @@ export async function startZeroLite(overrides = {}) {
|
|
|
277
134
|
]);
|
|
278
135
|
log.debug.orez('stopped');
|
|
279
136
|
};
|
|
280
|
-
return {
|
|
281
|
-
config,
|
|
282
|
-
stop,
|
|
283
|
-
db,
|
|
284
|
-
instances,
|
|
285
|
-
pgPort: config.pgPort,
|
|
286
|
-
zeroPort: config.zeroPort,
|
|
287
|
-
logStore,
|
|
288
|
-
zeroEnv,
|
|
289
|
-
actions,
|
|
290
|
-
httpLogStore,
|
|
291
|
-
};
|
|
137
|
+
return { config, stop, db, instances, pgPort: config.pgPort, zeroPort: config.zeroPort };
|
|
292
138
|
}
|
|
293
|
-
function
|
|
139
|
+
function cleanupStaleReplica(config) {
|
|
294
140
|
const replicaPath = resolve(config.dataDir, 'zero-replica.db');
|
|
295
|
-
//
|
|
296
|
-
//
|
|
297
|
-
|
|
298
|
-
// too stale, ZERO_AUTO_RESET=true makes zero-cache wipe and resync automatically.
|
|
299
|
-
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']) {
|
|
300
144
|
const file = replicaPath + suffix;
|
|
301
145
|
try {
|
|
302
146
|
if (existsSync(file)) {
|
|
303
147
|
unlinkSync(file);
|
|
304
|
-
|
|
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)');
|
|
305
152
|
}
|
|
306
153
|
}
|
|
307
154
|
catch {
|
|
@@ -336,24 +183,60 @@ async function seedIfNeeded(db, config) {
|
|
|
336
183
|
}
|
|
337
184
|
log.orez('seeded');
|
|
338
185
|
}
|
|
339
|
-
//
|
|
340
|
-
//
|
|
341
|
-
//
|
|
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).
|
|
342
190
|
function writeSqliteShim() {
|
|
343
191
|
const tmp = process.env.TMPDIR || process.env.TEMP || '/tmp';
|
|
344
|
-
const dir = resolve(tmp, 'orez-sqlite');
|
|
192
|
+
const dir = resolve(tmp, 'orez-sqlite', 'node_modules', '@rocicorp', 'zero-sqlite3');
|
|
345
193
|
mkdirSync(dir, { recursive: true });
|
|
346
194
|
const bedrockEntry = resolvePackage('bedrock-sqlite');
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
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;
|
|
355
208
|
}
|
|
356
|
-
|
|
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) {
|
|
357
240
|
// resolve @rocicorp/zero entry for finding zero-cache modules
|
|
358
241
|
const zeroEntry = resolvePackage('@rocicorp/zero');
|
|
359
242
|
if (!zeroEntry) {
|
|
@@ -368,20 +251,12 @@ async function startZeroCache(config, portOverride) {
|
|
|
368
251
|
// defaults that can be overridden by user env
|
|
369
252
|
const defaults = {
|
|
370
253
|
NODE_ENV: 'development',
|
|
371
|
-
ZERO_LOG_LEVEL:
|
|
254
|
+
ZERO_LOG_LEVEL: config.logLevel,
|
|
372
255
|
ZERO_NUM_SYNC_WORKERS: '1',
|
|
373
256
|
// disable query planner — it relies on scanStatus which causes infinite
|
|
374
257
|
// loops with wasm sqlite and has caused freezes with native too.
|
|
375
258
|
// planner is an optimization, not required for correctness.
|
|
376
259
|
ZERO_ENABLE_QUERY_PLANNER: 'false',
|
|
377
|
-
// work around postgres.js bug: concurrent COPY TO STDOUT on a reused
|
|
378
|
-
// connection causes .readable() to hang indefinitely. setting workers
|
|
379
|
-
// high ensures each table gets its own connection (1 COPY per conn).
|
|
380
|
-
// zero-cache already applies this workaround on windows (initial-sync.js).
|
|
381
|
-
ZERO_INITIAL_SYNC_TABLE_COPY_WORKERS: '999',
|
|
382
|
-
// auto-reset on replication errors (e.g. after pg_restore) instead of
|
|
383
|
-
// crashing — zero-cache wipes its replica and resyncs from scratch.
|
|
384
|
-
ZERO_AUTO_RESET: 'true',
|
|
385
260
|
};
|
|
386
261
|
const env = {
|
|
387
262
|
...defaults,
|
|
@@ -393,127 +268,63 @@ async function startZeroCache(config, portOverride) {
|
|
|
393
268
|
ZERO_CVR_DB: cvrUrl,
|
|
394
269
|
ZERO_CHANGE_DB: cdbUrl,
|
|
395
270
|
ZERO_REPLICA_FILE: resolve(config.dataDir, 'zero-replica.db'),
|
|
396
|
-
ZERO_PORT: String(
|
|
271
|
+
ZERO_PORT: String(config.zeroPort),
|
|
397
272
|
};
|
|
398
273
|
const zeroCacheBin = resolve(zeroEntry, '..', 'cli.js');
|
|
399
274
|
if (!existsSync(zeroCacheBin)) {
|
|
400
275
|
throw new Error('zero-cache cli.js not found. install @rocicorp/zero');
|
|
401
276
|
}
|
|
402
|
-
//
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
const existing = process.env.NODE_OPTIONS || '';
|
|
406
|
-
// wasm sqlite: write shim + ESM loader to tmpdir, pass --import to intercept
|
|
407
|
-
// @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).
|
|
408
280
|
if (!config.disableWasmSqlite) {
|
|
409
|
-
const
|
|
410
|
-
const
|
|
411
|
-
env.
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
else {
|
|
415
|
-
env.NODE_OPTIONS = `--max-old-space-size=${heapMB} ${existing}`.trim();
|
|
416
|
-
}
|
|
417
|
-
// log env vars if --log-env was passed
|
|
418
|
-
if (config.logEnv) {
|
|
419
|
-
const zeroVars = Object.entries(env)
|
|
420
|
-
.filter(([key]) => key.startsWith('ZERO_') || key === 'NODE_ENV')
|
|
421
|
-
.sort(([a], [b]) => a.localeCompare(b));
|
|
422
|
-
log.orez('zero-cache env:');
|
|
423
|
-
for (const [key, value] of zeroVars) {
|
|
424
|
-
log.orez(` ${key}=${value}`);
|
|
425
|
-
}
|
|
281
|
+
const shimNodeModules = writeSqliteShim();
|
|
282
|
+
const existingNodePath = process.env.NODE_PATH || '';
|
|
283
|
+
env.NODE_PATH = existingNodePath
|
|
284
|
+
? `${shimNodeModules}:${existingNodePath}`
|
|
285
|
+
: shimNodeModules;
|
|
426
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();
|
|
427
292
|
const child = spawn(zeroCacheBin, [], {
|
|
428
293
|
env,
|
|
429
294
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
430
295
|
});
|
|
431
|
-
// zero-cache uses structured logging when piped (not a tty).
|
|
432
|
-
// multiline format: timestamp + "[" on one line, context lines, "] message" on another.
|
|
433
|
-
// single-line format: timestamp + [ context ] message, or timestamp + key=val,... message
|
|
434
|
-
// we buffer multiline blocks and extract just the message.
|
|
435
|
-
const timestampRe = /^\d{4}-\d{2}-\d{2}T[\d:.+\-Z]+\s*/;
|
|
436
|
-
let inBlock = false;
|
|
437
|
-
const zeroLog = (line) => {
|
|
438
|
-
let stripped = line.replace(timestampRe, '');
|
|
439
|
-
// start of multiline context block: line ends with "[" (possibly after timestamp)
|
|
440
|
-
if (!inBlock && /^\[?\s*$/.test(stripped)) {
|
|
441
|
-
inBlock = true;
|
|
442
|
-
return;
|
|
443
|
-
}
|
|
444
|
-
// inside multiline block: skip context lines, look for "] message"
|
|
445
|
-
if (inBlock) {
|
|
446
|
-
const closeMatch = stripped.match(/^\]\s*(.*)$/);
|
|
447
|
-
if (closeMatch) {
|
|
448
|
-
inBlock = false;
|
|
449
|
-
const msg = closeMatch[1].trim();
|
|
450
|
-
if (msg)
|
|
451
|
-
log.zero(msg);
|
|
452
|
-
}
|
|
453
|
-
// context continuation lines like "'pid=8278'," — skip
|
|
454
|
-
return;
|
|
455
|
-
}
|
|
456
|
-
// single-line: strip inline [ context ] and key=val prefixes
|
|
457
|
-
stripped = stripped.replace(/\[.*?\]\s*/g, '');
|
|
458
|
-
stripped = stripped.replace(/^(?:\w+=\S+,)*\w+=\S+\s+/, '');
|
|
459
|
-
stripped = stripped.trim();
|
|
460
|
-
if (!stripped || /^[\[\]',\s]*$/.test(stripped))
|
|
461
|
-
return;
|
|
462
|
-
log.zero(stripped);
|
|
463
|
-
};
|
|
464
296
|
child.stdout?.on('data', (data) => {
|
|
465
297
|
const lines = data.toString().trim().split('\n');
|
|
466
298
|
for (const line of lines) {
|
|
467
|
-
|
|
299
|
+
log.debug.zero(line);
|
|
468
300
|
}
|
|
469
301
|
});
|
|
470
|
-
const result = { child, env, stderrBuf: '' };
|
|
471
302
|
child.stderr?.on('data', (data) => {
|
|
472
|
-
const
|
|
473
|
-
result.stderrBuf += chunk;
|
|
474
|
-
const lines = chunk.trim().split('\n');
|
|
303
|
+
const lines = data.toString().trim().split('\n');
|
|
475
304
|
for (const line of lines) {
|
|
476
|
-
|
|
305
|
+
log.debug.zero(line);
|
|
477
306
|
}
|
|
478
307
|
});
|
|
479
308
|
child.on('exit', (code) => {
|
|
480
309
|
if (code !== 0 && code !== null) {
|
|
481
|
-
|
|
482
|
-
if (result.stderrBuf.includes('changeLog_pkey'))
|
|
483
|
-
return;
|
|
484
|
-
if (result.stderrBuf.includes('Could not locate the bindings file')) {
|
|
485
|
-
log.zero('native @rocicorp/zero-sqlite3 not found — native deps were not compiled.\n' +
|
|
486
|
-
'either:\n' +
|
|
487
|
-
' • remove --disable-wasm-sqlite to use the built-in wasm sqlite\n' +
|
|
488
|
-
' • install with native deps: bun install --trust @rocicorp/zero-sqlite3\n' +
|
|
489
|
-
' or add "trustedDependencies": ["@rocicorp/zero-sqlite3"] to package.json');
|
|
490
|
-
}
|
|
491
|
-
else {
|
|
492
|
-
const lastLines = result.stderrBuf.trim().split('\n').slice(-5).join('\n');
|
|
493
|
-
if (lastLines) {
|
|
494
|
-
log.zero(`exited with code ${code}:\n${lastLines}`);
|
|
495
|
-
}
|
|
496
|
-
else {
|
|
497
|
-
log.zero(`exited with code ${code}`);
|
|
498
|
-
}
|
|
499
|
-
}
|
|
310
|
+
log.zero(`exited with code ${code}`);
|
|
500
311
|
}
|
|
501
312
|
});
|
|
502
|
-
return
|
|
313
|
+
return child;
|
|
503
314
|
}
|
|
504
|
-
async function waitForZeroCache(config, timeoutMs =
|
|
315
|
+
async function waitForZeroCache(config, timeoutMs = 60000) {
|
|
505
316
|
const start = Date.now();
|
|
506
|
-
const url = `http://127.0.0.1:${
|
|
317
|
+
const url = `http://127.0.0.1:${config.zeroPort}/`;
|
|
507
318
|
while (Date.now() - start < timeoutMs) {
|
|
508
319
|
try {
|
|
509
320
|
const res = await fetch(url);
|
|
510
|
-
if (res.ok
|
|
321
|
+
if (res.ok)
|
|
511
322
|
return;
|
|
512
323
|
}
|
|
513
324
|
catch {
|
|
514
325
|
// not ready yet
|
|
515
326
|
}
|
|
516
|
-
await new Promise((r) => setTimeout(r,
|
|
327
|
+
await new Promise((r) => setTimeout(r, 500));
|
|
517
328
|
}
|
|
518
329
|
log.zero('health check timed out, continuing anyway');
|
|
519
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;
|
|
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":"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;
|
|
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"}
|
package/dist/mutex.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutex.d.ts","sourceRoot":"","sources":["../src/mutex.ts"],"names":[],"mappings":"
|
|
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"}
|