on-zero 0.9.7 → 0.10.1
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.
- package/dist/cjs/generate-helpers.test.cjs +0 -38
- package/dist/cjs/generate-helpers.test.native.js +0 -38
- package/dist/cjs/generate-helpers.test.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.cjs +0 -522
- package/dist/cjs/generate-lite.test.native.js +0 -525
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +0 -691
- package/dist/cjs/generate.test.native.js +0 -691
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/mutations.test.cjs +0 -11
- package/dist/cjs/mutations.test.native.js +0 -18
- package/dist/cjs/mutations.test.native.js.map +1 -1
- package/dist/cjs/server.test.cjs +0 -93
- package/dist/cjs/server.test.native.js +0 -101
- package/dist/cjs/server.test.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.cjs +0 -45
- package/dist/cjs/serverWhere.test.native.js +0 -51
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/esm/generate-helpers.test.mjs +1 -39
- package/dist/esm/generate-helpers.test.mjs.map +1 -1
- package/dist/esm/generate-helpers.test.native.js +1 -39
- package/dist/esm/generate-helpers.test.native.js.map +1 -1
- package/dist/esm/generate-lite.test.mjs +0 -522
- package/dist/esm/generate-lite.test.mjs.map +1 -1
- package/dist/esm/generate-lite.test.native.js +0 -525
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +2 -668
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +2 -668
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/mutations.test.mjs +0 -11
- package/dist/esm/mutations.test.mjs.map +1 -1
- package/dist/esm/mutations.test.native.js +0 -18
- package/dist/esm/mutations.test.native.js.map +1 -1
- package/dist/esm/server.test.mjs +0 -93
- package/dist/esm/server.test.mjs.map +1 -1
- package/dist/esm/server.test.native.js +0 -101
- package/dist/esm/server.test.native.js.map +1 -1
- package/dist/esm/serverWhere.test.mjs +0 -45
- package/dist/esm/serverWhere.test.mjs.map +1 -1
- package/dist/esm/serverWhere.test.native.js +0 -51
- package/dist/esm/serverWhere.test.native.js.map +1 -1
- package/package.json +1 -1
- package/src/generate-helpers.test.ts +0 -40
- package/src/generate-lite.test.ts +0 -586
- package/src/generate.test.ts +0 -844
- package/src/mutations.test.ts +0 -21
- package/src/server.test.ts +0 -75
- package/src/serverWhere.test.ts +0 -42
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, test } from "vitest";
|
|
2
|
-
import {
|
|
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","
|
|
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":[]}
|