facebook / facebook/relay

Missmatch compiler and babel when using graphql 15.3 >

Open
#5,214 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
19k
Forks
1.9k
PR merge metrics
No merged PRs in 30d

Description

We get the following errors when using graphql 16 for queries using @argumentDefinitions.

`The definition of 'xxxx' appears to have changed. Run `relay-compiler` to update the generated files to receive the expected data.`

There seems to be a missmatch between how the compiler calculates the hash and how babel-config does it.
The print method seems to be using different logic; the babel config is using graphql.js print while relay-compiler is using its own implementation that is not always matching on graphql 16.

We are using the typescript type-generation.

Contributor guide

Open the contributing guide

Research direction

Compare the print logic used by relay-compiler with the graphql.js print path in the Babel config, focusing on @argumentDefinitions under GraphQL 16. Reproduce the generated-file hash mismatch with the TypeScript type-generation setup, then verify that both paths produce matching output and the warning no longer appears.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, javascript, typescript
Domain
build-system, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.