@livestore/sqlite-wasm 0.4.0-dev.1 → 0.4.0-dev.10

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 (80) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/browser/mod.d.ts +1 -0
  3. package/dist/browser/mod.d.ts.map +1 -1
  4. package/dist/browser/mod.js.map +1 -1
  5. package/dist/browser/opfs/AccessHandlePoolVFS.d.ts +17 -0
  6. package/dist/browser/opfs/AccessHandlePoolVFS.d.ts.map +1 -1
  7. package/dist/browser/opfs/AccessHandlePoolVFS.js +72 -1
  8. package/dist/browser/opfs/AccessHandlePoolVFS.js.map +1 -1
  9. package/dist/cf/BlockManager.d.ts +61 -0
  10. package/dist/cf/BlockManager.d.ts.map +1 -0
  11. package/dist/cf/BlockManager.js +157 -0
  12. package/dist/cf/BlockManager.js.map +1 -0
  13. package/dist/cf/CloudflareSqlVFS.d.ts +51 -0
  14. package/dist/cf/CloudflareSqlVFS.d.ts.map +1 -0
  15. package/dist/cf/CloudflareSqlVFS.js +351 -0
  16. package/dist/cf/CloudflareSqlVFS.js.map +1 -0
  17. package/dist/cf/CloudflareWorkerVFS.d.ts +72 -0
  18. package/dist/cf/CloudflareWorkerVFS.d.ts.map +1 -0
  19. package/dist/cf/CloudflareWorkerVFS.js +552 -0
  20. package/dist/cf/CloudflareWorkerVFS.js.map +1 -0
  21. package/dist/cf/mod.d.ts +43 -0
  22. package/dist/cf/mod.d.ts.map +1 -0
  23. package/dist/cf/mod.js +74 -0
  24. package/dist/cf/mod.js.map +1 -0
  25. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.d.ts +2 -0
  26. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.d.ts.map +1 -0
  27. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js +314 -0
  28. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js.map +1 -0
  29. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.d.ts +2 -0
  30. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.d.ts.map +1 -0
  31. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js +266 -0
  32. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js.map +1 -0
  33. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.d.ts +2 -0
  34. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.d.ts.map +1 -0
  35. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js +462 -0
  36. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js.map +1 -0
  37. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.d.ts +2 -0
  38. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.d.ts.map +1 -0
  39. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js +334 -0
  40. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js.map +1 -0
  41. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.d.ts +2 -0
  42. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.d.ts.map +1 -0
  43. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js +354 -0
  44. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js.map +1 -0
  45. package/dist/load-wasm/mod.node.d.ts.map +1 -1
  46. package/dist/load-wasm/mod.node.js +1 -2
  47. package/dist/load-wasm/mod.node.js.map +1 -1
  48. package/dist/load-wasm/mod.workerd.d.ts +2 -0
  49. package/dist/load-wasm/mod.workerd.d.ts.map +1 -0
  50. package/dist/load-wasm/mod.workerd.js +26 -0
  51. package/dist/load-wasm/mod.workerd.js.map +1 -0
  52. package/dist/make-sqlite-db.d.ts +1 -0
  53. package/dist/make-sqlite-db.d.ts.map +1 -1
  54. package/dist/make-sqlite-db.js +28 -4
  55. package/dist/make-sqlite-db.js.map +1 -1
  56. package/dist/node/NodeFS.d.ts +1 -2
  57. package/dist/node/NodeFS.d.ts.map +1 -1
  58. package/dist/node/NodeFS.js +1 -6
  59. package/dist/node/NodeFS.js.map +1 -1
  60. package/dist/node/mod.js +3 -8
  61. package/dist/node/mod.js.map +1 -1
  62. package/package.json +21 -8
  63. package/src/browser/mod.ts +1 -0
  64. package/src/browser/opfs/AccessHandlePoolVFS.ts +79 -1
  65. package/src/cf/BlockManager.ts +225 -0
  66. package/src/cf/CloudflareSqlVFS.ts +450 -0
  67. package/src/cf/CloudflareWorkerVFS.ts +664 -0
  68. package/src/cf/README.md +60 -0
  69. package/src/cf/mod.ts +143 -0
  70. package/src/cf/test/README.md +224 -0
  71. package/src/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.ts +389 -0
  72. package/src/cf/test/async-storage/cloudflare-worker-vfs-core.test.ts +322 -0
  73. package/src/cf/test/async-storage/cloudflare-worker-vfs-integration.test.ts +585 -0
  74. package/src/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.ts +403 -0
  75. package/src/cf/test/sql/cloudflare-sql-vfs-core.test.ts +433 -0
  76. package/src/load-wasm/mod.node.ts +1 -2
  77. package/src/load-wasm/mod.workerd.ts +26 -0
  78. package/src/make-sqlite-db.ts +38 -4
  79. package/src/node/NodeFS.ts +1 -9
  80. package/src/node/mod.ts +3 -10
@@ -0,0 +1,354 @@
1
+ /// <reference types="vitest/globals" />
2
+ import * as VFS from '@livestore/wa-sqlite/src/VFS.js';
3
+ import { beforeEach, describe, expect, it } from 'vitest';
4
+ import { CloudflareSqlVFS } from "../../mod.js";
5
+ describe('CloudflareSqlVFS - Core Functionality', () => {
6
+ let vfs;
7
+ let mockSql;
8
+ let mockDatabase;
9
+ let queryLog;
10
+ beforeEach(async () => {
11
+ mockDatabase = new Map();
12
+ queryLog = [];
13
+ // Mock SQL storage that mimics the Cloudflare DurableObject SQL API
14
+ mockSql = {
15
+ exec: (query, ...bindings) => {
16
+ queryLog.push(`${query} [${bindings.join(', ')}]`);
17
+ // Simple SQL parser for testing - handles basic CREATE, INSERT, SELECT, UPDATE, DELETE
18
+ const normalizedQuery = query.trim().toUpperCase();
19
+ if (normalizedQuery.includes('CREATE TABLE') ||
20
+ normalizedQuery.includes('CREATE INDEX') ||
21
+ normalizedQuery.includes('CREATE TRIGGER')) {
22
+ // Handle schema creation
23
+ return createMockCursor([]);
24
+ }
25
+ if (normalizedQuery.startsWith('INSERT OR REPLACE INTO VFS_BLOCKS')) {
26
+ const [filePath, blockId, blockData] = bindings;
27
+ const key = `blocks:${filePath}`;
28
+ if (!mockDatabase.has(key)) {
29
+ mockDatabase.set(key, []);
30
+ }
31
+ const blocks = mockDatabase.get(key);
32
+ const existingIndex = blocks.findIndex((b) => b.block_id === blockId);
33
+ const blockEntry = { file_path: filePath, block_id: blockId, block_data: blockData };
34
+ if (existingIndex >= 0) {
35
+ blocks[existingIndex] = blockEntry;
36
+ }
37
+ else {
38
+ blocks.push(blockEntry);
39
+ }
40
+ return createMockCursor([]);
41
+ }
42
+ if (normalizedQuery.startsWith('INSERT INTO VFS_FILES')) {
43
+ const [filePath, fileSize, flags, createdAt, modifiedAt] = bindings;
44
+ mockDatabase.set(`file:${filePath}`, {
45
+ file_path: filePath,
46
+ file_size: fileSize,
47
+ flags: flags,
48
+ created_at: createdAt,
49
+ modified_at: modifiedAt,
50
+ });
51
+ return createMockCursor([]);
52
+ }
53
+ if (normalizedQuery.startsWith('SELECT') && normalizedQuery.includes('FROM VFS_FILES')) {
54
+ if (normalizedQuery.includes('WHERE FILE_PATH = ?')) {
55
+ const [filePath] = bindings;
56
+ const fileData = mockDatabase.get(`file:${filePath}`);
57
+ return createMockCursor(fileData ? [fileData] : []);
58
+ }
59
+ return createMockCursor([]);
60
+ }
61
+ if (normalizedQuery.startsWith('SELECT') && normalizedQuery.includes('FROM VFS_BLOCKS')) {
62
+ if (normalizedQuery.includes('WHERE FILE_PATH = ?')) {
63
+ const filePath = bindings[0];
64
+ const blocks = mockDatabase.get(`blocks:${filePath}`) || [];
65
+ if (normalizedQuery.includes('AND BLOCK_ID IN')) {
66
+ const requestedBlockIds = bindings.slice(1);
67
+ const matchingBlocks = blocks.filter((b) => requestedBlockIds.includes(b.block_id));
68
+ return createMockCursor(matchingBlocks);
69
+ }
70
+ return createMockCursor(blocks);
71
+ }
72
+ return createMockCursor([]);
73
+ }
74
+ if (normalizedQuery.startsWith('UPDATE VFS_FILES')) {
75
+ if (normalizedQuery.includes('SET FILE_SIZE = ?')) {
76
+ const [newSize, filePath] = bindings;
77
+ const fileData = mockDatabase.get(`file:${filePath}`);
78
+ if (fileData) {
79
+ fileData.file_size = newSize;
80
+ fileData.modified_at = Math.floor(Date.now() / 1000);
81
+ }
82
+ }
83
+ return createMockCursor([]);
84
+ }
85
+ if (normalizedQuery.startsWith('DELETE FROM VFS_BLOCKS')) {
86
+ const [filePath, minBlockId] = bindings;
87
+ const blocks = mockDatabase.get(`blocks:${filePath}`);
88
+ if (blocks) {
89
+ const filteredBlocks = blocks.filter((b) => b.block_id < minBlockId);
90
+ mockDatabase.set(`blocks:${filePath}`, filteredBlocks);
91
+ }
92
+ return createMockCursor([]);
93
+ }
94
+ if (normalizedQuery.startsWith('DELETE FROM VFS_FILES')) {
95
+ const [filePath] = bindings;
96
+ mockDatabase.delete(`file:${filePath}`);
97
+ mockDatabase.delete(`blocks:${filePath}`);
98
+ return createMockCursor([]);
99
+ }
100
+ // Default empty result for unhandled queries
101
+ console.warn('Unhandled query:', query, bindings);
102
+ return createMockCursor([]);
103
+ },
104
+ get databaseSize() {
105
+ return 1024 * 1024; // Mock 1MB database
106
+ },
107
+ Cursor: {},
108
+ Statement: {},
109
+ };
110
+ function createMockCursor(data) {
111
+ let index = 0;
112
+ return {
113
+ next: () => {
114
+ if (index < data.length) {
115
+ return { done: false, value: data[index++] };
116
+ }
117
+ return { done: true };
118
+ },
119
+ toArray: () => data,
120
+ one: () => {
121
+ if (data.length === 0) {
122
+ throw new Error('No results');
123
+ }
124
+ return data[0];
125
+ },
126
+ raw: function* () {
127
+ for (const item of data) {
128
+ yield Object.values(item);
129
+ }
130
+ },
131
+ columnNames: Object.keys(data[0] || {}),
132
+ get rowsRead() {
133
+ return data.length;
134
+ },
135
+ get rowsWritten() {
136
+ return 0;
137
+ },
138
+ [Symbol.iterator]: function* () {
139
+ for (const item of data) {
140
+ yield item;
141
+ }
142
+ },
143
+ };
144
+ }
145
+ vfs = new CloudflareSqlVFS('test-sql-vfs', mockSql, {});
146
+ await vfs.isReady();
147
+ });
148
+ describe('Basic File Operations', () => {
149
+ it('should create and open files', async () => {
150
+ const path = '/test/basic.db';
151
+ const fileId = 1;
152
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
153
+ const pOutFlags = new DataView(new ArrayBuffer(4));
154
+ const result = vfs.jOpen(path, fileId, flags, pOutFlags);
155
+ expect(result).toBe(VFS.SQLITE_OK);
156
+ expect(pOutFlags.getUint32(0, true)).toBe(flags);
157
+ expect(vfs.jClose(fileId)).toBe(VFS.SQLITE_OK);
158
+ // Verify file was created in mock database
159
+ expect(mockDatabase.has(`file:${path}`)).toBe(true);
160
+ });
161
+ it('should handle file access checks', async () => {
162
+ const path = '/test/access.db';
163
+ const fileId = 1;
164
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
165
+ const pOutFlags = new DataView(new ArrayBuffer(4));
166
+ // File doesn't exist initially
167
+ const pResOut = new DataView(new ArrayBuffer(4));
168
+ expect(vfs.jAccess(path, VFS.SQLITE_ACCESS_EXISTS, pResOut)).toBe(VFS.SQLITE_OK);
169
+ expect(pResOut.getUint32(0, true)).toBe(0);
170
+ // Create file
171
+ vfs.jOpen(path, fileId, flags, pOutFlags);
172
+ vfs.jClose(fileId);
173
+ // File should exist now
174
+ expect(vfs.jAccess(path, VFS.SQLITE_ACCESS_EXISTS, pResOut)).toBe(VFS.SQLITE_OK);
175
+ expect(pResOut.getUint32(0, true)).toBe(1);
176
+ });
177
+ it('should handle basic read/write operations', async () => {
178
+ const path = '/test/readwrite.db';
179
+ const fileId = 1;
180
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
181
+ const pOutFlags = new DataView(new ArrayBuffer(4));
182
+ vfs.jOpen(path, fileId, flags, pOutFlags);
183
+ // Write data
184
+ const testData = new TextEncoder().encode('Hello, SQL VFS!');
185
+ expect(vfs.jWrite(fileId, testData, 0)).toBe(VFS.SQLITE_OK);
186
+ // Read data back
187
+ const readBuffer = new Uint8Array(testData.length);
188
+ expect(vfs.jRead(fileId, readBuffer, 0)).toBe(VFS.SQLITE_OK);
189
+ expect(readBuffer).toEqual(testData);
190
+ vfs.jClose(fileId);
191
+ });
192
+ it('should handle file size operations', async () => {
193
+ const path = '/test/size.db';
194
+ const fileId = 1;
195
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
196
+ const pOutFlags = new DataView(new ArrayBuffer(4));
197
+ vfs.jOpen(path, fileId, flags, pOutFlags);
198
+ // Initial size should be 0
199
+ const pSize64 = new DataView(new ArrayBuffer(8));
200
+ expect(vfs.jFileSize(fileId, pSize64)).toBe(VFS.SQLITE_OK);
201
+ expect(pSize64.getBigInt64(0, true)).toBe(0n);
202
+ // Write data and check size
203
+ const testData = new Uint8Array(1000);
204
+ testData.fill(0xaa);
205
+ vfs.jWrite(fileId, testData, 0);
206
+ expect(vfs.jFileSize(fileId, pSize64)).toBe(VFS.SQLITE_OK);
207
+ expect(pSize64.getBigInt64(0, true)).toBe(1000n);
208
+ vfs.jClose(fileId);
209
+ });
210
+ it('should handle file truncation', async () => {
211
+ const path = '/test/truncate.db';
212
+ const fileId = 1;
213
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
214
+ const pOutFlags = new DataView(new ArrayBuffer(4));
215
+ vfs.jOpen(path, fileId, flags, pOutFlags);
216
+ // Write data
217
+ const testData = new Uint8Array(2000);
218
+ testData.fill(0xbb);
219
+ vfs.jWrite(fileId, testData, 0);
220
+ // Truncate to smaller size
221
+ expect(vfs.jTruncate(fileId, 500)).toBe(VFS.SQLITE_OK);
222
+ // Verify size
223
+ const pSize64 = new DataView(new ArrayBuffer(8));
224
+ expect(vfs.jFileSize(fileId, pSize64)).toBe(VFS.SQLITE_OK);
225
+ expect(pSize64.getBigInt64(0, true)).toBe(500n);
226
+ vfs.jClose(fileId);
227
+ });
228
+ it('should handle sync operations', async () => {
229
+ const path = '/test/sync.db';
230
+ const fileId = 1;
231
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
232
+ const pOutFlags = new DataView(new ArrayBuffer(4));
233
+ vfs.jOpen(path, fileId, flags, pOutFlags);
234
+ const testData = new TextEncoder().encode('Sync test data');
235
+ vfs.jWrite(fileId, testData, 0);
236
+ // Test different sync modes - should all be no-ops for SQL VFS
237
+ expect(vfs.jSync(fileId, VFS.SQLITE_SYNC_NORMAL)).toBe(VFS.SQLITE_OK);
238
+ expect(vfs.jSync(fileId, VFS.SQLITE_SYNC_FULL)).toBe(VFS.SQLITE_OK);
239
+ expect(vfs.jSync(fileId, VFS.SQLITE_SYNC_DATAONLY)).toBe(VFS.SQLITE_OK);
240
+ vfs.jClose(fileId);
241
+ });
242
+ it('should handle file deletion', async () => {
243
+ const path = '/test/delete.db';
244
+ const fileId = 1;
245
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
246
+ const pOutFlags = new DataView(new ArrayBuffer(4));
247
+ // Create file
248
+ vfs.jOpen(path, fileId, flags, pOutFlags);
249
+ const testData = new TextEncoder().encode('Delete test');
250
+ vfs.jWrite(fileId, testData, 0);
251
+ vfs.jClose(fileId);
252
+ // Delete file
253
+ expect(vfs.jDelete(path, 0)).toBe(VFS.SQLITE_OK);
254
+ // Verify file is gone
255
+ expect(mockDatabase.has(`file:${path}`)).toBe(false);
256
+ expect(mockDatabase.has(`blocks:${path}`)).toBe(false);
257
+ });
258
+ });
259
+ describe('VFS Management', () => {
260
+ it('should provide correct VFS characteristics', () => {
261
+ expect(vfs.jSectorSize(1)).toBe(4096);
262
+ expect(vfs.jDeviceCharacteristics(1)).toBe(VFS.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN);
263
+ });
264
+ it('should handle multiple files', async () => {
265
+ const files = [
266
+ { path: '/test/file1.db', id: 1 },
267
+ { path: '/test/file2.db', id: 2 },
268
+ { path: '/test/file3.db', id: 3 },
269
+ ];
270
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
271
+ const pOutFlags = new DataView(new ArrayBuffer(4));
272
+ // Open all files
273
+ for (const file of files) {
274
+ expect(vfs.jOpen(file.path, file.id, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
275
+ }
276
+ // Write different data to each
277
+ for (let i = 0; i < files.length; i++) {
278
+ const data = new TextEncoder().encode(`File ${i + 1} data`);
279
+ expect(vfs.jWrite(files[i]?.id ?? 0, data, 0)).toBe(VFS.SQLITE_OK);
280
+ }
281
+ // Read back and verify
282
+ for (let i = 0; i < files.length; i++) {
283
+ const expected = new TextEncoder().encode(`File ${i + 1} data`);
284
+ const actual = new Uint8Array(expected.length);
285
+ expect(vfs.jRead(files[i]?.id ?? 0, actual, 0)).toBe(VFS.SQLITE_OK);
286
+ expect(actual).toEqual(expected);
287
+ }
288
+ // Close all files
289
+ for (const file of files) {
290
+ expect(vfs.jClose(file.id)).toBe(VFS.SQLITE_OK);
291
+ }
292
+ });
293
+ it('should provide VFS statistics', () => {
294
+ const stats = vfs.getStats();
295
+ expect(stats).toHaveProperty('activeFiles');
296
+ expect(stats).toHaveProperty('openFiles');
297
+ expect(stats).toHaveProperty('maxFiles');
298
+ expect(stats).toHaveProperty('blockSize');
299
+ expect(stats).toHaveProperty('totalStoredBytes');
300
+ expect(stats.blockSize).toBe(64 * 1024);
301
+ });
302
+ });
303
+ describe('Error Handling', () => {
304
+ it('should handle invalid file IDs', () => {
305
+ const invalidFileId = 999;
306
+ const buffer = new Uint8Array(100);
307
+ expect(vfs.jRead(invalidFileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
308
+ expect(vfs.jWrite(invalidFileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
309
+ expect(vfs.jTruncate(invalidFileId, 50)).toBe(VFS.SQLITE_IOERR);
310
+ expect(vfs.jSync(invalidFileId, 0)).toBe(VFS.SQLITE_IOERR);
311
+ expect(vfs.jClose(invalidFileId)).toBe(VFS.SQLITE_OK);
312
+ });
313
+ it('should handle invalid paths', () => {
314
+ const invalidPath = '';
315
+ const fileId = 1;
316
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
317
+ const pOutFlags = new DataView(new ArrayBuffer(4));
318
+ expect(vfs.jOpen(invalidPath, fileId, flags, pOutFlags)).toBe(VFS.SQLITE_OK);
319
+ });
320
+ it('should handle file operations on closed files', () => {
321
+ const path = '/test/closed.db';
322
+ const fileId = 1;
323
+ const flags = VFS.SQLITE_OPEN_CREATE | VFS.SQLITE_OPEN_READWRITE;
324
+ const pOutFlags = new DataView(new ArrayBuffer(4));
325
+ // Open and close file
326
+ vfs.jOpen(path, fileId, flags, pOutFlags);
327
+ vfs.jClose(fileId);
328
+ // Try to operate on closed file
329
+ const buffer = new Uint8Array(10);
330
+ expect(vfs.jRead(fileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
331
+ expect(vfs.jWrite(fileId, buffer, 0)).toBe(VFS.SQLITE_IOERR);
332
+ });
333
+ });
334
+ describe('Constants and Compatibility', () => {
335
+ it('should define correct VFS constants', () => {
336
+ expect(VFS.SQLITE_OK).toBe(0);
337
+ expect(VFS.SQLITE_IOERR).toBe(10);
338
+ expect(VFS.SQLITE_CANTOPEN).toBe(14);
339
+ expect(VFS.SQLITE_READONLY).toBe(8);
340
+ expect(VFS.SQLITE_IOERR_SHORT_READ).toBe(522);
341
+ expect(VFS.SQLITE_IOERR_WRITE).toBe(778);
342
+ expect(VFS.SQLITE_IOERR_TRUNCATE).toBe(1546);
343
+ });
344
+ it('should handle VFS flags correctly', () => {
345
+ expect(VFS.SQLITE_OPEN_CREATE).toBeTruthy();
346
+ expect(VFS.SQLITE_OPEN_READWRITE).toBeTruthy();
347
+ expect(VFS.SQLITE_OPEN_READONLY).toBeTruthy();
348
+ expect(VFS.SQLITE_OPEN_MAIN_DB).toBeTruthy();
349
+ expect(VFS.SQLITE_OPEN_WAL).toBeTruthy();
350
+ expect(VFS.SQLITE_OPEN_MAIN_JOURNAL).toBeTruthy();
351
+ });
352
+ });
353
+ });
354
+ //# sourceMappingURL=cloudflare-sql-vfs-core.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare-sql-vfs-core.test.js","sourceRoot":"","sources":["../../../../src/cf/test/sql/cloudflare-sql-vfs-core.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mod.node.d.ts","sourceRoot":"","sources":["../../src/load-wasm/mod.node.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,0BAQ3B,CAAA"}
1
+ {"version":3,"file":"mod.node.d.ts","sourceRoot":"","sources":["../../src/load-wasm/mod.node.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,0BAQ3B,CAAA"}
@@ -1,6 +1,5 @@
1
- import * as WaSqlite from '@livestore/wa-sqlite';
2
- // @ts-expect-error TODO fix types in wa-sqlite
3
1
  import WaSqliteFactory from '@livestore/wa-sqlite/dist/wa-sqlite.node.mjs';
2
+ import * as WaSqlite from '@livestore/wa-sqlite/src/sqlite-api.js';
4
3
  export const loadSqlite3Wasm = async () => {
5
4
  const module = await WaSqliteFactory();
6
5
  // https://github.com/rhashimoto/wa-sqlite/issues/143#issuecomment-1899060056
@@ -1 +1 @@
1
- {"version":3,"file":"mod.node.js","sourceRoot":"","sources":["../../src/load-wasm/mod.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,+CAA+C;AAC/C,OAAO,eAAe,MAAM,8CAA8C,CAAA;AAE1E,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAA;IACtC,6EAA6E;IAC7E,uDAAuD;IACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,kCAAkC;IAClC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"mod.node.js","sourceRoot":"","sources":["../../src/load-wasm/mod.node.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,8CAA8C,CAAA;AAC1E,OAAO,KAAK,QAAQ,MAAM,wCAAwC,CAAA;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAA;IACtC,6EAA6E;IAC7E,uDAAuD;IACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,kCAAkC;IAClC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const loadSqlite3Wasm: () => Promise<SQLiteAPI>;
2
+ //# sourceMappingURL=mod.workerd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.workerd.d.ts","sourceRoot":"","sources":["../../src/load-wasm/mod.workerd.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,0BAmB3B,CAAA"}
@@ -0,0 +1,26 @@
1
+ import * as WaSqlite from '@livestore/wa-sqlite';
2
+ import WaSqliteFactory from '@livestore/wa-sqlite/dist/wa-sqlite.mjs';
3
+ // @ts-expect-error TODO fix types in wa-sqlite
4
+ import wasm from '@livestore/wa-sqlite/dist/wa-sqlite.wasm';
5
+ export const loadSqlite3Wasm = async () => {
6
+ // It seems we need to pass in the wasm binary directly for workerd to work
7
+ const module = await WaSqliteFactory({
8
+ instantiateWasm: (info, receiveInstance) => {
9
+ try {
10
+ // Use the pre-compiled module directly
11
+ const instance = new WebAssembly.Instance(wasm, info);
12
+ receiveInstance(instance, wasm);
13
+ return instance.exports;
14
+ }
15
+ catch (error) {
16
+ console.error('Failed to instantiate WASM:', error);
17
+ throw error;
18
+ }
19
+ },
20
+ });
21
+ const sqlite3 = WaSqlite.Factory(module);
22
+ // @ts-expect-error TODO fix types
23
+ sqlite3.module = module;
24
+ return sqlite3;
25
+ };
26
+ //# sourceMappingURL=mod.workerd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.workerd.js","sourceRoot":"","sources":["../../src/load-wasm/mod.workerd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,eAAe,MAAM,yCAAyC,CAAA;AAErE,+CAA+C;AAC/C,OAAO,IAAI,MAAM,0CAA0C,CAAA;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,2EAA2E;IAC3E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACnC,eAAe,EAAE,CAAC,IAAS,EAAE,eAAoB,EAAE,EAAE;YACnD,IAAI,CAAC;gBACH,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACrD,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBAC/B,OAAO,QAAQ,CAAC,OAAO,CAAA;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;gBACnD,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,kCAAkC;IAClC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import type { PersistenceInfo, SqliteDb } from '@livestore/common';
2
+ import type { SQLiteAPI } from '@livestore/wa-sqlite';
2
3
  export declare const makeSqliteDb: <TMetadata extends {
3
4
  dbPointer: number;
4
5
  persistenceInfo: PersistenceInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"make-sqlite-db.d.ts","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,QAAQ,EAET,MAAM,mBAAmB,CAAA;AAM1B,eAAO,MAAM,YAAY,GACvB,SAAS,SAAS;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,eAAe,CAAA;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;CAC/C,EACD,wBAGC;IACD,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;CACpB,KAAG,QAAQ,CAAC,SAAS,CAgNrB,CAAA"}
1
+ {"version":3,"file":"make-sqlite-db.d.ts","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,QAAQ,EAET,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrD,eAAO,MAAM,YAAY,GACvB,SAAS,SAAS;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,eAAe,CAAA;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;CAC/C,EACD,wBAGC;IACD,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;CACpB,KAAG,QAAQ,CAAC,SAAS,CAiPrB,CAAA"}
@@ -140,16 +140,40 @@ export const makeSqliteDb = ({ sqlite3, metadata, }) => {
140
140
  // if (readOnly === true) {
141
141
  // sqlite3.deserialize(db, 'main', bytes, bytes.length, bytes.length, FREE_ON_CLOSE | RESIZEABLE)
142
142
  // } else {
143
+ const ensureSuccess = (rc, operation) => {
144
+ if (rc !== SqliteConstants.SQLITE_OK) {
145
+ throw new SqliteError({
146
+ code: rc,
147
+ cause: new Error(`${operation} failed with rc=${rc}`),
148
+ note: 'Snapshot import failed during SQLite copy',
149
+ });
150
+ }
151
+ };
143
152
  if (source instanceof Uint8Array) {
153
+ const WAL_FILE_FORMAT = 2;
154
+ if (source.length >= 24 && (source[18] === WAL_FILE_FORMAT || source[19] === WAL_FILE_FORMAT)) {
155
+ throw new SqliteError({
156
+ code: SqliteConstants.SQLITE_CANTOPEN,
157
+ cause: new Error('WAL snapshots are not supported'),
158
+ note: 'Import expects rollback-journal snapshots (journal_mode=DELETE). Please convert snapshot before importing.',
159
+ });
160
+ }
144
161
  const tmpDb = makeInMemoryDb(sqlite3);
145
162
  // TODO find a way to do this more efficiently with sqlite to avoid either of the deserialize + backup call
146
163
  // Maybe this can be done via the VFS API
147
- sqlite3.deserialize(tmpDb.dbPointer, 'main', source, source.length, source.length, FREE_ON_CLOSE | RESIZEABLE);
148
- sqlite3.backup(dbPointer, 'main', tmpDb.dbPointer, 'main');
149
- sqlite3.close(tmpDb.dbPointer);
164
+ const rcDeserialize = sqlite3.deserialize(tmpDb.dbPointer, 'main', source, source.length, source.length, FREE_ON_CLOSE | RESIZEABLE);
165
+ ensureSuccess(rcDeserialize, 'sqlite3.deserialize');
166
+ try {
167
+ const rcBackup = sqlite3.backup(dbPointer, 'main', tmpDb.dbPointer, 'main');
168
+ ensureSuccess(rcBackup, 'sqlite3.backup');
169
+ }
170
+ finally {
171
+ sqlite3.close(tmpDb.dbPointer);
172
+ }
150
173
  }
151
174
  else {
152
- sqlite3.backup(dbPointer, 'main', source.metadata.dbPointer, 'main');
175
+ const rcBackup = sqlite3.backup(dbPointer, 'main', source.metadata.dbPointer, 'main');
176
+ ensureSuccess(rcBackup, 'sqlite3.backup');
153
177
  }
154
178
  metadata.configureDb(sqliteDb);
155
179
  },
@@ -1 +1 @@
1
- {"version":3,"file":"make-sqlite-db.js","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make-sqlite-db.js","sourceRoot":"","sources":["../src/make-sqlite-db.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,7 @@ export declare class NodeFS extends FacadeVFS {
4
4
  private mapIdToFile;
5
5
  private lastError;
6
6
  private readonly directory;
7
- private readonly onShutdown;
8
- constructor(name: string, sqlite3: WaSqlite.SQLiteAPI, directory: string, onShutdown: () => void);
7
+ constructor(name: string, sqlite3: WaSqlite.SQLiteAPI, directory: string);
9
8
  getFilename(fileId: number): string;
10
9
  jOpen(zName: string | null, fileId: number, flags: number, pOutFlags: DataView): number;
11
10
  jRead(fileId: number, pData: Uint8Array<ArrayBuffer>, iOffset: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFS.d.ts","sourceRoot":"","sources":["../../src/node/NodeFS.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,qBAAa,MAAO,SAAQ,SAAS;IACnC,OAAO,CAAC,WAAW,CAAgC;IAEnD,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAC3B,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI;IAOhG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKnC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM;IAmCvF,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAoB9E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAe/E,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAsB9B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAcpD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAahD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAc7C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAahD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAYjE,QAAQ,CAAC,QAAQ,EAAE,MAAM;CAK1B"}
1
+ {"version":3,"file":"NodeFS.d.ts","sourceRoot":"","sources":["../../src/node/NodeFS.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,qBAAa,MAAO,SAAQ,SAAS;IACnC,OAAO,CAAC,WAAW,CAAgC;IAEnD,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBACtB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM;IAMxE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKnC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM;IAmCvF,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAoB9E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAe/E,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAoB9B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAcpD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAahD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAc7C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAWhD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAYjE,QAAQ,CAAC,QAAQ,EAAE,MAAM;CAG1B"}
@@ -8,11 +8,9 @@ export class NodeFS extends FacadeVFS {
8
8
  // biome-ignore lint/correctness/noUnusedPrivateClassMembers: for debugging
9
9
  lastError = null;
10
10
  directory;
11
- onShutdown;
12
- constructor(name, sqlite3, directory, onShutdown) {
11
+ constructor(name, sqlite3, directory) {
13
12
  super(name, sqlite3);
14
13
  this.directory = directory;
15
- this.onShutdown = onShutdown;
16
14
  }
17
15
  getFilename(fileId) {
18
16
  const pathname = this.mapIdToFile.get(fileId)?.pathname;
@@ -88,7 +86,6 @@ export class NodeFS extends FacadeVFS {
88
86
  }
89
87
  jClose(fileId) {
90
88
  try {
91
- this.onShutdown();
92
89
  const file = this.mapIdToFile.get(fileId);
93
90
  if (!file)
94
91
  return VFS.SQLITE_OK;
@@ -149,7 +146,6 @@ export class NodeFS extends FacadeVFS {
149
146
  }
150
147
  jDelete(zName, _syncDir) {
151
148
  try {
152
- this.onShutdown();
153
149
  const pathname = path.resolve(this.directory, zName);
154
150
  fs.unlinkSync(pathname);
155
151
  return VFS.SQLITE_OK;
@@ -172,7 +168,6 @@ export class NodeFS extends FacadeVFS {
172
168
  }
173
169
  }
174
170
  deleteDb(fileName) {
175
- this.onShutdown();
176
171
  fs.unlinkSync(path.join(this.directory, fileName));
177
172
  }
178
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFS.js","sourceRoot":"","sources":["../../src/node/NodeFS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeFS.js","sourceRoot":"","sources":["../../src/node/NodeFS.ts"],"names":[],"mappings":"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"}