Skip to content

Bump GraphQL codegen dependencies to patch immutable - #3972

Closed
szdziedzic wants to merge 4 commits into
mainfrom
szdziedzic-codex/fix-dependabot-295-immutable
Closed

Bump GraphQL codegen dependencies to patch immutable#3972
szdziedzic wants to merge 4 commits into
mainfrom
szdziedzic-codex/fix-dependabot-295-immutable

Conversation

@szdziedzic

@szdziedzic szdziedzic commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Why

Resolve https://github.com/expo/eas-cli/security/dependabot/295 by removing the vulnerable transitive immutable@3.7.6 dependency without overriding its declared semver range.

How

Re-resolved the existing @graphql-tools/relay-operation-optimizer@^7.0.0 dependency to 7.1.6. Its current dependency chain selects:

  • @ardatan/relay-compiler@13.0.1
  • @graphql-tools/utils@11.2.0
  • immutable@5.1.9

This removes the top-level Yarn resolution and deletes the legacy Relay/Babel dependency subtree from the lockfile. The direct GraphQL Codegen dependencies remain unchanged.

Updated the changelog entry to describe the transitive GraphQL codegen upgrade.

Security

  • immutable@5.1.9 is newer than the patched 5.1.5 release for GHSA-wf6x-7x77-mvgw.
  • A full recursive npm audit reports no advisories for the upgraded dependency chain.
  • Compared with the previous tree, the upgrade introduces no known advisories and removes the vulnerable y18n@4.0.0 path.
  • The upgraded releases publish npm registry signatures and provenance attestations.

Test Plan

  • corepack yarn oxfmt package.json CHANGELOG.md yarn.lock
  • corepack yarn install --immutable --check-resolutions
  • corepack yarn why immutable -R
  • GRAPHQL_SCHEMA_URL=./graphql.schema.json corepack yarn workspace eas-cli generate-graphql-code
  • Verified the local-schema GraphQL generation produces no tracked changes
  • corepack yarn build
  • corepack yarn typecheck
  • corepack yarn lint (0 errors, 14 warnings after merging current main)
  • corepack yarn fmt:check package.json CHANGELOG.md yarn.lock
  • corepack yarn lint-changelog
  • corepack yarn npm audit --all --recursive --no-deprecations --json (no advisories for the upgraded chain; unrelated monorepo findings remain)
  • EAS CLI Jest suite: 236 suites passed in the sandbox; the six environment-blocked suites were rerun with network and local socket access and all 78 tests passed
  • git diff --check

@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 60.57%. Comparing base (a716925) to head (0f719c9).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3972   +/-   ##
=======================================
  Coverage   60.57%   60.57%           
=======================================
  Files         955      955           
  Lines       42069    42069           
  Branches     8832     8832           
=======================================
  Hits        25480    25480           
  Misses      16495    16495           
  Partials       94       94           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@szdziedzic
szdziedzic requested a review from sjchmiela July 6, 2026 21:42
@szdziedzic
szdziedzic marked this pull request as ready for review July 6, 2026 21:42
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

Subscribed to pull request

File Patterns Mentions
**/* @douglowder

Generated by CodeMention

Warning: The preamble and epilogue options in commentConfiguration are deprecated. Use template instead.

@szdziedzic
szdziedzic requested a review from douglowder July 7, 2026 09:11

@sjchmiela sjchmiela left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

By yarn.lock this is a much bigger change than just immutable.

@szdziedzic
szdziedzic force-pushed the szdziedzic-codex/fix-dependabot-295-immutable branch from 855104e to 2de4ff5 Compare July 13, 2026 13:32
@szdziedzic szdziedzic changed the title Bump immutable dependency Bump GraphQL codegen dependencies to patch immutable Jul 15, 2026
…dependabot-295-immutable

# Conflicts:
#	CHANGELOG.md
#	yarn.lock
@github-actions

Copy link
Copy Markdown

✅ Thank you for adding the changelog entry!

@szdziedzic
szdziedzic requested a review from sjchmiela July 15, 2026 15:27
@sjchmiela

Copy link
Copy Markdown
Contributor

Can you confirm if this is still needed after #4009?

@douglowder douglowder left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This looks ok, although the yarn.lock diff is large enough to be a little concerning...

@sjchmiela sjchmiela left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do we still need this after #4009? It looks like that already fixed the immutable alert, and this PR is now conflicting with main.

@douglowder

Copy link
Copy Markdown
Contributor

Closing this. @szdziedzic please rebase against main, and reopen if you find that this is still needed.

@douglowder douglowder closed this Jul 22, 2026
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