@graphitation/apollo-react-relay-duct-tape-compiler 1.6.20 → 1.7.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/lib/cli.js +106 -144
  3. package/lib/cli.js.map +1 -1
  4. package/lib/cli.mjs +106 -146
  5. package/lib/cli.mjs.map +1 -1
  6. package/lib/compilerTransforms/annotateFragmentReferenceTransform.js +6 -21
  7. package/lib/compilerTransforms/annotateFragmentReferenceTransform.js.map +1 -1
  8. package/lib/compilerTransforms/annotateFragmentReferenceTransform.mjs +6 -24
  9. package/lib/compilerTransforms/annotateFragmentReferenceTransform.mjs.map +1 -1
  10. package/lib/compilerTransforms/emitApolloClientConnectionTransform.js +3 -19
  11. package/lib/compilerTransforms/emitApolloClientConnectionTransform.js.map +1 -1
  12. package/lib/compilerTransforms/emitApolloClientConnectionTransform.mjs +3 -21
  13. package/lib/compilerTransforms/emitApolloClientConnectionTransform.mjs.map +1 -1
  14. package/lib/compilerTransforms/enableNodeWatchQueryTransform.js +3 -19
  15. package/lib/compilerTransforms/enableNodeWatchQueryTransform.js.map +1 -1
  16. package/lib/compilerTransforms/enableNodeWatchQueryTransform.mjs +3 -22
  17. package/lib/compilerTransforms/enableNodeWatchQueryTransform.mjs.map +1 -1
  18. package/lib/compilerTransforms/retainConnectionDirectiveTransform.js +3 -19
  19. package/lib/compilerTransforms/retainConnectionDirectiveTransform.js.map +1 -1
  20. package/lib/compilerTransforms/retainConnectionDirectiveTransform.mjs +3 -22
  21. package/lib/compilerTransforms/retainConnectionDirectiveTransform.mjs.map +1 -1
  22. package/lib/formatModule.js +55 -77
  23. package/lib/formatModule.js.map +1 -1
  24. package/lib/formatModule.mjs +55 -78
  25. package/lib/formatModule.mjs.map +1 -1
  26. package/lib/formatModuleTransforms/extractMetadataTransform.js +3 -15
  27. package/lib/formatModuleTransforms/extractMetadataTransform.js.map +1 -1
  28. package/lib/formatModuleTransforms/extractMetadataTransform.mjs +3 -18
  29. package/lib/formatModuleTransforms/extractMetadataTransform.mjs.map +1 -1
  30. package/lib/relayCompilerLanguagePlugin.js +15 -53
  31. package/lib/relayCompilerLanguagePlugin.js.map +1 -1
  32. package/lib/relayCompilerLanguagePlugin.mjs +15 -56
  33. package/lib/relayCompilerLanguagePlugin.mjs.map +1 -1
  34. package/lib/rewriteGraphitationDirectives.js +3 -19
  35. package/lib/rewriteGraphitationDirectives.js.map +1 -1
  36. package/lib/rewriteGraphitationDirectives.mjs +3 -22
  37. package/lib/rewriteGraphitationDirectives.mjs.map +1 -1
  38. package/lib/typescriptTransforms/TypeScriptGenerator.js +27 -34
  39. package/lib/typescriptTransforms/TypeScriptGenerator.js.map +1 -1
  40. package/lib/typescriptTransforms/TypeScriptGenerator.mjs +27 -37
  41. package/lib/typescriptTransforms/TypeScriptGenerator.mjs.map +1 -1
  42. package/package.json +4 -4
@@ -26,26 +26,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var __async = (__this, __arguments, generator) => {
30
- return new Promise((resolve, reject) => {
31
- var fulfilled = (value) => {
32
- try {
33
- step(generator.next(value));
34
- } catch (e) {
35
- reject(e);
36
- }
37
- };
38
- var rejected = (value) => {
39
- try {
40
- step(generator.throw(value));
41
- } catch (e) {
42
- reject(e);
43
- }
44
- };
45
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
46
- step((generator = generator.apply(__this, __arguments)).next());
47
- });
48
- };
49
29
  var formatModule_exports = {};
50
30
  __export(formatModule_exports, {
51
31
  formatModuleFactory: () => formatModuleFactory
@@ -65,70 +45,68 @@ function printDocumentComment(document) {
65
45
  ${(0, import_graphql.print)(document).trim()}
66
46
  */`;
67
47
  }
68
- function formatModuleFactory(options) {
69
- return __async(this, null, function* () {
70
- const schema = options.emitNarrowObservables || options.emitSupermassiveDocuments ? (0, import_graphql2.buildSchema)(
71
- new import_graphql2.Source((0, import_fs.readFileSync)(options.schema, "utf-8"), options.schema)
72
- ) : null;
73
- let addSupermassiveLegacyTypesToRequestDocument;
74
- let addMinimalViableSchemaToRequestDocument;
75
- if (options.emitSupermassiveDocuments) {
76
- ({
77
- addSupermassiveLegacyTypesToRequestDocument,
78
- addMinimalViableSchemaToRequestDocument
79
- } = yield import("@graphitation/supermassive"));
80
- }
81
- function generateExports(moduleName, docText, emitNarrowObservables) {
82
- const exports = {};
83
- const originalDocument = (0, import_graphql.parse)(docText, { noLocation: true });
84
- const optimizedDocument = (0, import_optimize.optimizeDocumentNode)(originalDocument);
85
- if (!emitNarrowObservables) {
86
- exports.executionQueryDocument = optimizedDocument;
87
- } else {
88
- if (!moduleName.endsWith("WatchNodeQuery.graphql")) {
89
- exports.executionQueryDocument = (0, import_stripFragmentReferenceFieldSelectionTransform.stripFragmentReferenceFieldSelectionTransform)(optimizedDocument);
90
- }
91
- (0, import_invariant.default)(schema, "Expected a schema instance");
92
- exports.watchQueryDocument = (0, import_reduceNodeWatchQueryTransform.reduceNodeWatchQueryTransform)(
93
- schema,
94
- optimizedDocument
95
- );
96
- exports.metadata = (0, import_extractMetadataTransform.extractMetadataTransform)(exports.watchQueryDocument);
97
- }
98
- if (options.emitSupermassiveDocuments && exports.executionQueryDocument) {
99
- (0, import_invariant.default)(schema, "Expected a schema instance");
100
- exports.executionQueryDocument = addTypesToRequestDocument(
101
- schema,
102
- exports.executionQueryDocument,
103
- options.supermassiveDocumentNodeOutputType,
104
- addMinimalViableSchemaToRequestDocument,
105
- addSupermassiveLegacyTypesToRequestDocument
106
- );
48
+ async function formatModuleFactory(options) {
49
+ const schema = options.emitNarrowObservables || options.emitSupermassiveDocuments ? (0, import_graphql2.buildSchema)(
50
+ new import_graphql2.Source((0, import_fs.readFileSync)(options.schema, "utf-8"), options.schema)
51
+ ) : null;
52
+ let addSupermassiveLegacyTypesToRequestDocument;
53
+ let addMinimalViableSchemaToRequestDocument;
54
+ if (options.emitSupermassiveDocuments) {
55
+ ({
56
+ addSupermassiveLegacyTypesToRequestDocument,
57
+ addMinimalViableSchemaToRequestDocument
58
+ } = await import("@graphitation/supermassive"));
59
+ }
60
+ function generateExports(moduleName, docText, emitNarrowObservables) {
61
+ const exports = {};
62
+ const originalDocument = (0, import_graphql.parse)(docText, { noLocation: true });
63
+ const optimizedDocument = (0, import_optimize.optimizeDocumentNode)(originalDocument);
64
+ if (!emitNarrowObservables) {
65
+ exports.executionQueryDocument = optimizedDocument;
66
+ } else {
67
+ if (!moduleName.endsWith("WatchNodeQuery.graphql")) {
68
+ exports.executionQueryDocument = (0, import_stripFragmentReferenceFieldSelectionTransform.stripFragmentReferenceFieldSelectionTransform)(optimizedDocument);
107
69
  }
108
- return exports;
70
+ (0, import_invariant.default)(schema, "Expected a schema instance");
71
+ exports.watchQueryDocument = (0, import_reduceNodeWatchQueryTransform.reduceNodeWatchQueryTransform)(
72
+ schema,
73
+ optimizedDocument
74
+ );
75
+ exports.metadata = (0, import_extractMetadataTransform.extractMetadataTransform)(exports.watchQueryDocument);
76
+ }
77
+ if (options.emitSupermassiveDocuments && exports.executionQueryDocument) {
78
+ (0, import_invariant.default)(schema, "Expected a schema instance");
79
+ exports.executionQueryDocument = addTypesToRequestDocument(
80
+ schema,
81
+ exports.executionQueryDocument,
82
+ options.supermassiveDocumentNodeOutputType,
83
+ addMinimalViableSchemaToRequestDocument,
84
+ addSupermassiveLegacyTypesToRequestDocument
85
+ );
109
86
  }
110
- return ({ docText, hash, moduleName, typeText, definition }) => {
111
- const exports = options.emitDocuments ? docText && generateExports(
112
- moduleName,
113
- docText,
114
- options.emitNarrowObservables && definition.kind === "Request" && definition.root.operation === "query"
115
- ) : null;
116
- const reExportWatchNodeQuery = options.emitDocuments && definition.kind === "Fragment";
117
- const components = [
118
- typeText,
119
- exports && options.emitQueryDebugComments && exports.executionQueryDocument && printDocumentComment(exports.executionQueryDocument),
120
- exports && options.emitQueryDebugComments && exports.watchQueryDocument && printDocumentComment(exports.watchQueryDocument),
121
- exports && printExports(exports),
122
- reExportWatchNodeQuery && printWatchNodeQueryReExport(definition)
123
- ].filter(Boolean);
124
- return `/* tslint:disable */
87
+ return exports;
88
+ }
89
+ return ({ docText, hash, moduleName, typeText, definition }) => {
90
+ const exports = options.emitDocuments ? docText && generateExports(
91
+ moduleName,
92
+ docText,
93
+ options.emitNarrowObservables && definition.kind === "Request" && definition.root.operation === "query"
94
+ ) : null;
95
+ const reExportWatchNodeQuery = options.emitDocuments && definition.kind === "Fragment";
96
+ const components = [
97
+ typeText,
98
+ exports && options.emitQueryDebugComments && exports.executionQueryDocument && printDocumentComment(exports.executionQueryDocument),
99
+ exports && options.emitQueryDebugComments && exports.watchQueryDocument && printDocumentComment(exports.watchQueryDocument),
100
+ exports && printExports(exports),
101
+ reExportWatchNodeQuery && printWatchNodeQueryReExport(definition)
102
+ ].filter(Boolean);
103
+ return `/* tslint:disable */
125
104
  /* eslint-disable */
126
105
  // @ts-nocheck
127
106
  ${hash ? `/* ${hash} */
128
107
  ` : ""}
129
108
  ${components.join("\n\n")}`;
130
- };
131
- });
109
+ };
132
110
  }
133
111
  function printWatchNodeQueryReExport(definition) {
134
112
  const refetchable = definition.directives.find(
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/formatModule.ts"],
4
4
  "sourcesContent": ["import { parse, print } from \"graphql\";\nimport { optimizeDocumentNode } from \"@graphql-tools/optimize\";\nimport { reduceNodeWatchQueryTransform } from \"./formatModuleTransforms/reduceNodeWatchQueryTransform\";\nimport invariant from \"invariant\";\nimport { stripFragmentReferenceFieldSelectionTransform } from \"./formatModuleTransforms/stripFragmentReferenceFieldSelectionTransform\";\nimport { extractMetadataTransform } from \"./formatModuleTransforms/extractMetadataTransform\";\nimport { buildSchema, Source } from \"graphql\";\nimport { readFileSync } from \"fs\";\nimport dedupeJSONStringify from \"relay-compiler/lib/util/dedupeJSONStringify\";\n\nimport type { DocumentNode, GraphQLSchema } from \"graphql\";\nimport type { FormatModule } from \"relay-compiler/lib/language/RelayLanguagePluginInterface\";\nimport type { CompiledArtefactModule } from \"./types\";\nimport { Fragment } from \"relay-compiler\";\n\nexport type SupermassiveOutputType = \"V3\" | \"V2\" | \"BOTH\";\n\nexport interface FormatModuleOptions {\n emitDocuments: boolean;\n emitNarrowObservables: boolean;\n emitQueryDebugComments: boolean;\n emitSupermassiveDocuments: boolean;\n supermassiveDocumentNodeOutputType: SupermassiveOutputType;\n schema: string;\n}\n\nfunction printDocumentComment(document: DocumentNode) {\n return `/*\\n${print(document).trim()}\\n*/`;\n}\n\nexport async function formatModuleFactory(\n options: FormatModuleOptions,\n): Promise<FormatModule> {\n const schema =\n options.emitNarrowObservables || options.emitSupermassiveDocuments\n ? buildSchema(\n new Source(readFileSync(options.schema, \"utf-8\"), options.schema),\n )\n : null;\n\n let addSupermassiveLegacyTypesToRequestDocument:\n | undefined\n | typeof import(\"@graphitation/supermassive\").addSupermassiveLegacyTypesToRequestDocument;\n let addMinimalViableSchemaToRequestDocument:\n | undefined\n | typeof import(\"@graphitation/supermassive\").addMinimalViableSchemaToRequestDocument;\n if (options.emitSupermassiveDocuments) {\n ({\n addSupermassiveLegacyTypesToRequestDocument,\n addMinimalViableSchemaToRequestDocument,\n } = await import(\"@graphitation/supermassive\"));\n }\n\n function generateExports(\n moduleName: string,\n docText: string,\n emitNarrowObservables: boolean,\n ) {\n const exports: CompiledArtefactModule = {};\n const originalDocument = parse(docText, { noLocation: true });\n const optimizedDocument = optimizeDocumentNode(originalDocument);\n\n if (!emitNarrowObservables) {\n exports.executionQueryDocument = optimizedDocument;\n } else {\n if (!moduleName.endsWith(\"WatchNodeQuery.graphql\")) {\n exports.executionQueryDocument =\n stripFragmentReferenceFieldSelectionTransform(optimizedDocument);\n }\n\n invariant(schema, \"Expected a schema instance\");\n exports.watchQueryDocument = reduceNodeWatchQueryTransform(\n schema,\n optimizedDocument,\n );\n\n exports.metadata = extractMetadataTransform(exports.watchQueryDocument);\n }\n\n if (options.emitSupermassiveDocuments && exports.executionQueryDocument) {\n invariant(schema, \"Expected a schema instance\");\n exports.executionQueryDocument = addTypesToRequestDocument(\n schema,\n exports.executionQueryDocument,\n options.supermassiveDocumentNodeOutputType,\n addMinimalViableSchemaToRequestDocument,\n addSupermassiveLegacyTypesToRequestDocument,\n ) as DocumentNode;\n }\n\n return exports;\n }\n\n return ({ docText, hash, moduleName, typeText, definition }) => {\n const exports = options.emitDocuments\n ? docText &&\n generateExports(\n moduleName,\n docText,\n options.emitNarrowObservables &&\n definition.kind === \"Request\" &&\n definition.root.operation === \"query\",\n )\n : null;\n const reExportWatchNodeQuery =\n options.emitDocuments && definition.kind === \"Fragment\";\n\n const components = [\n typeText,\n exports &&\n options.emitQueryDebugComments &&\n exports.executionQueryDocument &&\n printDocumentComment(exports.executionQueryDocument),\n exports &&\n options.emitQueryDebugComments &&\n exports.watchQueryDocument &&\n printDocumentComment(exports.watchQueryDocument),\n exports && printExports(exports),\n reExportWatchNodeQuery && printWatchNodeQueryReExport(definition),\n ].filter(Boolean) as string[];\n\n return `/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n${hash ? `/* ${hash} */\\n` : \"\"}\n${components.join(\"\\n\\n\")}`;\n };\n}\n\n// TODO: hould simply not emit a WatchNodeQuery refetchable directive when there already is a @refetchable directive\nfunction printWatchNodeQueryReExport(definition: Fragment) {\n const refetchable =\n definition.directives.find(\n (d) => d.name === \"refetchable\" && d.loc.kind === \"Source\",\n ) ||\n definition.directives.find(\n (d) => d.name === \"refetchable\" && d.loc.kind === \"Generated\",\n );\n if (!refetchable) {\n return undefined;\n }\n const queryNameArg = refetchable.args[0];\n invariant(\n queryNameArg.name === \"queryName\" && queryNameArg.value.kind === \"Literal\",\n \"Expected a @refetchable(queryName:) argument\",\n );\n\n return `import { documents } from \"./${queryNameArg.value.value}.graphql\";\\nexport default documents;`;\n}\n\nfunction printExports(exports: CompiledArtefactModule) {\n return `export const documents: import(\"@graphitation/apollo-react-relay-duct-tape-compiler\").CompiledArtefactModule = ${dedupeJSONStringify(\n exports,\n )};\\n\\nexport default documents;`;\n}\n\nfunction addTypesToRequestDocument(\n schema: GraphQLSchema,\n document: DocumentNode,\n supermassiveDocumentNodeOutputType: SupermassiveOutputType,\n addMinimalViableSchemaToRequestDocument: any,\n addSupermassiveLegacyTypesToRequestDocument: any,\n) {\n let finalDocument = document;\n if (\n supermassiveDocumentNodeOutputType === \"V3\" ||\n supermassiveDocumentNodeOutputType === \"BOTH\"\n ) {\n finalDocument = addMinimalViableSchemaToRequestDocument(\n schema,\n finalDocument,\n {\n addTo: \"PROPERTY\",\n },\n );\n }\n\n if (\n supermassiveDocumentNodeOutputType === \"V2\" ||\n supermassiveDocumentNodeOutputType === \"BOTH\" ||\n !supermassiveDocumentNodeOutputType\n ) {\n finalDocument = addSupermassiveLegacyTypesToRequestDocument(\n schema,\n finalDocument,\n ) as unknown as DocumentNode;\n }\n return finalDocument;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["import_graphql", "invariant", "dedupeJSONStringify"]
7
7
  }
@@ -1,24 +1,3 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
-
22
1
  // src/formatModule.ts
23
2
  import { parse, print } from "graphql";
24
3
  import { optimizeDocumentNode } from "@graphql-tools/optimize";
@@ -34,70 +13,68 @@ function printDocumentComment(document) {
34
13
  ${print(document).trim()}
35
14
  */`;
36
15
  }
37
- function formatModuleFactory(options) {
38
- return __async(this, null, function* () {
39
- const schema = options.emitNarrowObservables || options.emitSupermassiveDocuments ? buildSchema(
40
- new Source(readFileSync(options.schema, "utf-8"), options.schema)
41
- ) : null;
42
- let addSupermassiveLegacyTypesToRequestDocument;
43
- let addMinimalViableSchemaToRequestDocument;
44
- if (options.emitSupermassiveDocuments) {
45
- ({
46
- addSupermassiveLegacyTypesToRequestDocument,
47
- addMinimalViableSchemaToRequestDocument
48
- } = yield import("@graphitation/supermassive"));
49
- }
50
- function generateExports(moduleName, docText, emitNarrowObservables) {
51
- const exports = {};
52
- const originalDocument = parse(docText, { noLocation: true });
53
- const optimizedDocument = optimizeDocumentNode(originalDocument);
54
- if (!emitNarrowObservables) {
55
- exports.executionQueryDocument = optimizedDocument;
56
- } else {
57
- if (!moduleName.endsWith("WatchNodeQuery.graphql")) {
58
- exports.executionQueryDocument = stripFragmentReferenceFieldSelectionTransform(optimizedDocument);
59
- }
60
- invariant(schema, "Expected a schema instance");
61
- exports.watchQueryDocument = reduceNodeWatchQueryTransform(
62
- schema,
63
- optimizedDocument
64
- );
65
- exports.metadata = extractMetadataTransform(exports.watchQueryDocument);
66
- }
67
- if (options.emitSupermassiveDocuments && exports.executionQueryDocument) {
68
- invariant(schema, "Expected a schema instance");
69
- exports.executionQueryDocument = addTypesToRequestDocument(
70
- schema,
71
- exports.executionQueryDocument,
72
- options.supermassiveDocumentNodeOutputType,
73
- addMinimalViableSchemaToRequestDocument,
74
- addSupermassiveLegacyTypesToRequestDocument
75
- );
16
+ async function formatModuleFactory(options) {
17
+ const schema = options.emitNarrowObservables || options.emitSupermassiveDocuments ? buildSchema(
18
+ new Source(readFileSync(options.schema, "utf-8"), options.schema)
19
+ ) : null;
20
+ let addSupermassiveLegacyTypesToRequestDocument;
21
+ let addMinimalViableSchemaToRequestDocument;
22
+ if (options.emitSupermassiveDocuments) {
23
+ ({
24
+ addSupermassiveLegacyTypesToRequestDocument,
25
+ addMinimalViableSchemaToRequestDocument
26
+ } = await import("@graphitation/supermassive"));
27
+ }
28
+ function generateExports(moduleName, docText, emitNarrowObservables) {
29
+ const exports = {};
30
+ const originalDocument = parse(docText, { noLocation: true });
31
+ const optimizedDocument = optimizeDocumentNode(originalDocument);
32
+ if (!emitNarrowObservables) {
33
+ exports.executionQueryDocument = optimizedDocument;
34
+ } else {
35
+ if (!moduleName.endsWith("WatchNodeQuery.graphql")) {
36
+ exports.executionQueryDocument = stripFragmentReferenceFieldSelectionTransform(optimizedDocument);
76
37
  }
77
- return exports;
38
+ invariant(schema, "Expected a schema instance");
39
+ exports.watchQueryDocument = reduceNodeWatchQueryTransform(
40
+ schema,
41
+ optimizedDocument
42
+ );
43
+ exports.metadata = extractMetadataTransform(exports.watchQueryDocument);
44
+ }
45
+ if (options.emitSupermassiveDocuments && exports.executionQueryDocument) {
46
+ invariant(schema, "Expected a schema instance");
47
+ exports.executionQueryDocument = addTypesToRequestDocument(
48
+ schema,
49
+ exports.executionQueryDocument,
50
+ options.supermassiveDocumentNodeOutputType,
51
+ addMinimalViableSchemaToRequestDocument,
52
+ addSupermassiveLegacyTypesToRequestDocument
53
+ );
78
54
  }
79
- return ({ docText, hash, moduleName, typeText, definition }) => {
80
- const exports = options.emitDocuments ? docText && generateExports(
81
- moduleName,
82
- docText,
83
- options.emitNarrowObservables && definition.kind === "Request" && definition.root.operation === "query"
84
- ) : null;
85
- const reExportWatchNodeQuery = options.emitDocuments && definition.kind === "Fragment";
86
- const components = [
87
- typeText,
88
- exports && options.emitQueryDebugComments && exports.executionQueryDocument && printDocumentComment(exports.executionQueryDocument),
89
- exports && options.emitQueryDebugComments && exports.watchQueryDocument && printDocumentComment(exports.watchQueryDocument),
90
- exports && printExports(exports),
91
- reExportWatchNodeQuery && printWatchNodeQueryReExport(definition)
92
- ].filter(Boolean);
93
- return `/* tslint:disable */
55
+ return exports;
56
+ }
57
+ return ({ docText, hash, moduleName, typeText, definition }) => {
58
+ const exports = options.emitDocuments ? docText && generateExports(
59
+ moduleName,
60
+ docText,
61
+ options.emitNarrowObservables && definition.kind === "Request" && definition.root.operation === "query"
62
+ ) : null;
63
+ const reExportWatchNodeQuery = options.emitDocuments && definition.kind === "Fragment";
64
+ const components = [
65
+ typeText,
66
+ exports && options.emitQueryDebugComments && exports.executionQueryDocument && printDocumentComment(exports.executionQueryDocument),
67
+ exports && options.emitQueryDebugComments && exports.watchQueryDocument && printDocumentComment(exports.watchQueryDocument),
68
+ exports && printExports(exports),
69
+ reExportWatchNodeQuery && printWatchNodeQueryReExport(definition)
70
+ ].filter(Boolean);
71
+ return `/* tslint:disable */
94
72
  /* eslint-disable */
95
73
  // @ts-nocheck
96
74
  ${hash ? `/* ${hash} */
97
75
  ` : ""}
98
76
  ${components.join("\n\n")}`;
99
- };
100
- });
77
+ };
101
78
  }
102
79
  function printWatchNodeQueryReExport(definition) {
103
80
  const refetchable = definition.directives.find(
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/formatModule.ts"],
4
4
  "sourcesContent": ["import { parse, print } from \"graphql\";\nimport { optimizeDocumentNode } from \"@graphql-tools/optimize\";\nimport { reduceNodeWatchQueryTransform } from \"./formatModuleTransforms/reduceNodeWatchQueryTransform\";\nimport invariant from \"invariant\";\nimport { stripFragmentReferenceFieldSelectionTransform } from \"./formatModuleTransforms/stripFragmentReferenceFieldSelectionTransform\";\nimport { extractMetadataTransform } from \"./formatModuleTransforms/extractMetadataTransform\";\nimport { buildSchema, Source } from \"graphql\";\nimport { readFileSync } from \"fs\";\nimport dedupeJSONStringify from \"relay-compiler/lib/util/dedupeJSONStringify\";\n\nimport type { DocumentNode, GraphQLSchema } from \"graphql\";\nimport type { FormatModule } from \"relay-compiler/lib/language/RelayLanguagePluginInterface\";\nimport type { CompiledArtefactModule } from \"./types\";\nimport { Fragment } from \"relay-compiler\";\n\nexport type SupermassiveOutputType = \"V3\" | \"V2\" | \"BOTH\";\n\nexport interface FormatModuleOptions {\n emitDocuments: boolean;\n emitNarrowObservables: boolean;\n emitQueryDebugComments: boolean;\n emitSupermassiveDocuments: boolean;\n supermassiveDocumentNodeOutputType: SupermassiveOutputType;\n schema: string;\n}\n\nfunction printDocumentComment(document: DocumentNode) {\n return `/*\\n${print(document).trim()}\\n*/`;\n}\n\nexport async function formatModuleFactory(\n options: FormatModuleOptions,\n): Promise<FormatModule> {\n const schema =\n options.emitNarrowObservables || options.emitSupermassiveDocuments\n ? buildSchema(\n new Source(readFileSync(options.schema, \"utf-8\"), options.schema),\n )\n : null;\n\n let addSupermassiveLegacyTypesToRequestDocument:\n | undefined\n | typeof import(\"@graphitation/supermassive\").addSupermassiveLegacyTypesToRequestDocument;\n let addMinimalViableSchemaToRequestDocument:\n | undefined\n | typeof import(\"@graphitation/supermassive\").addMinimalViableSchemaToRequestDocument;\n if (options.emitSupermassiveDocuments) {\n ({\n addSupermassiveLegacyTypesToRequestDocument,\n addMinimalViableSchemaToRequestDocument,\n } = await import(\"@graphitation/supermassive\"));\n }\n\n function generateExports(\n moduleName: string,\n docText: string,\n emitNarrowObservables: boolean,\n ) {\n const exports: CompiledArtefactModule = {};\n const originalDocument = parse(docText, { noLocation: true });\n const optimizedDocument = optimizeDocumentNode(originalDocument);\n\n if (!emitNarrowObservables) {\n exports.executionQueryDocument = optimizedDocument;\n } else {\n if (!moduleName.endsWith(\"WatchNodeQuery.graphql\")) {\n exports.executionQueryDocument =\n stripFragmentReferenceFieldSelectionTransform(optimizedDocument);\n }\n\n invariant(schema, \"Expected a schema instance\");\n exports.watchQueryDocument = reduceNodeWatchQueryTransform(\n schema,\n optimizedDocument,\n );\n\n exports.metadata = extractMetadataTransform(exports.watchQueryDocument);\n }\n\n if (options.emitSupermassiveDocuments && exports.executionQueryDocument) {\n invariant(schema, \"Expected a schema instance\");\n exports.executionQueryDocument = addTypesToRequestDocument(\n schema,\n exports.executionQueryDocument,\n options.supermassiveDocumentNodeOutputType,\n addMinimalViableSchemaToRequestDocument,\n addSupermassiveLegacyTypesToRequestDocument,\n ) as DocumentNode;\n }\n\n return exports;\n }\n\n return ({ docText, hash, moduleName, typeText, definition }) => {\n const exports = options.emitDocuments\n ? docText &&\n generateExports(\n moduleName,\n docText,\n options.emitNarrowObservables &&\n definition.kind === \"Request\" &&\n definition.root.operation === \"query\",\n )\n : null;\n const reExportWatchNodeQuery =\n options.emitDocuments && definition.kind === \"Fragment\";\n\n const components = [\n typeText,\n exports &&\n options.emitQueryDebugComments &&\n exports.executionQueryDocument &&\n printDocumentComment(exports.executionQueryDocument),\n exports &&\n options.emitQueryDebugComments &&\n exports.watchQueryDocument &&\n printDocumentComment(exports.watchQueryDocument),\n exports && printExports(exports),\n reExportWatchNodeQuery && printWatchNodeQueryReExport(definition),\n ].filter(Boolean) as string[];\n\n return `/* tslint:disable */\n/* eslint-disable */\n// @ts-nocheck\n${hash ? `/* ${hash} */\\n` : \"\"}\n${components.join(\"\\n\\n\")}`;\n };\n}\n\n// TODO: hould simply not emit a WatchNodeQuery refetchable directive when there already is a @refetchable directive\nfunction printWatchNodeQueryReExport(definition: Fragment) {\n const refetchable =\n definition.directives.find(\n (d) => d.name === \"refetchable\" && d.loc.kind === \"Source\",\n ) ||\n definition.directives.find(\n (d) => d.name === \"refetchable\" && d.loc.kind === \"Generated\",\n );\n if (!refetchable) {\n return undefined;\n }\n const queryNameArg = refetchable.args[0];\n invariant(\n queryNameArg.name === \"queryName\" && queryNameArg.value.kind === \"Literal\",\n \"Expected a @refetchable(queryName:) argument\",\n );\n\n return `import { documents } from \"./${queryNameArg.value.value}.graphql\";\\nexport default documents;`;\n}\n\nfunction printExports(exports: CompiledArtefactModule) {\n return `export const documents: import(\"@graphitation/apollo-react-relay-duct-tape-compiler\").CompiledArtefactModule = ${dedupeJSONStringify(\n exports,\n )};\\n\\nexport default documents;`;\n}\n\nfunction addTypesToRequestDocument(\n schema: GraphQLSchema,\n document: DocumentNode,\n supermassiveDocumentNodeOutputType: SupermassiveOutputType,\n addMinimalViableSchemaToRequestDocument: any,\n addSupermassiveLegacyTypesToRequestDocument: any,\n) {\n let finalDocument = document;\n if (\n supermassiveDocumentNodeOutputType === \"V3\" ||\n supermassiveDocumentNodeOutputType === \"BOTH\"\n ) {\n finalDocument = addMinimalViableSchemaToRequestDocument(\n schema,\n finalDocument,\n {\n addTo: \"PROPERTY\",\n },\n );\n }\n\n if (\n supermassiveDocumentNodeOutputType === \"V2\" ||\n supermassiveDocumentNodeOutputType === \"BOTH\" ||\n !supermassiveDocumentNodeOutputType\n ) {\n finalDocument = addSupermassiveLegacyTypesToRequestDocument(\n schema,\n finalDocument,\n ) as unknown as DocumentNode;\n }\n return finalDocument;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -3,22 +3,8 @@ var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
6
  var __getProtoOf = Object.getPrototypeOf;
8
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
- var __spreadValues = (a, b) => {
12
- for (var prop in b || (b = {}))
13
- if (__hasOwnProp.call(b, prop))
14
- __defNormalProp(a, prop, b[prop]);
15
- if (__getOwnPropSymbols)
16
- for (var prop of __getOwnPropSymbols(b)) {
17
- if (__propIsEnum.call(b, prop))
18
- __defNormalProp(a, prop, b[prop]);
19
- }
20
- return a;
21
- };
22
8
  var __export = (target, all) => {
23
9
  for (var name in all)
24
10
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -210,7 +196,9 @@ function extractFilterVariableDefaults(connectionDirective, fieldArguments, vari
210
196
  if (variable) {
211
197
  const defaultValue = variableDefaults.get(variable);
212
198
  if (defaultValue) {
213
- filterVariableDefaults.set(variable, __spreadValues({}, (0, import_graphql.valueFromASTUntyped)(defaultValue)));
199
+ filterVariableDefaults.set(variable, {
200
+ ...(0, import_graphql.valueFromASTUntyped)(defaultValue)
201
+ });
214
202
  }
215
203
  }
216
204
  });
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/formatModuleTransforms/extractMetadataTransform.ts"],
4
4
  "sourcesContent": ["import {\n ArgumentNode,\n DocumentNode,\n FieldNode,\n FragmentDefinitionNode,\n FragmentSpreadNode,\n OperationDefinitionNode,\n ValueNode,\n parseValue,\n visit,\n valueFromAST,\n valueFromASTUntyped,\n DirectiveNode,\n} from \"graphql\";\nimport invariant from \"invariant\";\n\ninterface ConnectionMetadata {\n forwardCountVariable?: string;\n forwardCursorVariable?: string;\n backwardCountVariable?: string;\n backwardCursorVariable?: string;\n filterVariableDefaults?: Record<string, any>;\n selectionPath: string[];\n}\nexport interface Metadata {\n rootSelection?: string;\n mainFragment?: {\n name: string;\n typeCondition: string;\n };\n connection?: ConnectionMetadata;\n}\n\n/**\n * This transform extracts metadata needed at runtime for the `use*Fragment`\n * hooks to do their work efficiently. This includes:\n *\n * - Whether or not the observed data starts at the root of the operation or at\n * the `node` root-field.\n * - The name and type-condition of the fragment.\n * - Connection metadata such as location of the connection inside the fragment\n * and the names of the various connection variables.\n *\n * @param document The watch query document\n * @returns The metadata needed at runtime\n */\nexport function extractMetadataTransform(\n document: DocumentNode,\n): Metadata | undefined {\n const metadata: Metadata = {};\n const nodeFieldSelection = extractNodeFieldSelection(document);\n if (nodeFieldSelection) {\n metadata.rootSelection = \"node\";\n }\n const mainFragment = getMainFragmentMetadata(\n document,\n nodeFieldSelection?.name.value,\n );\n if (mainFragment) {\n metadata.mainFragment = mainFragment;\n }\n const connectionMetadata = extractConnectionMetadataTransform(document);\n if (connectionMetadata) {\n metadata.connection = connectionMetadata;\n }\n return Object.keys(metadata).length > 0 ? metadata : undefined;\n}\n\nfunction getMainFragmentMetadata(\n document: DocumentNode,\n rootSelection: string | undefined,\n):\n | {\n name: string;\n typeCondition: string;\n }\n | undefined {\n const [operationDefinition, ...fragmentDefinitions] =\n document.definitions as [\n OperationDefinitionNode,\n ...FragmentDefinitionNode[],\n ];\n invariant(\n operationDefinition.kind === \"OperationDefinition\" &&\n fragmentDefinitions.every((node) => node.kind === \"FragmentDefinition\"),\n \"Expected definition nodes in specific order\",\n );\n if (fragmentDefinitions.length === 0) {\n return undefined;\n }\n let selectionSet = operationDefinition.selectionSet;\n if (rootSelection) {\n const field = selectionSet.selections.find(\n (selection) =>\n selection.kind === \"Field\" && selection.name.value === rootSelection,\n ) as FieldNode | undefined;\n invariant(\n field?.selectionSet,\n \"Expected root selection to exist in document\",\n );\n selectionSet = field.selectionSet;\n }\n const mainFragmentSpread = selectionSet.selections.find(\n (selection) => selection.kind === \"FragmentSpread\",\n ) as FragmentSpreadNode | undefined;\n if (!mainFragmentSpread) {\n return undefined;\n }\n const mainFragment = fragmentDefinitions.find(\n (fragment) => fragment.name.value === mainFragmentSpread.name.value,\n );\n invariant(mainFragment, \"Expected a main fragment\");\n return {\n name: mainFragment.name.value,\n typeCondition: mainFragment.typeCondition.name.value,\n };\n}\n\nfunction extractNodeFieldSelection(document: DocumentNode) {\n const operationDefinition = document.definitions.find(\n (def) => def.kind === \"OperationDefinition\",\n ) as OperationDefinitionNode | undefined;\n invariant(operationDefinition, \"Expected an operation\");\n const nodeFieldSelection = operationDefinition.selectionSet.selections.find(\n (selection) =>\n selection.kind === \"Field\" && selection.name.value === \"node\",\n ) as FieldNode | undefined;\n return nodeFieldSelection;\n}\n\nfunction extractConnectionMetadataTransform(\n document: DocumentNode,\n): ConnectionMetadata | undefined {\n let foundConnection = false;\n const metadata: ConnectionMetadata = { selectionPath: [] };\n const variableDefaults = new Map<string, ValueNode | undefined>();\n visit(document, {\n VariableDefinition: {\n enter(variableNode) {\n variableDefaults.set(\n variableNode.variable.name.value,\n variableNode.defaultValue,\n );\n },\n },\n Field: {\n enter(fieldNode) {\n if (!foundConnection) {\n metadata.selectionPath.push(fieldNode.name.value);\n }\n const connectionDirective = fieldNode.directives?.find(\n (directive) => directive.name.value === \"connection\",\n );\n if (connectionDirective) {\n invariant(\n !foundConnection,\n \"Expected to find a single connection in one document\",\n );\n foundConnection = true;\n\n const fieldArguments = new Map(\n fieldNode.arguments?.map((arg) => [arg.name.value, arg]),\n );\n\n metadata.forwardCountVariable = getVariableValue(\n fieldArguments.get(\"first\"),\n );\n metadata.forwardCursorVariable = getVariableValue(\n fieldArguments.get(\"after\"),\n );\n metadata.backwardCountVariable = getVariableValue(\n fieldArguments.get(\"last\"),\n );\n metadata.backwardCursorVariable = getVariableValue(\n fieldArguments.get(\"before\"),\n );\n\n metadata.filterVariableDefaults = extractFilterVariableDefaults(\n connectionDirective,\n fieldArguments,\n variableDefaults,\n );\n }\n },\n leave() {\n if (!foundConnection) {\n metadata.selectionPath.pop();\n }\n },\n },\n });\n if (foundConnection) {\n invariant(\n (metadata.forwardCountVariable && metadata.forwardCursorVariable) ||\n (metadata.backwardCountVariable && metadata.backwardCursorVariable),\n \"Expected correct count and cursor variables combinations\",\n );\n return metadata;\n } else {\n return undefined;\n }\n}\n\nfunction getVariableValue(arg: ArgumentNode | undefined) {\n return arg && arg.value.kind === \"Variable\"\n ? arg.value.name.value\n : undefined;\n}\n\nfunction extractFilterVariableDefaults(\n connectionDirective: DirectiveNode,\n fieldArguments: Map<string, ArgumentNode>,\n variableDefaults: Map<string, ValueNode | undefined>,\n) {\n invariant(\n connectionDirective.arguments !== undefined,\n \"Expected connection directive to have arguments\",\n );\n const filterVariableDefaults = new Map<string, any>();\n const [, filters] = connectionDirective.arguments;\n if (filters) {\n invariant(\n filters.name.value === \"filter\" && filters.value.kind === \"ListValue\",\n \"Expected filters argument to be a list of field arguments\",\n );\n const fieldArgumentNames = filters.value.values.map((value) => {\n invariant(\n value.kind === \"StringValue\",\n \"Expected field argument to be a string\",\n );\n return value.value;\n });\n fieldArgumentNames.forEach((name) => {\n const arg = fieldArguments.get(name);\n invariant(\n arg !== undefined,\n \"Expected filter name to refer to a field argument\",\n );\n const variable = getVariableValue(arg);\n if (variable) {\n const defaultValue = variableDefaults.get(variable);\n if (defaultValue) {\n filterVariableDefaults.set(variable, {\n ...valueFromASTUntyped(defaultValue),\n });\n }\n }\n });\n }\n return filterVariableDefaults.size > 0\n ? Object.fromEntries(filterVariableDefaults)\n : undefined;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["invariant"]
7
7
  }
@@ -1,20 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __spreadValues = (a, b) => {
7
- for (var prop in b || (b = {}))
8
- if (__hasOwnProp.call(b, prop))
9
- __defNormalProp(a, prop, b[prop]);
10
- if (__getOwnPropSymbols)
11
- for (var prop of __getOwnPropSymbols(b)) {
12
- if (__propIsEnum.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- }
15
- return a;
16
- };
17
-
18
1
  // src/formatModuleTransforms/extractMetadataTransform.ts
19
2
  import {
20
3
  visit,
@@ -184,7 +167,9 @@ function extractFilterVariableDefaults(connectionDirective, fieldArguments, vari
184
167
  if (variable) {
185
168
  const defaultValue = variableDefaults.get(variable);
186
169
  if (defaultValue) {
187
- filterVariableDefaults.set(variable, __spreadValues({}, valueFromASTUntyped(defaultValue)));
170
+ filterVariableDefaults.set(variable, {
171
+ ...valueFromASTUntyped(defaultValue)
172
+ });
188
173
  }
189
174
  }
190
175
  });
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/formatModuleTransforms/extractMetadataTransform.ts"],
4
4
  "sourcesContent": ["import {\n ArgumentNode,\n DocumentNode,\n FieldNode,\n FragmentDefinitionNode,\n FragmentSpreadNode,\n OperationDefinitionNode,\n ValueNode,\n parseValue,\n visit,\n valueFromAST,\n valueFromASTUntyped,\n DirectiveNode,\n} from \"graphql\";\nimport invariant from \"invariant\";\n\ninterface ConnectionMetadata {\n forwardCountVariable?: string;\n forwardCursorVariable?: string;\n backwardCountVariable?: string;\n backwardCursorVariable?: string;\n filterVariableDefaults?: Record<string, any>;\n selectionPath: string[];\n}\nexport interface Metadata {\n rootSelection?: string;\n mainFragment?: {\n name: string;\n typeCondition: string;\n };\n connection?: ConnectionMetadata;\n}\n\n/**\n * This transform extracts metadata needed at runtime for the `use*Fragment`\n * hooks to do their work efficiently. This includes:\n *\n * - Whether or not the observed data starts at the root of the operation or at\n * the `node` root-field.\n * - The name and type-condition of the fragment.\n * - Connection metadata such as location of the connection inside the fragment\n * and the names of the various connection variables.\n *\n * @param document The watch query document\n * @returns The metadata needed at runtime\n */\nexport function extractMetadataTransform(\n document: DocumentNode,\n): Metadata | undefined {\n const metadata: Metadata = {};\n const nodeFieldSelection = extractNodeFieldSelection(document);\n if (nodeFieldSelection) {\n metadata.rootSelection = \"node\";\n }\n const mainFragment = getMainFragmentMetadata(\n document,\n nodeFieldSelection?.name.value,\n );\n if (mainFragment) {\n metadata.mainFragment = mainFragment;\n }\n const connectionMetadata = extractConnectionMetadataTransform(document);\n if (connectionMetadata) {\n metadata.connection = connectionMetadata;\n }\n return Object.keys(metadata).length > 0 ? metadata : undefined;\n}\n\nfunction getMainFragmentMetadata(\n document: DocumentNode,\n rootSelection: string | undefined,\n):\n | {\n name: string;\n typeCondition: string;\n }\n | undefined {\n const [operationDefinition, ...fragmentDefinitions] =\n document.definitions as [\n OperationDefinitionNode,\n ...FragmentDefinitionNode[],\n ];\n invariant(\n operationDefinition.kind === \"OperationDefinition\" &&\n fragmentDefinitions.every((node) => node.kind === \"FragmentDefinition\"),\n \"Expected definition nodes in specific order\",\n );\n if (fragmentDefinitions.length === 0) {\n return undefined;\n }\n let selectionSet = operationDefinition.selectionSet;\n if (rootSelection) {\n const field = selectionSet.selections.find(\n (selection) =>\n selection.kind === \"Field\" && selection.name.value === rootSelection,\n ) as FieldNode | undefined;\n invariant(\n field?.selectionSet,\n \"Expected root selection to exist in document\",\n );\n selectionSet = field.selectionSet;\n }\n const mainFragmentSpread = selectionSet.selections.find(\n (selection) => selection.kind === \"FragmentSpread\",\n ) as FragmentSpreadNode | undefined;\n if (!mainFragmentSpread) {\n return undefined;\n }\n const mainFragment = fragmentDefinitions.find(\n (fragment) => fragment.name.value === mainFragmentSpread.name.value,\n );\n invariant(mainFragment, \"Expected a main fragment\");\n return {\n name: mainFragment.name.value,\n typeCondition: mainFragment.typeCondition.name.value,\n };\n}\n\nfunction extractNodeFieldSelection(document: DocumentNode) {\n const operationDefinition = document.definitions.find(\n (def) => def.kind === \"OperationDefinition\",\n ) as OperationDefinitionNode | undefined;\n invariant(operationDefinition, \"Expected an operation\");\n const nodeFieldSelection = operationDefinition.selectionSet.selections.find(\n (selection) =>\n selection.kind === \"Field\" && selection.name.value === \"node\",\n ) as FieldNode | undefined;\n return nodeFieldSelection;\n}\n\nfunction extractConnectionMetadataTransform(\n document: DocumentNode,\n): ConnectionMetadata | undefined {\n let foundConnection = false;\n const metadata: ConnectionMetadata = { selectionPath: [] };\n const variableDefaults = new Map<string, ValueNode | undefined>();\n visit(document, {\n VariableDefinition: {\n enter(variableNode) {\n variableDefaults.set(\n variableNode.variable.name.value,\n variableNode.defaultValue,\n );\n },\n },\n Field: {\n enter(fieldNode) {\n if (!foundConnection) {\n metadata.selectionPath.push(fieldNode.name.value);\n }\n const connectionDirective = fieldNode.directives?.find(\n (directive) => directive.name.value === \"connection\",\n );\n if (connectionDirective) {\n invariant(\n !foundConnection,\n \"Expected to find a single connection in one document\",\n );\n foundConnection = true;\n\n const fieldArguments = new Map(\n fieldNode.arguments?.map((arg) => [arg.name.value, arg]),\n );\n\n metadata.forwardCountVariable = getVariableValue(\n fieldArguments.get(\"first\"),\n );\n metadata.forwardCursorVariable = getVariableValue(\n fieldArguments.get(\"after\"),\n );\n metadata.backwardCountVariable = getVariableValue(\n fieldArguments.get(\"last\"),\n );\n metadata.backwardCursorVariable = getVariableValue(\n fieldArguments.get(\"before\"),\n );\n\n metadata.filterVariableDefaults = extractFilterVariableDefaults(\n connectionDirective,\n fieldArguments,\n variableDefaults,\n );\n }\n },\n leave() {\n if (!foundConnection) {\n metadata.selectionPath.pop();\n }\n },\n },\n });\n if (foundConnection) {\n invariant(\n (metadata.forwardCountVariable && metadata.forwardCursorVariable) ||\n (metadata.backwardCountVariable && metadata.backwardCursorVariable),\n \"Expected correct count and cursor variables combinations\",\n );\n return metadata;\n } else {\n return undefined;\n }\n}\n\nfunction getVariableValue(arg: ArgumentNode | undefined) {\n return arg && arg.value.kind === \"Variable\"\n ? arg.value.name.value\n : undefined;\n}\n\nfunction extractFilterVariableDefaults(\n connectionDirective: DirectiveNode,\n fieldArguments: Map<string, ArgumentNode>,\n variableDefaults: Map<string, ValueNode | undefined>,\n) {\n invariant(\n connectionDirective.arguments !== undefined,\n \"Expected connection directive to have arguments\",\n );\n const filterVariableDefaults = new Map<string, any>();\n const [, filters] = connectionDirective.arguments;\n if (filters) {\n invariant(\n filters.name.value === \"filter\" && filters.value.kind === \"ListValue\",\n \"Expected filters argument to be a list of field arguments\",\n );\n const fieldArgumentNames = filters.value.values.map((value) => {\n invariant(\n value.kind === \"StringValue\",\n \"Expected field argument to be a string\",\n );\n return value.value;\n });\n fieldArgumentNames.forEach((name) => {\n const arg = fieldArguments.get(name);\n invariant(\n arg !== undefined,\n \"Expected filter name to refer to a field argument\",\n );\n const variable = getVariableValue(arg);\n if (variable) {\n const defaultValue = variableDefaults.get(variable);\n if (defaultValue) {\n filterVariableDefaults.set(variable, {\n ...valueFromASTUntyped(defaultValue),\n });\n }\n }\n });\n }\n return filterVariableDefaults.size > 0\n ? Object.fromEntries(filterVariableDefaults)\n : undefined;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,27 +1,10 @@
1
1
  "use strict";
2
2
  var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
- var __defProps = Object.defineProperties;
5
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
6
  var __getProtoOf = Object.getPrototypeOf;
10
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
11
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {}))
15
- if (__hasOwnProp.call(b, prop))
16
- __defNormalProp(a, prop, b[prop]);
17
- if (__getOwnPropSymbols)
18
- for (var prop of __getOwnPropSymbols(b)) {
19
- if (__propIsEnum.call(b, prop))
20
- __defNormalProp(a, prop, b[prop]);
21
- }
22
- return a;
23
- };
24
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
8
  var __export = (target, all) => {
26
9
  for (var name in all)
27
10
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -43,26 +26,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
43
26
  mod
44
27
  ));
45
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
46
- var __async = (__this, __arguments, generator) => {
47
- return new Promise((resolve, reject) => {
48
- var fulfilled = (value) => {
49
- try {
50
- step(generator.next(value));
51
- } catch (e) {
52
- reject(e);
53
- }
54
- };
55
- var rejected = (value) => {
56
- try {
57
- step(generator.throw(value));
58
- } catch (e) {
59
- reject(e);
60
- }
61
- };
62
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
63
- step((generator = generator.apply(__this, __arguments)).next());
64
- });
65
- };
66
29
  var relayCompilerLanguagePlugin_exports = {};
67
30
  __export(relayCompilerLanguagePlugin_exports, {
68
31
  pluginFactory: () => pluginFactory
@@ -72,21 +35,20 @@ var import_findGraphQLTags = require("./findGraphQLTags");
72
35
  var import_formatModule = require("./formatModule");
73
36
  var import_typeGenerator = require("./typeGenerator");
74
37
  var TypeScriptGenerator = __toESM(require("./typescriptTransforms/TypeScriptGenerator"));
75
- function pluginFactory(formatModuleOptions) {
76
- return __async(this, null, function* () {
77
- const formatModule = yield (0, import_formatModule.formatModuleFactory)(formatModuleOptions);
78
- return () => {
79
- return {
80
- inputExtensions: ["ts", "tsx"],
81
- outputExtension: "ts",
82
- findGraphQLTags: (0, import_findGraphQLTags.findGraphQLTagsFactory)(
83
- !formatModuleOptions.emitDocuments
84
- ),
85
- formatModule,
86
- typeGenerator: __spreadProps(__spreadValues({}, TypeScriptGenerator), {
87
- generate: (0, import_typeGenerator.generateFactory)(TypeScriptGenerator.generate)
88
- })
89
- };
38
+ async function pluginFactory(formatModuleOptions) {
39
+ const formatModule = await (0, import_formatModule.formatModuleFactory)(formatModuleOptions);
40
+ return () => {
41
+ return {
42
+ inputExtensions: ["ts", "tsx"],
43
+ outputExtension: "ts",
44
+ findGraphQLTags: (0, import_findGraphQLTags.findGraphQLTagsFactory)(
45
+ !formatModuleOptions.emitDocuments
46
+ ),
47
+ formatModule,
48
+ typeGenerator: {
49
+ ...TypeScriptGenerator,
50
+ generate: (0, import_typeGenerator.generateFactory)(TypeScriptGenerator.generate)
51
+ }
90
52
  };
91
- });
53
+ };
92
54
  }