on-zero 0.6.15 → 0.6.16

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 (134) 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.test.cjs +79 -1
  14. package/dist/cjs/createZeroServer.test.native.js +85 -1
  15. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  16. package/dist/cjs/createZeroServerCore.cjs +8 -3
  17. package/dist/cjs/createZeroServerCore.native.js +14 -5
  18. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  19. package/dist/cjs/generate.cjs +5 -2
  20. package/dist/cjs/generate.native.js +5 -2
  21. package/dist/cjs/generate.native.js.map +1 -1
  22. package/dist/cjs/generate.test.cjs +16 -0
  23. package/dist/cjs/generate.test.native.js +16 -0
  24. package/dist/cjs/generate.test.native.js.map +1 -1
  25. package/dist/cjs/helpers/createMutators.cjs +2 -2
  26. package/dist/cjs/helpers/createMutators.native.js +2 -2
  27. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  28. package/dist/cjs/index.cjs +1 -0
  29. package/dist/cjs/index.native.js +1 -0
  30. package/dist/cjs/index.native.js.map +1 -1
  31. package/dist/cjs/server.cjs +2 -1
  32. package/dist/cjs/syncHost.cjs +10 -3
  33. package/dist/cjs/syncHost.native.js +11 -4
  34. package/dist/cjs/syncHost.native.js.map +1 -1
  35. package/dist/cjs/syncHost.test.cjs +2 -2
  36. package/dist/cjs/syncHost.test.native.js +2 -2
  37. package/dist/cjs/syncHost.test.native.js.map +1 -1
  38. package/dist/cjs/vite-plugin.cjs +2 -1
  39. package/dist/cjs/vite-plugin.native.js +2 -1
  40. package/dist/cjs/vite-plugin.native.js.map +1 -1
  41. package/dist/esm/asyncTasks.mjs +26 -0
  42. package/dist/esm/asyncTasks.mjs.map +1 -0
  43. package/dist/esm/asyncTasks.native.js +56 -0
  44. package/dist/esm/asyncTasks.native.js.map +1 -0
  45. package/dist/esm/cli.mjs +8 -1
  46. package/dist/esm/cli.mjs.map +1 -1
  47. package/dist/esm/cli.native.js +8 -1
  48. package/dist/esm/cli.native.js.map +1 -1
  49. package/dist/esm/createZeroDirectServer.mjs +20 -30
  50. package/dist/esm/createZeroDirectServer.mjs.map +1 -1
  51. package/dist/esm/createZeroDirectServer.native.js +28 -33
  52. package/dist/esm/createZeroDirectServer.native.js.map +1 -1
  53. package/dist/esm/createZeroSQLiteServer.test.mjs +6 -6
  54. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  55. package/dist/esm/createZeroSQLiteServer.test.native.js +6 -6
  56. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  57. package/dist/esm/createZeroServer.test.mjs +80 -2
  58. package/dist/esm/createZeroServer.test.mjs.map +1 -1
  59. package/dist/esm/createZeroServer.test.native.js +86 -2
  60. package/dist/esm/createZeroServer.test.native.js.map +1 -1
  61. package/dist/esm/createZeroServerCore.mjs +8 -3
  62. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  63. package/dist/esm/createZeroServerCore.native.js +14 -5
  64. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  65. package/dist/esm/generate.mjs +5 -2
  66. package/dist/esm/generate.mjs.map +1 -1
  67. package/dist/esm/generate.native.js +5 -2
  68. package/dist/esm/generate.native.js.map +1 -1
  69. package/dist/esm/generate.test.mjs +16 -0
  70. package/dist/esm/generate.test.mjs.map +1 -1
  71. package/dist/esm/generate.test.native.js +16 -0
  72. package/dist/esm/generate.test.native.js.map +1 -1
  73. package/dist/esm/helpers/createMutators.mjs +2 -2
  74. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  75. package/dist/esm/helpers/createMutators.native.js +2 -2
  76. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  77. package/dist/esm/index.js +1 -0
  78. package/dist/esm/index.js.map +1 -1
  79. package/dist/esm/index.mjs +1 -0
  80. package/dist/esm/index.mjs.map +1 -1
  81. package/dist/esm/index.native.js +1 -0
  82. package/dist/esm/index.native.js.map +1 -1
  83. package/dist/esm/server.mjs +1 -0
  84. package/dist/esm/server.mjs.map +1 -1
  85. package/dist/esm/syncHost.mjs +10 -3
  86. package/dist/esm/syncHost.mjs.map +1 -1
  87. package/dist/esm/syncHost.native.js +11 -4
  88. package/dist/esm/syncHost.native.js.map +1 -1
  89. package/dist/esm/syncHost.test.mjs +2 -2
  90. package/dist/esm/syncHost.test.mjs.map +1 -1
  91. package/dist/esm/syncHost.test.native.js +2 -2
  92. package/dist/esm/syncHost.test.native.js.map +1 -1
  93. package/dist/esm/vite-plugin.mjs +2 -1
  94. package/dist/esm/vite-plugin.mjs.map +1 -1
  95. package/dist/esm/vite-plugin.native.js +2 -1
  96. package/dist/esm/vite-plugin.native.js.map +1 -1
  97. package/lint/ssr-guards.js +8 -7
  98. package/package.json +2 -2
  99. package/readme.md +13 -4
  100. package/src/asyncTasks.ts +33 -0
  101. package/src/cli.ts +7 -1
  102. package/src/createZeroDirectServer.ts +20 -36
  103. package/src/createZeroSQLiteServer.test.ts +8 -7
  104. package/src/createZeroServer.test.ts +86 -2
  105. package/src/createZeroServerCore.ts +7 -6
  106. package/src/generate.test.ts +18 -0
  107. package/src/generate.ts +7 -1
  108. package/src/helpers/createMutators.ts +3 -3
  109. package/src/helpers/mutatorContext.ts +1 -1
  110. package/src/index.ts +1 -0
  111. package/src/server.ts +2 -0
  112. package/src/syncHost.test.ts +2 -2
  113. package/src/syncHost.ts +6 -4
  114. package/src/types.ts +21 -3
  115. package/src/vite-plugin.ts +1 -0
  116. package/test-fixtures/server-return-types.ts +12 -1
  117. package/types/asyncTasks.d.ts +7 -0
  118. package/types/asyncTasks.d.ts.map +1 -0
  119. package/types/createZeroDirectServer.d.ts +3 -3
  120. package/types/createZeroDirectServer.d.ts.map +1 -1
  121. package/types/createZeroServerCore.d.ts +1 -1
  122. package/types/createZeroServerCore.d.ts.map +1 -1
  123. package/types/generate.d.ts +2 -0
  124. package/types/generate.d.ts.map +1 -1
  125. package/types/helpers/createMutators.d.ts +3 -3
  126. package/types/helpers/createMutators.d.ts.map +1 -1
  127. package/types/index.d.ts +1 -0
  128. package/types/index.d.ts.map +1 -1
  129. package/types/server.d.ts +2 -0
  130. package/types/server.d.ts.map +1 -1
  131. package/types/syncHost.d.ts.map +1 -1
  132. package/types/types.d.ts +18 -2
  133. package/types/types.d.ts.map +1 -1
  134. 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,84 @@ 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
+ });
126
204
  (0, import_vitest.test)("persists alreadyProcessed duplicate results for zero-cache recovery rows", async () => {
127
205
  const pg = new FakePgClient();
128
206
  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,90 @@ 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
+ });
177
261
  (0, import_vitest.test)("persists alreadyProcessed duplicate results for zero-cache recovery rows", async function () {
178
262
  var pg = new FakePgClient();
179
263
  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":"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","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"],"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");
@@ -66,7 +67,7 @@ function createZeroServerCore({
66
67
  const tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
67
68
  const recoveryRequest = request.clone();
68
69
  const mutators = (0, import_createMutators.createMutators)({
69
- asyncTasks: tasks.queue,
70
+ enqueueTask: tasks.enqueueTask,
70
71
  can: permissions.can,
71
72
  createServerActions,
72
73
  environment: "server",
@@ -82,8 +83,12 @@ function createZeroServerCore({
82
83
  if (parsed) await persistAlreadyProcessed(parsed);
83
84
  }
84
85
  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);
86
+ const entries = tasks.committed.map(entry => ({
87
+ ...entry,
88
+ task: () => (0, import_mutatorContext.runWithAuthScope)(authData, entry.task)
89
+ }));
90
+ await (0, import_asyncTasks.runAsyncTaskEntries)(entries, {
91
+ background: () => void 0
87
92
  });
88
93
  }
89
94
  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");
@@ -75,7 +76,7 @@ function createZeroServerCore(param) {
75
76
  var tasks = (0, import_createZeroDirectServer.createAsyncTaskCollector)();
76
77
  var recoveryRequest = request.clone();
77
78
  var mutators = (0, import_createMutators.createMutators)({
78
- asyncTasks: tasks.queue,
79
+ enqueueTask: tasks.enqueueTask,
79
80
  can: permissions.can,
80
81
  createServerActions,
81
82
  environment: "server",
@@ -91,10 +92,18 @@ function createZeroServerCore(param) {
91
92
  if (parsed) await persistAlreadyProcessed(parsed);
92
93
  }
93
94
  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);
95
+ var entries = tasks.committed.map(function (entry) {
96
+ return {
97
+ ...entry,
98
+ task: function () {
99
+ return (0, import_mutatorContext.runWithAuthScope)(authData, entry.task);
100
+ }
101
+ };
102
+ });
103
+ await (0, import_asyncTasks.runAsyncTaskEntries)(entries, {
104
+ background: function () {
105
+ return void 0;
106
+ }
98
107
  });
99
108
  }
100
109
  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","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"],"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,
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_exports","__export","generate","generateDrizzleSchemaFile","watch","module","exports","import_crypto","require","import_fs","import_path","import_generate_helpers","hash","s","createHash","update","digest","isGeneratorSourceFile","name","endsWith","hashInputTree","baseDir","generatedDir","parts","walk","dir","existsSync","entries","readdirSync","withFileTypes","sort","a","b","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","entry","full","resolve","isDirectory","isFile","push","readFileSync","err","return","join","generateCache","generateCachePath","getCacheDir","process","cwd","nm","cacheDir","mkdirSync","recursive","loadCache","JSON","parse","e","saveCache","writeFileSync","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","dirname","options","fileMap","Map","f","set","path","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","_fileMap_get","program","createProgram","map","f2","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","_node_modifiers","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","properties","prop","_prop_name","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","basename","hasCRUD","columns","primaryKeys","custom","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","_secondParam_type","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","parseColumnType","getInstantiatedPropertyType","parent","resolveProperty","Reflect","apply","seen","_checker_isArrayType","_checker_isArrayLikeType","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Void","Undefined","Null","Any","Unknown","Never","TemplateLiteral","isArrayType","isArrayLikeType","_checker_getTypeArguments","_type_getNumberIndexType","_checker_getTypeArguments1","typeArgs","getTypeArguments","elementType","getNumberIndexType","StringLiteral","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner","inner1","resolveSymbolType","prop2","_prop_declarations","instantiated","getName","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","name1","shouldSkipObjectKey","propType","isOptional","SymbolFlags","Optional","val","startsWith","formatObjectKey","props1","objectFlags","_type_objectFlags","ObjectFlags","Reference","_typeRef_typeArguments","typeRef","symbol","getSymbol","name2","typeArguments","Tuple","typeRef1","typeArgs1","entries1","prop1","name3","propType1","isOptional1","val1","stringIndex","getStringIndexType","numberIndex","serializeColumnBuilder","col","zeroType","expr","serverName","optional","schema","lines","tableNames","keys","tables","tableName","colEntries","pkArgs","primaryKey","k","tableSource","relTableNames","relationships","_loop","tableName2","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","Error","hop2","fn1","hopCode","sf2","df2","tableList","n","relList","after","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","queriesDir","inputHash","__inputHash","counts","__counts","_counts_modelCount","_counts_schemaCount","_counts_queryCount","_counts_mutationCount","filesChanged","modelCount","schemaCount","queryCount","mutationCount","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","parseTypeString","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","generate_exports","__export","generate","generateDrizzleSchemaFile","watch","module","exports","import_crypto","require","import_fs","import_path","import_generate_helpers","hash","s","createHash","update","digest","GENERATOR_CACHE_VERSION","isGeneratorSourceFile","name","endsWith","hashInputTree","baseDir","generatedDir","parts","walk","dir","existsSync","entries","readdirSync","withFileTypes","sort","a","b","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","entry","full","resolve","isDirectory","isFile","push","readFileSync","err","return","join","generateCache","generateCachePath","getCacheDir","process","cwd","nm","cacheDir","mkdirSync","recursive","loadCache","JSON","parse","e","saveCache","writeFileSync","stringify","writeFileIfChanged","filePath","content","contentHash","cachedHash","createTypeResolver","ts","files","configPath","findConfigFile","sys","fileExists","compilerOptions","target","ScriptTarget","Latest","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","strict","skipLibCheck","noEmit","configFile","readConfigFile","readFile","config","parsed","parseJsonConfigFileContent","dirname","options","fileMap","Map","f","set","path","host","createCompilerHost","originalGetSourceFile","getSourceFile","bind","fileName","languageVersion","onError","get","createSourceFile","has","_fileMap_get","program","createProgram","map","f2","checker","getTypeChecker","resolveType","node","getTypeFromTypeNode","typeToValibot","type","tsTypeToValibot","resolveParamType","resolver","sourceFile","exportName","paramIndex","result","forEachChild","_node_modifiers","isVariableStatement","modifiers","some","m","kind","SyntaxKind","ExportKeyword","decl","declarationList","declarations","isVariableDeclaration","getText","initializer","isArrowFunction","param","parameters","resolveMutationParamTypes","resolved","isCallExpression","args","arguments","handlersArg","i","length","isObjectLiteralExpression","properties","prop","_prop_name","isPropertyAssignment","isMethodDeclaration","params","init","isFunctionExpression","typeNode","expanded","extractMutationsFromModel","silent","resolvedTypes","resolvedTypeToValibot","mutateNode","modelName","basename","hasCRUD","columns","primaryKeys","custom","call","firstArg","hasNamedModel","Boolean","isStringLiteralLike","extractSchemaColumns","_secondParam_type","paramType","valibotCode","secondParam","resolvedType","visit","text","expression","arg","isStringLiteral","obj","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","colName","initText","colType","parseColumnType","getInstantiatedPropertyType","parent","resolveProperty","Reflect","apply","seen","_checker_isArrayType","_checker_isArrayLikeType","Set","flags","getFlags","TypeFlags","Object","Intersection","add","recurse","t","String","Number","Void","Undefined","Null","Any","Unknown","Never","TemplateLiteral","isArrayType","isArrayLikeType","_checker_getTypeArguments","_type_getNumberIndexType","_checker_getTypeArguments1","typeArgs","getTypeArguments","elementType","getNumberIndexType","StringLiteral","NumberLiteral","BooleanLiteral","intrinsicName","isUnion","members","types","hasNull","hasUndefined","rest","filter","every","inner","inner1","resolveSymbolType","prop2","_prop_declarations","instantiated","getName","valueDeclaration","getTypeOfSymbolAtLocation","getDeclaredTypeOfSymbol","isIntersection","props","getProperties","name1","shouldSkipObjectKey","propType","isOptional","SymbolFlags","Optional","val","startsWith","formatObjectKey","props1","objectFlags","_type_objectFlags","ObjectFlags","Reference","_typeRef_typeArguments","typeRef","symbol","getSymbol","name2","typeArguments","Tuple","typeRef1","typeArgs1","entries1","prop1","name3","propType1","isOptional1","val1","stringIndex","getStringIndexType","numberIndex","serializeColumnBuilder","col","zeroType","expr","serverName","optional","schema","lines","tableNames","keys","tables","tableName","colEntries","pkArgs","primaryKey","k","tableSource","relTableNames","relationships","_loop","tableName2","rels","relEntries","relBody","relName","hops","hop","fn","cardinality","sf","sourceField","df","destField","destSchema","Error","hop2","fn1","hopCode","sf2","df2","tableList","n","relList","after","force","mutationsDir","usesMutationsDir","modelsDir","modelsDirName","queriesDir","inputHash","__generatorVersion","__inputHash","counts","__counts","_counts_modelCount","_counts_schemaCount","_counts_queryCount","_counts_mutationCount","filesChanged","modelCount","schemaCount","queryCount","mutationCount","allModelFiles","filesWithSchema","includes","allModelNames","schemaModelNames","writeResults","generateModelsFile","generateTypesFile","generateTablesFile","generateReadmeFile","parseTypeString","trim","queryFiles","allQueries","queryResolver","getQueryResolver","allFiles2"],"sources":["../../src/generate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -168,6 +168,22 @@ export const allPosts = () => zero.query.post
168
168
  });
169
169
  (0, import_vitest.expect)(second.filesChanged).toBe(0);
170
170
  });
171
+ (0, import_vitest.test)("force regenerates without source changes", async () => {
172
+ (0, import_node_fs.writeFileSync)((0, import_node_path.join)(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
173
+ (0, import_node_fs.writeFileSync)((0, import_node_path.join)(testDir, "queries/post.ts"), `export const allPosts = () => zero.query.post`);
174
+ await (0, import_generate.generate)({
175
+ dir: testDir,
176
+ silent: true
177
+ });
178
+ const syncedQueriesPath = (0, import_node_path.join)(testDir, "generated/syncedQueries.ts");
179
+ (0, import_node_fs.rmSync)(syncedQueriesPath);
180
+ await (0, import_generate.generate)({
181
+ dir: testDir,
182
+ silent: true,
183
+ force: true
184
+ });
185
+ (0, import_vitest.expect)((0, import_node_fs.existsSync)(syncedQueriesPath)).toBe(true);
186
+ });
171
187
  });
172
188
  (0, import_vitest.describe)("mutations", () => {
173
189
  (0, import_vitest.test)("generates validators for inline mutation param types", async () => {