relay icon indicating copy to clipboard operation
relay copied to clipboard

The field named `js` in the schema causes the Relay compiler to fail when this field is requested in the query

Open SiarheiBarysenka opened this issue 1 year ago • 5 comments

Problem

The field named js in the schema causes the Relay compiler to fail when this field is requested in the query.

Steps to reproduce

  1. Define the following schema:
type Query {
  hello: String
  js: String
}

schema {
  query: Query
}
  1. Define the following query:
const query = graphql`
  query srcAppQuery {
    hello
    js
  }
`;
  1. Execute the Relay compiler to generate the query and observe the output in the console.

Expected Result

The query is generated successfully. Expected output in the console:

> [email protected] relay
> relay-compiler

[INFO] [default] compiling...
[INFO] [default] compiled documents: 1 reader, 1 normalization, 1 operation text
[INFO] Compilation completed.
[INFO] Done.

Actual Result

The query generation fails. Actual output in the console:

> [email protected] relay
> relay-compiler

[INFO] [default] compiling...
[ERROR] Error: ✖︎ 'js' should be defined on the server schema.

  src/index.ts:6:5
    5 │     hello
    6 │     js
      │     ^^
    7 │   }

[ERROR] Compilation failed.
[ERROR] Unable to run relay compiler. Error details: 
Failed to build:
 - Validation errors: 1 error(s) encountered above.

Notes

  1. If the js field is removed from the definition of srcAppQuery, the query is generated successfully (but obviously without the js field included).
  2. The sample project to reproduce the issue is available at https://github.com/SiarheiBarysenka/bug-relay-compiler-js-field .

SiarheiBarysenka avatar Jun 21 '24 11:06 SiarheiBarysenka

I was able to reproduce in the compiler explorer.

Likely some bug in our @match validation here or more likely here

captbaritone avatar Jun 22 '24 19:06 captbaritone

Thank you @captbaritone 🙏 Is this something that can be addressed in the foreseeable future?

SiarheiBarysenka avatar Jun 24 '24 08:06 SiarheiBarysenka

Hey @captbaritone I wonder if there's any update on this? Thanks!

SiarheiBarysenka avatar Jul 11 '24 14:07 SiarheiBarysenka

Hey @captbaritone Is there any updates on the fix timelines for this issue? Thanks.

SiarheiBarysenka avatar Sep 02 '24 06:09 SiarheiBarysenka

I don't think we have active plans to work on this this, but folks are welcome to look at the code pointers I shared and work on a fix or at least narrowing down where the issue is. Sorry we don't have bandwidth to fix right now.

captbaritone avatar Sep 02 '24 17:09 captbaritone