graphile-export 0.0.2-alpha.4 → 0.0.2-alpha.6

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,45 @@
1
1
  # graphile-export
2
2
 
3
+ ## 0.0.2-alpha.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [#406](https://github.com/benjie/postgraphile-private/pull/406)
8
+ [`ecd7598f1`](https://github.com/benjie/postgraphile-private/commit/ecd7598f1a12c724e744249246eec7b882198a8a)
9
+ Thanks [@benjie](https://github.com/benjie)! - More docs for graphile-export
10
+
11
+ - Updated dependencies
12
+ [[`9281a2d88`](https://github.com/benjie/postgraphile-private/commit/9281a2d889ab1e72a3f6f9777779f31a6588d478),
13
+ [`675b7abb9`](https://github.com/benjie/postgraphile-private/commit/675b7abb93e11d955930b9026fb0b65a56ecc999)]:
14
+ - grafast@0.0.1-alpha.12
15
+
16
+ ## 0.0.2-alpha.5
17
+
18
+ ### Patch Changes
19
+
20
+ - [#372](https://github.com/benjie/postgraphile-private/pull/372)
21
+ [`ae1a248eb`](https://github.com/benjie/postgraphile-private/commit/ae1a248ebd5e907f94f37e44f2d17737cd5755cb)
22
+ Thanks [@benjie](https://github.com/benjie)! - Optimize away even more IIFEs
23
+
24
+ - [#383](https://github.com/benjie/postgraphile-private/pull/383)
25
+ [`2c8586b36`](https://github.com/benjie/postgraphile-private/commit/2c8586b367b76af91d1785cc90455c70911fdec7)
26
+ Thanks [@benjie](https://github.com/benjie)! - Change
27
+ 'objectType.extensions.grafast.Step' to
28
+ 'objectType.extensions.grafast.assertStep', accept it via object spec,
29
+ deprecate registerObjectType form that accepts it (pass via object spec
30
+ instead), improve typings around it.
31
+ - Updated dependencies
32
+ [[`409581534`](https://github.com/benjie/postgraphile-private/commit/409581534f41ac2cf0ff21c77c2bcd8eaa8218fd),
33
+ [`b7533bd4d`](https://github.com/benjie/postgraphile-private/commit/b7533bd4dfc210cb8b113b8fa06f163a212aa5e4),
34
+ [`9feb769c2`](https://github.com/benjie/postgraphile-private/commit/9feb769c2df0c57971ed26a937be4a1bee7a7524),
35
+ [`7573bf374`](https://github.com/benjie/postgraphile-private/commit/7573bf374897228b613b19f37b4e076737db3279),
36
+ [`2c8586b36`](https://github.com/benjie/postgraphile-private/commit/2c8586b367b76af91d1785cc90455c70911fdec7),
37
+ [`c43802d74`](https://github.com/benjie/postgraphile-private/commit/c43802d7419f93d18964c654f16d0937a2e23ca0),
38
+ [`b118b8f6d`](https://github.com/benjie/postgraphile-private/commit/b118b8f6dc18196212cfb0a05486e1dd8d77ccf8),
39
+ [`9008c4f87`](https://github.com/benjie/postgraphile-private/commit/9008c4f87df53be4051c49f9836358dc2baa59df),
40
+ [`e8c81cd20`](https://github.com/benjie/postgraphile-private/commit/e8c81cd2046390ed5b6799aa7ff3d90b28a1861a)]:
41
+ - grafast@0.0.1-alpha.10
42
+
3
43
  ## 0.0.2-alpha.4
4
44
 
5
45
  ### Patch Changes
package/README.md CHANGED
@@ -1,3 +1,200 @@
1
1
  # graphile-export
2
2
 
3
- Coming 2023 - see https://postgraphile.org
3
+ Graphile Export enables you to export a GraphQL Schema (or other code) as
4
+ executable JavaScript code. You must, however, write your code in a way that
5
+ makes it exportable; we have ESLint plugins to make this less onerous.
6
+
7
+ ## How it works
8
+
9
+ The system works by converting values in memory into source code strings. One of
10
+ the key things that's challenging to export is functions (and function-derived
11
+ things such as classes). In JavaScript you can see the source code of a function
12
+ by calling `.toString()` on it:
13
+
14
+ ```
15
+ > (function add(a, b) { return a + b }).toString()
16
+ 'function add(a, b) { return a + b }'
17
+ ```
18
+
19
+ However this quickly falls down if you are using values from a parent closure:
20
+
21
+ ```
22
+ > const a = 7;
23
+ undefined
24
+ > function add(b) { return a + b };
25
+ undefined
26
+ > add(3)
27
+ 10
28
+ > add.toString()
29
+ 'function add(b) { return a + b }'
30
+ ```
31
+
32
+ See how the function definition string `add.toString()` returns its definition,
33
+ but you cannot determine from that what the value of `a` is. This is a problem.
34
+
35
+ Graphile Export solves this by having you define your functions a bit like React
36
+ hooks - you must state the dependencies explicitly:
37
+
38
+ ```
39
+ > const { EXPORTABLE } = require("graphile-export")
40
+ undefined
41
+ > const a = 7;
42
+ undefined
43
+ > const add = EXPORTABLE((a) => function add(b) { return a + b; }, [a]);
44
+ undefined
45
+ ```
46
+
47
+ When you do so, the `add` function is augmented with the properties
48
+ `$exporter$factory` and `$exporter$args` that represent the first and second
49
+ arguments to the `EXPORTABLE(factory, args)` function respectively.
50
+
51
+ The function still works as before:
52
+
53
+ ```
54
+ > add(3)
55
+ 10
56
+ > add.toString()
57
+ 'function add(b) { return a + b; }'
58
+ ```
59
+
60
+ But `graphile-export` can access these special properties when it writes the
61
+ code out, and now it can see the value of that "invisible" `a=7`:
62
+
63
+ ```
64
+ > add.$exporter$factory.toString()
65
+ '(a) => function add(b) { return a + b; }'
66
+ > add.$exporter$args
67
+ [ 7 ]
68
+ ```
69
+
70
+ Thus everything that can have these kinds of hidden properties must be wrapped
71
+ in an `EXPORTABLE` call. Sometimes the inputs to the `EXPORTABLE` call
72
+ themselves also have to be wrapped in an `EXPORTABLE` call. You'll figure out
73
+ which things need wrapping by looking at the exported code and seeing where
74
+ references are broken.
75
+
76
+ ## Using our ESLint plugin
77
+
78
+ Tracking all these dependencies yourself can to be a royal pain in the
79
+ aggragate, so we've written a plugin `eslint-plugin-graphile-export` to do away
80
+ with a lot of the pain.
81
+
82
+ To install:
83
+
84
+ ```
85
+ yarn add eslint-plugin-graphile-export
86
+ ```
87
+
88
+ To set up, add `"graphile-export"` to your ESLint configuration's `plugins`
89
+ list, and `"plugin:graphile-export/recommended"` to the `extends` list:
90
+
91
+ ```js
92
+ // .eslintrc.js
93
+ module.exports = {
94
+ //...
95
+ plugins: [
96
+ //...
97
+ "graphile-export",
98
+ //...
99
+ ],
100
+ extends: [
101
+ //...
102
+ "plugin:graphile-export/recommended",
103
+ //...
104
+ ],
105
+ //...
106
+ };
107
+ ```
108
+
109
+ To use it, simply add `EXPORTABLE(() =>` before the value exporession to be
110
+ exported, and `)` after and then run `eslint --fix` against the file. It will
111
+ automatically convert:
112
+
113
+ ```ts
114
+ const add = EXPORTABLE(
115
+ () =>
116
+ function add(b) {
117
+ return a + b;
118
+ },
119
+ );
120
+ ```
121
+
122
+ to:
123
+
124
+ ```ts
125
+ const add = EXPORTABLE(
126
+ (
127
+ // The dependencies:
128
+ a,
129
+ ) =>
130
+ function add(b) {
131
+ return a + b;
132
+ },
133
+ [
134
+ // The dependency values
135
+ a,
136
+ ],
137
+ );
138
+ ```
139
+
140
+ You don't need to do this yourself everywhere, the plugin will look for common
141
+ patterns and apply the `EXPORTABLE` itself as best it can. Do carefully review
142
+ the changes it has made.
143
+
144
+ Note: no accommodation for formatting has been made, it is assumed that you are
145
+ using `prettier` or similar code formatter and thus there's no need for us to
146
+ format the code.
147
+
148
+ ## EXPORTABLE
149
+
150
+ Our ESLint plugin isn't smart enough to actually `import` the `EXPORTABLE`
151
+ helper, so after running the autofix you might end up with "undefined variable
152
+ `EXPORTABLE`" errors. You can either
153
+ `import { EXPORTABLE } from "graphile-export"`, or you can copy this definition
154
+ into your code:
155
+
156
+ ```ts
157
+ export function EXPORTABLE<T, TScope extends any[]>(
158
+ factory: (...args: TScope) => T,
159
+ args: [...TScope],
160
+ ): T {
161
+ const fn: T = factory(...args);
162
+ if (
163
+ ((typeof fn === "object" && fn !== null) || typeof fn === "function") &&
164
+ !("$exporter$factory" in fn)
165
+ ) {
166
+ Object.defineProperties(fn, {
167
+ $exporter$args: { value: args },
168
+ $exporter$factory: { value: factory },
169
+ });
170
+ }
171
+ return fn;
172
+ }
173
+ ```
174
+
175
+ (Or, if you're using plain JavaScript:
176
+
177
+ ```js
178
+ export function EXPORTABLE(factory, args) {
179
+ const fn = factory(...args);
180
+ if (
181
+ ((typeof fn === "object" && fn !== null) || typeof fn === "function") &&
182
+ !("$exporter$factory" in fn)
183
+ ) {
184
+ Object.defineProperties(fn, {
185
+ $exporter$args: { value: args },
186
+ $exporter$factory: { value: factory },
187
+ });
188
+ }
189
+ return fn;
190
+ }
191
+ ```
192
+
193
+ )
194
+
195
+ ## Plans for the future
196
+
197
+ One issue with this is that it makes your code quite messy. We're hoping to come
198
+ up with a preprocessor or babel plugin or similar that should mean that your
199
+ original code doesn't need all this boilerplate. But for now, explicit and
200
+ functional is what we're going with!
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import * as t from "@babel/types";
3
3
  import type { GraphQLSchema } from "graphql";
4
- import type { URL } from "url";
4
+ import type { URL } from "node:url";
5
5
  import type { ExportOptions } from "./interfaces.js";
6
6
  export declare const canRepresentAsIdentifier: (key: string) => boolean;
7
7
  export declare function isNotNullish<T>(input: T | null | undefined): input is T;
@@ -1 +1 @@
1
- {"version":3,"file":"exportSchema.d.ts","sourceRoot":"","sources":["../src/exportSchema.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,KAAK,EAgBV,aAAa,EAId,MAAM,SAAS,CAAC;AAiBjB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiCrD,eAAO,MAAM,wBAAwB,QAAS,MAAM,YACH,CAAC;AAgFlD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC,CAEvE;AA47BD,0DAA0D;AAC1D,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,CAAC,CAAC,cAAc,EAAE,GAC7B,CAAC,CAAC,UAAU,CAWd;AAiiBD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAuC3B;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,GAAG,GAAG,EACpB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAef"}
1
+ {"version":3,"file":"exportSchema.d.ts","sourceRoot":"","sources":["../src/exportSchema.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAgBV,aAAa,EAId,MAAM,SAAS,CAAC;AAiBjB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAIpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiCrD,eAAO,MAAM,wBAAwB,QAAS,MAAM,YACH,CAAC;AAgFlD,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,CAAC,CAEvE;AA6+BD,0DAA0D;AAC1D,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,CAAC,CAAC,cAAc,EAAE,GAC7B,CAAC,CAAC,UAAU,CAWd;AAmiBD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAuC3B;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,GAAG,GAAG,EACpB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -6,9 +6,9 @@ const generator_1 = tslib_1.__importDefault(require("@babel/generator"));
6
6
  const parser_1 = require("@babel/parser");
7
7
  const template_1 = tslib_1.__importDefault(require("@babel/template"));
8
8
  const t = tslib_1.__importStar(require("@babel/types"));
9
- const promises_1 = require("fs/promises");
10
9
  const graphql_1 = require("graphql");
11
- const util_1 = require("util");
10
+ const promises_1 = require("node:fs/promises");
11
+ const node_util_1 = require("node:util");
12
12
  const index_js_1 = require("./optimize/index.js");
13
13
  const wellKnown_js_1 = require("./wellKnown.js");
14
14
  // Cannot import sql because it's optional
@@ -521,6 +521,18 @@ function declareGraphQLEntity(file, VARIABLE_NAME, constructorName, config) {
521
521
  function desc(description) {
522
522
  return description ? t.stringLiteral(description) : null;
523
523
  }
524
+ /**
525
+ * Returns if the key can be used as a regular object key (and will be seen as
526
+ * one of the "own" properties of the object) when created using object literal
527
+ * syntax.
528
+ *
529
+ * I.e. returns `true` unless key is `__proto__`
530
+ *
531
+ * @see {@link https://tc39.es/ecma262/#sec-runtime-semantics-propertydefinitionevaluation}
532
+ */
533
+ function canBeRegularObjectKey(key) {
534
+ return key !== "__proto__";
535
+ }
524
536
  function _convertToAST(file, thing, locationHint, nameHint, depth, reference) {
525
537
  const handleSubvalue = (value, tKey, key) => {
526
538
  const existingIdentifier = getExistingIdentifier(file, value);
@@ -542,7 +554,7 @@ function _convertToAST(file, thing, locationHint, nameHint, depth, reference) {
542
554
  throw new Error(`_convertToAST: potentially infinite recursion at ${locationHint}. TODO: allow exporting recursive structures.`);
543
555
  }
544
556
  if (isSQL(thing)) {
545
- throw new Error(`Exporting of 'sql' values is not supported (at ${locationHint}), please wrap in EXPORTABLE: ${sql ? sql.compile(thing).text : (0, util_1.inspect)(thing)}`);
557
+ throw new Error(`Exporting of 'sql' values is not supported (at ${locationHint}), please wrap in EXPORTABLE: ${sql ? sql.compile(thing).text : (0, node_util_1.inspect)(thing)}`);
546
558
  }
547
559
  else if (Array.isArray(thing)) {
548
560
  return t.arrayExpression(thing.map((entry, i) => {
@@ -561,23 +573,43 @@ function _convertToAST(file, thing, locationHint, nameHint, depth, reference) {
561
573
  if (prototype !== null && prototype !== Object.prototype) {
562
574
  throw new Error(`Attempting to export an instance of a class; you should wrap this definition in EXPORTABLE! (Class: ${thing.constructor})`);
563
575
  }
564
- const obj = t.objectExpression(Object.entries(thing).map(([key, value]) => {
576
+ const propertyPairs = [];
577
+ let hasUnsafeKeys = false;
578
+ Object.entries(thing).forEach(([key, value]) => {
565
579
  const tKey = identifierOrLiteral(key);
566
- return t.objectProperty(tKey, handleSubvalue(value, tKey, key));
567
- }));
580
+ const subvalue = handleSubvalue(value, tKey, key);
581
+ propertyPairs.push([tKey, subvalue]);
582
+ if (!canBeRegularObjectKey(key)) {
583
+ hasUnsafeKeys = true;
584
+ }
585
+ });
568
586
  if (prototype === null) {
569
- return t.callExpression(t.memberExpression(t.identifier("Object"), t.identifier("assign")), [
570
- t.callExpression(t.memberExpression(t.identifier("Object"), t.identifier("create")), [t.nullLiteral()]),
571
- // TODO: this is unsafe if obj has any forbidden keys
572
- obj,
573
- ]);
587
+ if (hasUnsafeKeys) {
588
+ // Object.fromEntries([[k, v], [k, v], ...])
589
+ return t.callExpression(t.memberExpression(t.identifier("Object"), t.identifier("fromEntries")), [
590
+ t.arrayExpression(propertyPairs.map(([key, val]) => t.arrayExpression([key, val]))),
591
+ ]);
592
+ }
593
+ else {
594
+ const obj = t.objectExpression(propertyPairs.map(([key, val]) => t.objectProperty(key, val)));
595
+ return t.callExpression(t.memberExpression(t.identifier("Object"), t.identifier("assign")), [
596
+ t.callExpression(t.memberExpression(t.identifier("Object"), t.identifier("create")), [t.nullLiteral()]),
597
+ obj,
598
+ ]);
599
+ }
574
600
  }
575
601
  else {
576
- return obj;
602
+ if (hasUnsafeKeys) {
603
+ throw new Error(`Unexportable key found on non-null-prototype object`);
604
+ }
605
+ else {
606
+ const obj = t.objectExpression(propertyPairs.map(([key, val]) => t.objectProperty(key, val)));
607
+ return obj;
608
+ }
577
609
  }
578
610
  }
579
611
  else {
580
- throw new Error(`_convertToAST: did not understand item (${(0, util_1.inspect)(thing)}) at ${locationHint}`);
612
+ throw new Error(`_convertToAST: did not understand item (${(0, node_util_1.inspect)(thing)}) at ${locationHint}`);
581
613
  }
582
614
  }
583
615
  const getExistingIdentifier = (file, thing) => {
@@ -711,7 +743,9 @@ function factoryAst(file, fn, locationHint, nameHint) {
711
743
  const paramName = param && param.type === "Identifier" ? param.name : null;
712
744
  return convertToIdentifierViaAST(file, arg, paramName || "parameter", `${locationHint}[$$scope][${JSON.stringify(i)}]`);
713
745
  });
714
- // TODO: we can remove this now that we have the post-processing via babel
746
+ // DEBT: we should be able to remove this now that we have the
747
+ // post-processing via babel, however currently the result of doing so is
748
+ // messy.
715
749
  if (shouldOptimizeFactoryCalls) {
716
750
  /*
717
751
  * Factories take the form of an IIFE: `((a, b, c) => ...)(x, y, z)`; where
@@ -839,8 +873,8 @@ function exportSchemaTypeDefs({ schema, customTypes, file, }) {
839
873
  customTypes.forEach((type) => {
840
874
  if (type instanceof graphql_1.GraphQLObjectType) {
841
875
  const typeProperties = [];
842
- if (type.extensions.grafast?.Step) {
843
- typeProperties.push(t.objectProperty(t.identifier("__Step"), convertToIdentifierViaAST(file, type.extensions.grafast.Step, `${type.name}ExpectedStep`, `${type.name}.extensions.Step`)));
876
+ if (type.extensions.grafast?.assertStep) {
877
+ typeProperties.push(t.objectProperty(t.identifier("__assertStep"), convertToIdentifierViaAST(file, type.extensions.grafast.assertStep, `${type.name}AssertStep`, `${type.name}.extensions.assertStep`)));
844
878
  }
845
879
  for (const [fieldName, field] of Object.entries(type.toConfig().fields)) {
846
880
  // Use shorthand if there's only a `plan` and nothing else
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/optimize/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAkBlC,eAAO,MAAM,QAAQ,QAAS,EAAE,IAAI,oBAAa,EAAE,IA4OlD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/optimize/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAkBlC,eAAO,MAAM,QAAQ,QAAS,EAAE,IAAI,oBAAa,EAAE,IAwPlD,CAAC"}
@@ -40,7 +40,18 @@ const optimize = (ast, runs = 1) => {
40
40
  !t.isFunctionExpression(node.callee)) {
41
41
  return;
42
42
  }
43
- if (!t.isExpression(node.callee.body)) {
43
+ const getExpression = (functionBody) => {
44
+ if (functionBody.body.length === 1) {
45
+ const statement = functionBody.body[0];
46
+ if (statement.type === "ReturnStatement") {
47
+ return statement.argument;
48
+ }
49
+ }
50
+ };
51
+ const expression = t.isExpression(node.callee.body)
52
+ ? node.callee.body
53
+ : getExpression(node.callee.body);
54
+ if (!expression) {
44
55
  return;
45
56
  }
46
57
  const args = node.arguments;
@@ -97,7 +108,7 @@ const optimize = (ast, runs = 1) => {
97
108
  }
98
109
  if (node.arguments.length === 0 && node.callee.params.length === 0) {
99
110
  // We don't need this IIFE any more
100
- path.replaceWith(node.callee.body);
111
+ path.replaceWith(expression);
101
112
  }
102
113
  // console.log("REPLACED :", generate(path.node, {}).code);
103
114
  return;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wellKnown.d.ts","sourceRoot":"","sources":["../src/wellKnown.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,UAAU,QAAQ;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC;CACjD;AAED,iBAAS,wBAAwB,CAAC,OAAO,EAAE,aAAa;;;EA4DvD;AAED,QAAA,MAAM,WAAW,eAAsB,CAAC;AACxC,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,aAAa;QACrB,gBAAgB;QAChB,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;KAC7D;CACF;AAUD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,GACb,QAAQ,GAAG,SAAS,CAiBtB"}
1
+ {"version":3,"file":"wellKnown.d.ts","sourceRoot":"","sources":["../src/wellKnown.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,UAAU,QAAQ;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC;CACjD;AAED,iBAAS,wBAAwB,CAAC,OAAO,EAAE,aAAa;;;EA2DvD;AAED,QAAA,MAAM,WAAW,eAAsB,CAAC;AACxC,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,aAAa;QACrB,gBAAgB;QAChB,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;KAC7D;CACF;AAUD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,OAAO,GACb,QAAQ,GAAG,SAAS,CAiBtB"}
package/dist/wellKnown.js CHANGED
@@ -27,7 +27,6 @@ function makeWellKnownFromOptions(options) {
27
27
  }
28
28
  }
29
29
  }
30
- // TODO: fill this out a bit...
31
30
  wellKnownMap.set(crypto_1.default, { moduleName: "crypto", exportName: "default" });
32
31
  wellKnownMap.set(util_1.default, { moduleName: "util", exportName: "default" });
33
32
  exportAll(grafastStar, "grafast");
@@ -1 +1 @@
1
- {"version":3,"file":"wellKnown.js","sourceRoot":"","sources":["../src/wellKnown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wellKnown.js","sourceRoot":"","sources":["../src/wellKnown.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-alpha.4",
3
+ "version": "0.0.2-alpha.6",
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",
@@ -53,7 +53,7 @@
53
53
  "node": ">=16"
54
54
  },
55
55
  "peerDependencies": {
56
- "grafast": "^0.0.1-alpha.9",
56
+ "grafast": "^0.0.1-alpha.12",
57
57
  "graphql": "^16.1.0-experimental-stream-defer.6",
58
58
  "pg-sql2": "^5.0.0-alpha.3"
59
59
  },