dotansimha/graphql-code-generator-community

External document import handling mismatch between `typescript-vue-apollo` and `typescript-vue-urql`

Open

#137 opened on Jul 12, 2021

View on GitHub
 (0 comments) (1 reaction) (0 assignees)TypeScript (195 forks)github user discovery
help wanted

Repository metrics

Stars
 (136 stars)
PR merge metrics
 (PR metrics pending)

Description

Describe the bug While trying to share types between urql-vue and vue-apollo, there seems to be some mismatches in how data is being referenced.

The issue I'm seeing is when importing document types using

        documentMode: "external",
        importDocumentNodeExternallyFrom: "./graphql-documents"

typescript-vue-apollo will reference the document types in camelCase, while typescript-vue-urql on the other hand will use PascalCase. I can change the naming of the document file (which lets me satisfy either Vue or Urql), but I can't however find a way to override how it's being referenced from the other files.

Additionally, typescript-vue-urql will not reference the document types properly, as it does not add the required prefix (like vue-apollo does). I've tried setting documentVariablePrefix: "Operations.", but the generated code omits the trailing ., so it becomes OperationsUser instead of Operations.User.

(Also related: https://github.com/dotansimha/graphql-code-generator/issues/6303 )

To Reproduce See https://codesandbox.io/s/eloquent-pine-lqgjo?file=/graphql-urql.ts

Contributor guide