Skip to content

Conversation

@ikusakov2
Copy link

@ikusakov2 ikusakov2 commented Jan 5, 2026

Description

Adding a config option to render type names in Apollo-tooling way (only with field names, not type names)

Related # #10561

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

  • Unit testing

Checklist:

  • I have followed the CONTRIBUTING doc and the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

eddeee888 and others added 18 commits November 15, 2025 22:44
…#10504)

* 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 <[email protected]>
…ring and getNodeComment to `visitor-plugin-common` (dotansimha#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 (dotansimha#10508)

* Collect used enums

* Use enum converter for Enum

* Add changeset

* Add doc

* Update dev tests

* Fix return type issue
…logic for standalone approach (dotansimha#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 (dotansimha#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 (dotansimha#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 (dotansimha#10548)

* Fix types issues and put comments

* Handle avoidOptionals

* Update integration tests

* Add FIXME to pass test for now

* Add changeset
)

* 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 <[email protected]>
Co-authored-by: Eddy Nguyen <[email protected]>
…otansimha#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`) (dotansimha#10556)

* Remove legacy selection set proccessor that depends on typescript plugin

* Remove obsolete tests

* Improve tests to be explicit
@changeset-bot
Copy link

changeset-bot bot commented Jan 5, 2026

🦋 Changeset detected

Latest commit: ecea1a0

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

This PR includes changesets to release 9 packages
Name Type
@graphql-codegen/visitor-plugin-common Minor
@graphql-codegen/typescript-operations Minor
@graphql-codegen/typescript-document-nodes Patch
@graphql-codegen/gql-tag-operations Patch
@graphql-codegen/typescript-resolvers Patch
@graphql-codegen/typed-document-node Patch
@graphql-codegen/typescript Patch
@graphql-codegen/graphql-modules-preset Patch
@graphql-codegen/client-preset 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

addTypename: boolean;
nonOptionalTypename: boolean;
extractAllFieldsToTypes: boolean;
extractAllFieldsToTypesFieldNamesOnly: boolean;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've recently moved extractAllFieldsToTypes to base-documents-visitor since it's only applicable to the client use cases.

I think we could apply the same logic here as well 🙂

@eddeee888 eddeee888 force-pushed the master-next branch 2 times, most recently from 48ef01e to c2be6b3 Compare January 6, 2026 13:16
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