joist-graphql-codegen 1.208.6 → 1.209.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/build/generateGraphqlSchemaFiles.d.ts +2 -2
- package/build/generateGraphqlSchemaFiles.d.ts.map +1 -1
- package/build/generateGraphqlSchemaFiles.js +19 -10
- package/build/generateGraphqlSchemaFiles.js.map +1 -1
- package/build/generateGraphqlSchemaFiles.test.js +77 -16
- package/build/generateGraphqlSchemaFiles.test.js.map +1 -1
- package/build/graphqlUtils.d.ts.map +1 -1
- package/build/graphqlUtils.js +3 -2
- package/build/graphqlUtils.js.map +1 -1
- package/build/index.d.ts +2 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -2
- package/build/index.js.map +1 -1
- package/build/testUtils.d.ts +2 -1
- package/build/testUtils.d.ts.map +1 -1
- package/build/testUtils.js +18 -0
- package/build/testUtils.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DbMetadata } from "joist-codegen";
|
|
2
2
|
import { Fs } from "./utils";
|
|
3
3
|
/**
|
|
4
4
|
* Generates `*.graphql` files based on the database schema.
|
|
@@ -8,5 +8,5 @@ import { Fs } from "./utils";
|
|
|
8
8
|
* and will only do them once, which allows programmers to manually add/edit/remove fields
|
|
9
9
|
* without this stomping over their changes.
|
|
10
10
|
*/
|
|
11
|
-
export declare function generateGraphqlSchemaFiles(fs: Fs,
|
|
11
|
+
export declare function generateGraphqlSchemaFiles(fs: Fs, dbMeta: DbMetadata): Promise<void>;
|
|
12
12
|
//# sourceMappingURL=generateGraphqlSchemaFiles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateGraphqlSchemaFiles.d.ts","sourceRoot":"","sources":["../src/generateGraphqlSchemaFiles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generateGraphqlSchemaFiles.d.ts","sourceRoot":"","sources":["../src/generateGraphqlSchemaFiles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAC;AAI7D,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C1F"}
|
|
@@ -13,12 +13,13 @@ const history_1 = require("./history");
|
|
|
13
13
|
* and will only do them once, which allows programmers to manually add/edit/remove fields
|
|
14
14
|
* without this stomping over their changes.
|
|
15
15
|
*/
|
|
16
|
-
async function generateGraphqlSchemaFiles(fs,
|
|
16
|
+
async function generateGraphqlSchemaFiles(fs, dbMeta) {
|
|
17
|
+
const { entities } = dbMeta;
|
|
17
18
|
// Generate the "ideal" fields based solely on the domain model
|
|
18
19
|
const fields = [
|
|
19
20
|
...createSaveMutation(entities),
|
|
20
|
-
...createEntityFields(
|
|
21
|
-
...createSaveEntityInputFields(
|
|
21
|
+
...createEntityFields(dbMeta),
|
|
22
|
+
...createSaveEntityInputFields(dbMeta),
|
|
22
23
|
...createSaveEntityResultFields(entities),
|
|
23
24
|
];
|
|
24
25
|
const unions = createPolymorphicUnions(entities);
|
|
@@ -64,7 +65,8 @@ function createPolymorphicUnions(entities) {
|
|
|
64
65
|
});
|
|
65
66
|
}
|
|
66
67
|
/** Make all the fields for `type Author`, `type Book`, etc. */
|
|
67
|
-
function createEntityFields(
|
|
68
|
+
function createEntityFields(dbMeta) {
|
|
69
|
+
const { entities } = dbMeta;
|
|
68
70
|
return entities.flatMap((e) => {
|
|
69
71
|
const file = fileName(e);
|
|
70
72
|
const objectType = "output";
|
|
@@ -87,7 +89,9 @@ function createEntityFields(entities) {
|
|
|
87
89
|
return { ...common, fieldName, fieldType };
|
|
88
90
|
});
|
|
89
91
|
const m2os = e.manyToOnes.map(({ fieldName, otherEntity, notNull }) => {
|
|
90
|
-
const
|
|
92
|
+
const other = dbMeta.entitiesByName[otherEntity.name];
|
|
93
|
+
const maybeLike = other.subTypes.length > 0 && !other.abstract ? "Like" : "";
|
|
94
|
+
const fieldType = `${otherEntity.name}${maybeLike}${maybeRequired(notNull)}`;
|
|
91
95
|
return { ...common, fieldName, fieldType };
|
|
92
96
|
});
|
|
93
97
|
const o2ms = e.oneToManys.map(({ fieldName, otherEntity }) => {
|
|
@@ -104,8 +108,9 @@ function createEntityFields(entities) {
|
|
|
104
108
|
const polys = e.polymorphics.map(({ fieldName, fieldType }) => {
|
|
105
109
|
return { ...common, fieldName, fieldType };
|
|
106
110
|
});
|
|
111
|
+
// GraphQL wants base fields copy/pasted onto subtypes, so re-run ourselves against just the base type
|
|
107
112
|
const inheritedFields = e.baseClassName
|
|
108
|
-
? createEntityFields(
|
|
113
|
+
? createEntityFields(findBaseEntity(dbMeta, e.baseClassName))
|
|
109
114
|
.map((f) => ({ ...f, ...common }))
|
|
110
115
|
.filter((f) => f.fieldName !== "id")
|
|
111
116
|
: [];
|
|
@@ -130,7 +135,8 @@ function createSaveMutation(entities) {
|
|
|
130
135
|
});
|
|
131
136
|
}
|
|
132
137
|
/** Make all the fields for `type SaveAuthorInput`, `type SaveBookBook`, etc. */
|
|
133
|
-
function createSaveEntityInputFields(
|
|
138
|
+
function createSaveEntityInputFields(dbMeta) {
|
|
139
|
+
const { entities } = dbMeta;
|
|
134
140
|
return entities.flatMap((e) => {
|
|
135
141
|
const file = fileName(e);
|
|
136
142
|
const objectType = "input";
|
|
@@ -159,7 +165,7 @@ function createSaveEntityInputFields(entities) {
|
|
|
159
165
|
return { ...common, fieldName: `${fieldName}Id`, fieldType: "ID" };
|
|
160
166
|
});
|
|
161
167
|
const inherited = e.baseClassName
|
|
162
|
-
? createSaveEntityInputFields(
|
|
168
|
+
? createSaveEntityInputFields(findBaseEntity(dbMeta, e.baseClassName))
|
|
163
169
|
.map((f) => ({ ...f, ...common }))
|
|
164
170
|
.filter((f) => f.fieldName !== "id")
|
|
165
171
|
: [];
|
|
@@ -185,7 +191,10 @@ function maybeRequired(notNull) {
|
|
|
185
191
|
function fileName(e) {
|
|
186
192
|
return `${(0, change_case_1.camelCase)(e.entity.name)}.graphql`;
|
|
187
193
|
}
|
|
188
|
-
function findBaseEntity(
|
|
189
|
-
return
|
|
194
|
+
function findBaseEntity(dbMeta, baseClassName) {
|
|
195
|
+
return {
|
|
196
|
+
...dbMeta,
|
|
197
|
+
entities: dbMeta.entities.filter((e) => e.entity.name === baseClassName),
|
|
198
|
+
};
|
|
190
199
|
}
|
|
191
200
|
//# sourceMappingURL=generateGraphqlSchemaFiles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateGraphqlSchemaFiles.js","sourceRoot":"","sources":["../src/generateGraphqlSchemaFiles.ts"],"names":[],"mappings":";;AAeA,
|
|
1
|
+
{"version":3,"file":"generateGraphqlSchemaFiles.js","sourceRoot":"","sources":["../src/generateGraphqlSchemaFiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const utils_1 = require("joist-codegen/build/utils");
|
|
4
|
+
const joist_utils_1 = require("joist-utils");
|
|
4
5
|
const generateGraphqlSchemaFiles_1 = require("./generateGraphqlSchemaFiles");
|
|
5
6
|
const testUtils_1 = require("./testUtils");
|
|
6
7
|
describe("generateGraphqlSchemaFiles", () => {
|
|
@@ -10,7 +11,7 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
10
11
|
// And no existing graphql file
|
|
11
12
|
const fs = (0, testUtils_1.newFs)({});
|
|
12
13
|
// When ran
|
|
13
|
-
await (
|
|
14
|
+
await generate(fs, entities);
|
|
14
15
|
// We now have a graphql file
|
|
15
16
|
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
16
17
|
"extend type Mutation {
|
|
@@ -45,7 +46,7 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
45
46
|
".history.json": JSON.stringify({ Author: ["id"] }),
|
|
46
47
|
});
|
|
47
48
|
// When ran
|
|
48
|
-
await (
|
|
49
|
+
await generate(fs, entities);
|
|
49
50
|
// Then we added the new field
|
|
50
51
|
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
51
52
|
"type Author {
|
|
@@ -99,7 +100,7 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
99
100
|
"author.graphql": "type Author { id: ID! customField: String } input SaveAuthorInput { id: ID customField: String }",
|
|
100
101
|
});
|
|
101
102
|
// When ran
|
|
102
|
-
await (
|
|
103
|
+
await generate(fs, entities);
|
|
103
104
|
// We added the new field, but did not did the custom field
|
|
104
105
|
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
105
106
|
"type Author {
|
|
@@ -138,7 +139,7 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
138
139
|
".history.json": JSON.stringify({ Author: ["firstName"] }),
|
|
139
140
|
});
|
|
140
141
|
// When ran
|
|
141
|
-
await (
|
|
142
|
+
await generate(fs, entities);
|
|
142
143
|
// Then we did not re-add it as a new field
|
|
143
144
|
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
144
145
|
"type Author {
|
|
@@ -176,7 +177,7 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
176
177
|
`,
|
|
177
178
|
});
|
|
178
179
|
// When ran
|
|
179
|
-
await (
|
|
180
|
+
await generate(fs, entities);
|
|
180
181
|
// Then we added the new field
|
|
181
182
|
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
182
183
|
"" The author. "
|
|
@@ -215,7 +216,7 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
215
216
|
];
|
|
216
217
|
// When ran
|
|
217
218
|
const fs = (0, testUtils_1.newFs)({});
|
|
218
|
-
await (
|
|
219
|
+
await generate(fs, entities);
|
|
219
220
|
// Then the input does not have the createdAt field
|
|
220
221
|
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
221
222
|
"extend type Mutation {
|
|
@@ -257,8 +258,8 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
257
258
|
];
|
|
258
259
|
// When ran
|
|
259
260
|
const fs = (0, testUtils_1.newFs)({});
|
|
260
|
-
await (
|
|
261
|
-
// Then the input has both
|
|
261
|
+
await generate(fs, entities);
|
|
262
|
+
// Then the input has both types of fields as appropriate
|
|
262
263
|
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
263
264
|
"extend type Mutation {
|
|
264
265
|
saveAuthor(input: SaveAuthorInput!): SaveAuthorResult!
|
|
@@ -302,8 +303,8 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
302
303
|
];
|
|
303
304
|
// When ran
|
|
304
305
|
const fs = (0, testUtils_1.newFs)({});
|
|
305
|
-
await (
|
|
306
|
-
// Then the
|
|
306
|
+
await generate(fs, entities);
|
|
307
|
+
// Then the Author links to a PublisherLike
|
|
307
308
|
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
308
309
|
"extend type Mutation {
|
|
309
310
|
saveAuthor(input: SaveAuthorInput!): SaveAuthorResult!
|
|
@@ -339,8 +340,8 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
339
340
|
];
|
|
340
341
|
// When ran
|
|
341
342
|
const fs = (0, testUtils_1.newFs)({});
|
|
342
|
-
await (
|
|
343
|
-
// Then the input has both
|
|
343
|
+
await generate(fs, entities);
|
|
344
|
+
// Then the input has both types of fields as appropriate
|
|
344
345
|
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
345
346
|
"extend type Mutation {
|
|
346
347
|
saveAuthor(input: SaveAuthorInput!): SaveAuthorResult!
|
|
@@ -372,8 +373,8 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
372
373
|
];
|
|
373
374
|
// When ran
|
|
374
375
|
const fs = (0, testUtils_1.newFs)({});
|
|
375
|
-
await (
|
|
376
|
-
// Then the input has both
|
|
376
|
+
await generate(fs, entities);
|
|
377
|
+
// Then the input has both types of fields as appropriate
|
|
377
378
|
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
378
379
|
"extend type Mutation {
|
|
379
380
|
saveAuthor(input: SaveAuthorInput!): SaveAuthorResult!
|
|
@@ -408,8 +409,8 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
408
409
|
];
|
|
409
410
|
// When ran
|
|
410
411
|
const fs = (0, testUtils_1.newFs)({});
|
|
411
|
-
await (
|
|
412
|
-
// Then the input has both
|
|
412
|
+
await generate(fs, entities);
|
|
413
|
+
// Then the input has both types of fields as appropriate
|
|
413
414
|
expect(await fs.load("smallPublisher.graphql")).toMatchInlineSnapshot(`
|
|
414
415
|
"extend type Mutation {
|
|
415
416
|
saveSmallPublisher(input: SaveSmallPublisherInput!): SaveSmallPublisherResult!
|
|
@@ -433,5 +434,65 @@ describe("generateGraphqlSchemaFiles", () => {
|
|
|
433
434
|
"
|
|
434
435
|
`);
|
|
435
436
|
});
|
|
437
|
+
it("assumes a Like interface for subclassed & concrete base types", async () => {
|
|
438
|
+
// Given a small publisher which inherits from publisher
|
|
439
|
+
const entities = [
|
|
440
|
+
(0, testUtils_1.newEntityMetadata)("Publisher", {
|
|
441
|
+
primitives: [(0, testUtils_1.newPrimitiveField)("name")],
|
|
442
|
+
}),
|
|
443
|
+
(0, testUtils_1.newEntityMetadata)("SmallPublisher", {
|
|
444
|
+
baseClassName: "Publisher",
|
|
445
|
+
primitives: [(0, testUtils_1.newPrimitiveField)("city")],
|
|
446
|
+
}),
|
|
447
|
+
(0, testUtils_1.newEntityMetadata)("Author", {
|
|
448
|
+
manyToOnes: [(0, testUtils_1.newManyToOneField)("publisher", "Publisher")],
|
|
449
|
+
}),
|
|
450
|
+
];
|
|
451
|
+
// When ran
|
|
452
|
+
const fs = (0, testUtils_1.newFs)({});
|
|
453
|
+
await generate(fs, entities);
|
|
454
|
+
// Then the input has both types of fields as appropriate
|
|
455
|
+
expect(await fs.load("author.graphql")).toMatchInlineSnapshot(`
|
|
456
|
+
"extend type Mutation {
|
|
457
|
+
saveAuthor(input: SaveAuthorInput!): SaveAuthorResult!
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
type Author {
|
|
461
|
+
id: ID!
|
|
462
|
+
publisher: PublisherLike!
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
input SaveAuthorInput {
|
|
466
|
+
id: ID
|
|
467
|
+
publisherId: ID
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
type SaveAuthorResult {
|
|
471
|
+
author: Author!
|
|
472
|
+
}
|
|
473
|
+
"
|
|
474
|
+
`);
|
|
475
|
+
});
|
|
436
476
|
});
|
|
477
|
+
async function generate(fs, opt) {
|
|
478
|
+
const entities = Array.isArray(opt) ? opt : (opt.entities ?? []);
|
|
479
|
+
const entitiesByName = (0, joist_utils_1.keyBy)(entities, "name");
|
|
480
|
+
// Hook up baseType/subTypes
|
|
481
|
+
for (const entity of entities) {
|
|
482
|
+
if (entity.baseClassName) {
|
|
483
|
+
const baseType = entitiesByName[entity.baseClassName];
|
|
484
|
+
entity.baseType = baseType;
|
|
485
|
+
baseType.subTypes.push(entity);
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
const dbMeta = {
|
|
489
|
+
entities,
|
|
490
|
+
enums: {},
|
|
491
|
+
pgEnums: {},
|
|
492
|
+
joinTables: [],
|
|
493
|
+
totalTables: 10,
|
|
494
|
+
entitiesByName,
|
|
495
|
+
};
|
|
496
|
+
return (0, generateGraphqlSchemaFiles_1.generateGraphqlSchemaFiles)(fs, dbMeta);
|
|
497
|
+
}
|
|
437
498
|
//# sourceMappingURL=generateGraphqlSchemaFiles.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateGraphqlSchemaFiles.test.js","sourceRoot":"","sources":["../src/generateGraphqlSchemaFiles.test.ts"],"names":[],"mappings":";;AACA,qDAA0G;AAC1G,6EAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"generateGraphqlSchemaFiles.test.js","sourceRoot":"","sources":["../src/generateGraphqlSchemaFiles.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphqlUtils.d.ts","sourceRoot":"","sources":["../src/graphqlUtils.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,iEAAiE;AACjE,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAElG,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3C,oHAAoH;AACpH,wBAAsB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5F;AAID,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOpE;
|
|
1
|
+
{"version":3,"file":"graphqlUtils.d.ts","sourceRoot":"","sources":["../src/graphqlUtils.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,iEAAiE;AACjE,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAElG,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3C,oHAAoH;AACpH,wBAAsB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5F;AAID,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOpE;AA4HD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;AAEtF,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;AAE3F,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,uBAAuB,GAAG,MAAM,GAAG,IAAI,GAC5C,WAAW,GAAG,SAAS,CAgCzB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc,WAE9C"}
|
package/build/graphqlUtils.js
CHANGED
|
@@ -72,9 +72,10 @@ function createFieldDoc(objectName, fields) {
|
|
|
72
72
|
const type = objectType === "output" ? "type" : objectType;
|
|
73
73
|
const maybeArgs = (f) => (f.argsString ? `(${f.argsString})` : "");
|
|
74
74
|
const maybeExtends = fields.some((f) => f.extends) ? "extend " : "";
|
|
75
|
-
|
|
75
|
+
const source = `${maybeExtends}${type} ${objectName} {
|
|
76
76
|
${fields.map((f) => `${f.fieldName}${maybeArgs(f)}: ${f.fieldType}`)}
|
|
77
|
-
}
|
|
77
|
+
}`;
|
|
78
|
+
return (0, graphql_1.parse)(source);
|
|
78
79
|
}
|
|
79
80
|
function createUnionDoc(union) {
|
|
80
81
|
const { objectName, types } = union;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphqlUtils.js","sourceRoot":"","sources":["../src/graphqlUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,wCAqBC;AAID,sCAOC;
|
|
1
|
+
{"version":3,"file":"graphqlUtils.js","sourceRoot":"","sources":["../src/graphqlUtils.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config,
|
|
1
|
+
import { Config, DbMetadata } from "joist-codegen";
|
|
2
2
|
import { CodegenFile } from "ts-poet";
|
|
3
|
-
export declare function run(config: Config,
|
|
3
|
+
export declare function run(config: Config, dbMeta: DbMetadata): Promise<CodegenFile[]>;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAUtC,wBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAoBpF"}
|
package/build/index.js
CHANGED
|
@@ -9,11 +9,12 @@ const generateObjectResolvers_1 = require("./generateObjectResolvers");
|
|
|
9
9
|
const generateSaveResolvers_1 = require("./generateSaveResolvers");
|
|
10
10
|
const history_1 = require("./history");
|
|
11
11
|
const utils_1 = require("./utils");
|
|
12
|
-
async function run(config,
|
|
12
|
+
async function run(config, dbMeta) {
|
|
13
13
|
const fs = (0, utils_1.newFsImpl)("./schema");
|
|
14
14
|
// We upsert directly into schema files so we don't use the usual `CodeGenFile[]` return type;
|
|
15
|
-
await (0, generateGraphqlSchemaFiles_1.generateGraphqlSchemaFiles)(fs,
|
|
15
|
+
await (0, generateGraphqlSchemaFiles_1.generateGraphqlSchemaFiles)(fs, dbMeta);
|
|
16
16
|
// We use the history file to ensure we only generate these once
|
|
17
|
+
const { entities, enums } = dbMeta;
|
|
17
18
|
const conditionalResolvers = [
|
|
18
19
|
...(0, generateObjectResolvers_1.generateObjectResolvers)(config, entities),
|
|
19
20
|
...(0, generateSaveResolvers_1.generateSaveResolvers)(config, entities),
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAWA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAWA,kBAoBC;AA7BD,+EAA4E;AAC5E,iEAA8D;AAC9D,qEAAkE;AAClE,6EAA0E;AAC1E,uEAAoE;AACpE,mEAAgE;AAChE,uCAAsD;AACtD,mCAAwC;AAEjC,KAAK,UAAU,GAAG,CAAC,MAAc,EAAE,MAAkB;IAC1D,MAAM,EAAE,GAAG,IAAA,iBAAS,EAAC,UAAU,CAAC,CAAC;IAEjC,8FAA8F;IAC9F,MAAM,IAAA,uDAA0B,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE7C,gEAAgE;IAChE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACnC,MAAM,oBAAoB,GAAG;QAC3B,GAAG,IAAA,iDAAuB,EAAC,MAAM,EAAE,QAAQ,CAAC;QAC5C,GAAG,IAAA,6CAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC;KAC3C,CAAC;IACF,MAAM,KAAK,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;IACjC,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAErD,OAAO;QACL,MAAM,IAAA,2CAAoB,EAAC,KAAK,CAAC;QACjC,IAAA,yDAA2B,EAAC,KAAK,CAAC;QAClC,IAAA,+CAAsB,EAAC,QAAQ,EAAE,KAAK,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,EAAM,EAAE,KAAoB;IACnE,qFAAqF;IACrF,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAW,EAAC,EAAE,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,8EAA8E;YAC9E,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,MAAM,IAAA,sBAAY,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,eAAe,CAAC,IAAiB;IACxC,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC"}
|
package/build/testUtils.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { EntityDbMetadata, EnumField, PrimitiveField } from "joist-codegen";
|
|
1
|
+
import { EntityDbMetadata, EnumField, ManyToOneField, PrimitiveField } from "joist-codegen";
|
|
2
2
|
import { Fs } from "./utils";
|
|
3
3
|
export declare function newFs(files: Record<string, string>): Fs;
|
|
4
4
|
export declare function newPrimitiveField(fieldName: string, opts?: Partial<PrimitiveField>): PrimitiveField;
|
|
5
5
|
export declare function newEntityMetadata(name: string, opts?: Partial<EntityDbMetadata>): EntityDbMetadata;
|
|
6
6
|
export declare function newEnumField(fieldName: string, opts?: Partial<EnumField>): EnumField;
|
|
7
|
+
export declare function newManyToOneField(fieldName: string, otherEntity: string, opts?: Partial<ManyToOneField>): ManyToOneField;
|
|
7
8
|
//# sourceMappingURL=testUtils.d.ts.map
|
package/build/testUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../src/testUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAc,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../src/testUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAc,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGxG,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CAQvD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,cAAc,CAoBvG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB,CA+BtG;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,SAAS,CAsBxF;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,OAAO,CAAC,cAAc,CAAM,GACjC,cAAc,CAgBhB"}
|
package/build/testUtils.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.newFs = newFs;
|
|
|
4
4
|
exports.newPrimitiveField = newPrimitiveField;
|
|
5
5
|
exports.newEntityMetadata = newEntityMetadata;
|
|
6
6
|
exports.newEnumField = newEnumField;
|
|
7
|
+
exports.newManyToOneField = newManyToOneField;
|
|
7
8
|
const change_case_1 = require("change-case");
|
|
8
9
|
const joist_codegen_1 = require("joist-codegen");
|
|
9
10
|
const pluralize_1 = require("pluralize");
|
|
@@ -93,4 +94,21 @@ function newEnumField(fieldName, opts = {}) {
|
|
|
93
94
|
...opts,
|
|
94
95
|
};
|
|
95
96
|
}
|
|
97
|
+
function newManyToOneField(fieldName, otherEntity, opts = {}) {
|
|
98
|
+
return {
|
|
99
|
+
kind: "m2o",
|
|
100
|
+
fieldName,
|
|
101
|
+
columnName: (0, change_case_1.snakeCase)(fieldName),
|
|
102
|
+
derived: false,
|
|
103
|
+
notNull: true,
|
|
104
|
+
hasConfigDefault: false,
|
|
105
|
+
dbType: "int",
|
|
106
|
+
otherFieldName: `other${fieldName}`,
|
|
107
|
+
otherEntity: (0, joist_codegen_1.makeEntity)(otherEntity),
|
|
108
|
+
isDeferredAndDeferrable: true,
|
|
109
|
+
constraintName: "",
|
|
110
|
+
onDelete: "NO ACTION",
|
|
111
|
+
...opts,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
96
114
|
//# sourceMappingURL=testUtils.js.map
|
package/build/testUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../src/testUtils.ts"],"names":[],"mappings":";;AAMA,sBAQC;AAED,8CAoBC;AAED,8CA+BC;AAED,oCAsBC;
|
|
1
|
+
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../src/testUtils.ts"],"names":[],"mappings":";;AAMA,sBAQC;AAED,8CAoBC;AAED,8CA+BC;AAED,oCAsBC;AAED,8CAoBC;AAnHD,6CAAwC;AACxC,iDAAwG;AACxG,yCAAmC;AACnC,qCAA8B;AAG9B,SAAgB,KAAK,CAAC,KAA6B;IACjD,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7C,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;YAChC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,SAAiB,EAAE,OAAgC,EAAE;IACrF,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,SAAS;QACT,UAAU,EAAE,IAAA,uBAAS,EAAC,SAAS,CAAC;QAChC,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,QAAQ;QACtB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,KAAK;QACvB,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAY,EAAE,OAAkC,EAAE;IAClF,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,IAAA,0BAAU,EAAC,IAAI,CAAC;QACxB,UAAU,EAAE,iBAAiB,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QACvG,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;QACd,eAAe,EAAE,EAAE;QACnB,WAAW,EAAE,EAAE;QACf,gBAAgB,EAAE,EAAE;QACpB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,IAAA,uBAAS,EAAC,IAAA,kBAAM,EAAC,IAAI,CAAC,CAAC;QAClC,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,SAAS;QAC1B,QAAQ,EAAE,KAAK;QACf,kBAAkB,EAAE,CAAC;QACrB,IAAI,cAAc;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,SAAiB,EAAE,OAA2B,EAAE;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAA,aAAG,EAAC,GAAG,QAAQ,aAAa,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAA,aAAG,EAAC,GAAG,IAAA,kBAAM,EAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAA,aAAG,EAAC,GAAG,QAAQ,oBAAoB,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,SAAS;QACT,UAAU,EAAE,IAAA,uBAAS,EAAC,SAAS,CAAC;QAChC,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE,KAAK;QACd,QAAQ;QACR,QAAQ;QACR,cAAc;QACd,eAAe;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,KAAK;QACvB,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,SAAgB,iBAAiB,CAC/B,SAAiB,EACjB,WAAmB,EACnB,OAAgC,EAAE;IAElC,OAAO;QACL,IAAI,EAAE,KAAK;QACX,SAAS;QACT,UAAU,EAAE,IAAA,uBAAS,EAAC,SAAS,CAAC;QAChC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI;QACb,gBAAgB,EAAE,KAAK;QACvB,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,QAAQ,SAAS,EAAE;QACnC,WAAW,EAAE,IAAA,0BAAU,EAAC,WAAW,CAAC;QACpC,uBAAuB,EAAE,IAAI;QAC7B,cAAc,EAAE,EAAE;QAClB,QAAQ,EAAE,WAAkB;QAC5B,GAAG,IAAI;KACR,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "joist-graphql-codegen",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.209.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"@types/prettier": "^3.0.0",
|
|
23
23
|
"change-case": "^4.1.2",
|
|
24
24
|
"graphql": "^16.9.0",
|
|
25
|
-
"joist-codegen": "1.
|
|
26
|
-
"joist-utils": "1.
|
|
25
|
+
"joist-codegen": "1.209.1",
|
|
26
|
+
"joist-utils": "1.209.1",
|
|
27
27
|
"pluralize": "^8.0.0",
|
|
28
28
|
"prettier": "3.3.3",
|
|
29
29
|
"ts-poet": "^6.9.0"
|