@graphitation/graphql-codegen-supermassive-typed-document-node-plugin 0.7.2 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/visitor.d.ts CHANGED
@@ -1,21 +1,25 @@
1
1
  import { Types } from "@graphql-codegen/plugin-helpers";
2
2
  import { LoadedFragment, ClientSideBaseVisitor, ClientSideBasePluginConfig, RawClientSideBasePluginConfig } from "@graphql-codegen/visitor-plugin-common";
3
3
  import { GraphQLSchema, FragmentDefinitionNode, OperationDefinitionNode } from "graphql";
4
- export type SupermassiveOutputType = "V3" | "V2" | "BOTH" | "NONE";
4
+ export type SupermassiveAstType = "SupermassiveV3" | "Lazy" | "Standard";
5
+ export type RuntimeParseImport = {
6
+ moduleName: string;
7
+ propName: string;
8
+ };
5
9
  type RawClientSidePluginConfig = RawClientSideBasePluginConfig & {
6
- supermassiveDocumentNodeConditional?: string;
7
- supermassiveDocumentNodeOutputType?: SupermassiveOutputType;
10
+ runtimeParseImport?: RuntimeParseImport;
11
+ astType?: SupermassiveAstType;
8
12
  };
9
13
  type ClientSidePluginConfig = ClientSideBasePluginConfig & {
10
- supermassiveDocumentNodeConditional?: string;
11
- supermassiveDocumentNodeOutputType?: SupermassiveOutputType;
14
+ astType?: SupermassiveAstType;
12
15
  };
13
16
  export declare class TypeScriptDocumentNodesVisitor extends ClientSideBaseVisitor<RawClientSidePluginConfig, ClientSidePluginConfig> {
14
17
  constructor(schema: GraphQLSchema, fragments: LoadedFragment[], rawConfig: RawClientSidePluginConfig, documents: Types.DocumentFile[]);
18
+ protected getDocumentNodeSignature(resultType: string, variablesTypes: string, node: FragmentDefinitionNode | OperationDefinitionNode): string;
15
19
  protected _gql(node: FragmentDefinitionNode | OperationDefinitionNode): string;
16
- protected _render(node: FragmentDefinitionNode | OperationDefinitionNode, annotate?: boolean): string;
20
+ private _renderLazy;
21
+ private _render;
17
22
  private _transformDocumentNodeToSupermassive;
18
- protected getDocumentNodeSignature(resultType: string, variablesTypes: string, node: FragmentDefinitionNode | OperationDefinitionNode): string;
19
23
  private addTypesToRequestDocument;
20
24
  }
21
25
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAE1B,6BAA6B,EAC9B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,aAAa,EACb,sBAAsB,EAItB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAQjB,MAAM,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE,KAAK,yBAAyB,GAAG,6BAA6B,GAAG;IAC/D,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,kCAAkC,CAAC,EAAE,sBAAsB,CAAC;CAC7D,CAAC;AACF,KAAK,sBAAsB,GAAG,0BAA0B,GAAG;IACzD,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,kCAAkC,CAAC,EAAE,sBAAsB,CAAC;CAC7D,CAAC;AAEF,qBAAa,8BAA+B,SAAQ,qBAAqB,CACvE,yBAAyB,EACzB,sBAAsB,CACvB;gBAEG,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,cAAc,EAAE,EAC3B,SAAS,EAAE,yBAAyB,EACpC,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE;IAoCjC,SAAS,CAAC,IAAI,CACZ,IAAI,EAAE,sBAAsB,GAAG,uBAAuB,GACrD,MAAM;IAYT,SAAS,CAAC,OAAO,CACf,IAAI,EAAE,sBAAsB,GAAG,uBAAuB,EACtD,QAAQ,UAAQ,GACf,MAAM;IAmET,OAAO,CAAC,oCAAoC;IAY5C,SAAS,CAAC,wBAAwB,CAChC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,sBAAsB,GAAG,uBAAuB;IAaxD,OAAO,CAAC,yBAAyB;CA6BlC"}
1
+ {"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../src/visitor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAE1B,6BAA6B,EAC9B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,aAAa,EACb,sBAAsB,EAGtB,uBAAuB,EAExB,MAAM,SAAS,CAAC;AAMjB,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,MAAM,GAAG,UAAU,CAAC;AACzE,MAAM,MAAM,kBAAkB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,KAAK,yBAAyB,GAAG,6BAA6B,GAAG;IAC/D,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AACF,KAAK,sBAAsB,GAAG,0BAA0B,GAAG;IACzD,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AAEF,qBAAa,8BAA+B,SAAQ,qBAAqB,CACvE,yBAAyB,EACzB,sBAAsB,CACvB;gBAEG,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,cAAc,EAAE,EAC3B,SAAS,EAAE,yBAAyB,EACpC,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE;IAiDjC,SAAS,CAAC,wBAAwB,CAChC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,sBAAsB,GAAG,uBAAuB;IAaxD,SAAS,CAAC,IAAI,CACZ,IAAI,EAAE,sBAAsB,GAAG,uBAAuB,GACrD,MAAM;IAcT,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,OAAO;IAkEf,OAAO,CAAC,oCAAoC;IAa5C,OAAO,CAAC,yBAAyB;CAgBlC"}
package/lib/visitor.js CHANGED
@@ -54,8 +54,10 @@ var import_graphql = require("graphql");
54
54
  var import_supermassive = require("@graphitation/supermassive");
55
55
  var import_optimize = require("@graphql-tools/optimize");
56
56
  var import_graphql_tag = __toESM(require("graphql-tag"));
57
+ var import_print = require("./utils/print");
57
58
  class TypeScriptDocumentNodesVisitor extends import_visitor_plugin_common.ClientSideBaseVisitor {
58
59
  constructor(schema, fragments, rawConfig, documents) {
60
+ var _a;
59
61
  super(
60
62
  schema,
61
63
  fragments,
@@ -64,8 +66,7 @@ class TypeScriptDocumentNodesVisitor extends import_visitor_plugin_common.Client
64
66
  documentNodeImport: "@graphql-typed-document-node/core#TypedDocumentNode"
65
67
  }, rawConfig),
66
68
  {
67
- supermassiveDocumentNodeConditional: rawConfig.supermassiveDocumentNodeConditional,
68
- supermassiveDocumentNodeOutputType: rawConfig.supermassiveDocumentNodeOutputType || "V3"
69
+ astType: (_a = rawConfig.astType) != null ? _a : "SupermassiveV3"
69
70
  },
70
71
  documents
71
72
  );
@@ -81,19 +82,57 @@ class TypeScriptDocumentNodesVisitor extends import_visitor_plugin_common.Client
81
82
  );
82
83
  this._imports.add(tagImport);
83
84
  }
85
+ if (this.config.astType === "Lazy") {
86
+ const { runtimeParseImport } = rawConfig;
87
+ if (!validateRuntimeParseImport(runtimeParseImport)) {
88
+ throw new Error(
89
+ `graphql-codegen-supermassive-typed-document-node-plugin: astType="Lazy" requires valid runtimeParseImport in the config`
90
+ );
91
+ }
92
+ const tagImport = this._generateImport(
93
+ runtimeParseImport,
94
+ "runtimeParse",
95
+ false
96
+ );
97
+ this._imports.add(tagImport);
98
+ }
99
+ }
100
+ getDocumentNodeSignature(resultType, variablesTypes, node) {
101
+ if (this.config.documentMode === import_visitor_plugin_common.DocumentMode.documentNode || this.config.documentMode === import_visitor_plugin_common.DocumentMode.documentNodeImportFragments || this.config.documentMode === import_visitor_plugin_common.DocumentMode.graphQLTag) {
102
+ return ` as unknown as DocumentNode<${resultType}, ${variablesTypes}>`;
103
+ }
104
+ return super.getDocumentNodeSignature(resultType, variablesTypes, node);
84
105
  }
85
106
  _gql(node) {
86
- if (this.config.supermassiveDocumentNodeConditional) {
87
- const supermassive = this._render(node, true);
88
- const standard = this._render(node, false);
89
- return `(${this.config.supermassiveDocumentNodeConditional}
90
- ? ${supermassive}
91
- : ${standard})`;
107
+ switch (this.config.astType) {
108
+ case "Lazy":
109
+ return this._renderLazy(node);
110
+ case "SupermassiveV3":
111
+ return this._render(node, true);
112
+ case "Standard":
113
+ default:
114
+ return this._render(node, false);
92
115
  }
93
- return this._render(
94
- node,
95
- this.config.supermassiveDocumentNodeOutputType !== "NONE"
96
- );
116
+ }
117
+ _renderLazy(node) {
118
+ const fragments = this._transformFragments(node);
119
+ const doc = this._prepareDocument(`
120
+ ${(0, import_print.print)(node)}
121
+ ${this._includeFragments(fragments)}
122
+ `);
123
+ const gqlObj = (0, import_graphql.parse)(doc, { noLocation: true });
124
+ return `
125
+ {
126
+ kind: "Document",
127
+ get definitions() {
128
+ const document = runtimeParse('${(0, import_print.print)(gqlObj)}');
129
+ delete this.definitions;
130
+ return (this.definitions = ${!fragments.length ? "document.definitions" : `[${[
131
+ "...document.definitions",
132
+ ...fragments.map((name) => `...${name}.definitions`)
133
+ ].join(",")}]`});
134
+ }
135
+ }`;
97
136
  }
98
137
  _render(node, annotate = false) {
99
138
  const supermassiveNode = this.addTypesToRequestDocument(this._schema, {
@@ -102,7 +141,7 @@ class TypeScriptDocumentNodesVisitor extends import_visitor_plugin_common.Client
102
141
  }).definitions[0];
103
142
  const fragments = this._transformFragments(supermassiveNode);
104
143
  const doc = this._prepareDocument(`
105
- ${(0, import_graphql.print)(supermassiveNode).split("\\").join("\\\\")}
144
+ ${(0, import_print.print)(supermassiveNode)}
106
145
  ${this._includeFragments(fragments)}`);
107
146
  if (this.config.documentMode === import_visitor_plugin_common.DocumentMode.documentNode) {
108
147
  let gqlObj = (0, import_graphql_tag.default)([doc]);
@@ -152,15 +191,9 @@ class TypeScriptDocumentNodesVisitor extends import_visitor_plugin_common.Client
152
191
  )
153
192
  });
154
193
  }
155
- getDocumentNodeSignature(resultType, variablesTypes, node) {
156
- if (this.config.documentMode === import_visitor_plugin_common.DocumentMode.documentNode || this.config.documentMode === import_visitor_plugin_common.DocumentMode.documentNodeImportFragments || this.config.documentMode === import_visitor_plugin_common.DocumentMode.graphQLTag) {
157
- return ` as unknown as DocumentNode<${resultType}, ${variablesTypes}>`;
158
- }
159
- return super.getDocumentNodeSignature(resultType, variablesTypes, node);
160
- }
161
194
  addTypesToRequestDocument(schema, document) {
162
195
  let finalDocument = document;
163
- if (this.config.supermassiveDocumentNodeOutputType === "V3" || this.config.supermassiveDocumentNodeOutputType === "BOTH") {
196
+ if (this.config.astType === "SupermassiveV3") {
164
197
  finalDocument = (0, import_supermassive.addMinimalViableSchemaToRequestDocument)(
165
198
  schema,
166
199
  finalDocument,
@@ -169,12 +202,10 @@ class TypeScriptDocumentNodesVisitor extends import_visitor_plugin_common.Client
169
202
  }
170
203
  );
171
204
  }
172
- if (this.config.supermassiveDocumentNodeOutputType === "V2" || this.config.supermassiveDocumentNodeOutputType === "BOTH") {
173
- finalDocument = (0, import_supermassive.addSupermassiveLegacyTypesToRequestDocument)(
174
- schema,
175
- finalDocument
176
- );
177
- }
178
205
  return finalDocument;
179
206
  }
180
207
  }
208
+ function validateRuntimeParseImport(input) {
209
+ const parseImport = input;
210
+ return typeof parseImport === "object" && !!parseImport.moduleName && !!parseImport.propName;
211
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/visitor.ts"],
4
- "sourcesContent": ["/*\n * Taken from https://github.com/dotansimha/graphql-code-generator/blob/4fee8c8c523b30163e913438b85a064c58e39087/packages/plugins/typescript/typed-document-node/src/visitor.ts\n * MIT license https://github.com/dotansimha/graphql-code-generator/blob/4fee8c8c523b30163e913438b85a064c58e39087/LICENSE\n */\n\nimport autoBind from \"auto-bind\";\nimport { Types } from \"@graphql-codegen/plugin-helpers\";\nimport {\n LoadedFragment,\n ClientSideBaseVisitor,\n ClientSideBasePluginConfig,\n DocumentMode,\n RawClientSideBasePluginConfig,\n} from \"@graphql-codegen/visitor-plugin-common\";\nimport {\n GraphQLSchema,\n FragmentDefinitionNode,\n DocumentNode,\n print,\n Kind,\n OperationDefinitionNode,\n} from \"graphql\";\nimport {\n addSupermassiveLegacyTypesToRequestDocument,\n addMinimalViableSchemaToRequestDocument,\n} from \"@graphitation/supermassive\";\nimport { optimizeDocumentNode } from \"@graphql-tools/optimize\";\nimport gqlTag from \"graphql-tag\";\n\nexport type SupermassiveOutputType = \"V3\" | \"V2\" | \"BOTH\" | \"NONE\";\n\ntype RawClientSidePluginConfig = RawClientSideBasePluginConfig & {\n supermassiveDocumentNodeConditional?: string;\n supermassiveDocumentNodeOutputType?: SupermassiveOutputType;\n};\ntype ClientSidePluginConfig = ClientSideBasePluginConfig & {\n supermassiveDocumentNodeConditional?: string;\n supermassiveDocumentNodeOutputType?: SupermassiveOutputType;\n};\n\nexport class TypeScriptDocumentNodesVisitor extends ClientSideBaseVisitor<\n RawClientSidePluginConfig,\n ClientSidePluginConfig\n> {\n constructor(\n schema: GraphQLSchema,\n fragments: LoadedFragment[],\n rawConfig: RawClientSidePluginConfig,\n documents: Types.DocumentFile[],\n ) {\n super(\n schema,\n fragments,\n {\n documentMode: DocumentMode.documentNodeImportFragments,\n documentNodeImport:\n \"@graphql-typed-document-node/core#TypedDocumentNode\",\n ...rawConfig,\n },\n {\n supermassiveDocumentNodeConditional:\n rawConfig.supermassiveDocumentNodeConditional,\n supermassiveDocumentNodeOutputType:\n rawConfig.supermassiveDocumentNodeOutputType || \"V3\",\n },\n documents,\n );\n\n autoBind(this);\n\n // We need to make sure it's there because in this mode, the base plugin doesn't add the import\n if (this.config.documentMode === DocumentMode.graphQLTag) {\n const documentNodeImport = this._parseImport(\n this.config.documentNodeImport || \"graphql#DocumentNode\",\n );\n const tagImport = this._generateImport(\n documentNodeImport,\n \"DocumentNode\",\n true,\n ) as string;\n this._imports.add(tagImport);\n }\n }\n\n protected _gql(\n node: FragmentDefinitionNode | OperationDefinitionNode,\n ): string {\n if (this.config.supermassiveDocumentNodeConditional) {\n const supermassive = this._render(node, true);\n const standard = this._render(node, false);\n return `(${this.config.supermassiveDocumentNodeConditional}\\n? ${supermassive}\\n: ${standard})`;\n }\n return this._render(\n node,\n this.config.supermassiveDocumentNodeOutputType !== \"NONE\",\n );\n }\n\n protected _render(\n node: FragmentDefinitionNode | OperationDefinitionNode,\n annotate = false,\n ): string {\n const supermassiveNode = this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [node],\n }).definitions[0] as FragmentDefinitionNode | OperationDefinitionNode;\n\n const fragments = this._transformFragments(supermassiveNode);\n\n const doc = this._prepareDocument(`\n ${\n print(supermassiveNode)\n .split(\"\\\\\")\n .join(\"\\\\\\\\\") /* Re-escape escaped values in GraphQL syntax */\n }\n ${this._includeFragments(fragments)}`);\n\n if (this.config.documentMode === DocumentMode.documentNode) {\n let gqlObj = gqlTag([doc]);\n\n if (this.config.optimizeDocumentNode) {\n gqlObj = optimizeDocumentNode(gqlObj);\n }\n if (annotate) {\n gqlObj = this._transformDocumentNodeToSupermassive(gqlObj);\n }\n\n return JSON.stringify(gqlObj);\n } else if (\n this.config.documentMode === DocumentMode.documentNodeImportFragments\n ) {\n let gqlObj = gqlTag([doc]);\n\n if (this.config.optimizeDocumentNode) {\n gqlObj = optimizeDocumentNode(gqlObj);\n }\n\n if (fragments.length > 0) {\n const definitions = [\n ...gqlObj.definitions.map((t) =>\n JSON.stringify(\n annotate\n ? this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [t],\n }).definitions[0]\n : t,\n ),\n ),\n ...fragments.map((name) => `...${name}.definitions`),\n ].join();\n\n return `{\"kind\":\"${Kind.DOCUMENT}\",\"definitions\":[${definitions}]}`;\n }\n if (annotate) {\n gqlObj = this._transformDocumentNodeToSupermassive(gqlObj);\n }\n\n return JSON.stringify(gqlObj);\n } else if (this.config.documentMode === DocumentMode.string) {\n return \"`\" + doc + \"`\";\n }\n\n const gqlImport = this._parseImport(this.config.gqlImport || \"graphql-tag\");\n\n return (gqlImport.propName || \"gql\") + \"`\" + doc + \"`\";\n }\n\n private _transformDocumentNodeToSupermassive(document: DocumentNode) {\n return {\n ...document,\n definitions: document.definitions.map(\n (t) =>\n this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [t],\n }).definitions[0],\n ),\n } as DocumentNode;\n }\n protected getDocumentNodeSignature(\n resultType: string,\n variablesTypes: string,\n node: FragmentDefinitionNode | OperationDefinitionNode,\n ) {\n if (\n this.config.documentMode === DocumentMode.documentNode ||\n this.config.documentMode === DocumentMode.documentNodeImportFragments ||\n this.config.documentMode === DocumentMode.graphQLTag\n ) {\n return ` as unknown as DocumentNode<${resultType}, ${variablesTypes}>`;\n }\n\n return super.getDocumentNodeSignature(resultType, variablesTypes, node);\n }\n\n private addTypesToRequestDocument(\n schema: GraphQLSchema,\n document: DocumentNode,\n ) {\n let finalDocument = document;\n if (\n this.config.supermassiveDocumentNodeOutputType === \"V3\" ||\n this.config.supermassiveDocumentNodeOutputType === \"BOTH\"\n ) {\n finalDocument = addMinimalViableSchemaToRequestDocument(\n schema,\n finalDocument,\n {\n addTo: \"PROPERTY\",\n },\n );\n }\n\n if (\n this.config.supermassiveDocumentNodeOutputType === \"V2\" ||\n this.config.supermassiveDocumentNodeOutputType === \"BOTH\"\n ) {\n finalDocument = addSupermassiveLegacyTypesToRequestDocument(\n schema,\n finalDocument,\n ) as unknown as DocumentNode;\n }\n return finalDocument;\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,uBAAqB;AAErB,mCAMO;AACP,qBAOO;AACP,0BAGO;AACP,sBAAqC;AACrC,yBAAmB;AAaZ,MAAM,uCAAuC,mDAGlD;AAAA,EACA,YACE,QACA,WACA,WACA,WACA;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,QACE,cAAc,0CAAa;AAAA,QAC3B,oBACE;AAAA,SACC;AAAA,MAEL;AAAA,QACE,qCACE,UAAU;AAAA,QACZ,oCACE,UAAU,sCAAsC;AAAA,MACpD;AAAA,MACA;AAAA,IACF;AAEA,yBAAAA,SAAS,IAAI;AAGb,QAAI,KAAK,OAAO,iBAAiB,0CAAa,YAAY;AACxD,YAAM,qBAAqB,KAAK;AAAA,QAC9B,KAAK,OAAO,sBAAsB;AAAA,MACpC;AACA,YAAM,YAAY,KAAK;AAAA,QACrB;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,WAAK,SAAS,IAAI,SAAS;AAAA,IAC7B;AAAA,EACF;AAAA,EAEU,KACR,MACQ;AACR,QAAI,KAAK,OAAO,qCAAqC;AACnD,YAAM,eAAe,KAAK,QAAQ,MAAM,IAAI;AAC5C,YAAM,WAAW,KAAK,QAAQ,MAAM,KAAK;AACzC,aAAO,IAAI,KAAK,OAAO;AAAA,IAA0C;AAAA,IAAmB;AAAA,IACtF;AACA,WAAO,KAAK;AAAA,MACV;AAAA,MACA,KAAK,OAAO,uCAAuC;AAAA,IACrD;AAAA,EACF;AAAA,EAEU,QACR,MACA,WAAW,OACH;AACR,UAAM,mBAAmB,KAAK,0BAA0B,KAAK,SAAS;AAAA,MACpE,MAAM,oBAAK;AAAA,MACX,aAAa,CAAC,IAAI;AAAA,IACpB,CAAC,EAAE,YAAY,CAAC;AAEhB,UAAM,YAAY,KAAK,oBAAoB,gBAAgB;AAE3D,UAAM,MAAM,KAAK,iBAAiB;AAAA,UAEhC,sBAAM,gBAAgB,EACnB,MAAM,IAAI,EACV,KAAK,MAAM;AAAA,MAEd,KAAK,kBAAkB,SAAS,GAAG;AAErC,QAAI,KAAK,OAAO,iBAAiB,0CAAa,cAAc;AAC1D,UAAI,aAAS,mBAAAC,SAAO,CAAC,GAAG,CAAC;AAEzB,UAAI,KAAK,OAAO,sBAAsB;AACpC,qBAAS,sCAAqB,MAAM;AAAA,MACtC;AACA,UAAI,UAAU;AACZ,iBAAS,KAAK,qCAAqC,MAAM;AAAA,MAC3D;AAEA,aAAO,KAAK,UAAU,MAAM;AAAA,IAC9B,WACE,KAAK,OAAO,iBAAiB,0CAAa,6BAC1C;AACA,UAAI,aAAS,mBAAAA,SAAO,CAAC,GAAG,CAAC;AAEzB,UAAI,KAAK,OAAO,sBAAsB;AACpC,qBAAS,sCAAqB,MAAM;AAAA,MACtC;AAEA,UAAI,UAAU,SAAS,GAAG;AACxB,cAAM,cAAc;AAAA,UAClB,GAAG,OAAO,YAAY;AAAA,YAAI,CAAC,MACzB,KAAK;AAAA,cACH,WACI,KAAK,0BAA0B,KAAK,SAAS;AAAA,gBAC3C,MAAM,oBAAK;AAAA,gBACX,aAAa,CAAC,CAAC;AAAA,cACjB,CAAC,EAAE,YAAY,CAAC,IAChB;AAAA,YACN;AAAA,UACF;AAAA,UACA,GAAG,UAAU,IAAI,CAAC,SAAS,MAAM,kBAAkB;AAAA,QACrD,EAAE,KAAK;AAEP,eAAO,YAAY,oBAAK,4BAA4B;AAAA,MACtD;AACA,UAAI,UAAU;AACZ,iBAAS,KAAK,qCAAqC,MAAM;AAAA,MAC3D;AAEA,aAAO,KAAK,UAAU,MAAM;AAAA,IAC9B,WAAW,KAAK,OAAO,iBAAiB,0CAAa,QAAQ;AAC3D,aAAO,MAAM,MAAM;AAAA,IACrB;AAEA,UAAM,YAAY,KAAK,aAAa,KAAK,OAAO,aAAa,aAAa;AAE1E,YAAQ,UAAU,YAAY,SAAS,MAAM,MAAM;AAAA,EACrD;AAAA,EAEQ,qCAAqC,UAAwB;AACnE,WAAO,iCACF,WADE;AAAA,MAEL,aAAa,SAAS,YAAY;AAAA,QAChC,CAAC,MACC,KAAK,0BAA0B,KAAK,SAAS;AAAA,UAC3C,MAAM,oBAAK;AAAA,UACX,aAAa,CAAC,CAAC;AAAA,QACjB,CAAC,EAAE,YAAY,CAAC;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAAA,EACU,yBACR,YACA,gBACA,MACA;AACA,QACE,KAAK,OAAO,iBAAiB,0CAAa,gBAC1C,KAAK,OAAO,iBAAiB,0CAAa,+BAC1C,KAAK,OAAO,iBAAiB,0CAAa,YAC1C;AACA,aAAO,+BAA+B,eAAe;AAAA,IACvD;AAEA,WAAO,MAAM,yBAAyB,YAAY,gBAAgB,IAAI;AAAA,EACxE;AAAA,EAEQ,0BACN,QACA,UACA;AACA,QAAI,gBAAgB;AACpB,QACE,KAAK,OAAO,uCAAuC,QACnD,KAAK,OAAO,uCAAuC,QACnD;AACA,0BAAgB;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAEA,QACE,KAAK,OAAO,uCAAuC,QACnD,KAAK,OAAO,uCAAuC,QACnD;AACA,0BAAgB;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;",
4
+ "sourcesContent": ["/*\n * Taken from https://github.com/dotansimha/graphql-code-generator/blob/4fee8c8c523b30163e913438b85a064c58e39087/packages/plugins/typescript/typed-document-node/src/visitor.ts\n * MIT license https://github.com/dotansimha/graphql-code-generator/blob/4fee8c8c523b30163e913438b85a064c58e39087/LICENSE\n */\n\nimport autoBind from \"auto-bind\";\nimport { Types } from \"@graphql-codegen/plugin-helpers\";\nimport {\n LoadedFragment,\n ClientSideBaseVisitor,\n ClientSideBasePluginConfig,\n DocumentMode,\n RawClientSideBasePluginConfig,\n} from \"@graphql-codegen/visitor-plugin-common\";\nimport {\n GraphQLSchema,\n FragmentDefinitionNode,\n DocumentNode,\n Kind,\n OperationDefinitionNode,\n parse,\n} from \"graphql\";\nimport { addMinimalViableSchemaToRequestDocument } from \"@graphitation/supermassive\";\nimport { optimizeDocumentNode } from \"@graphql-tools/optimize\";\nimport gqlTag from \"graphql-tag\";\nimport { print } from \"./utils/print\";\n\nexport type SupermassiveAstType = \"SupermassiveV3\" | \"Lazy\" | \"Standard\";\nexport type RuntimeParseImport = { moduleName: string; propName: string };\n\ntype RawClientSidePluginConfig = RawClientSideBasePluginConfig & {\n runtimeParseImport?: RuntimeParseImport;\n astType?: SupermassiveAstType;\n};\ntype ClientSidePluginConfig = ClientSideBasePluginConfig & {\n astType?: SupermassiveAstType;\n};\n\nexport class TypeScriptDocumentNodesVisitor extends ClientSideBaseVisitor<\n RawClientSidePluginConfig,\n ClientSidePluginConfig\n> {\n constructor(\n schema: GraphQLSchema,\n fragments: LoadedFragment[],\n rawConfig: RawClientSidePluginConfig,\n documents: Types.DocumentFile[],\n ) {\n super(\n schema,\n fragments,\n {\n documentMode: DocumentMode.documentNodeImportFragments,\n documentNodeImport:\n \"@graphql-typed-document-node/core#TypedDocumentNode\",\n ...rawConfig,\n },\n {\n astType: rawConfig.astType ?? \"SupermassiveV3\",\n },\n documents,\n );\n\n autoBind(this);\n\n // We need to make sure it's there because in this mode, the base plugin doesn't add the import\n if (this.config.documentMode === DocumentMode.graphQLTag) {\n const documentNodeImport = this._parseImport(\n this.config.documentNodeImport || \"graphql#DocumentNode\",\n );\n const tagImport = this._generateImport(\n documentNodeImport,\n \"DocumentNode\",\n true,\n ) as string;\n this._imports.add(tagImport);\n }\n\n if (this.config.astType === \"Lazy\") {\n const { runtimeParseImport } = rawConfig;\n if (!validateRuntimeParseImport(runtimeParseImport)) {\n throw new Error(\n `graphql-codegen-supermassive-typed-document-node-plugin: astType=\"Lazy\" requires valid runtimeParseImport in the config`,\n );\n }\n\n const tagImport = this._generateImport(\n runtimeParseImport,\n \"runtimeParse\",\n false,\n ) as string;\n this._imports.add(tagImport);\n }\n }\n\n protected getDocumentNodeSignature(\n resultType: string,\n variablesTypes: string,\n node: FragmentDefinitionNode | OperationDefinitionNode,\n ) {\n if (\n this.config.documentMode === DocumentMode.documentNode ||\n this.config.documentMode === DocumentMode.documentNodeImportFragments ||\n this.config.documentMode === DocumentMode.graphQLTag\n ) {\n return ` as unknown as DocumentNode<${resultType}, ${variablesTypes}>`;\n }\n\n return super.getDocumentNodeSignature(resultType, variablesTypes, node);\n }\n\n protected _gql(\n node: FragmentDefinitionNode | OperationDefinitionNode,\n ): string {\n switch (this.config.astType) {\n case \"Lazy\":\n return this._renderLazy(node);\n\n case \"SupermassiveV3\":\n return this._render(node, true);\n\n case \"Standard\":\n default:\n return this._render(node, false);\n }\n }\n\n private _renderLazy(\n node: FragmentDefinitionNode | OperationDefinitionNode,\n ): string {\n const fragments = this._transformFragments(node);\n const doc = this._prepareDocument(`\n ${print(node)}\n ${this._includeFragments(fragments)}\n `);\n\n const gqlObj = parse(doc, { noLocation: true });\n return `\n{\n kind: \"Document\",\n get definitions() {\n const document = runtimeParse('${print(gqlObj)}');\n delete this.definitions;\n return (this.definitions = ${\n !fragments.length\n ? \"document.definitions\"\n : `[${[\n \"...document.definitions\",\n ...fragments.map((name) => `...${name}.definitions`),\n ].join(\",\")}]`\n });\n }\n}`;\n }\n\n private _render(\n node: FragmentDefinitionNode | OperationDefinitionNode,\n annotate = false,\n ): string {\n const supermassiveNode = this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [node],\n }).definitions[0] as FragmentDefinitionNode | OperationDefinitionNode;\n\n const fragments = this._transformFragments(supermassiveNode);\n\n const doc = this._prepareDocument(`\n ${print(supermassiveNode)}\n ${this._includeFragments(fragments)}`);\n\n if (this.config.documentMode === DocumentMode.documentNode) {\n let gqlObj = gqlTag([doc]);\n\n if (this.config.optimizeDocumentNode) {\n gqlObj = optimizeDocumentNode(gqlObj);\n }\n if (annotate) {\n gqlObj = this._transformDocumentNodeToSupermassive(gqlObj);\n }\n\n return JSON.stringify(gqlObj);\n } else if (\n this.config.documentMode === DocumentMode.documentNodeImportFragments\n ) {\n let gqlObj = gqlTag([doc]);\n\n if (this.config.optimizeDocumentNode) {\n gqlObj = optimizeDocumentNode(gqlObj);\n }\n\n if (fragments.length > 0) {\n const definitions = [\n ...gqlObj.definitions.map((t) =>\n JSON.stringify(\n annotate\n ? this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [t],\n }).definitions[0]\n : t,\n ),\n ),\n ...fragments.map((name) => `...${name}.definitions`),\n ].join();\n\n return `{\"kind\":\"${Kind.DOCUMENT}\",\"definitions\":[${definitions}]}`;\n }\n if (annotate) {\n gqlObj = this._transformDocumentNodeToSupermassive(gqlObj);\n }\n\n return JSON.stringify(gqlObj);\n } else if (this.config.documentMode === DocumentMode.string) {\n return \"`\" + doc + \"`\";\n }\n\n const gqlImport = this._parseImport(this.config.gqlImport || \"graphql-tag\");\n\n return (gqlImport.propName || \"gql\") + \"`\" + doc + \"`\";\n }\n\n private _transformDocumentNodeToSupermassive(document: DocumentNode) {\n return {\n ...document,\n definitions: document.definitions.map(\n (t) =>\n this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [t],\n }).definitions[0],\n ),\n } as DocumentNode;\n }\n\n private addTypesToRequestDocument(\n schema: GraphQLSchema,\n document: DocumentNode,\n ) {\n let finalDocument = document;\n if (this.config.astType === \"SupermassiveV3\") {\n finalDocument = addMinimalViableSchemaToRequestDocument(\n schema,\n finalDocument,\n {\n addTo: \"PROPERTY\",\n },\n );\n }\n return finalDocument;\n }\n}\n\nfunction validateRuntimeParseImport(\n input: unknown,\n): input is RuntimeParseImport {\n const parseImport = input as RuntimeParseImport;\n return (\n typeof parseImport === \"object\" &&\n !!parseImport.moduleName &&\n !!parseImport.propName\n );\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["autoBind", "gqlTag"]
7
7
  }
package/lib/visitor.mjs CHANGED
@@ -25,17 +25,16 @@ import {
25
25
  DocumentMode
26
26
  } from "@graphql-codegen/visitor-plugin-common";
27
27
  import {
28
- print,
29
- Kind
28
+ Kind,
29
+ parse
30
30
  } from "graphql";
31
- import {
32
- addSupermassiveLegacyTypesToRequestDocument,
33
- addMinimalViableSchemaToRequestDocument
34
- } from "@graphitation/supermassive";
31
+ import { addMinimalViableSchemaToRequestDocument } from "@graphitation/supermassive";
35
32
  import { optimizeDocumentNode } from "@graphql-tools/optimize";
36
33
  import gqlTag from "graphql-tag";
34
+ import { print } from "./utils/print.mjs";
37
35
  var TypeScriptDocumentNodesVisitor = class extends ClientSideBaseVisitor {
38
36
  constructor(schema, fragments, rawConfig, documents) {
37
+ var _a;
39
38
  super(
40
39
  schema,
41
40
  fragments,
@@ -44,8 +43,7 @@ var TypeScriptDocumentNodesVisitor = class extends ClientSideBaseVisitor {
44
43
  documentNodeImport: "@graphql-typed-document-node/core#TypedDocumentNode"
45
44
  }, rawConfig),
46
45
  {
47
- supermassiveDocumentNodeConditional: rawConfig.supermassiveDocumentNodeConditional,
48
- supermassiveDocumentNodeOutputType: rawConfig.supermassiveDocumentNodeOutputType || "V3"
46
+ astType: (_a = rawConfig.astType) != null ? _a : "SupermassiveV3"
49
47
  },
50
48
  documents
51
49
  );
@@ -61,19 +59,57 @@ var TypeScriptDocumentNodesVisitor = class extends ClientSideBaseVisitor {
61
59
  );
62
60
  this._imports.add(tagImport);
63
61
  }
62
+ if (this.config.astType === "Lazy") {
63
+ const { runtimeParseImport } = rawConfig;
64
+ if (!validateRuntimeParseImport(runtimeParseImport)) {
65
+ throw new Error(
66
+ `graphql-codegen-supermassive-typed-document-node-plugin: astType="Lazy" requires valid runtimeParseImport in the config`
67
+ );
68
+ }
69
+ const tagImport = this._generateImport(
70
+ runtimeParseImport,
71
+ "runtimeParse",
72
+ false
73
+ );
74
+ this._imports.add(tagImport);
75
+ }
76
+ }
77
+ getDocumentNodeSignature(resultType, variablesTypes, node) {
78
+ if (this.config.documentMode === DocumentMode.documentNode || this.config.documentMode === DocumentMode.documentNodeImportFragments || this.config.documentMode === DocumentMode.graphQLTag) {
79
+ return ` as unknown as DocumentNode<${resultType}, ${variablesTypes}>`;
80
+ }
81
+ return super.getDocumentNodeSignature(resultType, variablesTypes, node);
64
82
  }
65
83
  _gql(node) {
66
- if (this.config.supermassiveDocumentNodeConditional) {
67
- const supermassive = this._render(node, true);
68
- const standard = this._render(node, false);
69
- return `(${this.config.supermassiveDocumentNodeConditional}
70
- ? ${supermassive}
71
- : ${standard})`;
84
+ switch (this.config.astType) {
85
+ case "Lazy":
86
+ return this._renderLazy(node);
87
+ case "SupermassiveV3":
88
+ return this._render(node, true);
89
+ case "Standard":
90
+ default:
91
+ return this._render(node, false);
72
92
  }
73
- return this._render(
74
- node,
75
- this.config.supermassiveDocumentNodeOutputType !== "NONE"
76
- );
93
+ }
94
+ _renderLazy(node) {
95
+ const fragments = this._transformFragments(node);
96
+ const doc = this._prepareDocument(`
97
+ ${print(node)}
98
+ ${this._includeFragments(fragments)}
99
+ `);
100
+ const gqlObj = parse(doc, { noLocation: true });
101
+ return `
102
+ {
103
+ kind: "Document",
104
+ get definitions() {
105
+ const document = runtimeParse('${print(gqlObj)}');
106
+ delete this.definitions;
107
+ return (this.definitions = ${!fragments.length ? "document.definitions" : `[${[
108
+ "...document.definitions",
109
+ ...fragments.map((name) => `...${name}.definitions`)
110
+ ].join(",")}]`});
111
+ }
112
+ }`;
77
113
  }
78
114
  _render(node, annotate = false) {
79
115
  const supermassiveNode = this.addTypesToRequestDocument(this._schema, {
@@ -82,7 +118,7 @@ var TypeScriptDocumentNodesVisitor = class extends ClientSideBaseVisitor {
82
118
  }).definitions[0];
83
119
  const fragments = this._transformFragments(supermassiveNode);
84
120
  const doc = this._prepareDocument(`
85
- ${print(supermassiveNode).split("\\").join("\\\\")}
121
+ ${print(supermassiveNode)}
86
122
  ${this._includeFragments(fragments)}`);
87
123
  if (this.config.documentMode === DocumentMode.documentNode) {
88
124
  let gqlObj = gqlTag([doc]);
@@ -132,15 +168,9 @@ var TypeScriptDocumentNodesVisitor = class extends ClientSideBaseVisitor {
132
168
  )
133
169
  });
134
170
  }
135
- getDocumentNodeSignature(resultType, variablesTypes, node) {
136
- if (this.config.documentMode === DocumentMode.documentNode || this.config.documentMode === DocumentMode.documentNodeImportFragments || this.config.documentMode === DocumentMode.graphQLTag) {
137
- return ` as unknown as DocumentNode<${resultType}, ${variablesTypes}>`;
138
- }
139
- return super.getDocumentNodeSignature(resultType, variablesTypes, node);
140
- }
141
171
  addTypesToRequestDocument(schema, document) {
142
172
  let finalDocument = document;
143
- if (this.config.supermassiveDocumentNodeOutputType === "V3" || this.config.supermassiveDocumentNodeOutputType === "BOTH") {
173
+ if (this.config.astType === "SupermassiveV3") {
144
174
  finalDocument = addMinimalViableSchemaToRequestDocument(
145
175
  schema,
146
176
  finalDocument,
@@ -149,15 +179,13 @@ var TypeScriptDocumentNodesVisitor = class extends ClientSideBaseVisitor {
149
179
  }
150
180
  );
151
181
  }
152
- if (this.config.supermassiveDocumentNodeOutputType === "V2" || this.config.supermassiveDocumentNodeOutputType === "BOTH") {
153
- finalDocument = addSupermassiveLegacyTypesToRequestDocument(
154
- schema,
155
- finalDocument
156
- );
157
- }
158
182
  return finalDocument;
159
183
  }
160
184
  };
185
+ function validateRuntimeParseImport(input) {
186
+ const parseImport = input;
187
+ return typeof parseImport === "object" && !!parseImport.moduleName && !!parseImport.propName;
188
+ }
161
189
  export {
162
190
  TypeScriptDocumentNodesVisitor
163
191
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/visitor.ts"],
4
- "sourcesContent": ["/*\n * Taken from https://github.com/dotansimha/graphql-code-generator/blob/4fee8c8c523b30163e913438b85a064c58e39087/packages/plugins/typescript/typed-document-node/src/visitor.ts\n * MIT license https://github.com/dotansimha/graphql-code-generator/blob/4fee8c8c523b30163e913438b85a064c58e39087/LICENSE\n */\n\nimport autoBind from \"auto-bind\";\nimport { Types } from \"@graphql-codegen/plugin-helpers\";\nimport {\n LoadedFragment,\n ClientSideBaseVisitor,\n ClientSideBasePluginConfig,\n DocumentMode,\n RawClientSideBasePluginConfig,\n} from \"@graphql-codegen/visitor-plugin-common\";\nimport {\n GraphQLSchema,\n FragmentDefinitionNode,\n DocumentNode,\n print,\n Kind,\n OperationDefinitionNode,\n} from \"graphql\";\nimport {\n addSupermassiveLegacyTypesToRequestDocument,\n addMinimalViableSchemaToRequestDocument,\n} from \"@graphitation/supermassive\";\nimport { optimizeDocumentNode } from \"@graphql-tools/optimize\";\nimport gqlTag from \"graphql-tag\";\n\nexport type SupermassiveOutputType = \"V3\" | \"V2\" | \"BOTH\" | \"NONE\";\n\ntype RawClientSidePluginConfig = RawClientSideBasePluginConfig & {\n supermassiveDocumentNodeConditional?: string;\n supermassiveDocumentNodeOutputType?: SupermassiveOutputType;\n};\ntype ClientSidePluginConfig = ClientSideBasePluginConfig & {\n supermassiveDocumentNodeConditional?: string;\n supermassiveDocumentNodeOutputType?: SupermassiveOutputType;\n};\n\nexport class TypeScriptDocumentNodesVisitor extends ClientSideBaseVisitor<\n RawClientSidePluginConfig,\n ClientSidePluginConfig\n> {\n constructor(\n schema: GraphQLSchema,\n fragments: LoadedFragment[],\n rawConfig: RawClientSidePluginConfig,\n documents: Types.DocumentFile[],\n ) {\n super(\n schema,\n fragments,\n {\n documentMode: DocumentMode.documentNodeImportFragments,\n documentNodeImport:\n \"@graphql-typed-document-node/core#TypedDocumentNode\",\n ...rawConfig,\n },\n {\n supermassiveDocumentNodeConditional:\n rawConfig.supermassiveDocumentNodeConditional,\n supermassiveDocumentNodeOutputType:\n rawConfig.supermassiveDocumentNodeOutputType || \"V3\",\n },\n documents,\n );\n\n autoBind(this);\n\n // We need to make sure it's there because in this mode, the base plugin doesn't add the import\n if (this.config.documentMode === DocumentMode.graphQLTag) {\n const documentNodeImport = this._parseImport(\n this.config.documentNodeImport || \"graphql#DocumentNode\",\n );\n const tagImport = this._generateImport(\n documentNodeImport,\n \"DocumentNode\",\n true,\n ) as string;\n this._imports.add(tagImport);\n }\n }\n\n protected _gql(\n node: FragmentDefinitionNode | OperationDefinitionNode,\n ): string {\n if (this.config.supermassiveDocumentNodeConditional) {\n const supermassive = this._render(node, true);\n const standard = this._render(node, false);\n return `(${this.config.supermassiveDocumentNodeConditional}\\n? ${supermassive}\\n: ${standard})`;\n }\n return this._render(\n node,\n this.config.supermassiveDocumentNodeOutputType !== \"NONE\",\n );\n }\n\n protected _render(\n node: FragmentDefinitionNode | OperationDefinitionNode,\n annotate = false,\n ): string {\n const supermassiveNode = this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [node],\n }).definitions[0] as FragmentDefinitionNode | OperationDefinitionNode;\n\n const fragments = this._transformFragments(supermassiveNode);\n\n const doc = this._prepareDocument(`\n ${\n print(supermassiveNode)\n .split(\"\\\\\")\n .join(\"\\\\\\\\\") /* Re-escape escaped values in GraphQL syntax */\n }\n ${this._includeFragments(fragments)}`);\n\n if (this.config.documentMode === DocumentMode.documentNode) {\n let gqlObj = gqlTag([doc]);\n\n if (this.config.optimizeDocumentNode) {\n gqlObj = optimizeDocumentNode(gqlObj);\n }\n if (annotate) {\n gqlObj = this._transformDocumentNodeToSupermassive(gqlObj);\n }\n\n return JSON.stringify(gqlObj);\n } else if (\n this.config.documentMode === DocumentMode.documentNodeImportFragments\n ) {\n let gqlObj = gqlTag([doc]);\n\n if (this.config.optimizeDocumentNode) {\n gqlObj = optimizeDocumentNode(gqlObj);\n }\n\n if (fragments.length > 0) {\n const definitions = [\n ...gqlObj.definitions.map((t) =>\n JSON.stringify(\n annotate\n ? this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [t],\n }).definitions[0]\n : t,\n ),\n ),\n ...fragments.map((name) => `...${name}.definitions`),\n ].join();\n\n return `{\"kind\":\"${Kind.DOCUMENT}\",\"definitions\":[${definitions}]}`;\n }\n if (annotate) {\n gqlObj = this._transformDocumentNodeToSupermassive(gqlObj);\n }\n\n return JSON.stringify(gqlObj);\n } else if (this.config.documentMode === DocumentMode.string) {\n return \"`\" + doc + \"`\";\n }\n\n const gqlImport = this._parseImport(this.config.gqlImport || \"graphql-tag\");\n\n return (gqlImport.propName || \"gql\") + \"`\" + doc + \"`\";\n }\n\n private _transformDocumentNodeToSupermassive(document: DocumentNode) {\n return {\n ...document,\n definitions: document.definitions.map(\n (t) =>\n this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [t],\n }).definitions[0],\n ),\n } as DocumentNode;\n }\n protected getDocumentNodeSignature(\n resultType: string,\n variablesTypes: string,\n node: FragmentDefinitionNode | OperationDefinitionNode,\n ) {\n if (\n this.config.documentMode === DocumentMode.documentNode ||\n this.config.documentMode === DocumentMode.documentNodeImportFragments ||\n this.config.documentMode === DocumentMode.graphQLTag\n ) {\n return ` as unknown as DocumentNode<${resultType}, ${variablesTypes}>`;\n }\n\n return super.getDocumentNodeSignature(resultType, variablesTypes, node);\n }\n\n private addTypesToRequestDocument(\n schema: GraphQLSchema,\n document: DocumentNode,\n ) {\n let finalDocument = document;\n if (\n this.config.supermassiveDocumentNodeOutputType === \"V3\" ||\n this.config.supermassiveDocumentNodeOutputType === \"BOTH\"\n ) {\n finalDocument = addMinimalViableSchemaToRequestDocument(\n schema,\n finalDocument,\n {\n addTo: \"PROPERTY\",\n },\n );\n }\n\n if (\n this.config.supermassiveDocumentNodeOutputType === \"V2\" ||\n this.config.supermassiveDocumentNodeOutputType === \"BOTH\"\n ) {\n finalDocument = addSupermassiveLegacyTypesToRequestDocument(\n schema,\n finalDocument,\n ) as unknown as DocumentNode;\n }\n return finalDocument;\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/*\n * Taken from https://github.com/dotansimha/graphql-code-generator/blob/4fee8c8c523b30163e913438b85a064c58e39087/packages/plugins/typescript/typed-document-node/src/visitor.ts\n * MIT license https://github.com/dotansimha/graphql-code-generator/blob/4fee8c8c523b30163e913438b85a064c58e39087/LICENSE\n */\n\nimport autoBind from \"auto-bind\";\nimport { Types } from \"@graphql-codegen/plugin-helpers\";\nimport {\n LoadedFragment,\n ClientSideBaseVisitor,\n ClientSideBasePluginConfig,\n DocumentMode,\n RawClientSideBasePluginConfig,\n} from \"@graphql-codegen/visitor-plugin-common\";\nimport {\n GraphQLSchema,\n FragmentDefinitionNode,\n DocumentNode,\n Kind,\n OperationDefinitionNode,\n parse,\n} from \"graphql\";\nimport { addMinimalViableSchemaToRequestDocument } from \"@graphitation/supermassive\";\nimport { optimizeDocumentNode } from \"@graphql-tools/optimize\";\nimport gqlTag from \"graphql-tag\";\nimport { print } from \"./utils/print\";\n\nexport type SupermassiveAstType = \"SupermassiveV3\" | \"Lazy\" | \"Standard\";\nexport type RuntimeParseImport = { moduleName: string; propName: string };\n\ntype RawClientSidePluginConfig = RawClientSideBasePluginConfig & {\n runtimeParseImport?: RuntimeParseImport;\n astType?: SupermassiveAstType;\n};\ntype ClientSidePluginConfig = ClientSideBasePluginConfig & {\n astType?: SupermassiveAstType;\n};\n\nexport class TypeScriptDocumentNodesVisitor extends ClientSideBaseVisitor<\n RawClientSidePluginConfig,\n ClientSidePluginConfig\n> {\n constructor(\n schema: GraphQLSchema,\n fragments: LoadedFragment[],\n rawConfig: RawClientSidePluginConfig,\n documents: Types.DocumentFile[],\n ) {\n super(\n schema,\n fragments,\n {\n documentMode: DocumentMode.documentNodeImportFragments,\n documentNodeImport:\n \"@graphql-typed-document-node/core#TypedDocumentNode\",\n ...rawConfig,\n },\n {\n astType: rawConfig.astType ?? \"SupermassiveV3\",\n },\n documents,\n );\n\n autoBind(this);\n\n // We need to make sure it's there because in this mode, the base plugin doesn't add the import\n if (this.config.documentMode === DocumentMode.graphQLTag) {\n const documentNodeImport = this._parseImport(\n this.config.documentNodeImport || \"graphql#DocumentNode\",\n );\n const tagImport = this._generateImport(\n documentNodeImport,\n \"DocumentNode\",\n true,\n ) as string;\n this._imports.add(tagImport);\n }\n\n if (this.config.astType === \"Lazy\") {\n const { runtimeParseImport } = rawConfig;\n if (!validateRuntimeParseImport(runtimeParseImport)) {\n throw new Error(\n `graphql-codegen-supermassive-typed-document-node-plugin: astType=\"Lazy\" requires valid runtimeParseImport in the config`,\n );\n }\n\n const tagImport = this._generateImport(\n runtimeParseImport,\n \"runtimeParse\",\n false,\n ) as string;\n this._imports.add(tagImport);\n }\n }\n\n protected getDocumentNodeSignature(\n resultType: string,\n variablesTypes: string,\n node: FragmentDefinitionNode | OperationDefinitionNode,\n ) {\n if (\n this.config.documentMode === DocumentMode.documentNode ||\n this.config.documentMode === DocumentMode.documentNodeImportFragments ||\n this.config.documentMode === DocumentMode.graphQLTag\n ) {\n return ` as unknown as DocumentNode<${resultType}, ${variablesTypes}>`;\n }\n\n return super.getDocumentNodeSignature(resultType, variablesTypes, node);\n }\n\n protected _gql(\n node: FragmentDefinitionNode | OperationDefinitionNode,\n ): string {\n switch (this.config.astType) {\n case \"Lazy\":\n return this._renderLazy(node);\n\n case \"SupermassiveV3\":\n return this._render(node, true);\n\n case \"Standard\":\n default:\n return this._render(node, false);\n }\n }\n\n private _renderLazy(\n node: FragmentDefinitionNode | OperationDefinitionNode,\n ): string {\n const fragments = this._transformFragments(node);\n const doc = this._prepareDocument(`\n ${print(node)}\n ${this._includeFragments(fragments)}\n `);\n\n const gqlObj = parse(doc, { noLocation: true });\n return `\n{\n kind: \"Document\",\n get definitions() {\n const document = runtimeParse('${print(gqlObj)}');\n delete this.definitions;\n return (this.definitions = ${\n !fragments.length\n ? \"document.definitions\"\n : `[${[\n \"...document.definitions\",\n ...fragments.map((name) => `...${name}.definitions`),\n ].join(\",\")}]`\n });\n }\n}`;\n }\n\n private _render(\n node: FragmentDefinitionNode | OperationDefinitionNode,\n annotate = false,\n ): string {\n const supermassiveNode = this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [node],\n }).definitions[0] as FragmentDefinitionNode | OperationDefinitionNode;\n\n const fragments = this._transformFragments(supermassiveNode);\n\n const doc = this._prepareDocument(`\n ${print(supermassiveNode)}\n ${this._includeFragments(fragments)}`);\n\n if (this.config.documentMode === DocumentMode.documentNode) {\n let gqlObj = gqlTag([doc]);\n\n if (this.config.optimizeDocumentNode) {\n gqlObj = optimizeDocumentNode(gqlObj);\n }\n if (annotate) {\n gqlObj = this._transformDocumentNodeToSupermassive(gqlObj);\n }\n\n return JSON.stringify(gqlObj);\n } else if (\n this.config.documentMode === DocumentMode.documentNodeImportFragments\n ) {\n let gqlObj = gqlTag([doc]);\n\n if (this.config.optimizeDocumentNode) {\n gqlObj = optimizeDocumentNode(gqlObj);\n }\n\n if (fragments.length > 0) {\n const definitions = [\n ...gqlObj.definitions.map((t) =>\n JSON.stringify(\n annotate\n ? this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [t],\n }).definitions[0]\n : t,\n ),\n ),\n ...fragments.map((name) => `...${name}.definitions`),\n ].join();\n\n return `{\"kind\":\"${Kind.DOCUMENT}\",\"definitions\":[${definitions}]}`;\n }\n if (annotate) {\n gqlObj = this._transformDocumentNodeToSupermassive(gqlObj);\n }\n\n return JSON.stringify(gqlObj);\n } else if (this.config.documentMode === DocumentMode.string) {\n return \"`\" + doc + \"`\";\n }\n\n const gqlImport = this._parseImport(this.config.gqlImport || \"graphql-tag\");\n\n return (gqlImport.propName || \"gql\") + \"`\" + doc + \"`\";\n }\n\n private _transformDocumentNodeToSupermassive(document: DocumentNode) {\n return {\n ...document,\n definitions: document.definitions.map(\n (t) =>\n this.addTypesToRequestDocument(this._schema, {\n kind: Kind.DOCUMENT,\n definitions: [t],\n }).definitions[0],\n ),\n } as DocumentNode;\n }\n\n private addTypesToRequestDocument(\n schema: GraphQLSchema,\n document: DocumentNode,\n ) {\n let finalDocument = document;\n if (this.config.astType === \"SupermassiveV3\") {\n finalDocument = addMinimalViableSchemaToRequestDocument(\n schema,\n finalDocument,\n {\n addTo: \"PROPERTY\",\n },\n );\n }\n return finalDocument;\n }\n}\n\nfunction validateRuntimeParseImport(\n input: unknown,\n): input is RuntimeParseImport {\n const parseImport = input as RuntimeParseImport;\n return (\n typeof parseImport === \"object\" &&\n !!parseImport.moduleName &&\n !!parseImport.propName\n );\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@graphitation/graphql-codegen-supermassive-typed-document-node-plugin",
3
3
  "license": "MIT",
4
- "version": "0.7.2",
4
+ "version": "1.0.1",
5
5
  "main": "./lib/index",
6
6
  "repository": {
7
7
  "type": "git",
@@ -11,6 +11,7 @@
11
11
  "scripts": {
12
12
  "build": "monorepo-scripts build",
13
13
  "lint": "monorepo-scripts lint",
14
+ "test": "monorepo-scripts test",
14
15
  "types": "monorepo-scripts types",
15
16
  "just": "monorepo-scripts"
16
17
  },
@@ -28,7 +29,7 @@
28
29
  "@graphql-codegen/visitor-plugin-common": ">= ^1.17.0 < 2",
29
30
  "graphql-tag": ">= 2.11.0 < 3",
30
31
  "@graphql-tools/optimize": "^1.0.1",
31
- "@graphitation/supermassive": "^3.5.2"
32
+ "@graphitation/supermassive": "^3.5.3"
32
33
  },
33
34
  "sideEffects": false,
34
35
  "access": "public",