@smartive/graphql-magic 19.1.0-next.3 → 19.1.0-next.4

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/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
- # [19.1.0-next.3](https://github.com/smartive/graphql-magic/compare/v19.1.0-next.2...v19.1.0-next.3) (2025-06-04)
1
+ # [19.1.0-next.4](https://github.com/smartive/graphql-magic/compare/v19.1.0-next.3...v19.1.0-next.4) (2025-06-04)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * Actually... ([5f0914a](https://github.com/smartive/graphql-magic/commit/5f0914aa86b9705e2af7379d07cda91f5a493065))
6
+ * Only generate needed enums ([38a34d5](https://github.com/smartive/graphql-magic/commit/38a34d5134838e0941fa1902f9ebd1b6c9466a15))
package/dist/bin/gqm.cjs CHANGED
@@ -1278,9 +1278,7 @@ var generatePermissionTypes = (models) => {
1278
1278
  }
1279
1279
  })
1280
1280
  );
1281
- for (const enm2 of models.enums) {
1282
- sourceFile.addStatements((writer) => writer.write(`type ${enm2.name} = ${enm2.values.map((v) => `'${v}'`).join(" | ")};`));
1283
- }
1281
+ const usedEnums = /* @__PURE__ */ new Set(["Role"]);
1284
1282
  for (const model of models.entities) {
1285
1283
  sourceFile.addStatements(
1286
1284
  (writer) => writer.write(`export type ${model.name}Where = `).inlineBlock(() => {
@@ -1290,6 +1288,9 @@ var generatePermissionTypes = (models) => {
1290
1288
  } else if (!field.kind || field.kind === "primitive") {
1291
1289
  writer.writeLine(`${field.name}?: ${PRIMITIVE_TYPES[field.type]} | ${PRIMITIVE_TYPES[field.type]}[],`);
1292
1290
  } else {
1291
+ if (field.kind === "enum") {
1292
+ usedEnums.add(field.type);
1293
+ }
1293
1294
  writer.writeLine(`${field.name}?: ${field.type} | ${field.type}[],`);
1294
1295
  }
1295
1296
  }
@@ -1312,6 +1313,13 @@ var generatePermissionTypes = (models) => {
1312
1313
  })
1313
1314
  );
1314
1315
  }
1316
+ for (const name2 of usedEnums) {
1317
+ sourceFile.addStatements(
1318
+ (writer) => writer.write(
1319
+ `type ${name2} = ${models.getModel(name2, "enum").values.map((v) => `'${v}'`).join(" | ")};`
1320
+ )
1321
+ );
1322
+ }
1315
1323
  return sourceFile.getFullText();
1316
1324
  };
1317
1325
 
@@ -2092,9 +2092,7 @@ var generatePermissionTypes = (models) => {
2092
2092
  }
2093
2093
  })
2094
2094
  );
2095
- for (const enm2 of models.enums) {
2096
- sourceFile.addStatements((writer) => writer.write(`type ${enm2.name} = ${enm2.values.map((v) => `'${v}'`).join(" | ")};`));
2097
- }
2095
+ const usedEnums = /* @__PURE__ */ new Set(["Role"]);
2098
2096
  for (const model of models.entities) {
2099
2097
  sourceFile.addStatements(
2100
2098
  (writer) => writer.write(`export type ${model.name}Where = `).inlineBlock(() => {
@@ -2104,6 +2102,9 @@ var generatePermissionTypes = (models) => {
2104
2102
  } else if (!field.kind || field.kind === "primitive") {
2105
2103
  writer.writeLine(`${field.name}?: ${PRIMITIVE_TYPES[field.type]} | ${PRIMITIVE_TYPES[field.type]}[],`);
2106
2104
  } else {
2105
+ if (field.kind === "enum") {
2106
+ usedEnums.add(field.type);
2107
+ }
2107
2108
  writer.writeLine(`${field.name}?: ${field.type} | ${field.type}[],`);
2108
2109
  }
2109
2110
  }
@@ -2126,6 +2127,13 @@ var generatePermissionTypes = (models) => {
2126
2127
  })
2127
2128
  );
2128
2129
  }
2130
+ for (const name2 of usedEnums) {
2131
+ sourceFile.addStatements(
2132
+ (writer) => writer.write(
2133
+ `type ${name2} = ${models.getModel(name2, "enum").values.map((v) => `'${v}'`).join(" | ")};`
2134
+ )
2135
+ );
2136
+ }
2129
2137
  return sourceFile.getFullText();
2130
2138
  };
2131
2139
 
@@ -17,9 +17,7 @@ export const generatePermissionTypes = (models) => {
17
17
  writer.writeLine(`${model.name}?: ${model.name}Permissions,`);
18
18
  }
19
19
  }));
20
- for (const enm of models.enums) {
21
- sourceFile.addStatements((writer) => writer.write(`type ${enm.name} = ${enm.values.map((v) => `'${v}'`).join(' | ')};`));
22
- }
20
+ const usedEnums = new Set(['Role']);
23
21
  for (const model of models.entities) {
24
22
  sourceFile.addStatements((writer) => writer.write(`export type ${model.name}Where = `).inlineBlock(() => {
25
23
  for (const field of model.fields.filter((field) => field.filterable)) {
@@ -30,6 +28,9 @@ export const generatePermissionTypes = (models) => {
30
28
  writer.writeLine(`${field.name}?: ${PRIMITIVE_TYPES[field.type]} | ${PRIMITIVE_TYPES[field.type]}[],`);
31
29
  }
32
30
  else {
31
+ if (field.kind === 'enum') {
32
+ usedEnums.add(field.type);
33
+ }
33
34
  writer.writeLine(`${field.name}?: ${field.type} | ${field.type}[],`);
34
35
  }
35
36
  }
@@ -49,6 +50,12 @@ export const generatePermissionTypes = (models) => {
49
50
  }
50
51
  }));
51
52
  }
53
+ for (const name of usedEnums) {
54
+ sourceFile.addStatements((writer) => writer.write(`type ${name} = ${models
55
+ .getModel(name, 'enum')
56
+ .values.map((v) => `'${v}'`)
57
+ .join(' | ')};`));
58
+ }
52
59
  return sourceFile.getFullText();
53
60
  };
54
61
  //# sourceMappingURL=generate-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../../src/permissions/generate-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAE,EAAE;IACxD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,oBAAoB,EAAE;YACpB,eAAe,EAAE,eAAe,CAAC,SAAS;SAC3C;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,EAAE,EAAE;QAChE,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,UAAU,CAAC,aAAa,CAAC,iEAAiE,CAAC,CAAC;IAE5F,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;QACtE,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/B,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3H,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;YACjE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC;gBAC1D,CAAC;qBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACrD,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzG,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,gBAAgB,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;YACvE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,CAAC,SAAS,CAAC,WAAW,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAClE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;oBAC5C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACjC,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC,CAAC"}
1
+ {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../../src/permissions/generate-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAE,EAAE;IACxD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,oBAAoB,EAAE;YACpB,eAAe,EAAE,eAAe,CAAC,SAAS;SAC3C;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,EAAE,EAAE;QAChE,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,UAAU,CAAC,aAAa,CAAC,iEAAiE,CAAC,CAAC;IAE5F,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;QACtE,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;YACjE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC;gBAC1D,CAAC;qBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACrD,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzG,CAAC;qBAAM,CAAC;oBACN,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC1B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;oBACD,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,gBAAgB,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;YACvE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,CAAC,SAAS,CAAC,WAAW,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAClE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;oBAC5C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;wBACjC,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,MAAM,CAAC,KAAK,CACV,QAAQ,IAAI,MAAM,MAAM;aACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;aACtB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;aAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,CACF,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartive/graphql-magic",
3
- "version": "19.1.0-next.3",
3
+ "version": "19.1.0-next.4",
4
4
  "description": "",
5
5
  "source": "src/index.ts",
6
6
  "type": "module",
@@ -25,9 +25,7 @@ export const generatePermissionTypes = (models: Models) => {
25
25
  }),
26
26
  );
27
27
 
28
- for (const enm of models.enums) {
29
- sourceFile.addStatements((writer) => writer.write(`type ${enm.name} = ${enm.values.map((v) => `'${v}'`).join(' | ')};`));
30
- }
28
+ const usedEnums = new Set<string>(['Role']);
31
29
 
32
30
  for (const model of models.entities) {
33
31
  sourceFile.addStatements((writer) =>
@@ -38,6 +36,9 @@ export const generatePermissionTypes = (models: Models) => {
38
36
  } else if (!field.kind || field.kind === 'primitive') {
39
37
  writer.writeLine(`${field.name}?: ${PRIMITIVE_TYPES[field.type]} | ${PRIMITIVE_TYPES[field.type]}[],`);
40
38
  } else {
39
+ if (field.kind === 'enum') {
40
+ usedEnums.add(field.type);
41
+ }
41
42
  writer.writeLine(`${field.name}?: ${field.type} | ${field.type}[],`);
42
43
  }
43
44
  }
@@ -62,5 +63,16 @@ export const generatePermissionTypes = (models: Models) => {
62
63
  );
63
64
  }
64
65
 
66
+ for (const name of usedEnums) {
67
+ sourceFile.addStatements((writer) =>
68
+ writer.write(
69
+ `type ${name} = ${models
70
+ .getModel(name, 'enum')
71
+ .values.map((v) => `'${v}'`)
72
+ .join(' | ')};`,
73
+ ),
74
+ );
75
+ }
76
+
65
77
  return sourceFile.getFullText();
66
78
  };
@@ -9,9 +9,6 @@ export type PermissionsBlock = true | {
9
9
  Question?: QuestionPermissions,
10
10
  Answer?: AnswerPermissions,
11
11
  }
12
- type SomeEnum = 'A' | 'B' | 'C';
13
- type Role = 'ADMIN' | 'USER';
14
- type ReactionType = 'Review' | 'Question' | 'Answer';
15
12
  export type UserWhere = {
16
13
  }
17
14
  export type UserPermissions = {
@@ -169,3 +166,4 @@ export type AnswerPermissions = {
169
166
  childAnswers?: AnswerPermissions,
170
167
  }
171
168
  }
169
+ type Role = 'ADMIN' | 'USER';