on-zero 0.9.7 → 0.10.0

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 (49) hide show
  1. package/dist/cjs/generate-helpers.test.cjs +0 -38
  2. package/dist/cjs/generate-helpers.test.native.js +0 -38
  3. package/dist/cjs/generate-helpers.test.native.js.map +1 -1
  4. package/dist/cjs/generate-lite.test.cjs +0 -522
  5. package/dist/cjs/generate-lite.test.native.js +0 -525
  6. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  7. package/dist/cjs/generate.test.cjs +0 -691
  8. package/dist/cjs/generate.test.native.js +0 -691
  9. package/dist/cjs/generate.test.native.js.map +1 -1
  10. package/dist/cjs/mutations.test.cjs +0 -11
  11. package/dist/cjs/mutations.test.native.js +0 -18
  12. package/dist/cjs/mutations.test.native.js.map +1 -1
  13. package/dist/cjs/server.test.cjs +0 -93
  14. package/dist/cjs/server.test.native.js +0 -101
  15. package/dist/cjs/server.test.native.js.map +1 -1
  16. package/dist/cjs/serverWhere.test.cjs +0 -45
  17. package/dist/cjs/serverWhere.test.native.js +0 -51
  18. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  19. package/dist/esm/generate-helpers.test.mjs +1 -39
  20. package/dist/esm/generate-helpers.test.mjs.map +1 -1
  21. package/dist/esm/generate-helpers.test.native.js +1 -39
  22. package/dist/esm/generate-helpers.test.native.js.map +1 -1
  23. package/dist/esm/generate-lite.test.mjs +0 -522
  24. package/dist/esm/generate-lite.test.mjs.map +1 -1
  25. package/dist/esm/generate-lite.test.native.js +0 -525
  26. package/dist/esm/generate-lite.test.native.js.map +1 -1
  27. package/dist/esm/generate.test.mjs +2 -668
  28. package/dist/esm/generate.test.mjs.map +1 -1
  29. package/dist/esm/generate.test.native.js +2 -668
  30. package/dist/esm/generate.test.native.js.map +1 -1
  31. package/dist/esm/mutations.test.mjs +0 -11
  32. package/dist/esm/mutations.test.mjs.map +1 -1
  33. package/dist/esm/mutations.test.native.js +0 -18
  34. package/dist/esm/mutations.test.native.js.map +1 -1
  35. package/dist/esm/server.test.mjs +0 -93
  36. package/dist/esm/server.test.mjs.map +1 -1
  37. package/dist/esm/server.test.native.js +0 -101
  38. package/dist/esm/server.test.native.js.map +1 -1
  39. package/dist/esm/serverWhere.test.mjs +0 -45
  40. package/dist/esm/serverWhere.test.mjs.map +1 -1
  41. package/dist/esm/serverWhere.test.native.js +0 -51
  42. package/dist/esm/serverWhere.test.native.js.map +1 -1
  43. package/package.json +1 -1
  44. package/src/generate-helpers.test.ts +0 -40
  45. package/src/generate-lite.test.ts +0 -586
  46. package/src/generate.test.ts +0 -844
  47. package/src/mutations.test.ts +0 -21
  48. package/src/server.test.ts +0 -75
  49. package/src/serverWhere.test.ts +0 -42
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, test } from "vitest";
2
- import { generateGroupedQueriesFile, generateModelsFile, generateTablesFile } from "./generate-helpers.native.js";
2
+ import { generateTablesFile } from "./generate-helpers.native.js";
3
3
  function declaredIdentifiers(source) {
4
4
  var names = [];
5
5
  var _iteratorNormalCompletion = true,
@@ -40,36 +40,6 @@ function expectNoDuplicates(source) {
40
40
  return names;
41
41
  }
42
42
  describe("generated module identifiers", function () {
43
- test("grouped queries keep distinct aliases when one namespace is another plus Source", function () {
44
- var source = generateGroupedQueriesFile([{
45
- name: "appById",
46
- sourceFile: "app",
47
- importPath: "../app/queries"
48
- }, {
49
- name: "appSourceByAppId",
50
- sourceFile: "appSource",
51
- importPath: "../appSource/queries"
52
- }]);
53
- expectNoDuplicates(source);
54
- var appExport = source.match(/export const app = \{([^}]*)\}/)[1];
55
- var appSourceExport = source.match(/export const appSource = \{([^}]*)\}/)[1];
56
- expect(appExport).toContain("appById");
57
- expect(appSourceExport).toContain("appSourceByAppId");
58
- expect(appExport).not.toContain("appSourceByAppId");
59
- });
60
- test("models keep distinct aliases when user and userPublic both exist", function () {
61
- var source = generateModelsFile([{
62
- name: "user",
63
- importPath: "../user"
64
- }, {
65
- name: "userPublic",
66
- importPath: "../userPublic"
67
- }]);
68
- expectNoDuplicates(source);
69
- var modelsObject = source.match(/export const models = \{([\s\S]*)\}/)[1];
70
- expect(modelsObject).toMatch(/\buser:/);
71
- expect(modelsObject).toMatch(/\buserPublic\b/);
72
- });
73
43
  test("table re-exports keep distinct names when user and userPublic both exist", function () {
74
44
  var source = generateTablesFile([{
75
45
  name: "user",
@@ -80,13 +50,5 @@ describe("generated module identifiers", function () {
80
50
  }]);
81
51
  expectNoDuplicates(source);
82
52
  });
83
- test("a namespace with no collision keeps its plain alias", function () {
84
- var source = generateGroupedQueriesFile([{
85
- name: "todoById",
86
- sourceFile: "todo",
87
- importPath: "../todo/queries"
88
- }]);
89
- expect(source).toContain(`import * as todoSource from '../todo/queries'`);
90
- });
91
53
  });
92
54
  //# sourceMappingURL=generate-helpers.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","test","generateGroupedQueriesFile","generateModelsFile","generateTablesFile","declaredIdentifiers","source","names","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","split","Symbol","iterator","_step","next","done","line","value","imported","match","push","declared","reexported","err","return","expectNoDuplicates","duplicates","filter","name","index","indexOf","toEqual","sourceFile","importPath","appExport","appSourceExport","toContain","not"],"sources":["../../src/generate-helpers.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,QAAY;AAEvC,SAAAC,0BAAA,EAAAC,kBAAA,EAAAC,kBAAA;AAAA,SACEC,oBAAAC,MAAA;EACA,IAAAC,KAAA;EACA,IAAAC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EAAA;IAMF,KAAS,IAAAC,SAAA,GAAAL,MAAoB,CAAAM,KAA0B,OAAAC,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;MACrD,IAAMU,IAAA,GAAmBH,KAAA,CAAAI,KAAA;MACzB,IAAAC,QAAW,GAAQF,IAAA,CAAAG,KAAO,+BAAa;MACrC,IAAMD,QAAA,EAAAb,KAAW,CAAKe,IAAA,CAAAF,QAAM;MAC5B,IAAIG,QAAU,GAAAL,IAAM,CAAAG,KAAK,4BAAY;MACrC,IAAME,QAAA,EAAAhB,KAAW,CAAKe,IAAA,CAAAC,QAAM;MAC5B,IAAIC,UAAU,GAAAN,IAAM,CAAAG,KAAK,sCAAY;MACrC,IAAMG,UAAA,EAAAjB,KAAa,CAAKe,IAAA,CAAAE,UAAM;IAC9B;EACF,SAAAC,GAAA;IACAhB,iBAAO;IACTC,cAAA,GAAAe,GAAA;EAEA,UAAS;IACP,IAAM;MACN,IAAM,CAAAjB,yBAA2B,IAAAG,SAAM,CAAAe,MAAU,IAAM,MAAQ;QAC/Df,SAAO,CAAAe,MAAY;MACnB;IACF;MAEA,IAASjB,iBAAA;QACF,MAAAC,cAAA;MACH;IAA0C;EAC2B;EACnE,OACEH,KAAM;AAAA;AACM,SACZoB,kBAAYA,CAAArB,MAAA;EAAA,IACdC,KAAA,GAAAF,mBAAA,CAAAC,MAAA;EAAA,IACDsB,UAAA,GAAArB,KAAA,CAAAsB,MAAA,WAAAC,IAAA,EAAAC,KAAA;IAED,OAAAxB,KAAA,CAAAyB,OAAmB,CAAAF,IAAM,MAAAC,KAAA;EAEzB;EACA/B,MAAA,CAAA4B,UAAM,EAAAK,OAAkB;EACxB,OAAA1B,KAAO;AACP;AACAR,QAAA,+BAAgC;EAClCE,IAAC;IAED,IAAKK,MAAA,GAAAJ,0BAAA,EACH;MACI4B,IAAA,EAAM,SAAQ;MACdI,UAAM;MACmCC,UAAA;IAE7C,GAEA;MACAL,IAAO,oBAAc;MACrBI,UAAO,aAAc;MACtBC,UAAA;IAED,CAAK,CACH;IAAkCR,kBAChB,CAAArB,MAAA;IAAsB,IACpC8B,SAAM,GAAA9B,MAAA,CAAAe,KAAc,iCAA4B;IACpD,IAA6CgB,eAAA,GAAA/B,MAAA,CAAAe,KAAA;IAE7CrB,MAAA,CAAAoC,SAAA,EAAAE,SAAyB;IAC1BtC,MAAA,CAAAqC,eAAA,EAAAC,SAAA;IAEDtC,MAAK,CAAAoC,SAAA,EAAAG,GAAA,CAAAD,SAAA;EACH;EAA0CrC,IACxC,mEAAoD,cAAkB;IACxE,IAACK,MAAA,GAAAH,kBAAA,EAED;MACD2B,IAAA;MACFK,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","test","generateTablesFile","declaredIdentifiers","source","names","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","split","Symbol","iterator","_step","next","done","line","value","imported","match","push","declared","reexported","err","return"],"sources":["../../src/generate-helpers.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,QAAY;AAEvC,SAAAC,kBAAA;AAAA,SAGEC,oBAAAC,MAAA;EAAA,IAAAC,KACK;EAKP,IAAAC,yBAA6B,OAA0B;IAAAC,iBAAA;IAAAC,cAAA;EACrD;IACA,SAAWC,SAAQ,GAAAL,MAAO,CAAAM,KAAM,CAAI,IAAG,EAAAC,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;MACrC,IAAMU,IAAA,GAAAH,KAAW,CAAAI,KAAK;MACtB,IAAIC,QAAU,GAAAF,IAAM,CAAAG,KAAK,+BAAY;MACrC,IAAMD,QAAA,EAAAb,KAAW,CAAKe,IAAA,CAAAF,QAAM;MAC5B,IAAIG,QAAU,GAAAL,IAAM,CAAAG,KAAK,4BAAY;MACrC,IAAME,QAAA,EAAAhB,KAAa,CAAAe,IAAK,CAAAC,QAAM;MAC9B,IAAIC,UAAY,GAAAN,IAAM,CAAAG,KAAK,sCAAc;MAC3C,IAAAG,UAAA,EAAAjB,KAAA,CAAAe,IAAA,CAAAE,UAAA;IACA;EACF,SAAAC,GAAA;IAEAhB,iBAAS,OAAmB;IAC1BC,cAAc,GAAAe,GAAA;EACd,UAAM;IACN;MACA,IAAO,CAAAjB,yBAAA,IAAAG,SAAA,CAAAe,MAAA;QACTf,SAAA,CAAAe,MAAA;MAEA;IACE,UAAK;MACH,IAAMjB,iBAAS;QACX,MAAMC,cAAQ;MAChB;IACF;EAEA;EACF,OAACH,KAAA;AACH","ignoreList":[]}
@@ -15,391 +15,6 @@ afterEach(() => {
15
15
  vi.restoreAllMocks();
16
16
  });
17
17
  describe("generateLite", () => {
18
- test("emits models.ts, syncedMutations.ts, and README.md from inline types", () => {
19
- const files = {
20
- [`${DIR}/todo.ts`]: "// fake source, parser returns fixture",
21
- [`${DIR}/user.ts`]: "// fake source, parser returns fixture"
22
- };
23
- const fixtures = {
24
- [`${DIR}/todo.ts`]: {
25
- mutations: [{
26
- modelName: "todo",
27
- handlers: [{
28
- name: "toggle",
29
- paramTypeText: "{ id: string; isActive: boolean }"
30
- }, {
31
- name: "rename",
32
- paramTypeText: "{ id: string; title: string }"
33
- }],
34
- schema: null
35
- }],
36
- queries: []
37
- },
38
- [`${DIR}/user.ts`]: {
39
- mutations: [{
40
- modelName: "user",
41
- handlers: [{
42
- name: "finishOnboarding",
43
- // null = no second param / void
44
- paramTypeText: null
45
- }],
46
- schema: null
47
- }],
48
- queries: []
49
- }
50
- };
51
- const result = generateLite({
52
- files,
53
- dir: DIR,
54
- parse: makeParse(fixtures)
55
- });
56
- expect(Object.keys(result.files).sort()).toEqual(["README.md", "groupedQueries.ts", "instances.ts", "models.ts", "syncedMutations.ts", "syncedQueries.ts"]);
57
- const models = result.files["models.ts"];
58
- expect(models).toContain("import * as todo from '../todo'");
59
- expect(models).toContain("import * as userPublic from '../user'");
60
- expect(models).toContain("user: userPublic,");
61
- expect(models).not.toContain("\n userPublic,");
62
- expect(models).toContain("export const models = {");
63
- const syncedMutations = result.files["syncedMutations.ts"];
64
- expect(syncedMutations).toContain("toggle:");
65
- expect(syncedMutations).toContain("v.object({");
66
- expect(syncedMutations).toContain("id: v.string()");
67
- expect(syncedMutations).toContain("isActive: v.boolean()");
68
- expect(syncedMutations).toContain("rename:");
69
- expect(syncedMutations).toContain("title: v.string()");
70
- expect(syncedMutations).toContain("finishOnboarding: v.void_()");
71
- expect(result.modelCount).toBe(2);
72
- expect(result.schemaCount).toBe(0);
73
- expect(result.mutationCount).toBe(3);
74
- });
75
- test("parses newline-separated mutation object types", () => {
76
- const files = {
77
- [`${DIR}/agentEvent.ts`]: "// fake",
78
- [`${DIR}/deployment.ts`]: "// fake"
79
- };
80
- const fixtures = {
81
- [`${DIR}/agentEvent.ts`]: {
82
- mutations: [{
83
- modelName: "agentEvent",
84
- handlers: [{
85
- name: "claimReviewLease",
86
- paramTypeText: `{
87
- id: string
88
- projectId: string
89
- createdAt: number
90
- }`
91
- }],
92
- schema: null
93
- }],
94
- queries: []
95
- },
96
- [`${DIR}/deployment.ts`]: {
97
- mutations: [{
98
- modelName: "deployment",
99
- handlers: [{
100
- name: "deploy",
101
- paramTypeText: `{
102
- id: string
103
- platform?: string // 'web' | 'ios'
104
- buildTier?: string // 'dev' | 'testflight' | 'production'
105
- }`
106
- }],
107
- schema: null
108
- }],
109
- queries: []
110
- }
111
- };
112
- const result = generateLite({
113
- files,
114
- dir: DIR,
115
- parse: makeParse(fixtures)
116
- });
117
- const synced = result.files["syncedMutations.ts"];
118
- expect(synced).toContain("claimReviewLease:");
119
- expect(synced).toContain("projectId: v.string()");
120
- expect(synced).toContain("createdAt: v.number()");
121
- expect(synced).toContain("deploy:");
122
- expect(synced).toContain("platform: v.optional(v.string())");
123
- expect(synced).toContain("buildTier: v.optional(v.string())");
124
- expect(synced).not.toContain("claimReviewLease: v.object({})");
125
- expect(synced).not.toContain("deploy: v.object({})");
126
- });
127
- test("parses object intersections and skips index signatures", () => {
128
- const files = {
129
- [`${DIR}/agent.ts`]: "// fake"
130
- };
131
- const fixtures = {
132
- [`${DIR}/agent.ts`]: {
133
- mutations: [{
134
- modelName: "agent",
135
- handlers: [{
136
- name: "update",
137
- paramTypeText: `{
138
- id: string
139
- } & {
140
- status?: string
141
- currentTaskId?: string
142
- [key: string]: unknown
143
- }`
144
- }],
145
- schema: null
146
- }],
147
- queries: []
148
- }
149
- };
150
- const result = generateLite({
151
- files,
152
- dir: DIR,
153
- parse: makeParse(fixtures)
154
- });
155
- const synced = result.files["syncedMutations.ts"];
156
- expect(synced).toContain("update:");
157
- expect(synced).toContain("id: v.string()");
158
- expect(synced).toContain("status: v.optional(v.string())");
159
- expect(synced).toContain("currentTaskId: v.optional(v.string())");
160
- expect(synced).not.toContain("[key");
161
- expect(synced).not.toContain("update: v.object({})");
162
- });
163
- test("falls back to v.unknown() for type references", () => {
164
- const files = {
165
- [`${DIR}/post.ts`]: `export const allPosts = () => zql.post`
166
- };
167
- const fixtures = {
168
- [`${DIR}/post.ts`]: {
169
- mutations: [{
170
- modelName: "post",
171
- handlers: [{
172
- name: "archive",
173
- // bare type reference — parseTypeString returns null, so
174
- // generate-lite should fall back to v.unknown() rather than
175
- // attempting cross-file type resolution.
176
- paramTypeText: "ArchiveParams"
177
- }, {
178
- name: "publish",
179
- // primitive, should resolve
180
- paramTypeText: "string"
181
- }],
182
- schema: null
183
- }],
184
- queries: []
185
- }
186
- };
187
- const result = generateLite({
188
- files,
189
- dir: DIR,
190
- parse: makeParse(fixtures)
191
- });
192
- const synced = result.files["syncedMutations.ts"];
193
- expect(synced).toContain("archive: v.unknown()");
194
- expect(synced).toContain("publish: v.string()");
195
- });
196
- test("uses v.unknown() for explicitly unknown mutation params", () => {
197
- const files = {
198
- [`${DIR}/project.ts`]: "// fake"
199
- };
200
- const fixtures = {
201
- [`${DIR}/project.ts`]: {
202
- mutations: [{
203
- modelName: "project",
204
- handlers: [{
205
- name: "insert",
206
- paramTypeText: "unknown"
207
- }],
208
- schema: null
209
- }],
210
- queries: []
211
- }
212
- };
213
- const result = generateLite({
214
- files,
215
- dir: DIR,
216
- parse: makeParse(fixtures)
217
- });
218
- expect(result.files["syncedMutations.ts"]).toContain("insert: v.unknown()");
219
- });
220
- test("emits query files with v.unknown() fallback for references", () => {
221
- const files = {
222
- [`${DIR}/post.ts`]: "// fake"
223
- };
224
- const fixtures = {
225
- [`${DIR}/post.ts`]: {
226
- mutations: [],
227
- queries: [
228
- // no-arg query → void
229
- {
230
- name: "allPosts",
231
- rootTable: "post",
232
- paramTypeText: null,
233
- relatedPaths: []
234
- },
235
- // inline object → real validator
236
- {
237
- name: "postById",
238
- rootTable: "post",
239
- paramTypeText: "{ id: string }",
240
- relatedPaths: []
241
- },
242
- // primitive
243
- {
244
- name: "byAuthorId",
245
- rootTable: "post",
246
- paramTypeText: "string",
247
- relatedPaths: []
248
- },
249
- // optional nullable inline object
250
- {
251
- name: "paged",
252
- rootTable: "post",
253
- paramTypeText: "{ pageSize: number; cursor?: { id: string; createdAt: number } | null }",
254
- relatedPaths: []
255
- },
256
- // type reference → fallback
257
- {
258
- name: "filtered",
259
- rootTable: "post",
260
- paramTypeText: "PostFilter",
261
- relatedPaths: []
262
- },
263
- // permission should be skipped
264
- {
265
- name: "permission",
266
- rootTable: "post",
267
- paramTypeText: null,
268
- relatedPaths: []
269
- }]
270
- }
271
- };
272
- const result = generateLite({
273
- files,
274
- dir: DIR,
275
- parse: makeParse(fixtures)
276
- });
277
- expect(result.files["groupedQueries.ts"]).toBeDefined();
278
- expect(result.files["syncedQueries.ts"]).toBeDefined();
279
- const grouped = result.files["groupedQueries.ts"];
280
- expect(grouped).toContain("import * as postSource from '../post'");
281
- expect(grouped).toContain("postById: postSource.postById");
282
- const synced = result.files["syncedQueries.ts"];
283
- expect(synced).toContain("allPosts: defineQuery(() => Queries.post.allPosts())");
284
- expect(synced).toContain("postById: defineQuery(");
285
- expect(synced).toContain("id: v.string()");
286
- expect(synced).toContain("byAuthorId: defineQuery(");
287
- expect(synced).toMatch(/byAuthorId: defineQuery\(\s*v\.string\(\)/);
288
- expect(synced).toContain("paged: defineQuery(");
289
- expect(synced).toContain("cursor: v.optional(v.nullable(v.object({");
290
- expect(synced).toContain("filtered: defineQuery(");
291
- expect(synced).toMatch(/filtered: defineQuery\(\s*v\.unknown\(\)/);
292
- expect(synced).not.toContain("permission: defineQuery");
293
- expect(result.queryCount).toBe(5);
294
- });
295
- test("emits types.ts and tables.ts when a model declares a schema inline", () => {
296
- const files = {
297
- [`${DIR}/task.ts`]: "// fake"
298
- };
299
- const fixtures = {
300
- [`${DIR}/task.ts`]: {
301
- mutations: [{
302
- modelName: "task",
303
- handlers: [],
304
- schema: {
305
- tableName: "task",
306
- primaryKeys: ["id"],
307
- columns: [{
308
- name: "id",
309
- builderText: "string()"
310
- }, {
311
- name: "title",
312
- builderText: "string()"
313
- }, {
314
- name: "priority",
315
- builderText: "number()"
316
- }, {
317
- name: "done",
318
- builderText: "boolean()"
319
- }, {
320
- name: "note",
321
- builderText: "string().optional()"
322
- }]
323
- }
324
- }],
325
- queries: []
326
- }
327
- };
328
- const result = generateLite({
329
- files,
330
- dir: DIR,
331
- parse: makeParse(fixtures)
332
- });
333
- expect(result.schemaCount).toBe(1);
334
- expect(result.files["types.ts"]).toBeDefined();
335
- expect(result.files["tables.ts"]).toBeDefined();
336
- const types = result.files["types.ts"];
337
- expect(types).toContain("export type Task = TableInsertRow<typeof schema.task>");
338
- const tables = result.files["tables.ts"];
339
- expect(tables).toContain("export { schema as task } from '../task'");
340
- const synced = result.files["syncedMutations.ts"];
341
- expect(synced).toContain("insert:");
342
- expect(synced).toContain("update:");
343
- expect(synced).toContain("delete:");
344
- expect(result.mutationCount).toBe(3);
345
- });
346
- test("ignores private files inside a namespace folder", () => {
347
- const files = {
348
- [`${DIR}/post/mutations.ts`]: "// fake",
349
- [`${DIR}/post/README.md`]: "not a model",
350
- [`${DIR}/post/helpers/util.ts`]: "private helper, ignored",
351
- [`${DIR}/post/post.d.ts`]: "declaration file, ignored",
352
- [`${DIR}/post/post.test.ts`]: "test file, ignored",
353
- [`${DIR}/post/post.spec.ts`]: "spec file, ignored"
354
- };
355
- const fixtures = {
356
- [`${DIR}/post/mutations.ts`]: {
357
- mutations: [{
358
- modelName: "post",
359
- handlers: [],
360
- schema: null
361
- }],
362
- queries: []
363
- }
364
- };
365
- const result = generateLite({
366
- files,
367
- dir: DIR,
368
- parse: makeParse(fixtures)
369
- });
370
- expect(result.modelCount).toBe(1);
371
- const models = result.files["models.ts"];
372
- expect(models).toContain("import * as post from '../post/mutations'");
373
- expect(models).not.toContain("util");
374
- expect(models).not.toContain("README");
375
- expect(models).not.toContain("post.test");
376
- expect(models).not.toContain("post.spec");
377
- });
378
- test("supports a split namespace folder", () => {
379
- const files = {
380
- [`${DIR}/post/mutations.ts`]: "// fake"
381
- };
382
- const fixtures = {
383
- [`${DIR}/post/mutations.ts`]: {
384
- mutations: [{
385
- modelName: "post",
386
- handlers: [{
387
- name: "publish",
388
- paramTypeText: "{ id: string }"
389
- }],
390
- schema: null
391
- }],
392
- queries: []
393
- }
394
- };
395
- const result = generateLite({
396
- files,
397
- dir: DIR,
398
- parse: makeParse(fixtures)
399
- });
400
- const models = result.files["models.ts"];
401
- expect(models).toContain("from '../post/mutations'");
402
- });
403
18
  test("derives single-file namespaces from data exports", () => {
404
19
  const files = {
405
20
  [`${DIR}/server.ts`]: `export const serverRows = () => zql.server`,
@@ -462,143 +77,6 @@ describe("generateLite", () => {
462
77
  parse: makeParse({})
463
78
  })).toThrow(/removed top-level queries\/ layout/);
464
79
  });
465
- test("derives scoped related-table closure from lite metadata", () => {
466
- const files = {
467
- [`${DIR}/on-zero.config.ts`]: `export default defineConfig({ instances: { project: { scope: 'projectId' } } })`,
468
- [`${DIR}/project/message/queries.ts`]: `export const messages = () => zql.message.related('comments')`,
469
- [`${DIR}/project/message/mutations.ts`]: "// fake mutation",
470
- ["/proj/src/database/relations.ts"]: "// fake relations",
471
- ["/proj/src/database/schema.ts"]: "// fake tables"
472
- };
473
- const empty = {
474
- mutations: [],
475
- queries: []
476
- };
477
- const result = generateLite({
478
- files,
479
- dir: DIR,
480
- parse: makeParse({
481
- [`${DIR}/on-zero.config.ts`]: {
482
- ...empty,
483
- dataConfig: {
484
- instances: {
485
- project: {
486
- scope: "projectId"
487
- }
488
- }
489
- }
490
- },
491
- [`${DIR}/project/message/queries.ts`]: {
492
- ...empty,
493
- queries: [{
494
- name: "messages",
495
- rootTable: "message",
496
- paramTypeText: null,
497
- relatedPaths: [["comments", "author"]]
498
- }]
499
- },
500
- [`${DIR}/project/message/mutations.ts`]: {
501
- ...empty,
502
- mutations: [{
503
- modelName: "message",
504
- handlers: [],
505
- schema: {
506
- tableName: "message",
507
- primaryKeys: ["id"],
508
- columns: [{
509
- name: "id",
510
- builderText: "string()"
511
- }, {
512
- name: "projectId",
513
- builderText: "string()"
514
- }]
515
- }
516
- }]
517
- },
518
- "/proj/src/database/relations.ts": {
519
- ...empty,
520
- relations: [{
521
- sourceTable: "message",
522
- name: "comments",
523
- targetTable: "comment"
524
- }, {
525
- sourceTable: "comment",
526
- name: "author",
527
- targetTable: "userPublic"
528
- }]
529
- },
530
- "/proj/src/database/schema.ts": {
531
- ...empty,
532
- tables: [{
533
- name: "comment",
534
- columns: ["id", "projectId"]
535
- }, {
536
- name: "userPublic",
537
- columns: ["id", "projectId"]
538
- }]
539
- }
540
- })
541
- });
542
- expect(result.files["instances.ts"]).toContain('syncTables: ["comment","message","userPublic"]');
543
- const instance = result.instances.find(entry => entry.name === "project");
544
- expect(instance?.syncTables).toEqual(["comment", "message", "userPublic"]);
545
- expect(instance?.supportTables).toEqual([]);
546
- });
547
- test("derives query membership from the query root instead of its namespace", () => {
548
- const files = {
549
- [`${DIR}/category/mutations.ts`]: "// fake category model",
550
- [`${DIR}/dashboard/queries.ts`]: `export const monthSummary = () => zql.category.related('expenses')`,
551
- ["/proj/src/database/relations.ts"]: "// fake relations",
552
- ["/proj/src/database/schema.ts"]: "// fake tables"
553
- };
554
- const empty = {
555
- mutations: [],
556
- queries: []
557
- };
558
- const result = generateLite({
559
- files,
560
- dir: DIR,
561
- parse: makeParse({
562
- [`${DIR}/category/mutations.ts`]: {
563
- ...empty,
564
- mutations: [{
565
- modelName: "category",
566
- handlers: [],
567
- schema: null
568
- }]
569
- },
570
- [`${DIR}/dashboard/queries.ts`]: {
571
- ...empty,
572
- queries: [{
573
- name: "monthSummary",
574
- rootTable: "category",
575
- paramTypeText: null,
576
- relatedPaths: [["expenses"]]
577
- }]
578
- },
579
- "/proj/src/database/relations.ts": {
580
- ...empty,
581
- relations: [{
582
- sourceTable: "category",
583
- name: "expenses",
584
- targetTable: "expense"
585
- }]
586
- },
587
- "/proj/src/database/schema.ts": {
588
- ...empty,
589
- tables: [{
590
- name: "category",
591
- columns: ["id"]
592
- }, {
593
- name: "expense",
594
- columns: ["id", "categoryId"]
595
- }]
596
- }
597
- })
598
- });
599
- expect(result.instances[0]?.syncTables).toEqual(["category", "expense"]);
600
- expect(result.instances[0]?.syncTables).not.toContain("dashboard");
601
- });
602
80
  test("ignores related syntax mentioned only in a query-file comment", () => {
603
81
  const files = {
604
82
  [`${DIR}/dashboard/queries.ts`]: `// monthSummary moved to category/queries.ts because it uses .related()`
@@ -1 +1 @@
1
- {"version":3,"names":["runInNewContext","afterEach","describe","expect","test","vi","generateLite","makeParse","table","_src","path","entry","Error","DIR","restoreAllMocks","files","fixtures","mutations","modelName","handlers","name","paramTypeText","schema","queries","result","dir","parse","Object","keys","sort","toEqual","models","toContain","not","syncedMutations","modelCount","toBe","schemaCount","mutationCount","synced","rootTable","relatedPaths","toBeDefined","grouped","toMatch","queryCount","tableName","primaryKeys","columns","builderText","types","tables","warn","spyOn","console","mockImplementation","source","endsWith","includes","toHaveBeenCalledOnce","toHaveBeenCalledWith","mockRestore","toThrow","empty","dataConfig","instances","project","scope","relations","sourceTable","targetTable","instance","find","syncTables","supportTables","imports","runnable","replace","context","groupedQueries","post","default","control","account","message"],"sources":["../../src/generate-lite.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["runInNewContext","afterEach","describe","expect","test","vi","generateLite","makeParse","table","_src","path","entry","Error","DIR","restoreAllMocks","files","result","dir","parse","mutations","queries","name","rootTable","paramTypeText","relatedPaths","modelCount","toBe","queryCount","warn","spyOn","console","mockImplementation","source","endsWith","includes","toHaveBeenCalledOnce","toHaveBeenCalledWith","mockRestore","toThrow","instances","syncTables","toEqual","empty","modelName","handlers","schema","imports","supportTables","runnable","replace","context","groupedQueries","models","post","default","dataConfig","control","project","scope","tableName","primaryKeys","columns","builderText","tables","account","message"],"sources":["../../src/generate-lite.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}