orez 0.2.34 → 0.3.1

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.
@@ -126,7 +126,7 @@ const ZERO_START_PARAMS = [
126
126
  '-c',
127
127
  'maintenance_work_mem=512kB',
128
128
  '-c',
129
- 'temp_buffers=400kB',
129
+ 'temp_buffers=800kB',
130
130
  '-c',
131
131
  'max_connections=1',
132
132
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"zero-cache-embed.d.ts","sourceRoot":"","sources":["../../src/worker/zero-cache-embed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAA;IAEd,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAA;IAElB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;IAEb,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAA;IAEhB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAA;IAEnB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IAEvB,iDAAiD;IACjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAgMzB"}
1
+ {"version":3,"file":"zero-cache-embed.d.ts","sourceRoot":"","sources":["../../src/worker/zero-cache-embed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAA;IAEd,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAA;IAElB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;IAEb,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAA;IAEhB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAA;IAEnB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IAEvB,iDAAiD;IACjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAqMzB"}
@@ -23,6 +23,7 @@
23
23
  */
24
24
  import EventEmitter from 'node:events';
25
25
  import { resolve } from 'node:path';
26
+ import { disableZeroLitestreamRestore } from '../zero-litestream-patch.js';
26
27
  /**
27
28
  * start zero-cache in embedded (in-process) mode.
28
29
  *
@@ -109,6 +110,10 @@ export async function startZeroCacheEmbed(opts) {
109
110
  return Reflect.get(target, prop, receiver);
110
111
  },
111
112
  });
113
+ // orez owns the replica on disk and has no litestream backup; stop zero 1.5's
114
+ // change-streamer from erroring + resyncing on every restart. must run before
115
+ // the dynamic import below pulls in the litestream commands module.
116
+ disableZeroLitestreamRestore();
112
117
  // import and start zero-cache's runner
113
118
  let runWorkerFn;
114
119
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"zero-cache-embed.js","sourceRoot":"","sources":["../../src/worker/zero-cache-embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zero-cache-embed.js","sourceRoot":"","sources":["../../src/worker/zero-cache-embed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * neutralize zero-cache's litestream replica restore for orez.
3
+ *
4
+ * zero 1.5's dedicated change-streamer worker unconditionally calls
5
+ * `restoreReplica()` on startup whenever the change-log already has rows
6
+ * (i.e. on every restart after the first replication). it assumes a litestream
7
+ * backup exists to restore the SQLite replica from. orez has no litestream
8
+ * backup — it owns the replica on disk directly — so the restore throws
9
+ * "Missing --litestream-executable" (or "Missing required value" for the backup
10
+ * URL), which zero logs as an error and "recovers" from by wastefully
11
+ * re-syncing the entire replica from scratch.
12
+ *
13
+ * the correct config gate doesn't exist for the dedicated change-streamer:
14
+ * - leaving litestream unconfigured -> the error above + resync.
15
+ * - setting ZERO_LITESTREAM_BACKUP_URL to satisfy the restore -> switches the
16
+ * replicator into "serving-copy" mode (VACUUM INTO a copy on every start)
17
+ * and spawns a backup worker + litestream `replicate` subprocess. wrong for
18
+ * an ephemeral dev backend.
19
+ *
20
+ * so we patch the compiled `restoreReplica` to be a no-op when no litestream
21
+ * backup URL is configured. zero's own dispatcher (`main.js`) already gates all
22
+ * backup/restore work behind `litestream.backupURL`; this brings the dedicated
23
+ * change-streamer in line. a no-op restore leaves orez's existing local replica
24
+ * in place with the purge-lock held — identical to the path where a real
25
+ * restore found a backup matching the current replica — so the change-streamer
26
+ * resumes from the local replica and releases the lock on ownership assumption.
27
+ *
28
+ * this mirrors orez's existing in-place patching of @rocicorp/zero-sqlite3
29
+ * (see sqlite-mode/apply-mode.ts). it is idempotent and only touches orez's
30
+ * own resolved @rocicorp/zero, which is what every orez launch path (node
31
+ * spawn, node in-process, and the browser bundle built from these files) loads.
32
+ */
33
+ /**
34
+ * patch zero-cache so the change-streamer's replica restore is a no-op when
35
+ * no litestream backup is configured. idempotent and safe to call on every
36
+ * startup.
37
+ */
38
+ export declare function disableZeroLitestreamRestore(): void;
39
+ //# sourceMappingURL=zero-litestream-patch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zero-litestream-patch.d.ts","sourceRoot":"","sources":["../src/zero-litestream-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAwCH;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAmBnD"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * neutralize zero-cache's litestream replica restore for orez.
3
+ *
4
+ * zero 1.5's dedicated change-streamer worker unconditionally calls
5
+ * `restoreReplica()` on startup whenever the change-log already has rows
6
+ * (i.e. on every restart after the first replication). it assumes a litestream
7
+ * backup exists to restore the SQLite replica from. orez has no litestream
8
+ * backup — it owns the replica on disk directly — so the restore throws
9
+ * "Missing --litestream-executable" (or "Missing required value" for the backup
10
+ * URL), which zero logs as an error and "recovers" from by wastefully
11
+ * re-syncing the entire replica from scratch.
12
+ *
13
+ * the correct config gate doesn't exist for the dedicated change-streamer:
14
+ * - leaving litestream unconfigured -> the error above + resync.
15
+ * - setting ZERO_LITESTREAM_BACKUP_URL to satisfy the restore -> switches the
16
+ * replicator into "serving-copy" mode (VACUUM INTO a copy on every start)
17
+ * and spawns a backup worker + litestream `replicate` subprocess. wrong for
18
+ * an ephemeral dev backend.
19
+ *
20
+ * so we patch the compiled `restoreReplica` to be a no-op when no litestream
21
+ * backup URL is configured. zero's own dispatcher (`main.js`) already gates all
22
+ * backup/restore work behind `litestream.backupURL`; this brings the dedicated
23
+ * change-streamer in line. a no-op restore leaves orez's existing local replica
24
+ * in place with the purge-lock held — identical to the path where a real
25
+ * restore found a backup matching the current replica — so the change-streamer
26
+ * resumes from the local replica and releases the lock on ownership assumption.
27
+ *
28
+ * this mirrors orez's existing in-place patching of @rocicorp/zero-sqlite3
29
+ * (see sqlite-mode/apply-mode.ts). it is idempotent and only touches orez's
30
+ * own resolved @rocicorp/zero, which is what every orez launch path (node
31
+ * spawn, node in-process, and the browser bundle built from these files) loads.
32
+ */
33
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
34
+ import { dirname, resolve } from 'node:path';
35
+ import { resolvePackage } from './sqlite-mode/package-resolve.js';
36
+ const OREZ_MARKER = '/* orez: litestream restore disabled (no backup configured) */';
37
+ // the early-return guard injected at the top of restoreReplica's body. when
38
+ // no backup URL is configured there is nothing to restore, so the local
39
+ // replica is used as-is and the change-streamer resumes from it.
40
+ const GUARD = `${OREZ_MARKER}\n\tif (!config.litestream?.backupURL) return;`;
41
+ /** locate the compiled litestream commands.js inside the resolved @rocicorp/zero */
42
+ function findLitestreamCommands() {
43
+ const zeroEntry = resolvePackage('@rocicorp/zero');
44
+ if (!zeroEntry)
45
+ return null;
46
+ // zeroEntry resolves to .../@rocicorp/zero/out/zero/src/zero.js (the "main").
47
+ // walk up to the package root, then into the known compiled location.
48
+ let dir = dirname(zeroEntry);
49
+ while (dir && !existsSync(resolve(dir, 'package.json'))) {
50
+ const parent = resolve(dir, '..');
51
+ if (parent === dir)
52
+ break;
53
+ dir = parent;
54
+ }
55
+ const commandsPath = resolve(dir, 'out', 'zero-cache', 'src', 'services', 'litestream', 'commands.js');
56
+ return existsSync(commandsPath) ? commandsPath : null;
57
+ }
58
+ /**
59
+ * patch zero-cache so the change-streamer's replica restore is a no-op when
60
+ * no litestream backup is configured. idempotent and safe to call on every
61
+ * startup.
62
+ */
63
+ export function disableZeroLitestreamRestore() {
64
+ const commandsPath = findLitestreamCommands();
65
+ if (!commandsPath)
66
+ return;
67
+ const content = readFileSync(commandsPath, 'utf-8');
68
+ if (content.includes(OREZ_MARKER))
69
+ return; // already patched
70
+ const anchor = 'async function restoreReplica(lc, config, replicaConstraints) {';
71
+ if (!content.includes(anchor)) {
72
+ // upstream shape changed — fail loudly rather than silently leaving the
73
+ // restore enabled, so the patch can be updated to match.
74
+ throw new Error(`orez: could not patch zero-cache litestream restore — restoreReplica signature not found in ${commandsPath}. ` +
75
+ `@rocicorp/zero may have changed; update zero-litestream-patch.ts.`);
76
+ }
77
+ const patched = content.replace(anchor, `${anchor}\n\t${GUARD}`);
78
+ writeFileSync(commandsPath, patched);
79
+ }
80
+ //# sourceMappingURL=zero-litestream-patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zero-litestream-patch.js","sourceRoot":"","sources":["../src/zero-litestream-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAEjE,MAAM,WAAW,GAAG,gEAAgE,CAAA;AAEpF,4EAA4E;AAC5E,wEAAwE;AACxE,iEAAiE;AACjE,MAAM,KAAK,GAAG,GAAG,WAAW,gDAAgD,CAAA;AAE5E,oFAAoF;AACpF,SAAS,sBAAsB;IAC7B,MAAM,SAAS,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAA;IAClD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAE3B,8EAA8E;IAC9E,sEAAsE;IACtE,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAK;QACzB,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EACH,KAAK,EACL,YAAY,EACZ,KAAK,EACL,UAAU,EACV,YAAY,EACZ,aAAa,CACd,CAAA;IACD,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAA;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IAC1C,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAA;IAC7C,IAAI,CAAC,YAAY;QAAE,OAAM;IAEzB,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACnD,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAM,CAAC,kBAAkB;IAE5D,MAAM,MAAM,GAAG,iEAAiE,CAAA;IAChF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,IAAI,KAAK,CACb,+FAA+F,YAAY,IAAI;YAC7G,mEAAmE,CACtE,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,OAAO,KAAK,EAAE,CAAC,CAAA;IAChE,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez",
3
- "version": "0.2.34",
3
+ "version": "0.3.1",
4
4
  "description": "PGlite-powered zero-sync development backend. No Docker required.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -87,7 +87,7 @@
87
87
  "@electric-sql/pglite": "0.4.1",
88
88
  "@electric-sql/pglite-tools": "^0.3.1",
89
89
  "@pgsql/traverse": "17.2.6",
90
- "bedrock-sqlite": "0.2.34",
90
+ "bedrock-sqlite": "0.3.1",
91
91
  "citty": "^0.2.0",
92
92
  "pg-gateway": "0.3.0-beta.4",
93
93
  "pgsql-parser": "^17.9.11",
@@ -103,8 +103,8 @@
103
103
  }
104
104
  },
105
105
  "devDependencies": {
106
- "@rocicorp/zero": "1.2.0",
107
- "@rocicorp/zero-sqlite3": "^1.0.15",
106
+ "@rocicorp/zero": "1.5.0",
107
+ "@rocicorp/zero-sqlite3": "1.0.18",
108
108
  "@types/node": "^22.0.0",
109
109
  "@types/ws": "^8.18.1",
110
110
  "oxfmt": "latest",