Skip to content

Conversation

@eddeee888
Copy link
Collaborator

@eddeee888 eddeee888 commented Nov 7, 2025

This is the feature branch for #10479

Checklist

typescript-operations

client-preset

Verify fixes

@changeset-bot
Copy link

changeset-bot bot commented Nov 7, 2025

🦋 Changeset detected

Latest commit: cda43e2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 11 packages
Name Type
@graphql-codegen/typescript-operations Major
@graphql-codegen/visitor-plugin-common Major
@graphql-codegen/client-preset Major
@graphql-codegen/typescript Major
@graphql-codegen/typescript-resolvers Major
@graphql-codegen/typescript-document-nodes Patch
@graphql-codegen/gql-tag-operations Patch
@graphql-codegen/typed-document-node Patch
@graphql-codegen/introspection Patch
@graphql-codegen/graphql-modules-preset Patch
@graphql-codegen/cli Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Contributor

github-actions bot commented Nov 7, 2025

🚀 Snapshot Release (alpha)

The latest changes of this PR are available as alpha on npm (based on the declared changesets):

Package Version Info
@graphql-codegen/cli 6.1.1-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎
@graphql-codegen/introspection 5.0.1-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎
@graphql-codegen/visitor-plugin-common 7.0.0-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎
@graphql-codegen/typescript-document-nodes 5.0.8-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎
@graphql-codegen/gql-tag-operations 5.1.3-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎
@graphql-codegen/typescript-operations 6.0.0-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎
@graphql-codegen/typescript-resolvers 6.0.0-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎
@graphql-codegen/typed-document-node 6.1.6-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎
@graphql-codegen/typescript 6.0.0-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎
@graphql-codegen/client-preset 6.0.0-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎
@graphql-codegen/graphql-modules-preset 5.1.3-alpha-20260107131054-cda43e23b0bd49aa0cce3bf10a8a9e0d98b67e7c npm ↗︎ unpkg ↗︎

eddeee888 and others added 12 commits January 7, 2026 00:06
* Create standalone test

* Add Exact and set up test

* Remove Exact from typescript plugin

* Update tests that switch out Exact

* Update dev tests

* Add changeset

* Update test

* Add InputMaybe Scalars tests

* Fix schema in test

* Fix up examples tests

* Add result enum example
* [typescript-operations] Remove generation of InputMaybe and Scalars for variables

* Adding support for `config.scalars`, fixing intergation tests

---------

Co-authored-by: Igor Kusakov <igor@kusakov.com>
…ring and getNodeComment to `visitor-plugin-common` (#10520)

* Extract convertSchemaEnumToDeclarationBlockString and getNodeComment to visitor-plugin-common to re-use in next major version

* Create major breaking changeset for @graphql-codegen/visitor-plugin-common

* Fix naming

* Replace buildEnumValuesBlock method in base-types-visitor with a utility version

* Fix changeset

* Fix import path

* Fix getNodeComment import issue by moving to utils.ts
…les (#10508)

* Collect used enums

* Use enum converter for Enum

* Add changeset

* Add doc

* Update dev tests

* Fix return type issue
…logic for standalone approach (#10525)

* Add tests for enum

* Baselin tests

* Ensure correctness of enumValues import

* Split enum tests

* Abstract import printing functions

* Add missing enum tests

* Format to minimise conflict

* Add changeset
…ned+used input/enum types externally (#10534)

* Draft importSchemaTypesFrom

* Minor test fixes

* Fix test name

* Update dev-tests

* Baseline dev-test for importSchemaTypesFrom

* Implement relative import paths correctly

* Update tests to handle outputDir correctly

* Add test for absolute importSchemaTypesFrom

* Remove unncessary files

* Add test about unused things

* Remove comment

* Add comments

* Add changeset
…tions with client preset (#10540)

* Do not use typescript and its config in Client Preset

* Fix issue where enumValues are imported even if not used

* Split enum tests for client preset

* Update unit tests

* Update examples

* Generate Incremental utilty type

* Add changeset

* Rebase tests (with errors)
… conditional (#10548)

* Fix types issues and put comments

* Handle avoidOptionals

* Update integration tests

* Add FIXME to pass test for now

* Add changeset
ikusakov2 and others added 5 commits January 7, 2026 00:10
* input types, input/output enums are generated to the target files

* cleanup

* better code

* more tests

* cleanup

* better code

* better tests

* bugfixing for inner types and outer enums

* bugfixing after merge

* cleanup

* cleanup

* fix snapshots

* fix type errors in presets/client

* updated tests/examples

* Add standalone.input.spec.ts and update standalone tests to TDD

* Update operations/visitor.ts to satisfy tests

* Revert Client Preset changes

* Add oneOf directive for GraphQL 15

* Update changeset

* Refactor IIFE

---------

Co-authored-by: Igor Kusakov <igor@kusakov.com>
Co-authored-by: Eddy Nguyen <github@eddeee888.me>
…10552)

* Fix typename optionality and existence at Result root and types

* Update tests

* Update tests

* Stop allowing skipTypename into Client Preset and typescript-operations, and update tests

* Remove dependency on typescript plugin

* Add changeset
… on `typescript` plugin (`preResolveTypes: false`) (#10556)

* Remove legacy selection set proccessor that depends on typescript plugin

* Remove obsolete tests

* Improve tests to be explicit
* Refactor utility function to match practice

* Fix config option inheritance

- addTypename/skipTypename: is only a types-visitor concern. This is moved to types-visitor from base-visitor
- nonOptionalTypename: is a documents-visitor and types-visitor concern. Moved from base-visitor there
- extractAllFieldsToTypes: is a documents-visitor concern. Moved from base-visitor there
- enumPrefix and enumSuffix: need to be in base-visitor as all 3 types of visitors need this to correctly sync the enum type names. This is moved to base visitor
- ignoreEnumValuesFromSchema: is a documents-visitor and types-visitor concern. Moved from base-visitor there.
- globalNamespace: is a documents-visitor concern. Moved from base-visitor there

Other changes:
- documents-visitor no longer extends types-visitor _option types_ as they have two distinct usages now. The types now extend base-visitor types. This is now consistent with documents-visitor extending base-visitor
- Classes now handle config parsing and types at the same level e.g. if typescript-operations plugin parses configOne, then the types for configOne must be in that class, rather than in base-documents-visitor

* Remove references and tests related to skipTypename in operations plugin

* Add changeset
eddeee888 and others added 2 commits January 7, 2026 23:15
* Fix missing dep

* chore(dependencies): updated changesets for modified dependencies

* Fix dev-tests

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2026

💻 Website Preview

The latest changes are available as preview in: https://pr-10496.graphql-code-generator.pages.dev

* Remove MakeOptional MakeMaybe MakeEmpty and Incremental utitlity types from typescript plugin because they were used for typescript-operations

* Fix unit tests

* Remove deprecated functions

* Add changeset
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants