Search code examples
reactjsgatsbyyarnpkgprismic.io

I get "Invalid Plugin Options" Error with Prismic Plugin in Gatsby


I'm using CodeSandbox to make a Gatsby app and I'm trying to use Prismic for the backend. I set it up nicely, I'm sure, and I installed gatsby-source-prismic to my project. However, when I add it to my config file and restart the project, it throws an error saying "Invalid Plugin Options". This is what's in my plugin file:

{
  resolve: `gatsby-source-prismic`,
  options: {
    repositoryName: `firstprism`,
    accessToken: `XXX`
  },
},

Here's the stack:

 ERROR

gatsby-source-prismic - invalid plugin options

ERROR

Expected a value of type record<string,object> forschemas but received undefined.

Error:

  • index.cjs:650 new StructError [sandbox]/[superstruct]/lib/index.cjs:650:19

  • index.cjs:707 Function.Struct.assert [sandbox]/[superstruct]/lib/index.cjs:707:13

  • index.cjs:679 Struct [sandbox]/[superstruct]/lib/index.cjs:679:19

  • gatsby-node.js:74 validatePluginOptions [sandbox]/[gatsby-source-prismic]/dist/gatsby-node.js:74:50

  • gatsby-node.js:1042 [sandbox]/[gatsby-source-prismic]/dist/gatsby-node.js:1042:25

  • Generator.next

  • gatsby-node.js:52 [sandbox]/[gatsby-source-prismic]/dist/gatsby-node.js:52:71

  • new Promise

  • gatsby-node.js:48 __awaiter [sandbox]/[gatsby-source-prismic]/dist/gatsby-node.js:48:12

  • gatsby-node.js:1029 Object.sourceNodes [sandbox]/[gatsby-source-prismic]/dist/gatsby-node.js:1029:55

  • api-runner-node.js:256 runAPI [sandbox]/[gatsby]/dist/utils/api-runner-node.js:256:37

  • api-runner-node.js:375 resolve [sandbox]/[gatsby]/dist/utils/api-runner-node.js:375:15

  • debuggability.js:384 Promise._execute [sandbox]/[bluebird]/js/release/debuggability.js:384:9

  • promise.js:518 Promise._resolveFromExecutor [sandbox]/[bluebird]/js/release/promise.js:518:18

  • promise.js:103 new Promise [sandbox]/[bluebird]/js/release/promise.js:103:10

  • api-runner-node.js:374 Promise.mapSeries.plugin [sandbox]/[gatsby]/dist/utils/api-runner-node.js:374:12


Solution

  • I just ran into this issue. It appears it is now required to provide JSON schemas, as described here in the docs : https://github.com/angeloashmore/gatsby-source-prismic#providing-json-schemas

    edit: please also refer to https://github.com/angeloashmore/gatsby-source-prismic/blob/master/docs/migrating-from-v2-to-v3.md