on-zero 0.6.15 → 0.6.17

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 (140) hide show
  1. package/dist/cjs/asyncTasks.cjs +51 -0
  2. package/dist/cjs/asyncTasks.native.js +84 -0
  3. package/dist/cjs/asyncTasks.native.js.map +1 -0
  4. package/dist/cjs/cli.cjs +8 -1
  5. package/dist/cjs/cli.native.js +8 -1
  6. package/dist/cjs/cli.native.js.map +1 -1
  7. package/dist/cjs/createZeroDirectServer.cjs +20 -30
  8. package/dist/cjs/createZeroDirectServer.native.js +28 -33
  9. package/dist/cjs/createZeroDirectServer.native.js.map +1 -1
  10. package/dist/cjs/createZeroSQLiteServer.test.cjs +6 -6
  11. package/dist/cjs/createZeroSQLiteServer.test.native.js +6 -6
  12. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  13. package/dist/cjs/createZeroServer.native.js.map +1 -1
  14. package/dist/cjs/createZeroServer.test.cjs +177 -1
  15. package/dist/cjs/createZeroServer.test.native.js +189 -1
  16. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  17. package/dist/cjs/createZeroServerCore.cjs +9 -3
  18. package/dist/cjs/createZeroServerCore.native.js +13 -5
  19. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  20. package/dist/cjs/generate.cjs +5 -2
  21. package/dist/cjs/generate.native.js +5 -2
  22. package/dist/cjs/generate.native.js.map +1 -1
  23. package/dist/cjs/generate.test.cjs +16 -0
  24. package/dist/cjs/generate.test.native.js +16 -0
  25. package/dist/cjs/generate.test.native.js.map +1 -1
  26. package/dist/cjs/helpers/createMutators.cjs +2 -2
  27. package/dist/cjs/helpers/createMutators.native.js +2 -2
  28. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  29. package/dist/cjs/index.cjs +1 -0
  30. package/dist/cjs/index.native.js +1 -0
  31. package/dist/cjs/index.native.js.map +1 -1
  32. package/dist/cjs/server.cjs +2 -1
  33. package/dist/cjs/syncHost.cjs +10 -3
  34. package/dist/cjs/syncHost.native.js +11 -4
  35. package/dist/cjs/syncHost.native.js.map +1 -1
  36. package/dist/cjs/syncHost.test.cjs +2 -2
  37. package/dist/cjs/syncHost.test.native.js +2 -2
  38. package/dist/cjs/syncHost.test.native.js.map +1 -1
  39. package/dist/cjs/vite-plugin.cjs +2 -1
  40. package/dist/cjs/vite-plugin.native.js +2 -1
  41. package/dist/cjs/vite-plugin.native.js.map +1 -1
  42. package/dist/esm/asyncTasks.mjs +26 -0
  43. package/dist/esm/asyncTasks.mjs.map +1 -0
  44. package/dist/esm/asyncTasks.native.js +56 -0
  45. package/dist/esm/asyncTasks.native.js.map +1 -0
  46. package/dist/esm/cli.mjs +8 -1
  47. package/dist/esm/cli.mjs.map +1 -1
  48. package/dist/esm/cli.native.js +8 -1
  49. package/dist/esm/cli.native.js.map +1 -1
  50. package/dist/esm/createZeroDirectServer.mjs +20 -30
  51. package/dist/esm/createZeroDirectServer.mjs.map +1 -1
  52. package/dist/esm/createZeroDirectServer.native.js +28 -33
  53. package/dist/esm/createZeroDirectServer.native.js.map +1 -1
  54. package/dist/esm/createZeroSQLiteServer.test.mjs +6 -6
  55. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  56. package/dist/esm/createZeroSQLiteServer.test.native.js +6 -6
  57. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  58. package/dist/esm/createZeroServer.mjs.map +1 -1
  59. package/dist/esm/createZeroServer.native.js.map +1 -1
  60. package/dist/esm/createZeroServer.test.mjs +178 -2
  61. package/dist/esm/createZeroServer.test.mjs.map +1 -1
  62. package/dist/esm/createZeroServer.test.native.js +190 -2
  63. package/dist/esm/createZeroServer.test.native.js.map +1 -1
  64. package/dist/esm/createZeroServerCore.mjs +9 -3
  65. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  66. package/dist/esm/createZeroServerCore.native.js +13 -5
  67. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  68. package/dist/esm/generate.mjs +5 -2
  69. package/dist/esm/generate.mjs.map +1 -1
  70. package/dist/esm/generate.native.js +5 -2
  71. package/dist/esm/generate.native.js.map +1 -1
  72. package/dist/esm/generate.test.mjs +16 -0
  73. package/dist/esm/generate.test.mjs.map +1 -1
  74. package/dist/esm/generate.test.native.js +16 -0
  75. package/dist/esm/generate.test.native.js.map +1 -1
  76. package/dist/esm/helpers/createMutators.mjs +2 -2
  77. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  78. package/dist/esm/helpers/createMutators.native.js +2 -2
  79. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  80. package/dist/esm/index.js +1 -0
  81. package/dist/esm/index.js.map +1 -1
  82. package/dist/esm/index.mjs +1 -0
  83. package/dist/esm/index.mjs.map +1 -1
  84. package/dist/esm/index.native.js +1 -0
  85. package/dist/esm/index.native.js.map +1 -1
  86. package/dist/esm/server.mjs +1 -0
  87. package/dist/esm/server.mjs.map +1 -1
  88. package/dist/esm/syncHost.mjs +10 -3
  89. package/dist/esm/syncHost.mjs.map +1 -1
  90. package/dist/esm/syncHost.native.js +11 -4
  91. package/dist/esm/syncHost.native.js.map +1 -1
  92. package/dist/esm/syncHost.test.mjs +2 -2
  93. package/dist/esm/syncHost.test.mjs.map +1 -1
  94. package/dist/esm/syncHost.test.native.js +2 -2
  95. package/dist/esm/syncHost.test.native.js.map +1 -1
  96. package/dist/esm/vite-plugin.mjs +2 -1
  97. package/dist/esm/vite-plugin.mjs.map +1 -1
  98. package/dist/esm/vite-plugin.native.js +2 -1
  99. package/dist/esm/vite-plugin.native.js.map +1 -1
  100. package/lint/ssr-guards.js +8 -7
  101. package/package.json +2 -2
  102. package/readme.md +21 -5
  103. package/src/asyncTasks.ts +33 -0
  104. package/src/cli.ts +7 -1
  105. package/src/createZeroDirectServer.ts +20 -36
  106. package/src/createZeroSQLiteServer.test.ts +8 -7
  107. package/src/createZeroServer.test.ts +192 -2
  108. package/src/createZeroServer.ts +2 -0
  109. package/src/createZeroServerCore.ts +18 -11
  110. package/src/generate.test.ts +18 -0
  111. package/src/generate.ts +7 -1
  112. package/src/helpers/createMutators.ts +3 -3
  113. package/src/helpers/mutatorContext.ts +1 -1
  114. package/src/index.ts +1 -0
  115. package/src/server.ts +2 -0
  116. package/src/syncHost.test.ts +2 -2
  117. package/src/syncHost.ts +6 -4
  118. package/src/types.ts +21 -3
  119. package/src/vite-plugin.ts +1 -0
  120. package/test-fixtures/server-return-types.ts +24 -1
  121. package/types/asyncTasks.d.ts +7 -0
  122. package/types/asyncTasks.d.ts.map +1 -0
  123. package/types/createZeroDirectServer.d.ts +3 -3
  124. package/types/createZeroDirectServer.d.ts.map +1 -1
  125. package/types/createZeroServer.d.ts +1 -1
  126. package/types/createZeroServer.d.ts.map +1 -1
  127. package/types/createZeroServerCore.d.ts +9 -6
  128. package/types/createZeroServerCore.d.ts.map +1 -1
  129. package/types/generate.d.ts +2 -0
  130. package/types/generate.d.ts.map +1 -1
  131. package/types/helpers/createMutators.d.ts +3 -3
  132. package/types/helpers/createMutators.d.ts.map +1 -1
  133. package/types/index.d.ts +1 -0
  134. package/types/index.d.ts.map +1 -1
  135. package/types/server.d.ts +2 -0
  136. package/types/server.d.ts.map +1 -1
  137. package/types/syncHost.d.ts.map +1 -1
  138. package/types/types.d.ts +18 -2
  139. package/types/types.d.ts.map +1 -1
  140. package/types/vite-plugin.d.ts.map +1 -1
@@ -100,7 +100,7 @@ function pushRequest(mutationIDs) {
100
100
  touch: async ({
101
101
  server
102
102
  }) => {
103
- server?.asyncTasks.push(async () => {
103
+ server?.enqueueTask(async () => {
104
104
  effectRuns++;
105
105
  });
106
106
  throw new Error("rejected");
@@ -123,6 +123,182 @@ function pushRequest(mutationIDs) {
123
123
  (0, import_vitest.expect)(result.asyncTasks).toEqual([]);
124
124
  (0, import_vitest.expect)(effectRuns).toBe(0);
125
125
  });
126
+ (0, import_vitest.test)("awaits barrier tasks before resolving the push response", async () => {
127
+ const pg = new FakePgClient();
128
+ let releaseBarrier;
129
+ let markBarrierStarted;
130
+ const barrierStarted = new Promise(resolve => {
131
+ markBarrierStarted = resolve;
132
+ });
133
+ const barrier = new Promise(resolve => {
134
+ releaseBarrier = resolve;
135
+ });
136
+ const zeroServer = (0, import_createZeroServer.createZeroServer)({
137
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
138
+ models: {
139
+ project: {
140
+ mutate: {
141
+ touch: async ({
142
+ server
143
+ }) => {
144
+ server?.enqueueTask(async () => {
145
+ markBarrierStarted();
146
+ await barrier;
147
+ }, {
148
+ barrier: true
149
+ });
150
+ }
151
+ }
152
+ }
153
+ },
154
+ createServerActions: () => ({}),
155
+ pool: pg
156
+ });
157
+ let responseResolved = false;
158
+ const resultPromise = zeroServer.handleMutationRequest({
159
+ authData: null,
160
+ request: pushRequest(1)
161
+ }).then(result2 => {
162
+ responseResolved = true;
163
+ return result2;
164
+ });
165
+ await barrierStarted;
166
+ await Promise.resolve();
167
+ (0, import_vitest.expect)(responseResolved).toBe(false);
168
+ releaseBarrier();
169
+ const result = await resultPromise;
170
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
171
+ });
172
+ (0, import_vitest.test)("does not fail the push when a background task rejects", async () => {
173
+ const pg = new FakePgClient();
174
+ const error = new Error("background failed");
175
+ const consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
176
+ const zeroServer = (0, import_createZeroServer.createZeroServer)({
177
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
178
+ models: {
179
+ project: {
180
+ mutate: {
181
+ touch: async ({
182
+ server
183
+ }) => {
184
+ server?.enqueueTask(async () => {
185
+ throw error;
186
+ });
187
+ }
188
+ }
189
+ }
190
+ },
191
+ createServerActions: () => ({}),
192
+ pool: pg
193
+ });
194
+ const result = await zeroServer.handleMutationRequest({
195
+ authData: null,
196
+ request: pushRequest(1)
197
+ });
198
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
199
+ await import_vitest.vi.waitFor(() => {
200
+ (0, import_vitest.expect)(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
201
+ });
202
+ consoleError.mockRestore();
203
+ });
204
+ (0, import_vitest.test)("registers a promise that settles every background task with the request scheduler", async () => {
205
+ const pg = new FakePgClient();
206
+ const error = new Error("background failed");
207
+ const consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(() => {});
208
+ let releaseSibling;
209
+ const siblingGate = new Promise(resolve => {
210
+ releaseSibling = resolve;
211
+ });
212
+ let siblingFinished = false;
213
+ let scheduled;
214
+ const zeroServer = (0, import_createZeroServer.createZeroServer)({
215
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
216
+ models: {
217
+ project: {
218
+ mutate: {
219
+ touch: async ({
220
+ server
221
+ }) => {
222
+ server?.enqueueTask(async () => {
223
+ throw error;
224
+ });
225
+ server?.enqueueTask(async () => {
226
+ await siblingGate;
227
+ siblingFinished = true;
228
+ });
229
+ }
230
+ }
231
+ }
232
+ },
233
+ createServerActions: () => ({}),
234
+ pool: pg
235
+ });
236
+ const result = await zeroServer.handleMutationRequest({
237
+ authData: null,
238
+ request: pushRequest(1),
239
+ scheduleBackgroundTask: promise => {
240
+ scheduled = promise;
241
+ }
242
+ });
243
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
244
+ (0, import_vitest.expect)(scheduled).toBeInstanceOf(Promise);
245
+ (0, import_vitest.expect)(siblingFinished).toBe(false);
246
+ let scheduledSettled = false;
247
+ void scheduled.then(() => {
248
+ scheduledSettled = true;
249
+ });
250
+ await Promise.resolve();
251
+ (0, import_vitest.expect)(scheduledSettled).toBe(false);
252
+ releaseSibling();
253
+ await scheduled;
254
+ (0, import_vitest.expect)(siblingFinished).toBe(true);
255
+ (0, import_vitest.expect)(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
256
+ consoleError.mockRestore();
257
+ });
258
+ (0, import_vitest.test)("awaits background tasks when the request has no scheduler", async () => {
259
+ const pg = new FakePgClient();
260
+ let markTaskStarted;
261
+ const taskStarted = new Promise(resolve => {
262
+ markTaskStarted = resolve;
263
+ });
264
+ let releaseTask;
265
+ const taskGate = new Promise(resolve => {
266
+ releaseTask = resolve;
267
+ });
268
+ const zeroServer = (0, import_createZeroServer.createZeroServer)({
269
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
270
+ models: {
271
+ project: {
272
+ mutate: {
273
+ touch: async ({
274
+ server
275
+ }) => {
276
+ server?.enqueueTask(async () => {
277
+ markTaskStarted();
278
+ await taskGate;
279
+ });
280
+ }
281
+ }
282
+ }
283
+ },
284
+ createServerActions: () => ({}),
285
+ pool: pg
286
+ });
287
+ let responseResolved = false;
288
+ const resultPromise = zeroServer.handleMutationRequest({
289
+ authData: null,
290
+ request: pushRequest(1)
291
+ }).then(result2 => {
292
+ responseResolved = true;
293
+ return result2;
294
+ });
295
+ await taskStarted;
296
+ await Promise.resolve();
297
+ (0, import_vitest.expect)(responseResolved).toBe(false);
298
+ releaseTask();
299
+ const result = await resultPromise;
300
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
301
+ });
126
302
  (0, import_vitest.test)("persists alreadyProcessed duplicate results for zero-cache recovery rows", async () => {
127
303
  const pg = new FakePgClient();
128
304
  const zeroServer = (0, import_createZeroServer.createZeroServer)({
@@ -149,7 +149,7 @@ function pushRequest(mutationIDs) {
149
149
  var {
150
150
  server
151
151
  } = param;
152
- server === null || server === void 0 ? void 0 : server.asyncTasks.push(async function () {
152
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
153
153
  effectRuns++;
154
154
  });
155
155
  throw new Error("rejected");
@@ -174,6 +174,194 @@ function pushRequest(mutationIDs) {
174
174
  (0, import_vitest.expect)(result.asyncTasks).toEqual([]);
175
175
  (0, import_vitest.expect)(effectRuns).toBe(0);
176
176
  });
177
+ (0, import_vitest.test)("awaits barrier tasks before resolving the push response", async function () {
178
+ var pg = new FakePgClient();
179
+ var releaseBarrier;
180
+ var markBarrierStarted;
181
+ var barrierStarted = new Promise(function (resolve) {
182
+ markBarrierStarted = resolve;
183
+ });
184
+ var barrier = new Promise(function (resolve) {
185
+ releaseBarrier = resolve;
186
+ });
187
+ var zeroServer = (0, import_createZeroServer.createZeroServer)({
188
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
189
+ models: {
190
+ project: {
191
+ mutate: {
192
+ touch: async function (param) {
193
+ var {
194
+ server
195
+ } = param;
196
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
197
+ markBarrierStarted();
198
+ await barrier;
199
+ }, {
200
+ barrier: true
201
+ });
202
+ }
203
+ }
204
+ }
205
+ },
206
+ createServerActions: function () {
207
+ return {};
208
+ },
209
+ pool: pg
210
+ });
211
+ var responseResolved = false;
212
+ var resultPromise = zeroServer.handleMutationRequest({
213
+ authData: null,
214
+ request: pushRequest(1)
215
+ }).then(function (result2) {
216
+ responseResolved = true;
217
+ return result2;
218
+ });
219
+ await barrierStarted;
220
+ await Promise.resolve();
221
+ (0, import_vitest.expect)(responseResolved).toBe(false);
222
+ releaseBarrier();
223
+ var result = await resultPromise;
224
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
225
+ });
226
+ (0, import_vitest.test)("does not fail the push when a background task rejects", async function () {
227
+ var pg = new FakePgClient();
228
+ var error = new Error("background failed");
229
+ var consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(function () {});
230
+ var zeroServer = (0, import_createZeroServer.createZeroServer)({
231
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
232
+ models: {
233
+ project: {
234
+ mutate: {
235
+ touch: async function (param) {
236
+ var {
237
+ server
238
+ } = param;
239
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
240
+ throw error;
241
+ });
242
+ }
243
+ }
244
+ }
245
+ },
246
+ createServerActions: function () {
247
+ return {};
248
+ },
249
+ pool: pg
250
+ });
251
+ var result = await zeroServer.handleMutationRequest({
252
+ authData: null,
253
+ request: pushRequest(1)
254
+ });
255
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
256
+ await import_vitest.vi.waitFor(function () {
257
+ (0, import_vitest.expect)(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
258
+ });
259
+ consoleError.mockRestore();
260
+ });
261
+ (0, import_vitest.test)("registers a promise that settles every background task with the request scheduler", async function () {
262
+ var pg = new FakePgClient();
263
+ var error = new Error("background failed");
264
+ var consoleError = import_vitest.vi.spyOn(console, "error").mockImplementation(function () {});
265
+ var releaseSibling;
266
+ var siblingGate = new Promise(function (resolve) {
267
+ releaseSibling = resolve;
268
+ });
269
+ var siblingFinished = false;
270
+ var scheduled;
271
+ var zeroServer = (0, import_createZeroServer.createZeroServer)({
272
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
273
+ models: {
274
+ project: {
275
+ mutate: {
276
+ touch: async function (param) {
277
+ var {
278
+ server
279
+ } = param;
280
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
281
+ throw error;
282
+ });
283
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
284
+ await siblingGate;
285
+ siblingFinished = true;
286
+ });
287
+ }
288
+ }
289
+ }
290
+ },
291
+ createServerActions: function () {
292
+ return {};
293
+ },
294
+ pool: pg
295
+ });
296
+ var result = await zeroServer.handleMutationRequest({
297
+ authData: null,
298
+ request: pushRequest(1),
299
+ scheduleBackgroundTask: function (promise) {
300
+ scheduled = promise;
301
+ }
302
+ });
303
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
304
+ (0, import_vitest.expect)(scheduled).toBeInstanceOf(Promise);
305
+ (0, import_vitest.expect)(siblingFinished).toBe(false);
306
+ var scheduledSettled = false;
307
+ void scheduled.then(function () {
308
+ scheduledSettled = true;
309
+ });
310
+ await Promise.resolve();
311
+ (0, import_vitest.expect)(scheduledSettled).toBe(false);
312
+ releaseSibling();
313
+ await scheduled;
314
+ (0, import_vitest.expect)(siblingFinished).toBe(true);
315
+ (0, import_vitest.expect)(consoleError).toHaveBeenCalledWith("[on-zero] async task failed", error);
316
+ consoleError.mockRestore();
317
+ });
318
+ (0, import_vitest.test)("awaits background tasks when the request has no scheduler", async function () {
319
+ var pg = new FakePgClient();
320
+ var markTaskStarted;
321
+ var taskStarted = new Promise(function (resolve) {
322
+ markTaskStarted = resolve;
323
+ });
324
+ var releaseTask;
325
+ var taskGate = new Promise(function (resolve) {
326
+ releaseTask = resolve;
327
+ });
328
+ var zeroServer = (0, import_createZeroServer.createZeroServer)({
329
+ schema: import_fixtureSchema.zeroHttpFixtureSchema,
330
+ models: {
331
+ project: {
332
+ mutate: {
333
+ touch: async function (param) {
334
+ var {
335
+ server
336
+ } = param;
337
+ server === null || server === void 0 ? void 0 : server.enqueueTask(async function () {
338
+ markTaskStarted();
339
+ await taskGate;
340
+ });
341
+ }
342
+ }
343
+ }
344
+ },
345
+ createServerActions: function () {
346
+ return {};
347
+ },
348
+ pool: pg
349
+ });
350
+ var responseResolved = false;
351
+ var resultPromise = zeroServer.handleMutationRequest({
352
+ authData: null,
353
+ request: pushRequest(1)
354
+ }).then(function (result2) {
355
+ responseResolved = true;
356
+ return result2;
357
+ });
358
+ await taskStarted;
359
+ await Promise.resolve();
360
+ (0, import_vitest.expect)(responseResolved).toBe(false);
361
+ releaseTask();
362
+ var result = await resultPromise;
363
+ (0, import_vitest.expect)(result.response.mutations[0].result).toEqual({});
364
+ });
177
365
  (0, import_vitest.test)("persists alreadyProcessed duplicate results for zero-cache recovery rows", async function () {
178
366
  var pg = new FakePgClient();
179
367
  var zeroServer = (0, import_createZeroServer.createZeroServer)({
@@ -1 +1 @@
1
- {"version":3,"names":["import_vitest","require","import_createZeroServer","import_fixtureSchema","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","FakePgClient","FakePgClient2","query","sql","params","arguments","pendingLastMutationID","rows","lastMutationID","includes","nextMutationID","schemaRows","mutationResultInserts","push","Error","table","columns","map","column","schema","dataType","precision","scale","typtype","typename","elemTyptype","elemTypname","pushRequest","mutationIDs","ids","Array","isArray","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","mutationID","type","id","clientID","name","args","timestamp","pushVersion","requestID","join","describe","test","pg","effectRuns","zeroServer","createZeroServer","zeroHttpFixtureSchema","models","project","mutate","touch","param","server","asyncTasks","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","expect","response","toMatchObject","error","message","toEqual","toBe"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AAEA,IAAAA,aAAA,GAAAC,OAAA,SAAiC;AACjC,IAAAC,uBAAsC,GAAAD,OAAA;AAEtC,IAAAE,oBAAmB,GAAAF,OAAA;AAAA,SACjBG,iBAAiBA,CAAAC,QAAA,EAAAC,WAAA;EACjB,MAAAD,QAAA,YAAAC,WAAA;IACA,UAAAC,SAAA,oCAAsC;EAEtC;AACE;AACE,SAAAC,iBAAKA,CAAAC,MAAA,EAAwBC,KAAA;EAC7B,SAAAC,CAAA,GAAS,GAAAA,CAAA,GAAOD,KAAE,CAAAE,MAAA,EAAAD,CAAA;IACpB,IAAAE,UAAA,GAAAH,KAAA,CAAAC,CAAA;IAEAE,UAAI,CAAAC,UAAQ,GAAUD,UAAA,CAAAC,UAAA;IACpBD,UAAI,CAAKE,YAAA;IACP,WAAK,IAAAF,UAAA,EAAiBA,UAAK,CAAAG,QAAA;IAAAC,MAC7B,CAAAC,cAAA,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EACA;AACA;AAAkB,SACpBO,cAAAd,WAAA,EAAAe,UAAA,EAAAC,WAAA;EAEA,IAAAD,UAAY,EAAAb,iBAAY,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA;EACtB,IAAAC,WAAK,EAAAd,iBAAwB,CAAAF,WAAA,EAAAgB,WAAA;EAC7B,OAAAhB,WAAS;AAAS;AAGpB,SAAIkB,gBAAaA,CAAAC,GAAA,EAAUN,GAAA,EAAKO,KAAI;EAClC,IAAAP,GAAA,IAAMM,GAAA;IACNR,MAAA,CAAKC,cAAA,CAAAO,GAAA,EAAAN,GAAA,EAAwB;MAC7BO,KAAA;MACFZ,UAAA;MAEAC,YAAQ,MAAS;MACfC,QAAO;IAAA;EACC;IACgCS,GAAA,CAAAN,GACpC,IAAGO,KAAA;EAA+C;EACG,OACvDD,GAAA;AAAA;AACF,IACFE,YAAA;EAEA,YACM;;EAGJ,SAAKC,cAAA;IACLxB,iBAAe,CAAC,IAAE,EAAAwB,aAAA;IACpBJ,gBAAA;IAEAA,gBAAgB,8BAA6B,EAAG,KAAE;IACpDA,gBAAA;EACF;EAEAJ,aAAS,CAAAQ,aAA0B,GACjC;IACET,GAAA,SAAQ;IACRO,KAAA,iBAAAG,MAAAC,GAAA;MACA,IAAAC,MAAA,GAAAC,SAAA,CAAApB,MAAA,QAAAoB,SAAA,iBAAAA,SAAA;MACA,IAAAF,GAAU;QACV,IAAQ,CAAAG,qBAAA;QACR,OAAW;UACJC,IAAA;QACP;MACA;MACA,IAAAJ,GAAA,KAAa;QACb,QAAa,CAAAG,qBAAA;UACb,KAAAE,cAAA,QAAAF,qBAAA;QACJ;QAES,KAAAA,qBAA4C;QAC7C,OAAM;UACLC,IAAI;QACT;MACA;MACA,IAAMJ,GAAK,eAAU;QACnB,KAAAG,qBAAe;QACf,OAAW;UACTC,IAAM;QACN;MACA;MACA,IAAAJ,GAAM,CAAAM,QAAA,gBAAAN,GAAA,CAAAM,QAAA;QACN,IAAMC,cAAG,QAAAF,cAAA;QACT,KAAAF,qBAAW,GAAAI,cAAA;QACX;UACFH,IAAA,GACA;YACAC,cAAsB,EAAAE;UACvB;QAEL;MAEA;MACE,IAAAP,GAAA,CAAAM,QAAA,6BAAK;QACG,OAAK;UACPF,IAAA,GACE,GAAAI,UAAa,UACT,MACA,OACN,GACE,GAAAA,UAAQ,aACN,IAAO,EACL,SAAQ,EACN,OACD,GACD,GAAAA,UAAU,SAAM,GAClB,MACF,aACF,SACF;QAEA;MACD;MAED,IAAMR,GAAA,CAAAM,QAAS,CAAM,kCAAiC,KAAAN,GAAA,CAAAM,QAAA;QACpD,KAAAG,qBAAU,CAAAC,IAAA,CAAAT,MAAA;QACV,OAAS;UACTG,IAAA;QACD;MAED;MACE,MAAO,IAAAO,KAAA,8BAAAX,GAAA;IACP;EACF,CAAC,CACD;EACA,OAAAF,aAAA;AAAyB,EAC1B;AAED,SAAAU,WAAAI,KAAA,EAAKC,OAAA;EACH,OAAAA,OAAW,CAAAC,GAAI,WAAAC,MAAa;IAC5B,OAAM;MACJC,MAAA,EAAQ;MACRJ,KAAA;MAAQG,MACN;MAASE,QACP,QAAQ;MAAAnC,MACN;MAAmBoC,SAAC;MAAAC,KACtB;MAAAC,OACF;MACFC,QAAA;MACAC,WAAA;MACAC,WAAM;IACR,CAAC;EAED;AAAqD;AACzC,SACVC,WAASA,CAAAC,WAAa;EAAA,IACvBC,GAAA,GAAAC,KAAA,CAAAC,OAAA,CAAAH,WAAA,IAAAA,WAAA,IAEDA,WAAA,CACA;EACA,WAAAI,OAAA,iDAA2C;IAE3CC,MAAM;IAAmDC,OACvD;MACA,cAAS;IACX,CAAC;IAEDC,IAAA,EAAMC,IAAA,CAAAC,SAAA;MACNC,aAAA;MACAC,SAAA,EAAAV,GAAA,CAAAZ,GAAA,WAAUuB,UAAA;QACV;UACEC,IAAA;UACEC,EAAA,EAAAF,UAAA;UACAG,QAAA;UACAC,IAAA;UACAC,IAAK,GACH,GACA;UACDC,SAAA;QACH;MACD;MACFC,WAAA;MAEDD,SAAA;MACEE,SAAW,SAAInB,GAAA,CAAAoB,IAAa;IAC5B;EAAoC;AAC1B;AACA,IAAA5E,aACG,CAAA6E,QAAA;EAAA,IAAA7E,aACC,CAAA8E,IAAA;IAAA,IAAAC,EAAA,GACN,IAAApD,YAAO,EAAY;IAAA,IAAAqD,UAAC;IAAA,IAAAC,UACtB,OAAA/E,uBAAA,CAAAgF,gBAAA;MAAApC,MACF,EAAA3C,oBAAA,CAAAgF,qBAAA;MACFC,MAAA;QACAC,OAAA;UACAC,MAAM;YACPC,KAAA,iBAAAA,CAAAC,KAAA;cAEK;gBAAAC;cAAW,IAAAD,KAAA;cACfC,MAAU,aAAAA,MAAA,uBAAAA,MAAA,CAAAC,UAAA,CAAAlD,IAAA;gBACDwC,UAAA,EAAa;cACvB;cAEK,MAAQ,IAAMvC,KAAA,WAAW;YAC7B;UACA;QACD;MAED;MACEkD,mBAAgB,WAAAA,CAAA;QAChB,OAAQ;MACR;MACFC,IAAA,EAAAb;IACA;IACA,IAAAc,MAAA,SAAAZ,UAAU,CAAAa,qBAAsB;MAChCC,QAAA;MACEC,OAAA,EAAA1C,WAAA;MAAA2C,cACE;IAAA;IACA,IACAjG,aAAA,CAAAkG,MAAA,EAAAL,MAAA,CAAAM,QAAA,CAAAjC,SAAA,IAAA2B,MAAA,EAAAO,aAAA;MAAAC,KACA,EAAK;MAAUC,OACb;IAAO;IACoB,IAC7BtG,aAAC,CAAAkG,MAAA,EAAAL,MAAA,CAAAH,UAAA,EAAAa,OAAA;IAAA,EACH,EAAAvG,aAAA,CAAAkG,MAAA,EAAAlB,UAAA,EAAAwB,IAAA;EAAA,EACF;EACF,CAAC,GAAAxG,aAAA,CAAA8E,IAAA;IACF,IAAAC,EAAA,OAAApD,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["import_vitest","require","import_createZeroServer","import_fixtureSchema","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","FakePgClient","FakePgClient2","query","sql","params","arguments","pendingLastMutationID","rows","lastMutationID","includes","nextMutationID","schemaRows","mutationResultInserts","push","Error","table","columns","map","column","schema","dataType","precision","scale","typtype","typename","elemTyptype","elemTypname","pushRequest","mutationIDs","ids","Array","isArray","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","mutationID","type","id","clientID","name","args","timestamp","pushVersion","requestID","join","describe","test","pg","effectRuns","zeroServer","createZeroServer","zeroHttpFixtureSchema","models","project","mutate","touch","param","server","enqueueTask","createServerActions","pool","result","handleMutationRequest","authData","request","skipAsyncTasks","expect","response","toMatchObject","error","message","asyncTasks","toEqual","toBe","releaseBarrier","markBarrierStarted","barrierStarted","Promise","resolve","barrier","responseResolved","resultPromise","then","result2","consoleError","vi","spyOn","console","mockImplementation","waitFor","toHaveBeenCalledWith","mockRestore","releaseSibling","siblingGate","siblingFinished","scheduled","scheduleBackgroundTask","promise","toBeInstanceOf","scheduledSettled","markTaskStarted","taskStarted","releaseTask","taskGate"],"sources":["../../src/createZeroServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -26,6 +26,7 @@ __export(createZeroServerCore_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(createZeroServerCore_exports);
28
28
  var import_server = require("@rocicorp/zero/server");
29
+ var import_asyncTasks = require("./asyncTasks.cjs");
29
30
  var import_createZeroDirectServer = require("./createZeroDirectServer.cjs");
30
31
  var import_createMutators = require("./helpers/createMutators.cjs");
31
32
  var import_mutatorContext = require("./helpers/mutatorContext.cjs");
@@ -61,12 +62,13 @@ function createZeroServerCore({
61
62
  const handleMutationRequest = async ({
62
63
  authData,
63
64
  request,
65
+ scheduleBackgroundTask,
64
66
  skipAsyncTasks
65
67
  }) => {
66
68
  const tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
67
69
  const recoveryRequest = request.clone();
68
70
  const mutators = (0, import_createMutators.createMutators)({
69
- asyncTasks: tasks.queue,
71
+ enqueueTask: tasks.enqueueTask,
70
72
  can: permissions.can,
71
73
  createServerActions,
72
74
  environment: "server",
@@ -82,8 +84,12 @@ function createZeroServerCore({
82
84
  if (parsed) await persistAlreadyProcessed(parsed);
83
85
  }
84
86
  if (!skipAsyncTasks && tasks.committed.length) {
85
- Promise.all(tasks.committed.map(task => (0, import_mutatorContext.runWithAuthScope)(authData, task))).catch(err => {
86
- console.error("[push] async tasks failed", err);
87
+ const entries = tasks.committed.map(entry => ({
88
+ ...entry,
89
+ task: () => (0, import_mutatorContext.runWithAuthScope)(authData, entry.task)
90
+ }));
91
+ await (0, import_asyncTasks.runAsyncTaskEntries)(entries, {
92
+ background: scheduleBackgroundTask
87
93
  });
88
94
  }
89
95
  return {
@@ -28,6 +28,7 @@ __export(createZeroServerCore_exports, {
28
28
  });
29
29
  module.exports = __toCommonJS(createZeroServerCore_exports);
30
30
  var import_server = require("@rocicorp/zero/server");
31
+ var import_asyncTasks = require("./asyncTasks.native.js");
31
32
  var import_createZeroDirectServer = require("./createZeroDirectServer.native.js");
32
33
  var import_createMutators = require("./helpers/createMutators.native.js");
33
34
  var import_mutatorContext = require("./helpers/mutatorContext.native.js");
@@ -70,12 +71,13 @@ function createZeroServerCore(param) {
70
71
  var {
71
72
  authData,
72
73
  request,
74
+ scheduleBackgroundTask,
73
75
  skipAsyncTasks
74
76
  } = param2;
75
77
  var tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
76
78
  var recoveryRequest = request.clone();
77
79
  var mutators = (0, import_createMutators.createMutators)({
78
- asyncTasks: tasks.queue,
80
+ enqueueTask: tasks.enqueueTask,
79
81
  can: permissions.can,
80
82
  createServerActions,
81
83
  environment: "server",
@@ -91,10 +93,16 @@ function createZeroServerCore(param) {
91
93
  if (parsed) await persistAlreadyProcessed(parsed);
92
94
  }
93
95
  if (!skipAsyncTasks && tasks.committed.length) {
94
- Promise.all(tasks.committed.map(function (task) {
95
- return (0, import_mutatorContext.runWithAuthScope)(authData, task);
96
- })).catch(function (err) {
97
- console.error("[push] async tasks failed", err);
96
+ var entries = tasks.committed.map(function (entry) {
97
+ return {
98
+ ...entry,
99
+ task: function () {
100
+ return (0, import_mutatorContext.runWithAuthScope)(authData, entry.task);
101
+ }
102
+ };
103
+ });
104
+ await (0, import_asyncTasks.runAsyncTaskEntries)(entries, {
105
+ background: scheduleBackgroundTask
98
106
  });
99
107
  }
100
108
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServerCore_exports","__export","createZeroServerCore","module","exports","import_server","require","import_createZeroDirectServer","import_createMutators","import_mutatorContext","import_queryContext","_type_of","obj","Symbol","constructor","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","createZeroDirectServerRuntime","handleMutationRequest","param2","authData","request","skipAsyncTasks","tasks","createAsyncTaskCollector","recoveryRequest","clone","mutators","createMutators","asyncTasks","queue","can","environment","processor","PushProcessor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","Promise","all","map","task","runWithAuthScope","catch","err","console","error","handleQueryRequest","Error","handler","name","args","resolveServerQuery","userID","id","runWithQueryContext","database","transaction","callback","input","tx","hooks","beginAttempt","result","completeAttempt","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServerCore_exports","__export","createZeroServerCore","module","exports","import_server","require","import_asyncTasks","import_createZeroDirectServer","import_createMutators","import_mutatorContext","import_queryContext","_type_of","obj","Symbol","constructor","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","createZeroDirectServerRuntime","handleMutationRequest","param2","authData","request","scheduleBackgroundTask","skipAsyncTasks","tasks","createAsyncTaskCollector","recoveryRequest","clone","mutators","createMutators","enqueueTask","can","environment","processor","PushProcessor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","runWithAuthScope","runAsyncTaskEntries","background","asyncTasks","handleQueryRequest","Error","handler","name","args","resolveServerQuery","userID","id","runWithQueryContext","database","transaction","callback","input","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -43,6 +43,7 @@ var import_node_fs = require("node:fs");
43
43
  var import_node_path = require("node:path");
44
44
  var import_generate_helpers = require("./generate-helpers.cjs");
45
45
  const hash = s => (0, import_node_crypto.createHash)("sha256").update(s).digest("hex");
46
+ const GENERATOR_CACHE_VERSION = "1";
46
47
  const isGeneratorSourceFile = name => name.endsWith(".ts") && !name.endsWith(".d.ts") && !name.endsWith(".test.ts") && !name.endsWith(".spec.ts");
47
48
  function hashInputTree(baseDir, generatedDir) {
48
49
  const parts = [];
@@ -553,7 +554,8 @@ async function generate(options) {
553
554
  const {
554
555
  dir,
555
556
  after,
556
- silent
557
+ silent,
558
+ force
557
559
  } = options;
558
560
  const baseDir = (0, import_node_path.resolve)(dir);
559
561
  const mutationsDir = (0, import_node_path.resolve)(baseDir, "mutations");
@@ -569,7 +571,7 @@ async function generate(options) {
569
571
  }
570
572
  loadCache();
571
573
  const inputHash = hashInputTree(baseDir, generatedDir);
572
- if (generateCache.__inputHash === inputHash && (0, import_node_fs.existsSync)((0, import_node_path.resolve)(generatedDir, "models.ts"))) {
574
+ if (!force && generateCache.__generatorVersion === GENERATOR_CACHE_VERSION && generateCache.__inputHash === inputHash && (0, import_node_fs.existsSync)((0, import_node_path.resolve)(generatedDir, "models.ts"))) {
573
575
  let counts = {};
574
576
  try {
575
577
  counts = JSON.parse(generateCache.__counts || "{}");
@@ -766,6 +768,7 @@ async function generate(options) {
766
768
  if (!silent) console.error(`Error running after command: ${err}`);
767
769
  }
768
770
  }
771
+ generateCache.__generatorVersion = GENERATOR_CACHE_VERSION;
769
772
  generateCache.__inputHash = inputHash;
770
773
  generateCache.__counts = JSON.stringify({
771
774
  modelCount: allModelFiles.length,
@@ -47,6 +47,7 @@ var import_generate_helpers = require("./generate-helpers.native.js");
47
47
  var hash = function (s) {
48
48
  return (0, import_crypto.createHash)("sha256").update(s).digest("hex");
49
49
  };
50
+ var GENERATOR_CACHE_VERSION = "1";
50
51
  var isGeneratorSourceFile = function (name) {
51
52
  return name.endsWith(".ts") && !name.endsWith(".d.ts") && !name.endsWith(".test.ts") && !name.endsWith(".spec.ts");
52
53
  };
@@ -813,7 +814,8 @@ async function generate(options) {
813
814
  var {
814
815
  dir,
815
816
  after,
816
- silent
817
+ silent,
818
+ force
817
819
  } = options;
818
820
  var baseDir = (0, import_path.resolve)(dir);
819
821
  var mutationsDir = (0, import_path.resolve)(baseDir, "mutations");
@@ -829,7 +831,7 @@ async function generate(options) {
829
831
  }
830
832
  loadCache();
831
833
  var inputHash = hashInputTree(baseDir, generatedDir);
832
- if (generateCache.__inputHash === inputHash && (0, import_fs.existsSync)((0, import_path.resolve)(generatedDir, "models.ts"))) {
834
+ if (!force && generateCache.__generatorVersion === GENERATOR_CACHE_VERSION && generateCache.__inputHash === inputHash && (0, import_fs.existsSync)((0, import_path.resolve)(generatedDir, "models.ts"))) {
833
835
  var counts = {};
834
836
  try {
835
837
  counts = JSON.parse(generateCache.__counts || "{}");
@@ -1143,6 +1145,7 @@ async function generate(options) {
1143
1145
  if (!silent) console.error(`Error running after command: ${err}`);
1144
1146
  }
1145
1147
  }
1148
+ generateCache.__generatorVersion = GENERATOR_CACHE_VERSION;
1146
1149
  generateCache.__inputHash = inputHash;
1147
1150
  generateCache.__counts = JSON.stringify({
1148
1151
  modelCount: allModelFiles.length,