@peerbit/indexer-sqlite3 1.3.0 → 1.3.2

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 +1 @@
1
- {"version":3,"file":"sqlite3.wasm.d.ts","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAGN,KAAK,QAAQ,IAAI,WAAW,EAC5B,KAAK,iBAAiB,IAAI,YAAY,EAEtC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACN,KAAK,SAAS,IAAI,UAAU,EAC5B,KAAK,kBAAkB,EACvB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAIzC,CAAC;AAEF,cAAM,SAAU,YAAW,UAAU;IAEnC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM;gBADV,SAAS,EAAE,YAAY,EACvB,EAAE,EAAE,MAAM;IAGd,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IAKlB,QAAQ;IAOd,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE;IAe5B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;IAKrB,KAAK;IA2BX,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;;;IAa3B,IAAI;CAGJ;AAWD,QAAA,MAAM,MAAM,GAAU,YAAY,MAAM;iBAgFrB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;gBAuCvB,MAAM;;;mBAKG,MAAM,OAAO,MAAM;aAe/B,MAAM;aAIN,MAAM,QAAQ,GAAG,EAAE;;;EAM7B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"sqlite3.wasm.d.ts","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAGN,KAAK,QAAQ,IAAI,WAAW,EAC5B,KAAK,iBAAiB,IAAI,YAAY,EACtC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACN,KAAK,SAAS,IAAI,UAAU,EAC5B,KAAK,kBAAkB,EACvB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAIzC,CAAC;AAEF,cAAM,SAAU,YAAW,UAAU;IAEnC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM;gBADV,SAAS,EAAE,YAAY,EACvB,EAAE,EAAE,MAAM;IAGd,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IAKlB,QAAQ;IAOd,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE;IAe5B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;IAKrB,KAAK;IA2BX,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;;;IAa3B,IAAI;CAGJ;AAmDD,QAAA,MAAM,MAAM,GAAU,YAAY,MAAM;iBAsFrB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;gBA2CvB,MAAM;;;mBAKG,MAAM,OAAO,MAAM;aAe/B,MAAM;aAIN,MAAM,QAAQ,GAAG,EAAE;;;EAM7B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { BinaryReader, BinaryWriter } from "@dao-xyz/borsh";
2
2
  import { fromBase64URL, toBase64URL } from "@peerbit/crypto";
3
- import { default as sqlite3InitModule, } from "@sqlite.org/sqlite-wasm";
3
+ import {} from "@sqlite.org/sqlite-wasm";
4
4
  import { v4 as uuid } from "uuid";
5
5
  import {} from "./types.js";
6
6
  export const encodeName = (name) => {
@@ -91,12 +91,42 @@ class Statement {
91
91
  const log = (...args) => console.log(...args);
92
92
  // eslint-disable-next-line no-console
93
93
  const error = (...args) => console.error(...args);
94
+ const SQLITE3_ASSET_BASE = "/peerbit/sqlite3";
95
+ const SQLITE3_ASSET_DIR = `${SQLITE3_ASSET_BASE}/`;
96
+ const SQLITE3_WASM_PATH = `${SQLITE3_ASSET_BASE}/sqlite3.wasm`;
97
+ let sqlite3InitModulePromise;
98
+ const ensureSqlite3InitModuleState = () => {
99
+ const globalWithSqlite = globalThis;
100
+ const existing = globalWithSqlite.sqlite3InitModuleState ?? {};
101
+ const debugModule = typeof existing.debugModule === "function"
102
+ ? existing.debugModule
103
+ : () => { };
104
+ existing.debugModule = debugModule;
105
+ existing.wasmFilename = SQLITE3_WASM_PATH;
106
+ existing.sqlite3Dir = SQLITE3_ASSET_DIR;
107
+ globalWithSqlite.sqlite3InitModuleState = existing;
108
+ };
109
+ const loadSqlite3InitModule = async () => {
110
+ if (!sqlite3InitModulePromise) {
111
+ sqlite3InitModulePromise = import("@sqlite.org/sqlite-wasm").then((mod) => mod.default);
112
+ }
113
+ const sqlite3InitModule = await sqlite3InitModulePromise;
114
+ // sqlite-wasm reads sqlite3InitModuleState when sqlite3InitModule() runs.
115
+ ensureSqlite3InitModuleState();
116
+ return sqlite3InitModule;
117
+ };
94
118
  let poolUtil = undefined;
95
119
  let sqlite3 = undefined;
96
120
  const create = async (directory) => {
97
121
  let statements = new Map();
122
+ const sqlite3InitModule = await loadSqlite3InitModule();
98
123
  sqlite3 =
99
- sqlite3 || (await sqlite3InitModule({ print: log, printErr: error }));
124
+ sqlite3 ||
125
+ (await sqlite3InitModule({
126
+ print: log,
127
+ printErr: error,
128
+ locateFile: (file) => `${SQLITE3_ASSET_BASE}/${file}`,
129
+ }));
100
130
  let sqliteDb = undefined;
101
131
  let closeInternal = async () => {
102
132
  await Promise.all([...statements.values()].map((x) => x.finalize?.()));
@@ -188,17 +218,20 @@ const create = async (directory) => {
188
218
  directory = directory.replace(/^\./, "");
189
219
  dbFileName = `${directory}/db.sqlite`;
190
220
  const poolDirectory = `${directory}/peerbit/sqlite-opfs-pool`; // we do a unique directory else we will get problem open a client in multiple tabs
191
- poolUtil =
192
- poolUtil ||
193
- (await sqlite3.installOpfsSAHPoolVfs({
194
- directory: poolDirectory,
195
- }));
196
- await poolUtil.reserveMinimumCapacity(100);
197
- sqliteDb = new poolUtil.OpfsSAHPoolDb(dbFileName);
221
+ const activePoolUtil = poolUtil ||
222
+ (await sqlite3.installOpfsSAHPoolVfs({
223
+ directory: poolDirectory,
224
+ }));
225
+ poolUtil = activePoolUtil;
226
+ await activePoolUtil.reserveMinimumCapacity(100);
227
+ sqliteDb = new activePoolUtil.OpfsSAHPoolDb(dbFileName);
198
228
  }
199
229
  else {
200
230
  sqliteDb = new sqlite3.oo1.DB(":memory:");
201
231
  }
232
+ if (!sqliteDb) {
233
+ throw new Error("Failed to open sqlite database");
234
+ }
202
235
  sqliteDb.exec("PRAGMA journal_mode = WAL");
203
236
  sqliteDb.exec("PRAGMA foreign_keys = on");
204
237
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite3.wasm.js","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite3.wasm.js","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/indexer-sqlite3",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "SQLite index for document store",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -59,9 +59,9 @@
59
59
  "author": "dao.xyz",
60
60
  "license": "MIT",
61
61
  "dependencies": {
62
- "better-sqlite3": "^12.4.1",
62
+ "better-sqlite3": "^12.5.0",
63
63
  "@dao-xyz/borsh": "^6.0.0",
64
- "@sqlite.org/sqlite-wasm": "^3.51.1-build1",
64
+ "@sqlite.org/sqlite-wasm": "^3.51.1-build2",
65
65
  "p-defer": "^4.0.0",
66
66
  "uint8arrays": "^5.1.0",
67
67
  "uuid": "^10.0.0",
@@ -5,7 +5,6 @@ import {
5
5
  type SAHPoolUtil,
6
6
  type Database as SQLDatabase,
7
7
  type PreparedStatement as SQLStatement,
8
- default as sqlite3InitModule,
9
8
  } from "@sqlite.org/sqlite-wasm";
10
9
  import { v4 as uuid } from "uuid";
11
10
  import type { BindableValue } from "./schema.js";
@@ -115,15 +114,61 @@ const log = (...args: any) => console.log(...args);
115
114
  // eslint-disable-next-line no-console
116
115
  const error = (...args: any) => console.error(...args);
117
116
 
117
+ type Sqlite3InitModule = typeof import("@sqlite.org/sqlite-wasm").default;
118
+ type Sqlite3Module = Awaited<ReturnType<Sqlite3InitModule>>;
119
+ type Sqlite3InitModuleState = {
120
+ debugModule?: (...args: unknown[]) => void;
121
+ wasmFilename?: string;
122
+ sqlite3Dir?: string;
123
+ };
124
+
125
+ const SQLITE3_ASSET_BASE = "/peerbit/sqlite3";
126
+ const SQLITE3_ASSET_DIR = `${SQLITE3_ASSET_BASE}/`;
127
+ const SQLITE3_WASM_PATH = `${SQLITE3_ASSET_BASE}/sqlite3.wasm`;
128
+
129
+ let sqlite3InitModulePromise: Promise<Sqlite3InitModule> | undefined;
130
+
131
+ const ensureSqlite3InitModuleState = () => {
132
+ const globalWithSqlite = globalThis as typeof globalThis & {
133
+ sqlite3InitModuleState?: Sqlite3InitModuleState;
134
+ };
135
+ const existing = globalWithSqlite.sqlite3InitModuleState ?? {};
136
+ const debugModule =
137
+ typeof existing.debugModule === "function"
138
+ ? existing.debugModule
139
+ : () => {};
140
+ existing.debugModule = debugModule;
141
+ existing.wasmFilename = SQLITE3_WASM_PATH;
142
+ existing.sqlite3Dir = SQLITE3_ASSET_DIR;
143
+ globalWithSqlite.sqlite3InitModuleState = existing;
144
+ };
145
+
146
+ const loadSqlite3InitModule = async (): Promise<Sqlite3InitModule> => {
147
+ if (!sqlite3InitModulePromise) {
148
+ sqlite3InitModulePromise = import("@sqlite.org/sqlite-wasm").then(
149
+ (mod) => mod.default,
150
+ );
151
+ }
152
+ const sqlite3InitModule = await sqlite3InitModulePromise;
153
+ // sqlite-wasm reads sqlite3InitModuleState when sqlite3InitModule() runs.
154
+ ensureSqlite3InitModuleState();
155
+ return sqlite3InitModule;
156
+ };
157
+
118
158
  let poolUtil: SAHPoolUtil | undefined = undefined;
119
- let sqlite3: Awaited<ReturnType<typeof sqlite3InitModule>> | undefined =
120
- undefined;
159
+ let sqlite3: Sqlite3Module | undefined = undefined;
121
160
 
122
161
  const create = async (directory?: string) => {
123
162
  let statements: Map<string, Statement> = new Map();
124
163
 
164
+ const sqlite3InitModule = await loadSqlite3InitModule();
125
165
  sqlite3 =
126
- sqlite3 || (await sqlite3InitModule({ print: log, printErr: error }));
166
+ sqlite3 ||
167
+ (await sqlite3InitModule({
168
+ print: log,
169
+ printErr: error,
170
+ locateFile: (file: string) => `${SQLITE3_ASSET_BASE}/${file}`,
171
+ }));
127
172
  let sqliteDb: OpfsSAHPoolDatabase | SQLDatabase | undefined = undefined;
128
173
  let closeInternal = async () => {
129
174
  await Promise.all([...statements.values()].map((x) => x.finalize?.()));
@@ -220,18 +265,22 @@ const create = async (directory?: string) => {
220
265
 
221
266
  dbFileName = `${directory}/db.sqlite`;
222
267
  const poolDirectory = `${directory}/peerbit/sqlite-opfs-pool`; // we do a unique directory else we will get problem open a client in multiple tabs
223
- poolUtil =
268
+ const activePoolUtil =
224
269
  poolUtil ||
225
270
  (await sqlite3!.installOpfsSAHPoolVfs({
226
271
  directory: poolDirectory,
227
272
  }));
273
+ poolUtil = activePoolUtil;
228
274
 
229
- await poolUtil.reserveMinimumCapacity(100);
230
- sqliteDb = new poolUtil.OpfsSAHPoolDb(dbFileName);
275
+ await activePoolUtil.reserveMinimumCapacity(100);
276
+ sqliteDb = new activePoolUtil.OpfsSAHPoolDb(dbFileName);
231
277
  } else {
232
278
  sqliteDb = new sqlite3!.oo1.DB(":memory:");
233
279
  }
234
280
 
281
+ if (!sqliteDb) {
282
+ throw new Error("Failed to open sqlite database");
283
+ }
235
284
  sqliteDb.exec("PRAGMA journal_mode = WAL");
236
285
  sqliteDb.exec("PRAGMA foreign_keys = on");
237
286
  };