graphile-export 0.0.2-beta.26 → 0.0.2-beta.28

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,5 +1,73 @@
1
1
  # graphile-export
2
2
 
3
+ ## 0.0.2-beta.28
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2576](https://github.com/graphile/crystal/pull/2576)
8
+ [`8dd9bb3701b8d01ece4349161e7ce065c21487a6`](https://github.com/graphile/crystal/commit/8dd9bb3701b8d01ece4349161e7ce065c21487a6)
9
+ Thanks [@benjie](https://github.com/benjie)! - Provide option to allow
10
+ disabling optimize (to reduce memory pressure).
11
+
12
+ - [#2574](https://github.com/graphile/crystal/pull/2574)
13
+ [`ec25997a6a2557cde9aaa9e27eb202ad945b6015`](https://github.com/graphile/crystal/commit/ec25997a6a2557cde9aaa9e27eb202ad945b6015)
14
+ Thanks [@benjie](https://github.com/benjie)! - Fix dependency ranges to allow
15
+ ESLint 9
16
+
17
+ ## 0.0.2-beta.27
18
+
19
+ ### Patch Changes
20
+
21
+ - [#2535](https://github.com/graphile/crystal/pull/2535)
22
+ [`fae2629f7bdd39b62ca7f8a911306a0dda3232b5`](https://github.com/graphile/crystal/commit/fae2629f7bdd39b62ca7f8a911306a0dda3232b5)
23
+ Thanks [@benjie](https://github.com/benjie)! - Graphile Export now exports in
24
+ the new typeDefs/objects/interfaces/unions/... format, and further sorts the
25
+ types and fields (but not the SDL!) for easier lookup.
26
+
27
+ - [#2482](https://github.com/graphile/crystal/pull/2482)
28
+ [`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37)
29
+ Thanks [@benjie](https://github.com/benjie)! - Minimum version of Node.js
30
+ bumped to Node 22 (the latest LTS).
31
+
32
+ - [#2446](https://github.com/graphile/crystal/pull/2446)
33
+ [`a1d17ca2a18f3e733ca728e29645781c7789ebab`](https://github.com/graphile/crystal/commit/a1d17ca2a18f3e733ca728e29645781c7789ebab)
34
+ Thanks [@nckswt](https://github.com/nckswt)! - graphile-export now uses ES2022
35
+ syntax for ESLint check on exported schema, fixing compatibility with
36
+ `@graphile/pg-aggregates`.
37
+
38
+ - [#2497](https://github.com/graphile/crystal/pull/2497)
39
+ [`d0be66bcbcb497c06fc992a11d80b220fb6ac168`](https://github.com/graphile/crystal/commit/d0be66bcbcb497c06fc992a11d80b220fb6ac168)
40
+ Thanks [@benjie](https://github.com/benjie)! - Fix detection of SQL when
41
+ `pg-sql2` isn't available at runtime, and improve misleading error around
42
+ class instances
43
+ - Updated dependencies
44
+ [[`0e36cb9077c76710d2e407830323f86c5038126e`](https://github.com/graphile/crystal/commit/0e36cb9077c76710d2e407830323f86c5038126e),
45
+ [`5a26196eff8fd1956d73e0b8fdf5cfcb7f01b7d3`](https://github.com/graphile/crystal/commit/5a26196eff8fd1956d73e0b8fdf5cfcb7f01b7d3),
46
+ [`c0c3f48fa9f60cb9a4436ea135979b779ecc71ec`](https://github.com/graphile/crystal/commit/c0c3f48fa9f60cb9a4436ea135979b779ecc71ec),
47
+ [`cef9a37f846b4af105ac20960530d65c9f44afa9`](https://github.com/graphile/crystal/commit/cef9a37f846b4af105ac20960530d65c9f44afa9),
48
+ [`56ce94a847c6a4094643665cbf5d3712f56140b6`](https://github.com/graphile/crystal/commit/56ce94a847c6a4094643665cbf5d3712f56140b6),
49
+ [`192a27e08763ea26607344a2ea6c7f5c595cc2a3`](https://github.com/graphile/crystal/commit/192a27e08763ea26607344a2ea6c7f5c595cc2a3),
50
+ [`6ef6abce15936a896156d5316020df55cf7d18e3`](https://github.com/graphile/crystal/commit/6ef6abce15936a896156d5316020df55cf7d18e3),
51
+ [`0239c2d519300a72f545e0db7c371adae4ade2a9`](https://github.com/graphile/crystal/commit/0239c2d519300a72f545e0db7c371adae4ade2a9),
52
+ [`0ea439d33ccef7f8d01ac5f54893ab2bbf1cbd4d`](https://github.com/graphile/crystal/commit/0ea439d33ccef7f8d01ac5f54893ab2bbf1cbd4d),
53
+ [`8034614d1078b1bd177b6e7fcc949420614e3245`](https://github.com/graphile/crystal/commit/8034614d1078b1bd177b6e7fcc949420614e3245),
54
+ [`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37),
55
+ [`c350e49e372ec12a4cbf04fb6b4260e01832d12b`](https://github.com/graphile/crystal/commit/c350e49e372ec12a4cbf04fb6b4260e01832d12b),
56
+ [`3176ea3e57d626b39613a73117ef97627370ec83`](https://github.com/graphile/crystal/commit/3176ea3e57d626b39613a73117ef97627370ec83),
57
+ [`46a42f5547c041289aa98657ebc6815f4b6c8539`](https://github.com/graphile/crystal/commit/46a42f5547c041289aa98657ebc6815f4b6c8539),
58
+ [`a87bbd76f1a8b60fd86de65922746d830cc160b4`](https://github.com/graphile/crystal/commit/a87bbd76f1a8b60fd86de65922746d830cc160b4),
59
+ [`be3f174c5aae8fe78a240e1bc4e1de7f18644b43`](https://github.com/graphile/crystal/commit/be3f174c5aae8fe78a240e1bc4e1de7f18644b43),
60
+ [`576fb8bad56cb940ab444574d752e914d462018a`](https://github.com/graphile/crystal/commit/576fb8bad56cb940ab444574d752e914d462018a),
61
+ [`9f459101fa4428aa4bac71531e75f99e33da8e17`](https://github.com/graphile/crystal/commit/9f459101fa4428aa4bac71531e75f99e33da8e17),
62
+ [`921665df8babe2651ab3b5886ab68bb518f2125b`](https://github.com/graphile/crystal/commit/921665df8babe2651ab3b5886ab68bb518f2125b),
63
+ [`78bb1a615754d772a5fda000e96073c91fa9eba7`](https://github.com/graphile/crystal/commit/78bb1a615754d772a5fda000e96073c91fa9eba7),
64
+ [`c9cd0cc72a4db4b02b2bdf770161c9346cb4b174`](https://github.com/graphile/crystal/commit/c9cd0cc72a4db4b02b2bdf770161c9346cb4b174),
65
+ [`ab0bcda5fc3c136eea09493a7d9ed4542975858e`](https://github.com/graphile/crystal/commit/ab0bcda5fc3c136eea09493a7d9ed4542975858e),
66
+ [`455f4811d37ad8fff91183c7a88621bcf9d79acf`](https://github.com/graphile/crystal/commit/455f4811d37ad8fff91183c7a88621bcf9d79acf),
67
+ [`45adaff886e7cd72b864150927be6c0cb4a7dfe8`](https://github.com/graphile/crystal/commit/45adaff886e7cd72b864150927be6c0cb4a7dfe8)]:
68
+ - grafast@0.1.1-beta.22
69
+ - pg-sql2@5.0.0-beta.9
70
+
3
71
  ## 0.0.2-beta.26
4
72
 
5
73
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"exportSchema.d.ts","sourceRoot":"","sources":["../src/exportSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AASpC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAgBV,aAAa,EAId,MAAM,iBAAiB,CAAC;AAkBzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAkCrD,eAAO,MAAM,wBAAwB,GAAI,KAAK,MAAM,YACH,CAAC;AA4FlD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC,CAEvE;AAqgCD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,CAAC,CAAC,cAAc,EAAE,GAC7B,CAAC,CAAC,UAAU,CAKd;AAsxBD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA0C3B;AAWD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB3B;AAuFD,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,GAAG,GAAG,EACpB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAMf"}
1
+ {"version":3,"file":"exportSchema.d.ts","sourceRoot":"","sources":["../src/exportSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AASpC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAgBV,aAAa,EAId,MAAM,iBAAiB,CAAC;AAkBzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAkCrD,eAAO,MAAM,wBAAwB,GAAI,KAAK,MAAM,YACH,CAAC;AA4FlD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC,CAEvE;AA2gCD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,CAAC,CAAC,cAAc,EAAE,GAC7B,CAAC,CAAC,UAAU,CAKd;AAyyBD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA0C3B;AAWD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB3B;AAsFD,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,GAAG,GAAG,EACpB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAMf"}
@@ -34,7 +34,7 @@ function isSQL(thing) {
34
34
  else {
35
35
  // An approximation
36
36
  if (typeof sql === "object" && sql !== null) {
37
- return Object.getOwnPropertySymbols(thing).some((s) => s.description === "pg-sql2-type");
37
+ return Object.getOwnPropertySymbols(thing).some((s) => s.description?.startsWith("pg-sql2-type"));
38
38
  }
39
39
  else {
40
40
  return false;
@@ -597,7 +597,12 @@ function _convertToAST(file, thing, locationHint, nameHint, depth, reference) {
597
597
  else if (typeof thing === "object" && thing != null) {
598
598
  const prototype = Object.getPrototypeOf(thing);
599
599
  if (prototype !== null && prototype !== Object.prototype) {
600
- throw new Error(`Attempting to export an instance of a class (at ${locationHint}); you should wrap this definition in EXPORTABLE! (Class: ${thing.constructor})`);
600
+ if (thing.constructor) {
601
+ throw new Error(`Attempting to export an instance of a class (at ${locationHint}); you should wrap this definition in EXPORTABLE! (Class: ${thing.constructor})`);
602
+ }
603
+ else {
604
+ throw new Error(`Attempting to export non-POJO object (at ${locationHint}); you should wrap this definition in EXPORTABLE! (Prototype: ${(0, node_util_1.inspect)(prototype)})`);
605
+ }
601
606
  }
602
607
  const propertyPairs = [];
603
608
  const entries = Object.entries(thing);
@@ -946,19 +951,30 @@ function exportSchemaGraphQLJS({ config, customTypes, customDirectives, file, })
946
951
  */
947
952
  function exportSchemaTypeDefs({ schema, customTypes, file, }) {
948
953
  const typeDefsExportName = file.makeVariable("typeDefs");
949
- const plansExportName = file.makeVariable("plans");
954
+ const objectPlansProperties = Object.create(null);
955
+ const interfacePlansProperties = Object.create(null);
956
+ const unionPlansProperties = Object.create(null);
957
+ const inputObjectPlansProperties = Object.create(null);
958
+ const scalarPlansProperties = Object.create(null);
959
+ const enumPlansProperties = Object.create(null);
950
960
  const schemaExportName = file.makeVariable("schema");
951
961
  const typeDefsString = (0, graphql_1.printSchema)(schema);
952
962
  const graphqlAST = t.templateLiteral([t.templateElement({ raw: typeDefsString.replace(/[\\`]/g, "\\$&") })], []);
953
963
  graphqlAST.leadingComments = [
954
964
  { type: "CommentBlock", value: " GraphQL " },
955
965
  ];
956
- const plansProperties = [];
957
966
  customTypes.forEach((type) => {
958
967
  if (type instanceof graphql_1.GraphQLObjectType) {
959
- const typeProperties = [];
968
+ const typeProperties = Object.create(null);
969
+ const plansProperties = Object.create(null);
960
970
  if (type.extensions.grafast?.assertStep) {
961
- typeProperties.push(t.objectProperty(t.identifier("__assertStep"), convertToIdentifierViaAST(file, type.extensions.grafast.assertStep, `${type.name}AssertStep`, `${type.name}.extensions.assertStep`)));
971
+ typeProperties.assertStep = convertToIdentifierViaAST(file, type.extensions.grafast.assertStep, `${type.name}AssertStep`, `${type.name}.extensions.assertStep`);
972
+ }
973
+ if (type.isTypeOf) {
974
+ typeProperties.isTypeOf = convertToIdentifierViaAST(file, type.isTypeOf, `${type.name}IsTypeOf`, `${type.name}.extensions.isTypeOf`);
975
+ }
976
+ if (type.extensions.grafast?.planType) {
977
+ typeProperties.planType = convertToIdentifierViaAST(file, type.extensions.grafast.planType, `${type.name}PlanType`, `${type.name}.extensions.planType`);
962
978
  }
963
979
  for (const [fieldName, field] of Object.entries(type.toConfig().fields)) {
964
980
  // Use shorthand if there's only a `plan` and nothing else
@@ -1034,16 +1050,16 @@ function exportSchemaTypeDefs({ schema, customTypes, file, }) {
1034
1050
  subscribe: subscribeAST,
1035
1051
  args: argsAST,
1036
1052
  }));
1037
- typeProperties.push(t.objectProperty(identifierOrLiteral(fieldName), fieldSpec));
1038
- }
1039
- if (typeProperties.length > 0) {
1040
- plansProperties.push(t.objectProperty(identifierOrLiteral(type.name), t.objectExpression(typeProperties)));
1053
+ plansProperties[fieldName] = fieldSpec;
1041
1054
  }
1055
+ setIfNotEmpty(typeProperties, "plans", plansProperties, true);
1056
+ setIfNotEmpty(objectPlansProperties, type.name, typeProperties, false);
1042
1057
  }
1043
1058
  else if (type instanceof graphql_1.GraphQLInputObjectType) {
1044
- const typeProperties = [];
1059
+ const typeProperties = Object.create(null);
1060
+ const plansProperties = Object.create(null);
1045
1061
  if (type.extensions?.grafast?.baked) {
1046
- typeProperties.push(t.objectProperty(t.identifier("__baked"), convertToIdentifierViaAST(file, type.extensions?.grafast.baked, `${type.name}.inputPlan`, `${type.name}.extensions.grafast.baked`)));
1062
+ typeProperties.baked = convertToIdentifierViaAST(file, type.extensions?.grafast.baked, `${type.name}.inputPlan`, `${type.name}.extensions.grafast.baked`);
1047
1063
  }
1048
1064
  for (const [fieldName, field] of Object.entries(type.toConfig().fields)) {
1049
1065
  if (!field.extensions)
@@ -1055,11 +1071,11 @@ function exportSchemaTypeDefs({ schema, customTypes, file, }) {
1055
1071
  continue;
1056
1072
  const keys = Object.keys(grafast);
1057
1073
  if (keys.length === 1 && keys[0] === "apply") {
1058
- typeProperties.push(t.objectProperty(identifierOrLiteral(fieldName), convertToIdentifierViaAST(file, grafast.apply, `${type.name}.${fieldName}Apply`, `${type.name}.fields[${fieldName}].extensions.grafast.apply`)));
1074
+ plansProperties[fieldName] = convertToIdentifierViaAST(file, grafast.apply, `${type.name}.${fieldName}Apply`, `${type.name}.fields[${fieldName}].extensions.grafast.apply`);
1059
1075
  continue;
1060
1076
  }
1061
1077
  }
1062
- typeProperties.push(t.objectProperty(identifierOrLiteral(fieldName), t.objectExpression([
1078
+ plansProperties[fieldName] = t.objectExpression([
1063
1079
  ...objectToObjectProperties({
1064
1080
  extensions: extensionsAST,
1065
1081
  }),
@@ -1072,19 +1088,31 @@ function exportSchemaTypeDefs({ schema, customTypes, file, }) {
1072
1088
  })
1073
1089
  .filter(isNotNullish)
1074
1090
  : []),
1075
- ])));
1076
- }
1077
- if (typeProperties.length > 0) {
1078
- plansProperties.push(t.objectProperty(identifierOrLiteral(type.name), t.objectExpression(typeProperties)));
1091
+ ]);
1079
1092
  }
1093
+ setIfNotEmpty(typeProperties, "plans", plansProperties, true);
1094
+ setIfNotEmpty(inputObjectPlansProperties, type.name, typeProperties, false);
1080
1095
  }
1081
1096
  else if (type instanceof graphql_1.GraphQLInterfaceType ||
1082
1097
  type instanceof graphql_1.GraphQLUnionType) {
1083
1098
  const config = type.toConfig();
1084
- if (config.resolveType) {
1085
- plansProperties.push(t.objectProperty(identifierOrLiteral(type.name), t.objectExpression(objectToObjectProperties({
1086
- __resolveType: convertToIdentifierViaAST(file, type.resolveType, `${type.name}ResolveType`, `${type.name}.resolveType`),
1087
- }))));
1099
+ if (config.resolveType ||
1100
+ config.extensions.grafast?.toSpecifier ||
1101
+ config.extensions.grafast?.planType) {
1102
+ const target = type instanceof graphql_1.GraphQLInterfaceType
1103
+ ? interfacePlansProperties
1104
+ : unionPlansProperties;
1105
+ target[type.name] = t.objectExpression(objectToObjectProperties({
1106
+ resolveType: type.resolveType
1107
+ ? convertToIdentifierViaAST(file, type.resolveType, `${type.name}ResolveType`, `${type.name}.resolveType`)
1108
+ : null,
1109
+ toSpecifier: type.extensions?.grafast?.toSpecifier
1110
+ ? convertToIdentifierViaAST(file, type.extensions?.grafast?.toSpecifier, `${type.name}ToSpecifier`, `${type.name}.toSpecifier`)
1111
+ : null,
1112
+ planType: type.extensions?.grafast?.planType
1113
+ ? convertToIdentifierViaAST(file, type.extensions?.grafast?.planType, `${type.name}PlanType`, `${type.name}.planType`)
1114
+ : null,
1115
+ }));
1088
1116
  }
1089
1117
  }
1090
1118
  else if (type instanceof graphql_1.GraphQLScalarType) {
@@ -1096,7 +1124,7 @@ function exportSchemaTypeDefs({ schema, customTypes, file, }) {
1096
1124
  type.serialize !== graphql_1.GraphQLScalarType.prototype.serialize ||
1097
1125
  type.parseValue !== graphql_1.GraphQLScalarType.prototype.parseValue ||
1098
1126
  type.parseLiteral !== graphql_1.GraphQLScalarType.prototype.parseLiteral) {
1099
- plansProperties.push(t.objectProperty(identifierOrLiteral(type.name), t.objectExpression(objectToObjectProperties({
1127
+ scalarPlansProperties[type.name] = t.objectExpression(objectToObjectProperties({
1100
1128
  serialize: type.serialize !== graphql_1.GraphQLScalarType.prototype.serialize
1101
1129
  ? convertToIdentifierViaAST(file, type.serialize, `${type.name}Serialize`, `${type.name}.serialize`)
1102
1130
  : null,
@@ -1107,12 +1135,13 @@ function exportSchemaTypeDefs({ schema, customTypes, file, }) {
1107
1135
  ? convertToIdentifierViaAST(file, type.parseLiteral, `${type.name}ParseLiteral`, `${type.name}.parseLiteral`)
1108
1136
  : null,
1109
1137
  plan: planAST,
1110
- }))));
1138
+ }));
1111
1139
  }
1112
1140
  }
1113
1141
  else if (type instanceof graphql_1.GraphQLEnumType) {
1114
1142
  const config = type.toConfig();
1115
- const enumValues = [];
1143
+ const typeProperties = Object.create(null);
1144
+ const enumValueProperties = Object.create(null);
1116
1145
  for (const [enumValueName, enumValueConfig] of Object.entries(config.values)) {
1117
1146
  const valueAST = enumValueConfig.value !== undefined &&
1118
1147
  enumValueConfig.value !== enumValueName
@@ -1125,7 +1154,7 @@ function exportSchemaTypeDefs({ schema, customTypes, file, }) {
1125
1154
  continue;
1126
1155
  const keys = Object.keys(grafast);
1127
1156
  if (keys.length === 1 && keys[0] === "apply") {
1128
- enumValues.push(t.objectProperty(identifierOrLiteral(enumValueName), convertToIdentifierViaAST(file, grafast.apply, `${type.name}.${enumValueName}Apply`, `${type.name}.values[${enumValueName}].extensions.grafast.apply`)));
1157
+ enumValueProperties[enumValueName] = convertToIdentifierViaAST(file, grafast.apply, `${type.name}.${enumValueName}Apply`, `${type.name}.values[${enumValueName}].extensions.grafast.apply`);
1129
1158
  continue;
1130
1159
  }
1131
1160
  }
@@ -1139,18 +1168,17 @@ function exportSchemaTypeDefs({ schema, customTypes, file, }) {
1139
1168
  .filter(isNotNullish)
1140
1169
  : [];
1141
1170
  if (valueAST || extensionsAST || grafastProperties.length) {
1142
- enumValues.push(t.objectProperty(identifierOrLiteral(enumValueName), t.objectExpression([
1171
+ enumValueProperties[enumValueName] = t.objectExpression([
1143
1172
  ...objectToObjectProperties({
1144
1173
  value: valueAST,
1145
1174
  extensions: extensionsAST,
1146
1175
  }),
1147
1176
  ...grafastProperties,
1148
- ])));
1177
+ ]);
1149
1178
  }
1150
1179
  }
1151
- if (enumValues.length > 0) {
1152
- plansProperties.push(t.objectProperty(identifierOrLiteral(type.name), t.objectExpression(enumValues)));
1153
- }
1180
+ setIfNotEmpty(typeProperties, "values", enumValueProperties, true);
1181
+ setIfNotEmpty(enumPlansProperties, type.name, typeProperties, false);
1154
1182
  }
1155
1183
  else {
1156
1184
  const never = type;
@@ -1160,17 +1188,40 @@ function exportSchemaTypeDefs({ schema, customTypes, file, }) {
1160
1188
  const typeDefs = t.exportNamedDeclaration(t.variableDeclaration("const", [
1161
1189
  t.variableDeclarator(typeDefsExportName, graphqlAST),
1162
1190
  ]));
1163
- const plans = t.exportNamedDeclaration(t.variableDeclaration("const", [
1164
- t.variableDeclarator(plansExportName, t.objectExpression(plansProperties)),
1165
- ]));
1166
1191
  file.addStatements(typeDefs);
1167
- file.addStatements(plans);
1192
+ const typeDefsEtc = {
1193
+ typeDefs: typeDefsExportName,
1194
+ };
1195
+ const stuff = Object.create(null);
1196
+ setIfNotEmpty(stuff, "objects", objectPlansProperties, [
1197
+ schema.getQueryType()?.name,
1198
+ schema.getMutationType()?.name,
1199
+ schema.getSubscriptionType()?.name,
1200
+ ].filter((n) => n != null));
1201
+ setIfNotEmpty(stuff, "interfaces", interfacePlansProperties, true);
1202
+ setIfNotEmpty(stuff, "unions", unionPlansProperties, true);
1203
+ setIfNotEmpty(stuff, "inputObjects", inputObjectPlansProperties, true);
1204
+ setIfNotEmpty(stuff, "scalars", scalarPlansProperties, true);
1205
+ setIfNotEmpty(stuff, "enums", enumPlansProperties, true);
1206
+ const todos = [];
1207
+ for (const [key, props] of Object.entries(stuff)) {
1208
+ const exportName = file.makeVariable(key);
1209
+ // Do this afterwards so all the variables are reserved first.
1210
+ todos.push(() => {
1211
+ const plans = t.exportNamedDeclaration(t.variableDeclaration("const", [
1212
+ t.variableDeclarator(exportName, props),
1213
+ ]));
1214
+ file.addStatements(plans);
1215
+ typeDefsEtc[key] = exportName;
1216
+ });
1217
+ }
1218
+ // Now all variables are declared, we can populate them
1219
+ for (const todo of todos) {
1220
+ todo();
1221
+ }
1168
1222
  const makeGrafastSchemaAST = file.import("grafast", "makeGrafastSchema");
1169
1223
  const schemaAST = t.callExpression(makeGrafastSchemaAST, [
1170
- t.objectExpression(objectToObjectProperties({
1171
- typeDefs: typeDefsExportName,
1172
- plans: plansExportName,
1173
- })),
1224
+ t.objectExpression(objectToObjectProperties(typeDefsEtc)),
1174
1225
  ]);
1175
1226
  file.addStatements(t.exportNamedDeclaration(t.variableDeclaration("const", [
1176
1227
  t.variableDeclarator(schemaExportName, schemaAST),
@@ -1207,11 +1258,11 @@ async function exportSchemaAsString(schema, options) {
1207
1258
  else {
1208
1259
  exportSchemaGraphQLJS(schemaExportDetails);
1209
1260
  }
1210
- return exportFile(file);
1261
+ return exportFile(file, options);
1211
1262
  }
1212
- function exportFile(file) {
1263
+ function exportFile(file, { disableOptimize }) {
1213
1264
  const ast = file.toAST();
1214
- const optimizedAst = (0, index_js_1.optimize)(ast);
1265
+ const optimizedAst = disableOptimize ? ast : (0, index_js_1.optimize)(ast);
1215
1266
  const { code } = reallyGenerate(optimizedAst, {});
1216
1267
  return { code };
1217
1268
  }
@@ -1222,7 +1273,7 @@ async function exportValueAsString(name, value, options) {
1222
1273
  file.addStatements(t.exportNamedDeclaration(t.variableDeclaration("const", [
1223
1274
  t.variableDeclarator(exportName, valueAST),
1224
1275
  ])));
1225
- return exportFile(file);
1276
+ return exportFile(file, options);
1226
1277
  }
1227
1278
  async function loadESLint() {
1228
1279
  try {
@@ -1241,13 +1292,12 @@ async function lint(code, rawFilePath) {
1241
1292
  const filePath = typeof rawFilePath === "string" ? rawFilePath : rawFilePath.pathname;
1242
1293
  const { ESLint } = eslintModule;
1243
1294
  const eslint = new ESLint({
1244
- useEslintrc: false, // Don't use external config
1245
- reportUnusedDisableDirectives: "off",
1295
+ overrideConfigFile: true, // Don't use external config
1246
1296
  allowInlineConfig: false, // Ignore `/* eslint-disable ... */` comments
1247
1297
  overrideConfig: {
1248
- reportUnusedDisableDirectives: false,
1249
- parserOptions: {
1250
- ecmaVersion: 2020,
1298
+ linterOptions: { reportUnusedDisableDirectives: false },
1299
+ languageOptions: {
1300
+ ecmaVersion: 2022,
1251
1301
  sourceType: "module",
1252
1302
  },
1253
1303
  rules: {
@@ -1320,4 +1370,33 @@ function isNotEmpty(value) {
1320
1370
  }
1321
1371
  return true;
1322
1372
  }
1373
+ function setIfNotEmpty(target, key, value, sort) {
1374
+ if (Object.keys(value).length > 0) {
1375
+ const entries = Object.entries(value);
1376
+ if (typeof sort === "boolean") {
1377
+ entries.sort((a, z) => a[0].localeCompare(z[0], "und"));
1378
+ }
1379
+ else if (sort) {
1380
+ entries.sort((a, z) => {
1381
+ const ka = a[0];
1382
+ const kz = z[0];
1383
+ // First, compare keys against the specific defined order
1384
+ const sa = sort.indexOf(ka);
1385
+ const sz = sort.indexOf(kz);
1386
+ if (sa >= 0) {
1387
+ if (sz < 0)
1388
+ return -1;
1389
+ return sa - sz;
1390
+ }
1391
+ else if (sz >= 0) {
1392
+ return 1;
1393
+ }
1394
+ // Failing that, compare them alphabetically
1395
+ return ka.localeCompare(kz, "und");
1396
+ });
1397
+ }
1398
+ const finalProps = entries.map(([k, v]) => t.objectProperty(identifierOrLiteral(k), v));
1399
+ target[key] = t.objectExpression(finalProps);
1400
+ }
1401
+ }
1323
1402
  //# sourceMappingURL=exportSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exportSchema.js","sourceRoot":"","sources":["../src/exportSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exportSchema.js","sourceRoot":"","sources":["../src/exportSchema.ts"],"names":[],"mappings":"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"}
@@ -24,5 +24,15 @@ export interface ExportOptions {
24
24
  * Set 'true' if we should use prettier to format the exported code.
25
25
  */
26
26
  prettier?: boolean;
27
+ /**
28
+ * Set 'true' if you're facing memory exhaustion issues on large schemas and
29
+ * wish to skip optimizing the export.
30
+ *
31
+ * Optimizing the export can make the export smaller and more readable,
32
+ * involving fewer IIFEs and similar constructs used throughout EXPORTABLE
33
+ * expressions. It may also have a (positive, hopefully) impact on
34
+ * performance. In general it's recommended to leave optimize enabled.
35
+ */
36
+ disableOptimize?: boolean;
27
37
  }
28
38
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACjC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,EAAE;QACR,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC;KAC3B,CAAC;IACF;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACjC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,EAAE;QACR,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC;KAC3B,CAAC;IACF;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/optimize/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAoClC,eAAO,MAAM,QAAQ,GAAI,OAAO,CAAC,CAAC,IAAI,EAAE,aAAQ,KAAG,CAAC,CAAC,IAgVpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/optimize/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAoClC,eAAO,MAAM,QAAQ,GAAI,OAAO,CAAC,CAAC,IAAI,EAAE,aAAQ,KAAG,CAAC,CAAC,IA+UpD,CAAC"}
@@ -288,7 +288,6 @@ const optimize = (inAst, runs = 1) => {
288
288
  path.replaceWith(t.objectMethod("method", path.node.key, func.params, body, false, func.generator, func.async));
289
289
  },
290
290
  CallExpression(path) {
291
- path.node.arguments;
292
291
  const argsPath = path.get("arguments");
293
292
  if (argsPath.length === 1) {
294
293
  const argPath = argsPath[0];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/optimize/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/optimize/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphile-export",
3
- "version": "0.0.2-beta.26",
3
+ "version": "0.0.2-beta.28",
4
4
  "description": "Export in-memory generated GraphQL schemas to JS files when built with our helpers.",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",
@@ -45,17 +45,17 @@
45
45
  "@babel/template": "^7.25.0",
46
46
  "@babel/traverse": "^7.25.6",
47
47
  "@babel/types": "^7.25.6",
48
- "@types/node": "^20.5.7",
48
+ "@types/node": "^20.17.30",
49
49
  "prettier": "^3.0.3",
50
- "tslib": "^2.6.2"
50
+ "tslib": "^2.8.1"
51
51
  },
52
52
  "engines": {
53
53
  "node": ">=16"
54
54
  },
55
55
  "peerDependencies": {
56
- "eslint": "^8.48.0",
57
- "grafast": "^0.1.1-beta.21",
58
- "pg-sql2": "^5.0.0-beta.8"
56
+ "eslint": "^8.48.0 || ^9.26.0",
57
+ "grafast": "^0.1.1-beta.22",
58
+ "pg-sql2": "^5.0.0-beta.9"
59
59
  },
60
60
  "peerDependenciesMeta": {
61
61
  "eslint": {
@@ -75,6 +75,6 @@
75
75
  "@types/prettier": "^3.0.0",
76
76
  "jest": "^29.6.4",
77
77
  "ts-node": "^10.9.1",
78
- "typescript": "^5.2.2"
78
+ "typescript": "^5.8.3"
79
79
  }
80
80
  }