From e173e113331cd279fb9dec51203d8c5a34915999 Mon Sep 17 00:00:00 2001 From: Yasuyuki Matsumoto <42740055+ya2s@users.noreply.github.com> Date: Sun, 22 Feb 2026 21:00:59 +0900 Subject: [PATCH 1/2] fix(cli): forward nested graphql-config loader options (#10590) * fix(cli): align graphql-config loader options with codegen config Ensure nested `config` values (e.g. inputValueDeprecation) are forwarded when loading schema/documents via GraphQL Config. Add a regression test covering nested config forwarding on the GraphQL Config path. Related #9659 Co-Authored-By: Codex * chore(changeset): add patch release for cli config forwarding fix Co-Authored-By: Codex * Fix changeset --------- Co-authored-by: Codex Co-authored-by: Eddy Nguyen Co-authored-by: Eddy Nguyen --- .changeset/tame-panthers-rule.md | 6 ++++ packages/graphql-codegen-cli/src/config.ts | 8 +++-- .../graphql-codegen-cli/tests/config.spec.ts | 35 ++++++++++++++++++- 3 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 .changeset/tame-panthers-rule.md diff --git a/.changeset/tame-panthers-rule.md b/.changeset/tame-panthers-rule.md new file mode 100644 index 00000000000..4407640db4d --- /dev/null +++ b/.changeset/tame-panthers-rule.md @@ -0,0 +1,6 @@ +--- +"@graphql-codegen/cli": patch +--- + +Fix GraphQL Config loading to forward nested `extensions.codegen.config` options +when loading schemas/documents, matching `codegen.ts` behavior. diff --git a/packages/graphql-codegen-cli/src/config.ts b/packages/graphql-codegen-cli/src/config.ts index 2ad8311458e..ca6c3df1b08 100644 --- a/packages/graphql-codegen-cli/src/config.ts +++ b/packages/graphql-codegen-cli/src/config.ts @@ -444,7 +444,9 @@ export class CodegenContext { if (this._graphqlConfig) { // TODO: SchemaWithLoader won't work here return addHashToSchema( - this._graphqlConfig.getProject(this._project).loadSchema(pointer, 'GraphQLSchema', config) + this._graphqlConfig + .getProject(this._project) + .loadSchema(pointer, 'GraphQLSchema', { ...config, ...config.config }) ); } return addHashToSchema(loadSchema(pointer, config)); @@ -454,7 +456,9 @@ export class CodegenContext { const config = this.getConfig(defaultDocumentsLoadOptions); if (this._graphqlConfig) { // TODO: pointer won't work here - return addHashToDocumentFiles(this._graphqlConfig.getProject(this._project).loadDocuments(pointer, config)); + return addHashToDocumentFiles( + this._graphqlConfig.getProject(this._project).loadDocuments(pointer, { ...config, ...config.config }) + ); } return addHashToDocumentFiles(loadDocuments(pointer, config)); diff --git a/packages/graphql-codegen-cli/tests/config.spec.ts b/packages/graphql-codegen-cli/tests/config.spec.ts index 6bd69d85588..ddd73f07b53 100644 --- a/packages/graphql-codegen-cli/tests/config.spec.ts +++ b/packages/graphql-codegen-cli/tests/config.spec.ts @@ -1,4 +1,5 @@ -import { createContext, ensureContext } from '../src/index.js'; +import { buildSchema } from 'graphql'; +import { createContext, ensureContext, CodegenContext } from '../src/index.js'; describe('Codegen config - Context', () => { it('loads and merge multiple schemas when using GraphQL config', async () => { @@ -86,4 +87,36 @@ describe('Codegen config - Context', () => { expect(typeMap['DateTime']).toBeDefined(); expect(typeMap['User']).toBeDefined(); }); + + it('passes nested config values to graphql-config schema loader', async () => { + const loadSchemaSpy = vi.fn().mockResolvedValue(buildSchema('type Query { _: Boolean }')); + const project = { + extension: vi.fn().mockReturnValue({ + generates: {}, + config: { + inputValueDeprecation: true, + }, + }), + schema: ['http://example.com/graphql'], + documents: [], + loadSchema: loadSchemaSpy, + loadDocuments: vi.fn(), + }; + const graphqlConfig = { + filepath: '/tmp/graphql.config.ts', + dirpath: '/tmp', + getProject: vi.fn().mockReturnValue(project), + } as any; + + const context = new CodegenContext({ graphqlConfig }); + await context.loadSchema(['http://example.com/graphql']); + + expect(loadSchemaSpy).toHaveBeenCalledWith( + ['http://example.com/graphql'], + 'GraphQLSchema', + expect.objectContaining({ + inputValueDeprecation: true, + }) + ); + }); }); From 8ae0fdd31dbe100ba2b4b6b19a4f392b21fbe4c5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 22 Feb 2026 23:03:55 +1100 Subject: [PATCH 2/2] chore(release): update monorepo packages versions (#10600) Co-authored-by: github-actions[bot] --- .changeset/tame-panthers-rule.md | 6 ------ examples/persisted-documents-string-mode/package.json | 2 +- examples/persisted-documents/package.json | 2 +- examples/react/apollo-client-defer/package.json | 2 +- examples/react/apollo-client-swc-plugin/package.json | 2 +- examples/react/apollo-client/package.json | 2 +- examples/react/http-executor/package.json | 2 +- examples/react/nextjs-swr/package.json | 2 +- examples/react/tanstack-react-query/package.json | 2 +- examples/react/urql/package.json | 2 +- examples/typescript-esm/package.json | 2 +- examples/typescript-graphql-request/package.json | 2 +- examples/typescript-resolvers/package.json | 2 +- examples/vite/vite-react-cts/package.json | 2 +- examples/vite/vite-react-mts/package.json | 2 +- examples/vite/vite-react-ts/package.json | 2 +- examples/vue/apollo-composable/package.json | 2 +- examples/vue/urql/package.json | 2 +- examples/vue/villus/package.json | 2 +- examples/yoga-tests/package.json | 2 +- packages/graphql-codegen-cli/CHANGELOG.md | 7 +++++++ packages/graphql-codegen-cli/package.json | 2 +- website/package.json | 2 +- 23 files changed, 28 insertions(+), 27 deletions(-) delete mode 100644 .changeset/tame-panthers-rule.md diff --git a/.changeset/tame-panthers-rule.md b/.changeset/tame-panthers-rule.md deleted file mode 100644 index 4407640db4d..00000000000 --- a/.changeset/tame-panthers-rule.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@graphql-codegen/cli": patch ---- - -Fix GraphQL Config loading to forward nested `extensions.codegen.config` options -when loading schemas/documents, matching `codegen.ts` behavior. diff --git a/examples/persisted-documents-string-mode/package.json b/examples/persisted-documents-string-mode/package.json index e637d8bf091..38d77816f86 100644 --- a/examples/persisted-documents-string-mode/package.json +++ b/examples/persisted-documents-string-mode/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@graphql-typed-document-node/core": "3.2.0", - "@graphql-codegen/cli": "6.1.1", + "@graphql-codegen/cli": "6.1.2", "@babel/core": "7.25.2", "@babel/preset-env": "7.25.3", "@babel/preset-typescript": "7.28.5" diff --git a/examples/persisted-documents/package.json b/examples/persisted-documents/package.json index 86391b57ad7..613af328754 100644 --- a/examples/persisted-documents/package.json +++ b/examples/persisted-documents/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@graphql-typed-document-node/core": "3.2.0", - "@graphql-codegen/cli": "6.1.1", + "@graphql-codegen/cli": "6.1.2", "@babel/core": "7.25.2", "@babel/preset-env": "7.25.3", "@babel/preset-typescript": "7.28.5" diff --git a/examples/react/apollo-client-defer/package.json b/examples/react/apollo-client-defer/package.json index afcdf4df676..3705e758cc6 100644 --- a/examples/react/apollo-client-defer/package.json +++ b/examples/react/apollo-client-defer/package.json @@ -11,7 +11,7 @@ "graphql-yoga": "5.7.0" }, "devDependencies": { - "@graphql-codegen/cli": "^6.1.1", + "@graphql-codegen/cli": "^6.1.2", "@types/node": "^22.0.0", "@types/react": "^18.0.15", "@types/react-dom": "^18.0.10", diff --git a/examples/react/apollo-client-swc-plugin/package.json b/examples/react/apollo-client-swc-plugin/package.json index dd29b8eeb62..d3ee73ab447 100644 --- a/examples/react/apollo-client-swc-plugin/package.json +++ b/examples/react/apollo-client-swc-plugin/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "@graphql-codegen/client-preset-swc-plugin": "0.2.0", - "@graphql-codegen/cli": "^6.1.1", + "@graphql-codegen/cli": "^6.1.2", "@vitejs/plugin-react-swc": "^3.3.0", "@types/react": "18.3.3", "@types/react-dom": "18.3.0", diff --git a/examples/react/apollo-client/package.json b/examples/react/apollo-client/package.json index 72d4d1ac49c..bb1731591ac 100644 --- a/examples/react/apollo-client/package.json +++ b/examples/react/apollo-client/package.json @@ -9,7 +9,7 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@graphql-codegen/cli": "^6.1.1", + "@graphql-codegen/cli": "^6.1.2", "@vitejs/plugin-react": "^4.0.0", "@types/node": "^22.0.0", "@types/react": "^18.0.15", diff --git a/examples/react/http-executor/package.json b/examples/react/http-executor/package.json index d1be640444c..b0251533765 100644 --- a/examples/react/http-executor/package.json +++ b/examples/react/http-executor/package.json @@ -8,7 +8,7 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@graphql-codegen/cli": "^6.1.1", + "@graphql-codegen/cli": "^6.1.2", "@vitejs/plugin-react": "^4.0.0", "@types/node": "^22.0.0", "@types/react": "^18.0.17", diff --git a/examples/react/nextjs-swr/package.json b/examples/react/nextjs-swr/package.json index f177d442bea..43e70c0e7c4 100644 --- a/examples/react/nextjs-swr/package.json +++ b/examples/react/nextjs-swr/package.json @@ -19,7 +19,7 @@ "swr": "^2.0.0" }, "devDependencies": { - "@graphql-codegen/cli": "^6.1.1", + "@graphql-codegen/cli": "^6.1.2", "@graphql-codegen/schema-ast": "5.0.0", "@graphql-codegen/client-preset-swc-plugin": "0.2.0", "@types/node": "^22.0.0", diff --git a/examples/react/tanstack-react-query/package.json b/examples/react/tanstack-react-query/package.json index 0230263873b..7ee3cabb7e9 100644 --- a/examples/react/tanstack-react-query/package.json +++ b/examples/react/tanstack-react-query/package.json @@ -8,7 +8,7 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@graphql-codegen/cli": "^6.1.1", + "@graphql-codegen/cli": "^6.1.2", "@vitejs/plugin-react": "^4.0.0", "@types/node": "^22.0.0", "@types/react": "^18.0.17", diff --git a/examples/react/urql/package.json b/examples/react/urql/package.json index 1359088bc32..7750fe0de63 100644 --- a/examples/react/urql/package.json +++ b/examples/react/urql/package.json @@ -10,7 +10,7 @@ "devDependencies": { "@types/react": "^18.0.17", "@types/react-dom": "^18.0.10", - "@graphql-codegen/cli": "^6.1.1", + "@graphql-codegen/cli": "^6.1.2", "@vitejs/plugin-react": "^4.0.0", "typescript": "5.5.4", "serve": "14.2.3", diff --git a/examples/typescript-esm/package.json b/examples/typescript-esm/package.json index b5583e697d8..d0814df06c5 100644 --- a/examples/typescript-esm/package.json +++ b/examples/typescript-esm/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "private": true, "devDependencies": { - "@graphql-codegen/cli": "6.1.1" + "@graphql-codegen/cli": "6.1.2" }, "dependencies": { "@graphql-typed-document-node/core": "3.2.0", diff --git a/examples/typescript-graphql-request/package.json b/examples/typescript-graphql-request/package.json index 47aabc6ac51..734151b0b6c 100644 --- a/examples/typescript-graphql-request/package.json +++ b/examples/typescript-graphql-request/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "private": true, "devDependencies": { - "@graphql-codegen/cli": "6.1.1" + "@graphql-codegen/cli": "6.1.2" }, "dependencies": { "graphql": "16.9.0", diff --git a/examples/typescript-resolvers/package.json b/examples/typescript-resolvers/package.json index e58db8e837b..8a4962381dd 100644 --- a/examples/typescript-resolvers/package.json +++ b/examples/typescript-resolvers/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "private": true, "devDependencies": { - "@graphql-codegen/cli": "6.1.1", + "@graphql-codegen/cli": "6.1.2", "@graphql-codegen/typescript": "5.0.8", "@graphql-codegen/typescript-resolvers": "5.1.6" }, diff --git a/examples/vite/vite-react-cts/package.json b/examples/vite/vite-react-cts/package.json index fcb19d0f4fb..e2b484f2946 100644 --- a/examples/vite/vite-react-cts/package.json +++ b/examples/vite/vite-react-cts/package.json @@ -21,7 +21,7 @@ "vite": "^6.0.0" }, "devDependencies": { - "@graphql-codegen/cli": "6.1.1", + "@graphql-codegen/cli": "6.1.2", "@types/react": "^18.0.27", "@types/react-dom": "^18.0.10", "cypress": "15.7.1", diff --git a/examples/vite/vite-react-mts/package.json b/examples/vite/vite-react-mts/package.json index 9d743bf052b..ab26fc7dd54 100644 --- a/examples/vite/vite-react-mts/package.json +++ b/examples/vite/vite-react-mts/package.json @@ -21,7 +21,7 @@ "vite": "^6.0.0" }, "devDependencies": { - "@graphql-codegen/cli": "6.1.1", + "@graphql-codegen/cli": "6.1.2", "@types/react": "^18.0.27", "@types/react-dom": "^18.0.10", "cypress": "15.7.1", diff --git a/examples/vite/vite-react-ts/package.json b/examples/vite/vite-react-ts/package.json index 9e9fc909f43..584f75ba123 100644 --- a/examples/vite/vite-react-ts/package.json +++ b/examples/vite/vite-react-ts/package.json @@ -21,7 +21,7 @@ "vite": "^6.0.0" }, "devDependencies": { - "@graphql-codegen/cli": "6.1.1", + "@graphql-codegen/cli": "6.1.2", "@types/react": "^18.0.27", "@types/react-dom": "^18.0.10", "cypress": "15.7.1", diff --git a/examples/vue/apollo-composable/package.json b/examples/vue/apollo-composable/package.json index 17a41a5c9ea..60701a14008 100644 --- a/examples/vue/apollo-composable/package.json +++ b/examples/vue/apollo-composable/package.json @@ -17,7 +17,7 @@ "vue": "^3.2.37" }, "devDependencies": { - "@graphql-codegen/cli": "^6.1.1", + "@graphql-codegen/cli": "^6.1.2", "@vitejs/plugin-vue": "^5.0.0", "typescript": "^5.0.0", "vite": "^6.0.0", diff --git a/examples/vue/urql/package.json b/examples/vue/urql/package.json index 9e178b0df7b..8f8aa699f3f 100644 --- a/examples/vue/urql/package.json +++ b/examples/vue/urql/package.json @@ -16,7 +16,7 @@ "vue": "^3.2.45" }, "devDependencies": { - "@graphql-codegen/cli": "^6.1.1", + "@graphql-codegen/cli": "^6.1.2", "@vitejs/plugin-vue": "^5.0.0", "typescript": "^5.0.0", "vite": "^6.0.0", diff --git a/examples/vue/villus/package.json b/examples/vue/villus/package.json index f8e6133082b..f270f3dd6dd 100644 --- a/examples/vue/villus/package.json +++ b/examples/vue/villus/package.json @@ -16,7 +16,7 @@ "vue": "^3.2.37" }, "devDependencies": { - "@graphql-codegen/cli": "^6.1.1", + "@graphql-codegen/cli": "^6.1.2", "@vitejs/plugin-vue": "^5.0.0", "typescript": "^5.0.0", "vite": "^6.0.0", diff --git a/examples/yoga-tests/package.json b/examples/yoga-tests/package.json index 8f32fe574c0..57dff3da2b9 100644 --- a/examples/yoga-tests/package.json +++ b/examples/yoga-tests/package.json @@ -7,7 +7,7 @@ }, "devDependencies": { "@graphql-typed-document-node/core": "3.2.0", - "@graphql-codegen/cli": "6.1.1", + "@graphql-codegen/cli": "6.1.2", "@babel/core": "7.25.2", "@babel/preset-env": "7.25.3", "@babel/preset-typescript": "7.28.5" diff --git a/packages/graphql-codegen-cli/CHANGELOG.md b/packages/graphql-codegen-cli/CHANGELOG.md index 2aab03ecf1f..a52380cf832 100644 --- a/packages/graphql-codegen-cli/CHANGELOG.md +++ b/packages/graphql-codegen-cli/CHANGELOG.md @@ -1,5 +1,12 @@ # @graphql-codegen/cli +## 6.1.2 + +### Patch Changes + +- [#10590](https://github.com/dotansimha/graphql-code-generator/pull/10590) [`e173e11`](https://github.com/dotansimha/graphql-code-generator/commit/e173e113331cd279fb9dec51203d8c5a34915999) Thanks [@ya2s](https://github.com/ya2s)! - Fix GraphQL Config loading to forward nested `extensions.codegen.config` options + when loading schemas/documents, matching `codegen.ts` behavior. + ## 6.1.1 ### Patch Changes diff --git a/packages/graphql-codegen-cli/package.json b/packages/graphql-codegen-cli/package.json index f611e150ffd..5add0798414 100644 --- a/packages/graphql-codegen-cli/package.json +++ b/packages/graphql-codegen-cli/package.json @@ -1,6 +1,6 @@ { "name": "@graphql-codegen/cli", - "version": "6.1.1", + "version": "6.1.2", "license": "MIT", "bin": { "gql-gen": "dist/cjs/bin.js", diff --git a/website/package.json b/website/package.json index 094890eec57..5ac1669d662 100644 --- a/website/package.json +++ b/website/package.json @@ -29,7 +29,7 @@ "@graphql-codegen/add": "6.0.0", "@graphql-codegen/c-sharp": "4.3.1", "@graphql-codegen/c-sharp-operations": "2.3.1", - "@graphql-codegen/cli": "6.1.1", + "@graphql-codegen/cli": "6.1.2", "@graphql-codegen/client-preset": "5.2.3", "@graphql-codegen/core": "5.0.0", "@graphql-codegen/flow": "2.3.6",