Update graphqlcodegenerator monorepo (major) - #27
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
from
May 12, 2026 11:54
7cb5684 to
9f3a607
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
3 times, most recently
from
June 1, 2026 17:36
4fba5ae to
af22415
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
from
June 16, 2026 17:37
af22415 to
6dc2cfb
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
2 times, most recently
from
July 12, 2026 11:59
e63fd9d to
62add95
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
2 times, most recently
from
July 24, 2026 21:31
2a15403 to
7a1cee6
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
2 times, most recently
from
August 5, 2026 11:38
7a54551 to
b50a15f
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
4 times, most recently
from
August 14, 2026 22:43
7229694 to
3a7c172
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
3 times, most recently
from
August 26, 2026 18:17
0bde9fd to
12edff2
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
3 times, most recently
from
September 7, 2026 18:09
1af6b3e to
ad5107f
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
2 times, most recently
from
September 13, 2026 10:00
c31df27 to
81a4e68
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
from
September 19, 2026 09:45
81a4e68 to
c50a7db
Compare
renovate
Bot
force-pushed
the
renovate/major-graphqlcodegenerator-monorepo
branch
from
September 20, 2026 05:08
c50a7db to
f8875d0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^6.3.1→^7.0.0^5.3.0→^6.0.0Release Notes
dotansimha/graphql-code-generator (@graphql-codegen/cli)
v7.4.2Patch Changes
#10956
cec9c1cThanks @eddeee888! - Fix dynamically-loaded plugins/presets in ESM
builds. Previously, ESM used the bare module specifier without resolving it relative to the
consuming project first, so a plugin only loaded if it happened to be reachable from the CLI
package's own
node_modules. Resolving it the same way the CJS build already does(
relativeRequire.resolve(mod)) fixes that, but the resolved absolute path also has to beconverted to a
file://URL (pathToFileURL(...).href) before being passed toimport()—otherwise, on Windows, the loader misparses a raw path like
C:\...as ac:protocol scheme andthrows
ERR_UNSUPPORTED_ESM_URL_SCHEME.#10966
3029b60Thanks @eddeee888! - Fix lifecycle hook scripts (e.g.
hooks: { afterAllFileWrite: ['prettier --write'] } }) failing on Windows when the file pathspassed to them contain a backslash or other POSIX shell-special character. Hook arguments were
always quoted using POSIX single-quoting, but
child_process.exec()runs throughcmd.exeonWindows by default, which doesn't strip single quotes — so the hook script received the literal
quote characters as part of its argument and failed to find the file. Arguments are now quoted
per-platform: POSIX quoting stays unchanged elsewhere, and Windows arguments are wrapped in double
quotes only when they actually need it, matching
cmd.exe's own convention.#10959
7dffaaeThanks @eddeee888! - Fix the CLI reporting success (exit code
0)when a
generatesoutput'spresetcan't be resolved. The error was shown in the terminal butnever counted toward the run's failure state, so
allowPartialOutputs: false(the default) nevertook effect for this case.
v7.4.1Compare Source
Patch Changes
#10935
fb1a7c4Thanks @eddeee888! - dependencies updates:
@graphql-tools/code-file-loader@^8.1.39↗︎(from
^8.1.28, independencies)#10942
57c3e7bThanks @eddeee888! - dependencies updates:
@graphql-tools/merge@^9.2.4↗︎(from
^9.0.6, independencies)#10942
57c3e7bThanks @eddeee888! - Bump
@graphql-tools/mergefrom^9.0.6to^9.2.4.#10935
fb1a7c4Thanks @eddeee888! - Fix a Windows-specific
import()failure onabsolute paths when loading a schema/document from a
.js/.cjs/.mjsfile (via@graphql-tools/code-file-loader), and when loading modules passed to that loader's ownrequireoption. Node's dynamic
import()rejects raw absolute Windows paths (the drive letter is parsedas a URL scheme). Fixed by bumping
@graphql-tools/code-file-loaderto8.1.39, which containsthe upstream fix
(ardatan/graphql-tools#8421).
#10936
9521c0cThanks @eddeee888! - Fix watch mode's generated
ignoreglobpatterns using the platform path separator (
\on Windows), which@parcel/watchernevermatched, so generated output files were watched (and could re-trigger builds) instead of being
ignored. Ignore patterns are now always forward-slash, as
@parcel/watcherexpects.Also fixes the test suite's
TempDir.clean()helper on Windows, whererimraf.sync()rejectedits own glob-style cleanup pattern as containing illegal path characters; now passes
{ glob: true }. This is a test-only change (tests/utils.tsis not part of the publishedpackage) included here since it was needed to get the suite green on Windows alongside the
watch-mode fix.
v7.4.0Compare Source
Minor Changes
#10928
90229a5Thanks @eddeee888! - Add
contentComparison?: 'cache-first' | 'disk'to control disk-vs-cache write comparison in watchmode.
In watch mode the CLI caches the hash of the content it last wrote per file and compares new
output against that cached hash to skip redundant writes. This assumes generated output is a pure
function of the codegen inputs. An output whose content depends on the file's existing content
(e.g. a preset that reads the file and rewrites part of it) breaks that assumption: if the file is
changed on disk and codegen regenerates content identical to a previous run, the cached hash still
matches and the write is skipped, so the on-disk change is never corrected.
contentComparison: 'disk'opts an output into comparing the generated content against the fileon disk instead of the in-memory record of what codegen last wrote, so the file is rewritten when
it was changed externally. It can be set:
GenerateOptionsit returns frombuildGeneratesSection, orgenerates[output].contentComparison) for any output, including plainplugin outputs without a preset.
When both are present, the preset's value takes precedence. The default,
'cache-first', keepsthe existing in-memory-cache behaviour for outputs that are a pure function of their inputs.
Patch Changes
#10930
448431aThanks @eddeee888! - Fix
overwritebeing ignored forpreset-based
generatesoutputs.A
generatesentry that used a preset and setoverwrite(e.g.overwrite: { removeStaleFiles: false }) had that setting silently ignored, so in watch mode itsgenerated files could still be deleted as stale.
The CLI resolved
overwriteper generated file by looking the file's path up inconfig.generates. That fails for a preset: itsgeneratesentry is keyed by the preset'sbaseOutputDir, not by any generated file's path (and a preset can emit files outside thatdirectory), and the lookup additionally required a
pluginskey that preset entries don't have.Both cases fell through to the global
config.overwrite(defaulttrue).Updated dependencies
[
90229a5,448431a]:v7.3.1Compare Source
Patch Changes
#10924
0c8f5baThanks @eddeee888! - Fix profiler output not being written to the
filesystem in watch mode (
--profile --watch)The profiler trace was only written on the non-watch code path, after the watch-mode early return,
so a profiled watch session never produced a
codegen-*.jsonfile.The profiler now writes a fresh trace file after the initial run and after every rebuild, with
each file containing only that run's events. A failed rebuild does not produce a trace and its
events are discarded so they don't leak into the next successful run.
The
Profilernow owns its own trace lifecycle:clear()method starts a new traceoutputNameproperty provides the filename for the current trace (nullfor the noopprofiler)
CodegenContextUpdated dependencies
[
0c8f5ba]:v7.3.0Compare Source
Minor Changes
#10921
58cdb31Thanks @eddeee888! - Extend
overwritewithoverwrite.removeStaleFilesandoverwrite.updateExistingFilesoverwritewas being used to both remove stale files in watch mode and update existing files.Some plugins such as Server Preset may dynamically return files to write between watch runs (for
performance purposes).
The
overwritecan now take an object withoverwrite.removeStaleFilesandoverwrite.updateExistingFilesfields to allow granular control over actions.This is not a breaking change because
overwrite=true|falsestill works.Patch Changes
[
58cdb31]:v7.2.0Compare Source
Minor Changes
959915fThanks @eddeee888! - dependencies updates:
@graphql-tools/utils@^11.2.0↗︎(from
^11.0.0, independencies)graphql@^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0↗︎(from
^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0,in
peerDependencies)Patch Changes
[
959915f,959915f,959915f]:v7.1.3Compare Source
Patch Changes
#10335
3280aceThanks @Diluka! - Fix graphql-config loading order to correctly
detect codegen projects
Previously, a
graphql-configfile like this failed:This is because the
defaultproject doesn't have acodegenextension, which caused previouslogic to short circuit before reading
project1's config.The fix reads every named project first, before reading the
defaultproject to exhaustively gothrough every single project.
v7.1.2Compare Source
Patch Changes
a2e1093Thanks @eddeee888! - Fix CLI's
requireflag when resolvingmodule issue in ESM in native Windows
v7.1.1Compare Source
Patch Changes
3fa901bThanks @eddeee888! - Fix --version flag
v7.1.0Compare Source
Minor Changes
cfc4fc3Thanks @eddeee888! - Add
disableFederationDirectiveAndScalarInjection config to better support Federation v2
Patch Changes
[
cbf9544]:v7.0.1Compare Source
Patch Changes
#10848
f3ce427Thanks @eddeee888! - dependencies updates:
@graphql-codegen/client-preset@workspace:^↗︎(from
^6.0.0, independencies)#10849
55a4742Thanks @eddeee888! - dependencies updates:
@graphql-codegen/core@workspace:^↗︎(from
^6.0.0, independencies)@graphql-codegen/plugin-helpers@workspace:^↗︎(from
^7.0.0, independencies)Updated dependencies
[
f3ce427,55a4742,55a4742,f3ce427]:v7.0.0Compare Source
Major Changes
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with
require()support for ESM, whichmeans it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Drop Node 20 support
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Set
noSilentErrors: trueby default
When multiple files match documents pattern, and there are syntax errors in some but not others,
then the operations with errors are not included in the loaded documents list by default
(
noSilentErrors: false). This is annoying for users as there is no feedback loop duringdevelopment.
noSilentErrors: trueis used as the default for Codegen users to make the feedback loop faster.It can still overriden in Codegen Config if desired.
Patch Changes
#10496
afaace6Thanks @eddeee888! - dependencies updates:
@inquirer/prompts@^8.3.2↗︎ (from^7.8.2, independencies)chalk@^5.6.0↗︎ (from^4.1.0, independencies)debounce@^3.0.0↗︎ (from^2.0.0, independencies)detect-indent@^7.0.0↗︎ (from^6.0.0,in
dependencies)listr2@^10.2.1↗︎ (from^9.0.0, independencies)log-symbols@^7.0.0↗︎(from
^4.0.0, independencies)ts-log@^3.0.0↗︎ (from^2.2.3, independencies)yargs@^18.0.0↗︎ (from^17.0.0, independencies)#10496
afaace6Thanks @eddeee888! - dependencies updates:
chalk@^5.6.0↗︎ (from^4.1.0, independencies)debounce@^3.0.0↗︎ (from^2.0.0, independencies)detect-indent@^7.0.0↗︎ (from^6.0.0,in
dependencies)listr2@^10.2.1↗︎ (from^9.0.0, independencies)log-symbols@^7.0.0↗︎(from
^4.0.0, independencies)ts-log@^3.0.0↗︎ (from^2.2.3, independencies)yargs@^18.0.0↗︎ (from^17.0.0, independencies)#10496
afaace6Thanks @eddeee888! - dependencies updates:
@inquirer/prompts@^8.3.2↗︎ (from^7.8.2, independencies)#10496
afaace6Thanks @eddeee888! - Use ESM for CLI instead of CJS;
For backwards compatibility;
graphql-codegen-esmis reserved, and alsographql-codegen-cjsisadded for users who want to use CJS.
So the commands are;
graphql-codegen- ESM version, defaultgraphql-codegen-esm- ESM version, same as above, but reserved for backwards compatibilitygraphql-codegen-cjs- CJS version, for users who want to use CJS, but not recommended for newusers. Will be removed in the future.
gql-gen- ESM version, same asgraphql-codegengraphql-code-generator- ESM version, same asgraphql-codegenandgql-genUpdated dependencies
[
afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6]:dotansimha/graphql-code-generator (@graphql-codegen/client-preset)
v6.2.0Minor Changes
a6a3348Thanks @eddeee888! - Add
skipIndexFilepreset config option toclient-presetto allow disabling generation of theindex.tsbarrel file that re-exports theother generated files. Defaults to
false(unchanged behavior); set totrueto skip generatingindex.ts, for example when your project avoids barrel files for tree-shaking or lint rulereasons.
Patch Changes
b545f6bThanks @eddeee888! - Add
/* eslint-disable */to the generatedindex.tsbarrel file, matching the other files generated byclient-preset(graphql.ts,gql.ts,fragment-masking.ts), which already had it.v6.1.3Compare Source
Patch Changes
#10918
6a3b734Thanks @eddeee888! - Fix union and conditional directives
resulting in no field types
Updated dependencies
[
6a3b734]:v6.1.2Compare Source
Patch Changes
#10916
d95d378Thanks @eddeee888! - Revert Partial handling when conditional
fragment and fragment masking are used
This is causing all masked fields to be optional due to how function type override works.
Updated dependencies
[
d95d378]:v6.1.1Compare Source
Patch Changes
#10904
2dd1531Thanks @eddeee888! - Fix fragment masking generation when
conditional directive is used
Updated dependencies
[
2dd1531,5a9f96c]:v6.1.0Compare Source
Minor Changes
959915fThanks @eddeee888! - dependencies updates:
@graphql-tools/utils@^11.2.0↗︎(from
^11.0.0, independencies)graphql@^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0↗︎(from
^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0,in
peerDependencies)Patch Changes
[
959915f,959915f,959915f,959915f,959915f,959915f,959915f]:v6.0.1Compare Source
Patch Changes
#10848
f3ce427Thanks @eddeee888! - dependencies updates:
@graphql-codegen/gql-tag-operations@^6.0.0↗︎(from
6.0.0, independencies)#10849
55a4742Thanks @eddeee888! - dependencies updates:
@graphql-codegen/add@workspace:^↗︎(from
^7.0.0, independencies)@graphql-codegen/gql-tag-operations@workspace:^↗︎(from
^6.0.0, independencies)@graphql-codegen/plugin-helpers@workspace:^↗︎(from
^7.0.0, independencies)@graphql-codegen/typed-document-node@workspace:^↗︎(from
^7.0.0, independencies)@graphql-codegen/typescript@workspace:^↗︎(from
^6.0.0, independencies)@graphql-codegen/typescript-operations@workspace:^↗︎(from
^6.0.0, independencies)@graphql-codegen/visitor-plugin-common@workspace:^↗︎(from
^7.0.0, independencies)#10848
f3ce427Thanks @eddeee888! - Fix package pinning
Updated dependencies
[
55a4742,55a4742,55a4742,55a4742,55a4742,55a4742]:v6.0.0Compare Source
Major Changes
#10496
afaace6Thanks @eddeee888! - Fix nullable field optionality in operations
Previously, a nullable Result field is generated as optional (marked by
?TypeScript modifier)by default. This is not correct, because generally at runtime such field can only be
null, andnot
undefined(both missing from the object ORundefined). The only exceptions are when fieldsare deferred (using
@deferdirective) or marked as conditional (using@skipor@include).Now, a nullable Result field cannot be optional unless the exceptions are met. This also limits
avoidOptionalsto only target Variables input, since some users may want to force explicitnullwhen providing operation variables.#10496
afaace6Thanks @eddeee888! - Conditionally generate input types and output
enums into target file
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: make
unknowninstead ofanythe default custom scalar type#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with
require()support for ESM, whichmeans it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS
issues when running Jest tests, try using Vitest.
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Drop Node 20 support
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE:
typescriptplugin nolonger generates
Exactutility type. Instead,typescript-operationsgenerates said utilitytype for every file it creates. This is because it is used only for
Variables, so we only needto generate it once for every generated operation file.
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: Operation plugin and Client
Preset no longer generates optional
__typenamefor result type__typenamshould not be in the request unless:Note: Apollo Client users can still use
nonOptionalTypename: trueandskipTypeNameForRoot: trueto ensure generated types match the runtime behaviour.#10496
afaace6Thanks @eddeee888! - BREAKING CHANGES: The default hashing
algorithm is now sha256 instead of sha1. Generated sha256 format also follows the standard
outlined in
https://github.com/graphql/graphql-over-http/blob/52d56fb36d51c17e08a920510a23bdc2f6a720be/spec/Appendix%20A%20--%20Persisted%20Documents.md#sha256-hex-document-identifier
#10496
afaace6Thanks @eddeee888! - Integrate new typescript-operations into
client-preset
#10496
afaace6Thanks @eddeee888! - BREAKING CHANGE: config.avoidOptionals now
only supports object, inputValue, defaultValue
Patch Changes
#10496
afaace6Thanks @eddeee888! - dependencies updates:
@graphql-codegen/typescript@^5.0.8↗︎(from
dependencies)#10496
afaace6Thanks @eddeee888! - Remove @graphql-codegen/typescript from
client-preset dep as the preset no longer uses the plugin.
#10496
afaace6Thanks @eddeee888! - Abstract how enum imports are generated into
visitor-plugin-common package
Updated dependencies
[
afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6,afaace6]:Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.