Gatsby: [gatsby-source-contentful] Errors due to missing fields in GraphQL schema

Created on 6 Dec 2017  路  5Comments  路  Source: gatsbyjs/gatsby

Suddenly ran into issues building and running my site with gatsby-source-contentful. I get several different errors, all of which stem from this error which occurs after the success update schema step:

GraphQL Error There was an error while compiling your site's GraphQL queries.
  Invariant Violation: GraphQLParser: Unknown field `file` on type `heroImage_2`. Source: document `BlogPosts` file: `GraphQL request`.

To explain this error, I have a field HeroImage on my content type in Contentful. Previously, I could access the file and url through a graphql request as follows:

heroImage{
  file {
     url
  }
}

Now, however, I cannot access the file and url, but I can only access a sys field on HeroImage_2. Why would this change? Is this based on the data coming through from Contentful?

The errors I see when building + developing my site:

When trying to deploy my site, I get the following error:

6:19:03 PM: error Building static HTML for pages failed
6:19:03 PM: See our docs page on debugging HTML builds for help https://goo.gl/yL9lND
6:19:03 PM: 
6:19:03 PM:   Error: Module build failed: SyntaxError: Unexpected end of JSON input
6:19:03 PM:   
6:19:03 PM:   - JSON.parse
6:19:03 PM:   
6:19:04 PM:   - index.js:4 Object.module.exports
6:19:04 PM:     [repo]/[json-loader]/index.js:4:49
6:19:04 PM:   
6:19:04 PM:   - @ ./.cache/sync-requires.js 37:13558-13667
6:19:04 PM:   

When running gatsby develop locally I get this error:
```

ERROR Failed to compile with 2 errors 18:45:22

error in ./.cache/json/file-path-file-name.json

Syntax Error: Unexpected end of JSON input
at JSON.parse ()

@ ./.cache/sync-requires.js 38:22893-23025
```.

This has happened twice today, and the first time it seemed to fix itself. But it's come back now and I don't know how to move forward in debuggging this.

Why would the GraphQL schema that Gatsby is referencing change when my content type in Contentful has not? Is this possibly an issue from Contentful themselves?

Most helpful comment

Okay, attempting to link to unpublished media with the Delivery token in Contentful is the source of the problem here. Terribly hard to figure that out though, maybe there should be something about that in an FAQ for Gatsby and Contentful.

All 5 comments

Had the same Unexpected end of JSON input error from sync-requires.js, I upgraded Node to 8.9.3 and it seems to have fixed it

Should be fixed in #3218 lemme know if you're still seeing troubles!

I'm still seeing this issue, but just the schema problem, nothing about JSON parsing problems.

It's very strange, I don't usually see it in gatsby develop, but it's happening consistently on Netlify when building the site for deployment. Restarting the gatsby develop process seemed to fix it, but I'm not sure why. Maybe some sort of caching issue around the Contentful schema?

Okay, attempting to link to unpublished media with the Delivery token in Contentful is the source of the problem here. Terribly hard to figure that out though, maybe there should be something about that in an FAQ for Gatsby and Contentful.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ferMartz picture ferMartz  路  3Comments

timbrandin picture timbrandin  路  3Comments

rossPatton picture rossPatton  路  3Comments

magicly picture magicly  路  3Comments

kalinchernev picture kalinchernev  路  3Comments