@graphql-codegen/gql-tag-operations
Advanced tools
Comparing version 1.0.1-alpha-b748dc9bd.0 to 1.1.0-alpha-f0a6b6e12.0
@@ -14,2 +14,3 @@ import { PluginFunction } from '@graphql-codegen/plugin-helpers'; | ||
sourcesWithOperations: Array<SourceWithOperations>; | ||
augmentedModuleName?: string; | ||
}>; |
52
index.js
@@ -13,20 +13,35 @@ 'use strict'; | ||
`; | ||
const plugin = (_, __, { sourcesWithOperations }) => { | ||
if (!sourcesWithOperations) { | ||
const plugin = (_, __, config) => { | ||
if (!config.sourcesWithOperations) { | ||
return ''; | ||
} | ||
if (config.augmentedModuleName == null) { | ||
return [ | ||
`import * as graphql from './graphql';\n`, | ||
`import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n`, | ||
`\n`, | ||
...getDocumentRegistryChunk(config.sourcesWithOperations), | ||
`\n`, | ||
...getGqlOverloadChunk(config.sourcesWithOperations, 'lookup'), | ||
`\n`, | ||
`export function gql(source: string): unknown;\n`, | ||
`export function gql(source: string) {\n`, | ||
` return (documents as any)[source] ?? {};\n`, | ||
`}\n`, | ||
documentTypePartial, | ||
].join(``); | ||
} | ||
return [ | ||
`import * as graphql from './graphql';\n`, | ||
`import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n`, | ||
`\n`, | ||
...getDocumentRegistryChunk(sourcesWithOperations), | ||
`\n`, | ||
...getGqlOverloadChunk(sourcesWithOperations), | ||
`\n`, | ||
`export function gql(source: string): unknown;\n`, | ||
`export function gql(source: string) {\n`, | ||
` return (documents as any)[source] ?? {};\n`, | ||
`}\n`, | ||
documentTypePartial, | ||
].join(``); | ||
`declare module "${config.augmentedModuleName}" {`, | ||
[ | ||
`import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n`, | ||
`\n`, | ||
...getGqlOverloadChunk(config.sourcesWithOperations, 'augmented'), | ||
`export function gql(source: string): unknown;\n`, | ||
documentTypePartial, | ||
] | ||
.map(line => (line === `\n` ? line : ` ${line}`)) | ||
.join(`\n`), | ||
`}`, | ||
].join(`\n`); | ||
}; | ||
@@ -44,3 +59,3 @@ function getDocumentRegistryChunk(sourcesWithOperations = []) { | ||
} | ||
function getGqlOverloadChunk(sourcesWithOperations) { | ||
function getGqlOverloadChunk(sourcesWithOperations, mode) { | ||
const lines = []; | ||
@@ -51,3 +66,6 @@ // We intentionally don't use a <T extends keyof typeof documents> generic, because TS | ||
const originalString = rest.source.rawSDL; | ||
lines.push(`export function gql(source: ${JSON.stringify(originalString)}): (typeof documents)[${JSON.stringify(originalString)}];\n`); | ||
const returnType = mode === 'lookup' | ||
? `(typeof documents)[${JSON.stringify(originalString)}]` | ||
: `typeof import('./graphql').${operations[0].initialName};`; | ||
lines.push(`export function gql(source: ${JSON.stringify(originalString)}): ${returnType};\n`); | ||
} | ||
@@ -54,0 +72,0 @@ return lines; |
{ | ||
"name": "@graphql-codegen/gql-tag-operations", | ||
"version": "1.0.1-alpha-b748dc9bd.0", | ||
"version": "1.1.0-alpha-f0a6b6e12.0", | ||
"description": "GraphQL Code Generator plugin for generating a typed gql tag function", | ||
@@ -10,4 +10,4 @@ "peerDependencies": { | ||
"dependencies": { | ||
"@graphql-codegen/plugin-helpers": "2.1.0-alpha-b748dc9bd.0", | ||
"@graphql-codegen/visitor-plugin-common": "2.0.1-alpha-b748dc9bd.0", | ||
"@graphql-codegen/plugin-helpers": "^2.0.0", | ||
"@graphql-codegen/visitor-plugin-common": "2.0.0", | ||
"@graphql-tools/utils": "^8.0.1", | ||
@@ -14,0 +14,0 @@ "auto-bind": "~4.0.0", |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6965
151
+ Added@graphql-codegen/plugin-helpers@2.7.2(transitive)
+ Added@graphql-codegen/visitor-plugin-common@2.0.0(transitive)
+ Addedcommon-tags@1.8.2(transitive)
+ Addedtslib@2.4.1(transitive)
- Removed@graphql-codegen/plugin-helpers@2.1.0-alpha-b748dc9bd.0(transitive)
- Removed@graphql-codegen/visitor-plugin-common@2.0.1-alpha-b748dc9bd.0(transitive)
- Removedcommon-tags@1.8.0(transitive)