reflectdb 0.1.1 → 0.1.3

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,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1191,7 +1190,7 @@ function pushSafely(client) {
1191
1190
  }
1192
1191
 
1193
1192
  // src/react/context.tsx
1194
- var jsx_dev_runtime = require("react/jsx-dev-runtime");
1193
+ var jsx_runtime = require("react/jsx-runtime");
1195
1194
  var SyncContext = import_react.createContext(null);
1196
1195
  function createBrowserWsTransport(url) {
1197
1196
  let ws = null;
@@ -1307,10 +1306,10 @@ function SyncProvider({
1307
1306
  }, [url, clientId, storage, managedTables]);
1308
1307
  if (!ctx)
1309
1308
  return null;
1310
- return /* @__PURE__ */ jsx_dev_runtime.jsxDEV(SyncContext.Provider, {
1309
+ return /* @__PURE__ */ jsx_runtime.jsx(SyncContext.Provider, {
1311
1310
  value: ctx,
1312
1311
  children
1313
- }, undefined, false, undefined, this);
1312
+ });
1314
1313
  }
1315
1314
  function useSyncClient() {
1316
1315
  const ctx = import_react.useContext(SyncContext);
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -45,7 +44,20 @@ __export(exports_drizzle, {
45
44
  drizzleTxAtomic: () => drizzleTxAtomic
46
45
  });
47
46
  module.exports = __toCommonJS(exports_drizzle);
48
- var import_node_module2 = require("node:module");
47
+
48
+ // src/server/node-require.ts
49
+ var cached;
50
+ function nodeRequire(id) {
51
+ if (!cached) {
52
+ const proc = globalThis.process;
53
+ const mod = proc?.getBuiltinModule?.("node:module");
54
+ if (!mod?.createRequire) {
55
+ throw new Error(`Cannot resolve "${id}": this runtime has no CommonJS resolver (process.getBuiltinModule is unavailable). reflectdb requires Node >= 22.3 or Bun >= 1.1.30 on the server.`);
56
+ }
57
+ cached = mod.createRequire(module.filename);
58
+ }
59
+ return cached(id);
60
+ }
49
61
 
50
62
  // src/server/factory.ts
51
63
  function getByDottedPath(root, path) {
@@ -272,12 +284,11 @@ function defineTable(adapter, opts = {}) {
272
284
  }
273
285
 
274
286
  // src/server/drizzle.ts
275
- var requireFn = import_node_module2.createRequire(module.filename);
276
287
  var cachedDrizzle;
277
288
  function loadDrizzleSync() {
278
289
  if (cachedDrizzle === undefined) {
279
290
  try {
280
- const mod = requireFn("drizzle-orm");
291
+ const mod = nodeRequire("drizzle-orm");
281
292
  cachedDrizzle = { eq: mod.eq, sql: mod.sql, getTableName: mod.getTableName };
282
293
  } catch {
283
294
  cachedDrizzle = null;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -111,7 +110,20 @@ __export(exports_drizzle, {
111
110
  drizzleTxAtomic: () => drizzleTxAtomic
112
111
  });
113
112
  module.exports = __toCommonJS(exports_drizzle);
114
- var import_node_module2 = require("node:module");
113
+
114
+ // src/server/node-require.ts
115
+ var cached;
116
+ function nodeRequire(id) {
117
+ if (!cached) {
118
+ const proc = globalThis.process;
119
+ const mod = proc?.getBuiltinModule?.("node:module");
120
+ if (!mod?.createRequire) {
121
+ throw new Error(`Cannot resolve "${id}": this runtime has no CommonJS resolver (process.getBuiltinModule is unavailable). reflectdb requires Node >= 22.3 or Bun >= 1.1.30 on the server.`);
122
+ }
123
+ cached = mod.createRequire(module.filename);
124
+ }
125
+ return cached(id);
126
+ }
115
127
 
116
128
  // src/server/factory.ts
117
129
  function getByDottedPath(root, path) {
@@ -338,12 +350,11 @@ function defineTable(adapter, opts = {}) {
338
350
  }
339
351
 
340
352
  // src/server/drizzle.ts
341
- var requireFn = import_node_module2.createRequire(module.filename);
342
353
  var cachedDrizzle;
343
354
  function loadDrizzleSync() {
344
355
  if (cachedDrizzle === undefined) {
345
356
  try {
346
- const mod = requireFn("drizzle-orm");
357
+ const mod = nodeRequire("drizzle-orm");
347
358
  cachedDrizzle = { eq: mod.eq, sql: mod.sql, getTableName: mod.getTableName };
348
359
  } catch {
349
360
  cachedDrizzle = null;
@@ -1664,9 +1675,9 @@ class OpProcessor {
1664
1675
  return { freshOpIds, rows };
1665
1676
  }
1666
1677
  async readRow(table, rowId, batchCtx) {
1667
- const cached = batchCtx?.rows.get(OpProcessor.rowKey(table, rowId));
1668
- if (cached)
1669
- return cached;
1678
+ const cached2 = batchCtx?.rows.get(OpProcessor.rowKey(table, rowId));
1679
+ if (cached2)
1680
+ return cached2;
1670
1681
  if (!this.storage)
1671
1682
  return { row: null, rowHlc: null, colClocks: {} };
1672
1683
  const existing = await this.storage.getRow(table, rowId);
@@ -3090,11 +3101,11 @@ class MessageHandler {
3090
3101
  return;
3091
3102
  if (this.authCallback) {
3092
3103
  try {
3093
- const cached = this.authCache.get(message.token);
3104
+ const cached2 = this.authCache.get(message.token);
3094
3105
  let auth;
3095
3106
  const now = Date.now();
3096
- if (cached && cached.expiresAt > now) {
3097
- auth = cached.auth;
3107
+ if (cached2 && cached2.expiresAt > now) {
3108
+ auth = cached2.auth;
3098
3109
  } else {
3099
3110
  const req = new Request("https://sync/ops", {
3100
3111
  headers: { authorization: `Bearer ${message.token}` }
@@ -3900,11 +3911,9 @@ function parseDuration(str) {
3900
3911
  init_types();
3901
3912
 
3902
3913
  // src/server/storage/sqlite.ts
3903
- var import_node_module3 = require("node:module");
3904
- var requireFn2 = import_node_module3.createRequire(module.filename);
3905
3914
  function loadDatabase() {
3906
3915
  try {
3907
- return requireFn2("bun:sqlite").Database;
3916
+ return nodeRequire("bun:sqlite").Database;
3908
3917
  } catch {
3909
3918
  throw new Error("createSqliteStorage requires the Bun runtime (bun:sqlite is unavailable). Use createPostgresStorage on Node.");
3910
3919
  }
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,3 @@
1
- var import_node_module = require("node:module");
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -6,7 +6,7 @@ import {
6
6
  } from "../shared/esm-8qbr4y0d.js";
7
7
  import"../shared/esm-rw7jjtrv.js";
8
8
  import"../shared/esm-3tkwvysa.js";
9
- import"../shared/esm-k7kedp3y.js";
9
+ import"../shared/esm-g5h4a88j.js";
10
10
  // src/client/storage/memory.ts
11
11
  function createMemoryStorage() {
12
12
  const rows = new Map;
@@ -1,4 +1,4 @@
1
- import"../../shared/esm-k7kedp3y.js";
1
+ import"../../shared/esm-g5h4a88j.js";
2
2
 
3
3
  // src/client/storage/indexeddb.ts
4
4
  function createIndexedDBStorage(config) {
@@ -18,7 +18,7 @@ import {
18
18
  isErrorReason,
19
19
  reasonFromError
20
20
  } from "../shared/esm-3tkwvysa.js";
21
- import"../shared/esm-k7kedp3y.js";
21
+ import"../shared/esm-g5h4a88j.js";
22
22
  // src/core/schema.ts
23
23
  function view(opts) {
24
24
  return { __view: true, ...opts };
@@ -4,11 +4,11 @@ import {
4
4
  } from "../shared/esm-8qbr4y0d.js";
5
5
  import"../shared/esm-rw7jjtrv.js";
6
6
  import"../shared/esm-3tkwvysa.js";
7
- import"../shared/esm-k7kedp3y.js";
7
+ import"../shared/esm-g5h4a88j.js";
8
8
 
9
9
  // src/react/context.tsx
10
10
  import { createContext, useContext, useEffect, useMemo, useRef, useState } from "react";
11
- import { jsxDEV } from "react/jsx-dev-runtime";
11
+ import { jsx } from "react/jsx-runtime";
12
12
  var SyncContext = createContext(null);
13
13
  function createBrowserWsTransport(url) {
14
14
  let ws = null;
@@ -124,10 +124,10 @@ function SyncProvider({
124
124
  }, [url, clientId, storage, managedTables]);
125
125
  if (!ctx)
126
126
  return null;
127
- return /* @__PURE__ */ jsxDEV(SyncContext.Provider, {
127
+ return /* @__PURE__ */ jsx(SyncContext.Provider, {
128
128
  value: ctx,
129
129
  children
130
- }, undefined, false, undefined, this);
130
+ });
131
131
  }
132
132
  function useSyncClient() {
133
133
  const ctx = useContext(SyncContext);
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  drizzleTable,
3
3
  drizzleTxAtomic
4
- } from "../shared/esm-z1xse19c.js";
5
- import"../shared/esm-k7kedp3y.js";
4
+ } from "../shared/esm-77ndhmpv.js";
5
+ import"../shared/esm-g5h4a88j.js";
6
6
  export {
7
7
  drizzleTable,
8
8
  drizzleTxAtomic
@@ -2,7 +2,7 @@ import {
2
2
  EphemeralManager,
3
3
  createMemoryEphemeral
4
4
  } from "../../shared/esm-g0marxk7.js";
5
- import"../../shared/esm-k7kedp3y.js";
5
+ import"../../shared/esm-g5h4a88j.js";
6
6
  export {
7
7
  EphemeralManager,
8
8
  createMemoryEphemeral
@@ -1,4 +1,4 @@
1
- import"../../shared/esm-k7kedp3y.js";
1
+ import"../../shared/esm-g5h4a88j.js";
2
2
 
3
3
  // src/server/ephemeral/redis.ts
4
4
  var DEFAULT_PREFIX = "reflectdb:eph";
@@ -12,8 +12,9 @@ import {
12
12
  import {
13
13
  defineTable,
14
14
  drizzleTable,
15
- drizzleTxAtomic
16
- } from "../shared/esm-z1xse19c.js";
15
+ drizzleTxAtomic,
16
+ nodeRequire
17
+ } from "../shared/esm-77ndhmpv.js";
17
18
  import {
18
19
  MAX_BATCH_SIZE,
19
20
  MAX_CLOCK_DRIFT_MS,
@@ -24,7 +25,7 @@ import {
24
25
  } from "../shared/esm-3tkwvysa.js";
25
26
  import {
26
27
  __require
27
- } from "../shared/esm-k7kedp3y.js";
28
+ } from "../shared/esm-g5h4a88j.js";
28
29
 
29
30
  // src/server/enforcement.ts
30
31
  function enforceClockDrift(hlc) {
@@ -3217,11 +3218,9 @@ function parseDuration(str) {
3217
3218
  }
3218
3219
  }
3219
3220
  // src/server/storage/sqlite.ts
3220
- import { createRequire } from "node:module";
3221
- var requireFn = createRequire(import.meta.url);
3222
3221
  function loadDatabase() {
3223
3222
  try {
3224
- return requireFn("bun:sqlite").Database;
3223
+ return nodeRequire("bun:sqlite").Database;
3225
3224
  } catch {
3226
3225
  throw new Error("createSqliteStorage requires the Bun runtime (bun:sqlite is unavailable). Use createPostgresStorage on Node.");
3227
3226
  }
@@ -3779,7 +3778,7 @@ function createSyncServer(config) {
3779
3778
  server.query(name, fn, {
3780
3779
  tables,
3781
3780
  mutate: async () => {
3782
- const { MutationError: MutationError2 } = await import("../shared/esm-ck88h30s.js");
3781
+ const { MutationError: MutationError2 } = await import("../shared/esm-xtkhzxg2.js");
3783
3782
  throw new MutationError2("readonly_query", `"${name}" is a view and is read-only`);
3784
3783
  }
3785
3784
  });
@@ -1,5 +1,16 @@
1
- // src/server/drizzle.ts
2
- import { createRequire } from "node:module";
1
+ // src/server/node-require.ts
2
+ var cached;
3
+ function nodeRequire(id) {
4
+ if (!cached) {
5
+ const proc = globalThis.process;
6
+ const mod = proc?.getBuiltinModule?.("node:module");
7
+ if (!mod?.createRequire) {
8
+ throw new Error(`Cannot resolve "${id}": this runtime has no CommonJS resolver (process.getBuiltinModule is unavailable). reflectdb requires Node >= 22.3 or Bun >= 1.1.30 on the server.`);
9
+ }
10
+ cached = mod.createRequire(import.meta.url);
11
+ }
12
+ return cached(id);
13
+ }
3
14
 
4
15
  // src/server/factory.ts
5
16
  function getByDottedPath(root, path) {
@@ -226,12 +237,11 @@ function defineTable(adapter, opts = {}) {
226
237
  }
227
238
 
228
239
  // src/server/drizzle.ts
229
- var requireFn = createRequire(import.meta.url);
230
240
  var cachedDrizzle;
231
241
  function loadDrizzleSync() {
232
242
  if (cachedDrizzle === undefined) {
233
243
  try {
234
- const mod = requireFn("drizzle-orm");
244
+ const mod = nodeRequire("drizzle-orm");
235
245
  cachedDrizzle = { eq: mod.eq, sql: mod.sql, getTableName: mod.getTableName };
236
246
  } catch {
237
247
  cachedDrizzle = null;
@@ -366,4 +376,4 @@ var drizzleTxAtomic = {
366
376
  }
367
377
  };
368
378
 
369
- export { defineTable, drizzleTable, drizzleTxAtomic };
379
+ export { nodeRequire, defineTable, drizzleTable, drizzleTxAtomic };
@@ -0,0 +1,9 @@
1
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
2
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
3
+ }) : x)(function(x) {
4
+ if (typeof require !== "undefined")
5
+ return require.apply(this, arguments);
6
+ throw Error('Dynamic require of "' + x + '" is not supported');
7
+ });
8
+
9
+ export { __require };
@@ -10,7 +10,7 @@ import {
10
10
  isErrorReason,
11
11
  reasonFromError
12
12
  } from "./esm-3tkwvysa.js";
13
- import"./esm-k7kedp3y.js";
13
+ import"./esm-g5h4a88j.js";
14
14
  export {
15
15
  MAX_BATCH_SIZE,
16
16
  MAX_CLOCK_DRIFT_MS,
@@ -4,7 +4,7 @@ import {
4
4
  } from "../shared/esm-8qbr4y0d.js";
5
5
  import"../shared/esm-rw7jjtrv.js";
6
6
  import"../shared/esm-3tkwvysa.js";
7
- import"../shared/esm-k7kedp3y.js";
7
+ import"../shared/esm-g5h4a88j.js";
8
8
 
9
9
  // src/svelte/stores.ts
10
10
  function createBrowserWsTransport(url) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TransportSendError
3
3
  } from "../shared/esm-3tkwvysa.js";
4
- import"../shared/esm-k7kedp3y.js";
4
+ import"../shared/esm-g5h4a88j.js";
5
5
 
6
6
  // src/transport/bun-ws.ts
7
7
  function trySend(clientId, ws, data, maxBufferedBytes) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TransportSendError
3
3
  } from "../shared/esm-3tkwvysa.js";
4
- import"../shared/esm-k7kedp3y.js";
4
+ import"../shared/esm-g5h4a88j.js";
5
5
 
6
6
  // src/transport/polling.ts
7
7
  function pollingBodyTooLarge(body, limit = 1e6) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TransportSendError
3
3
  } from "../shared/esm-3tkwvysa.js";
4
- import"../shared/esm-k7kedp3y.js";
4
+ import"../shared/esm-g5h4a88j.js";
5
5
 
6
6
  // src/transport/sse.ts
7
7
  function createSseServerTransport(cfg = {}) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TransportSendError
3
3
  } from "../shared/esm-3tkwvysa.js";
4
- import"../shared/esm-k7kedp3y.js";
4
+ import"../shared/esm-g5h4a88j.js";
5
5
 
6
6
  // src/transport/ws.ts
7
7
  function trySend(clientId, ws, data, maxBufferedBytes) {
@@ -4,7 +4,7 @@ import {
4
4
  } from "../shared/esm-8qbr4y0d.js";
5
5
  import"../shared/esm-rw7jjtrv.js";
6
6
  import"../shared/esm-3tkwvysa.js";
7
- import"../shared/esm-k7kedp3y.js";
7
+ import"../shared/esm-g5h4a88j.js";
8
8
 
9
9
  // src/vanilla/sync.ts
10
10
  function createBrowserWsTransport(url) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reflectdb",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Real-time sync engine for TypeScript — a server database and offline-first browser clients stay in sync, with optimistic writes and typed queries.",
5
5
  "keywords": [
6
6
  "bun",
@@ -218,19 +218,21 @@
218
218
  "access": "public"
219
219
  },
220
220
  "scripts": {
221
- "build": "bunup --filter esm && bunup --filter cjs",
221
+ "build": "NODE_ENV=production bunup --filter esm && NODE_ENV=production bunup --filter cjs && bun run verify:jsx",
222
222
  "format": "oxfmt",
223
223
  "lint": "oxlint",
224
224
  "prepare": "bun simple-git-hooks",
225
225
  "release": "bumpp --commit --push --tag",
226
226
  "test": "bun test",
227
227
  "test:coverage": "bun test --coverage",
228
- "test:watch": "bun test --watch",
229
- "test:ui": "bun test/ui/server.tsx",
230
228
  "test:sync": "bun test/ui/test-sync.ts",
229
+ "test:ui": "bun test/ui/server.tsx",
230
+ "test:watch": "bun test --watch",
231
231
  "type-check": "tsc --noEmit",
232
232
  "verify:exports": "bun scripts/verify-exports.ts",
233
- "verify:node": "bun scripts/verify-node-consumer.ts"
233
+ "verify:jsx": "bun scripts/verify-jsx.ts",
234
+ "verify:node": "bun scripts/verify-node-consumer.ts",
235
+ "verify:presence": "bun scripts/verify-presence.ts"
234
236
  },
235
237
  "devDependencies": {
236
238
  "@types/bun": "^1.3.10",
@@ -269,6 +271,6 @@
269
271
  "pre-commit": "bun run lint && bun run type-check"
270
272
  },
271
273
  "engines": {
272
- "node": ">=22"
274
+ "node": ">=22.3"
273
275
  }
274
276
  }
@@ -1,4 +0,0 @@
1
- import { createRequire } from "node:module";
2
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
3
-
4
- export { __require };