dotansimha / dotansimha/graphql-code-generator

typed-document-node doesn't import fragments with documentMode: "documentNodeImportFragments"

Open
#9,775 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
11.3k
Forks
1.4k
Avg merge
1d 1h
Merged PRs (30d)
23

Description

### Which packages are impacted by your issue?

@graphql-codegen/typed-document-node

### Describe the bug

When I use `typed-document-node` plugin and `documentMode` is `documentNodeImportFragments`, the generated document node doesn't import fragments.

### Your Example Website or App

https://github.com/alexeyr-ci/typed-document-node-import-fragments/tree/main

https://codesandbox.io/p/github/alexeyr-ci/typed-document-node-import-fragments/main

### Steps to Reproduce the Bug or Issue

1. Rerun `generate` task.
2. Open `types.ts`.

### Expected behavior

I expected the definition of `UserDocument` to include `...UserFragmentFragmentDoc.definitions`, but it doesn't.

For comparison, if you uncomment `typescript-react-apollo` in codegen config (and optionally comment out `typed-document-node`), you can see it does include `UserFragmentFragmentDoc`.

In our real use-case, the fragment is in a separate file, but the result is the same.

### Screenshots or Videos

_No response_

### Platform

- OS: Linux
- NodeJS: v16.17.0
- `graphql` version: 16.8.1
- "@graphql-codegen/add": "^5.0.0",
"@graphql-codegen/cli": "^4.0.1",
"@graphql-codegen/typed-document-node": "^5.0.1",
"@graphql-codegen/typescript": "^4.0.1",
"@graphql-codegen/typescript-operations": "^4.0.1",
"@graphql-codegen/typescript-react-apollo": "^4.1.0",
"graphql": "^16.2.0"

### Codegen Config File

import { CodegenConfig } from "@graphql-codegen/cli";

const config: CodegenConfig = {
schema: "schema.graphql",
documents: "document.graphql",
generates: {
"types.ts": {
plugins: [
"typescript",
"typescript-operations",
"typed-document-node",
// "typescript-react-apollo",
],
config: {
documentMode: "documentNodeImportFragments",
},
},
},
};

export default config;

### Additional context

I was hoping to use this document mode to reduce bundle size. However, I made a hacky way to check the result, and it seems to not work well in our use-case, so this isn't high priority for me.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.