Skip to content

fix(webapp-graphql-relay)!: require one Relay peer runtime - #2

Merged
artem-korolev merged 2 commits into
mainfrom
agent/fix-relay-peer-runtime
Aug 11, 2026
Merged

fix(webapp-graphql-relay)!: require one Relay peer runtime#2
artem-korolev merged 2 commits into
mainfrom
agent/fix-relay-peer-runtime

Conversation

@artem-korolev

Copy link
Copy Markdown
Member

Summary

  • move react-relay and relay-runtime from private production dependencies
    to the exact required 20.1.1 peer pair
  • keep the pair as exact development dependencies and document the direct
    install and 2.x migration contract
  • add an isolated publish-equivalent npm/pnpm consumer matrix covering tarball
    provenance, singleton identity, CJS/ESM/Vite, strict types, Relay compiler,
    and real provider/hook rendering
  • add a major Rush change for only
    @omgjs/labkit-webapp-graphql-relay

Root cause

The package created Relay environments and preloaded query references using
private Relay dependencies while application-owned providers and hooks could
resolve another Relay graph. Stateful Relay objects could therefore cross an
implementation boundary that the package metadata allowed but the library
architecture does not support.

Breaking change

Consumers must directly install the supported pair:

npm install react-relay@20.1.1 relay-runtime@20.1.1

The Rush release preview resolves the package from 2.0.0 to 3.0.0.

Validation

  • npm run test:relay-consumer-contract
  • npm run rush:install
  • npm run rush:build
  • npm run rush:lint
  • serialized Rush test and verify across all 15 projects
  • npm run site:docusaurus:check
  • committed Rush change verification against origin/main
  • changed-surface Trunk check

The full-repository Trunk scan still reports pre-existing Dockerfile, older
workflow-action, generated changelog, and dependency-advisory findings; no
task-scoped Trunk issue remains.

Add independent implementation plans for the Relay peer-runtime packaging bug and the TanStack route-query lifecycle matrix. Define scope, decision gates, fixture architecture, CI coverage, documentation, release guidance, and acceptance criteria for each effort.
Move react-relay and relay-runtime to an exact required peer pair with matching development dependencies. Add a publish-equivalent npm/pnpm consumer matrix, singleton identity checks, migration documentation, CI coverage, and a major Rush change.

BREAKING CHANGE: Applications must directly install react-relay@20.1.1 and relay-runtime@20.1.1 when using @omgjs/labkit-webapp-graphql-relay.
@artem-korolev
artem-korolev marked this pull request as ready for review August 11, 2026 13:26
@artem-korolev
artem-korolev merged commit c70924b into main Aug 11, 2026
1 check passed
@artem-korolev
artem-korolev deleted the agent/fix-relay-peer-runtime branch August 11, 2026 13:32
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.

1 participant