Skip to content

Update graphql-codegen (major) - #60

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-graphql-codegen
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-graphql-codegen

Conversation

@renovate

@renovate renovate Bot commented Jun 2, 2023 •

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@graphql-codegen/cli (source) 2.13.1 → 7.4.4 age confidence
@graphql-codegen/gql-tag-operations-preset (source) 1.6.0 → 2.1.0 age confidence

Release Notes

dotansimha/graphql-code-generator (@​graphql-codegen/cli)

v7.4.4

Compare Source

Patch Changes
  • #​11025
    43d0f65
    Thanks @​BuddhaBing! - Widen
    Types.SchemaWithLoaderOptions['loader'] to accept a custom loader function
    (CustomSchemaLoaderFn) in addition to a path string.

    A per-entry schema custom loader ({ '<pointer>': { loader, ...options } }) is resolved by
    @graphql-tools/load's useCustomLoader, which already accepts either a path string (resolved
    via require()) or a function value at runtime (typeof loaderPointer === 'function'). Only the
    TypeScript type restricted loader to string, forcing consumers who pass an imported loader
    function (or a class instance exposing a bound loader property) to cast the schema array to
    bypass the type error, even though it worked correctly at runtime.

    This is additive and backward compatible — loader: string continues to type-check exactly as
    before.

    Also fixes a schema-cache collision for function loaders in @graphql-codegen/cli: the cache key
    is JSON.stringify(schemaPointerMap), and JSON.stringify drops functions, so two generates
    targets using different loader functions for the same pointer
    ({ 'schema.graphql': { loader: fnA } } vs { loader: fnB }) both keyed as
    {"schema.graphql":{}} and the second silently reused the first's schema. Function values are now
    keyed by object identity (via the existing getJsObjectId), so distinct loaders load separately
    while one function reused across targets still loads once.

  • #​11020
    82ebbb5
    Thanks @​eddeee888! - Fix type errors in cli under
    strict: true:

    • @graphql-codegen/cli: loadCodegenConfig returns Promise<LoadCodegenConfigResult | null>,
      matching the null it resolves to when no config file is found. YamlCliFlags includes the
      kebab-case ignore-no-documents, emit-legacy-common-js-imports and import-extension flags
      that the CLI reads. CodegenContext.filepath is optional, and watch mode only watches the
      config file when the context has a filepath. CodegenContext.getConfig() without an argument
      returns Types.Config, and getConfig(extraConfig) returns T & Types.Config.
      CodegenContext.checkModeStaleFiles is typed as string[]. Adds @types/yargs,
      @types/babel__generator and @types/babel__template as dev dependencies.
    • @graphql-codegen/plugin-helpers: normalizeInstanceOrArray and normalizeConfig accept
      null and undefined, returning [].

    Generated output is unchanged.

  • Updated dependencies
    [43d0f65,
    82ebbb5,
    e972b6d,
    eae0e62,
    1f7566f]:

v7.4.3

Compare Source

Patch Changes

v7.4.2

Compare Source

Patch Changes
  • #​10956
    cec9c1c
    Thanks @​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 be
    converted to a file:// URL (pathToFileURL(...).href) before being passed to import() —
    otherwise, on Windows, the loader misparses a raw path like C:\... as a c: protocol scheme and
    throws ERR_UNSUPPORTED_ESM_URL_SCHEME.

  • #​10966
    3029b60
    Thanks @​eddeee888! - Fix lifecycle hook scripts (e.g.
    hooks: { afterAllFileWrite: ['prettier --write'] } }) failing on Windows when the file paths
    passed 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 through cmd.exe on
    Windows 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
    7dffaae
    Thanks @​eddeee888! - Fix the CLI reporting success (exit code 0)
    when a generates output's preset can't be resolved. The error was shown in the terminal but
    never counted toward the run's failure state, so allowPartialOutputs: false (the default) never
    took effect for this case.

v7.4.1

Compare Source

Patch Changes
  • #​10935
    fb1a7c4
    Thanks @​eddeee888! - dependencies updates:

  • #​10942
    57c3e7b
    Thanks @​eddeee888! - dependencies updates:

  • #​10942
    57c3e7b
    Thanks @​eddeee888! - Bump @graphql-tools/merge from ^9.0.6 to
    ^9.2.4.

  • #​10935
    fb1a7c4
    Thanks @​eddeee888! - Fix a Windows-specific import() failure on
    absolute paths when loading a schema/document from a .js/.cjs/.mjs file (via
    @graphql-tools/code-file-loader), and when loading modules passed to that loader's own require
    option. Node's dynamic import() rejects raw absolute Windows paths (the drive letter is parsed
    as a URL scheme). Fixed by bumping @graphql-tools/code-file-loader to 8.1.39, which contains
    the upstream fix
    (ardatan/graphql-tools#8421).

  • #​10936
    9521c0c
    Thanks @​eddeee888! - Fix watch mode's generated ignore glob
    patterns using the platform path separator (\ on Windows), which @parcel/watcher never
    matched, so generated output files were watched (and could re-trigger builds) instead of being
    ignored. Ignore patterns are now always forward-slash, as @parcel/watcher expects.

    Also fixes the test suite's TempDir.clean() helper on Windows, where rimraf.sync() rejected
    its own glob-style cleanup pattern as containing illegal path characters; now passes
    { glob: true }. This is a test-only change (tests/utils.ts is not part of the published
    package) included here since it was needed to get the suite green on Windows alongside the
    watch-mode fix.

v7.4.0

Compare Source

Minor Changes
  • #​10928
    90229a5
    Thanks @​eddeee888! - Add
    contentComparison?: 'cache-first' | 'disk' to control disk-vs-cache write comparison in watch
    mode.

    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 file
    on 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:

    • by a preset, on the GenerateOptions it returns from buildGeneratesSection, or
    • on the output config (generates[output].contentComparison) for any output, including plain
      plugin outputs without a preset.

    When both are present, the preset's value takes precedence. The default, 'cache-first', keeps
    the existing in-memory-cache behaviour for outputs that are a pure function of their inputs.

Patch Changes
  • #​10930
    448431a
    Thanks @​eddeee888! - Fix overwrite being ignored for
    preset-based generates outputs.

    A generates entry that used a preset and set overwrite (e.g.
    overwrite: { removeStaleFiles: false }) had that setting silently ignored, so in watch mode its
    generated files could still be deleted as stale.

    The CLI resolved overwrite per generated file by looking the file's path up in
    config.generates. That fails for a preset: its generates entry is keyed by the preset's
    baseOutputDir, not by any generated file's path (and a preset can emit files outside that
    directory), and the lookup additionally required a plugins key that preset entries don't have.
    Both cases fell through to the global config.overwrite (default true).

  • Updated dependencies
    [90229a5,
    448431a]:

v7.3.1

Compare Source

Patch Changes
  • #​10924
    0c8f5ba
    Thanks @​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-*.json file.

    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 Profiler now owns its own trace lifecycle:

    • a new clear() method starts a new trace
    • a new outputName property provides the filename for the current trace (null for the noop
      profiler)
    • filename generation was removed from CodegenContext
  • Updated dependencies
    [0c8f5ba]:

v7.3.0

Compare Source

Minor Changes
  • #​10921
    58cdb31
    Thanks @​eddeee888! - Extend overwrite with
    overwrite.removeStaleFiles and overwrite.updateExistingFiles

    overwrite was 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 overwrite can now take an object with overwrite.removeStaleFiles and
    overwrite.updateExistingFiles fields to allow granular control over actions.

    This is not a breaking change because overwrite=true|false still works.

Patch Changes

v7.2.0

Compare Source

Minor Changes
Patch Changes

v7.1.3

Compare Source

Patch Changes
  • #​10335
    3280ace
    Thanks @​Diluka! - Fix graphql-config loading order to correctly
    detect codegen projects

    Previously, a graphql-config file like this failed:

    projects:
      default:
        schema: 'default/schema.graphql'
      project1:
        schema: 'project1/schema.graphql'
        extensions:
          codegen:
            generates:
              'project1/__generated__/types.ts':
                plugins: ['typescript']

    This is because the default project doesn't have a codegen extension, which caused previous
    logic to short circuit before reading project1's config.

    The fix reads every named project first, before reading the default project to exhaustively go
    through every single project.

v7.1.2

Compare Source

Patch Changes

v7.1.1

Compare Source

Patch Changes

v7.1.0

Compare Source

Minor Changes
Patch Changes

v7.0.1

Compare Source

Patch Changes

v7.0.0

Compare Source

Major Changes
  • #​10496
    afaace6
    Thanks @​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, which
    means 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
    afaace6
    Thanks @​eddeee888! - BREAKING CHANGE: Drop Node 20 support

  • #​10496
    afaace6
    Thanks @​eddeee888! - BREAKING CHANGE: Set noSilentErrors: true
    by 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 during
    development.

    noSilentErrors: true is used as the default for Codegen users to make the feedback loop faster.
    It can still overriden in Codegen Config if desired.

Patch Changes

v6.3.1

Compare Source

Patch Changes
  • #​10737
    be85118
    Thanks @​eddeee888! - Fix issue where same SDL in different
    documents are ignored when handling documents vs externalDocuments

v6.3.0

Compare Source

Minor Changes
  • #​10659
    e65d303
    Thanks @​ikusakov2! - Add support for externalDocuments

    externalDocuments declares GraphQL documents that will be read but will not have type files
    generated for them. These documents are available to plugins for type resolution (e.g. fragment
    types), but no output files will be generated based on them. Accepts the same formats as
    documents.

    This config option is useful for monorepos where each project may want to generate types for its
    own documents, but some may need to read shared fragments from across projects.

Patch Changes

v6.2.1

Compare Source

Patch Changes
  • #​10618
    e804925
    Thanks @​PalmerTurley34! - Honor per-output preset
    importExtension and emitLegacyCommonJSImports config instead of always using the root config
    values.

v6.2.0

Compare Source

Minor Changes
Patch Changes

v6.1.3

Compare Source

Patch Changes

v6.1.2

Compare Source

Patch Changes
  • #​10590
    e173e11
    Thanks @​ya2s! - Fix GraphQL Config loading to forward nested
    extensions.codegen.config options when loading schemas/documents, matching codegen.ts
    behavior.

v6.1.1

Compare Source

Patch Changes
  • #​10569
    8cb7d43
    Thanks @​etr2460! - fix(graphql-codegen-cli): Don't hang when 0 CPUs
    are found

    Fixes generation when 0 CPUs are returned by os.cpus(), which occurs in sandbox environments.

v6.1.0

Compare Source

Minor Changes
Patch Changes

v6.0.2

Compare Source

Patch Changes

v6.0.1

Compare Source

Patch Changes
  • #​10468
    cb1b9d9
    Thanks @​eddeee888! - In watch mode, do not write output on failure

    Previously, on partial or full failure, watch mode still write to output. However, since the
    output'd be an empty array, it will then call removeStaleFiles internally to remove all
    previously generated files.

    This patch puts a temporary fix to avoid writing output on any failure to fix the described
    behaviour.

    This also means the config.allowPartialOutputs does not work in watch mode for now.

v6.0.0

Compare Source

Major Changes
Patch Changes

v5.0.7

Compare Source

Patch Changes

v5.0.6

Compare Source

Patch Changes

v5.0.5

Compare Source

Patch Changes

v5.0.4

Compare Source

Patch Changes

v5.0.3

Compare Source

Patch Changes

❗ Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@vercel

vercel Bot commented Jun 2, 2023 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
supabase-graphql-example Ready Ready Preview Oct 5, 2026 5:45pm UTC

Request Review

@renovate renovate Bot added the dependencies label Jun 2, 2023
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from d974acf to c89adeb Compare July 25, 2023 09:34
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from c89adeb to e851850 Compare February 6, 2024 15:16
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from e851850 to 0f0e05a Compare August 7, 2024 22:43
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 0f0e05a to 189ca51 Compare October 7, 2024 15:21
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 189ca51 to 9db887c Compare January 28, 2025 13:41
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 9db887c to 4b69e2e Compare February 13, 2025 16:04
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 4b69e2e to 6f1f587 Compare May 6, 2025 20:25
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 6f1f587 to fbb776a Compare June 5, 2025 13:52
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from fbb776a to e785e7b Compare August 4, 2025 22:27
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from e785e7b to e87c085 Compare August 10, 2025 14:02
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from e87c085 to 0700169 Compare August 13, 2025 14:05
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 0700169 to 132a63f Compare August 19, 2025 18:32
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 132a63f to 2eaf930 Compare August 31, 2025 09:42
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 2eaf930 to 230b25c Compare September 7, 2025 20:05
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 4012de6 to 437a62b Compare January 2, 2026 03:51
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 437a62b to 8c3734f Compare January 8, 2026 19:16
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 8c3734f to 148ea05 Compare January 11, 2026 13:11
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 148ea05 to 7fae93b Compare January 22, 2026 11:34
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 7fae93b to 02a3665 Compare January 23, 2026 20:40
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 02a3665 to ffec4d6 Compare February 4, 2026 08:13
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from ffec4d6 to 2c7bdef Compare February 12, 2026 10:41
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 2c7bdef to a70e9de Compare February 17, 2026 20:58
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from a70e9de to 11f82c5 Compare February 22, 2026 17:49
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 11f82c5 to dff861f Compare March 5, 2026 16:08
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from dff861f to 0c8d1c5 Compare March 6, 2026 18:45
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 0c8d1c5 to 37f170c Compare March 14, 2026 12:11
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 37f170c to 35c6c31 Compare May 2, 2026 16:05
@renovate renovate Bot changed the title chore(deps): update graphql-codegen (major) Update graphql-codegen (major) May 2, 2026
@renovate
renovate Bot force-pushed the renovate/major-graphql-codegen branch from 35c6c31 to 2d364de Compare May 12, 2026 10:53

This branch was successfully deployed

1 active deployment
Preview — 31e39865 Deployed Oct 5, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants