Giter Site home page Giter Site logo

gatsby-source-strapi's Introduction

Welcome to the Gatsby User Collective!

The Gatsby UC was born out of a desire to create higher quality plugins in the Gatsby ecosystem by reducing maintainer work loads.

Goals

Most Gatsby plugin projects aren't massive. Sometimes they need regular maintenance, a lot of the time they do not. Either way, original authors become unable or willing to maintain a plugin at any given moment or maybe indefinately. This is not a comdemnation, it's a fact of life that sometimes maintainers need to move on. No matter the cause, this results in plugins going un-maintained by their authors. Others are willing and able to help; but the bottle neck that cannot be bypassed. At times this means fixing bugs in less ideal ways, creating duplicate implementations of plugins, etc. The Gatsby User collective's goal is to demorcratize the maintenance of these plugins to allow more folks to assist in their maintenance.

Info

The details of this community is still being flushed out. As problems arrize we will solve them together and in an open fasion. For now check out

  • Code of conduct [TBA]
  • Submitting a plugin to the UC [TBA]
  • ...

gatsby-source-strapi's People

Contributors

8byr0 avatar adeve avatar alexandrebodin avatar blurfx avatar denisgoryaynov avatar dependabot[bot] avatar dorelljames avatar gonzochic avatar javialon26 avatar kminhc avatar laurenskling avatar lauriejim avatar limichange avatar lubomirgeorgiev avatar mariolopjr avatar markkaylor avatar mcastres avatar mrowa96 avatar mwoelk avatar naismith avatar ostrgard avatar pierreburgy avatar priestch avatar radoslawhryciow avatar remidej avatar rezof avatar soupette avatar tscheiki avatar tylerpaige avatar visualfanatic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gatsby-source-strapi's Issues

Fetch images from nested Objects / Referenced Ressources

I have the following issue:

Imagine you have two Tables: Category and Product. In Strapi every Product has a reference to a Category + every product has a thumbnail (Image) as well es every Product.

In the scenario that I have a Category Page in Gatsby I would like to fetch all Product which are related to the selected Category. This works.

What doesn't work: the thumbnail field of the related products is not populated. Well i recognized this is not an Error of this projects. This is just because I have to populate this field in the Strapi Services (see strapi/strapi#1783)

Well, after doing this my a thumbnail field was added to the nodes, but it wasn't of type File which is need to reference the React code to the local copy of the image. Looking at the part where the Strapi plugin tries to detect if the MIME is present and therefore create an File type (besides other things) only checks the first level.

for (let item of entity) {
        // loop item over fields
        for (const key of Object.keys(item)) {
          const field = item[key]
          // image fields have a mime property among other
          // maybe should find a better test
          if (field !== null && field.hasOwnProperty('mime')) {
           // create a file
          }
     }
}

I created a fix to check if there is a relation and run this code also on the related field.

Node id must be string

#6
I think this is still an issue with mysql/postgres DB backend, because the id always is a number. Please add a String method or similar to line 17 in nodes.js file.

error Plugin gatsby-source-strapi returned an error

Hi there,

I've followed the tutorial about gatsby and simple articles blog but I have an Issue.

I have this error:

`error Plugin gatsby-source-strapi returned an error

Error: Request failed with status code 403

  • createError.js:16 createError
    [app]/[axios]/lib/core/createError.js:16:15

  • settle.js:18 settle
    [app]/[axios]/lib/core/settle.js:18:12

  • http.js:192 IncomingMessage.handleStreamEnd
    [app]/[axios]/lib/adapters/http.js:192:11

  • next_tick.js:139 _combinedTickCallback
    internal/process/next_tick.js:139:11

  • next_tick.js:181 process._tickCallback
    internal/process/next_tick.js:181:9

Fetch Strapi data: 53.412ms
[LOADER] source and transform nodes
`

So that comes in when I have modified the file gatsby-config.js with the informations provided in documentation and tutorial. The strapi server start but gatsby fail when I've made the modification.

I have already see in closed issue a guy with the same problem on Gatsby but I don't want to just throw problem away. I'm on MacOS (High Sierra)

Do you have any ideas ? Someone have problem with gatsby install & launch gatsby on MacOS ?

Error console.timeEnd() when gatsby build

Hi guys, thanks for the plugin.

I have a error when gatsby build.
스크린샷 2019-05-22 오후 6 57 59

my strapi plugin config

 resolve: `gatsby-source-strapi`,
 options: {
 apiURL: process.env.STRAPI_ENDPOINT,
 queryLimit: 1000, // Default to 100
 contentTypes: [`post`, `user`, `archive`],

can you help me?

How to add Markdown in Gatsby?

When I use Markdown in the Strapy text editor, it is displayed in plain text in the front of Gatsby. How to translate it into html?

ex.
Strapi Draft text editor: # My Title
Gatsby frontend: "# My Title", instead

My Title

GATSBY - STRAPI INSTALL ISSUES

Node.js version: v11.2.0
npm version: 6.4.1
Strapi version: 3.0.0-alpha.14.5
Database: mongodb
Operating system: MAC OS

Following the intsructions here:
https://blog.strapi.io/building-a-static-website-using-gatsby-and-strapi/

Have tried to read previous boards and have not found a solution. This is my first time to work with strapi and gatsby. All has not been smoothe sailing, but created, as per tutorial, a directory gatsby-strapi tutorial. I know I can import from examples, but I am trying to get an install to run directly on my own, to understand better how it may work or not for me and others.

Also, as per instructions, created user, created content, changed permissions to public and user as 'find.' So, til now, it seems to be working.

Running mongod/mongo, all fine. But as soon as I try type gatsby develop (maybe this is the wrong command?!) after the suggested restarting of server

Then, restart the server to let Gatsby consider these updates.

... error messages begin. This is the message I receive:

Frantz-Fanon:gatsby-strapi-tutorial XXXXXXX$ cd blog
Frantz-Fanon:blog XXXXXXX$ gatsby develop
success open and validate gatsby-config — 0.004 s
success load plugins — 0.097 s
success onPreInit — 0.026 s
success delete html and css files from previous builds — 0.012 s
success initialize cache — 0.007 s
success copy gatsby files — 0.036 s
success onPreBootstrap — 0.005 s
success source and transform nodes — 0.019 s
success building schema — 0.091 s
success createPages — 0.001 s
success createPagesStatefully — 0.025 s
success onPreExtractQueries — 0.000 s
success update schema — 0.049 s
GraphQL Error Unknown field `file` on type `Query`

  file: /Users/XXXXXXX/gatsby-strapi-tutorial/blog/src/components/image.js

   1 | 
   2 |       query {
>  3 |         placeholderImage: file(relativePath: { eq: "gatsby-astronaut.png" }) {
     |                           ^
   4 |           childImageSharp {
   5 |             fluid(maxWidth: 300) {
   6 |               ...GatsbyImageSharpFluid
   7 |             }
   8 |           }
   9 |         }
  10 |       }
  11 |     

success extract queries from components — 0.052 s
⠁ (node:11959) DeprecationWarning: Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.
success run graphql queries — 0.013 s — 5/5 424.42 queries/second
success write out page data — 0.004 s
success write out redirect data — 0.001 s
success onPostBootstrap — 0.001 s

info bootstrap finished - 2.188 s

 ERROR  Failed to compile with 2 errors                               3:54:49 AM

 error  in ./src/components/layout.js

Module Error (from ./node_modules/eslint-loader/index.js):

/Users/XXXXXXXX/gatsby-strapi-tutorial/blog/src/components/layout.js
  14:11  error  Cannot query field "siteMetadata" on type "Site"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)


 @ ./src/pages/404.js 10:0-42 13:29-35
 @ ./.cache/sync-requires.js
 @ ./.cache/app.js
 @ multi ./node_modules/react-hot-loader/patch.js (webpack)-hot-middleware/client.js?path=http://localhost:8000/__webpack_hmr&reload=true&overlay=false ./.cache/app

 error  in ./src/pages/index.js

Module Error (from ./node_modules/eslint-loader/index.js):

/Users/XXXXXX/gatsby-strapi-tutorial/blog/src/pages/index.js
  30:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)


 @ ./.cache/sync-requires.js 15:50-127
 @ ./.cache/app.js
 @ multi ./node_modules/react-hot-loader/patch.js (webpack)-hot-middleware/client.js?path=http://localhost:8000/__webpack_hmr&reload=true&overlay=false ./.cache/app

✖ 「wdm」: 
ERROR in ./src/components/layout.js
Module Error (from ./node_modules/eslint-loader/index.js):

/Users/XXXXXX/gatsby-strapi-tutorial/blog/src/components/layout.js
  14:11  error  Cannot query field "siteMetadata" on type "Site"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)

 @ ./src/pages/404.js 10:0-42 13:29-35
 @ ./.cache/sync-requires.js
 @ ./.cache/app.js
 @ multi ./node_modules/react-hot-loader/patch.js (webpack)-hot-middleware/client.js?path=http://localhost:8000/__webpack_hmr&reload=true&overlay=false ./.cache/app

ERROR in ./src/pages/index.js
Module Error (from ./node_modules/eslint-loader/index.js):

/Users/XXXXXX/gatsby-strapi-tutorial/blog/src/pages/index.js
  30:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)

 @ ./.cache/sync-requires.js 15:50-127
 @ ./.cache/app.js
 @ multi ./node_modules/react-hot-loader/patch.js (webpack)-hot-middleware/client.js?path=http://localhost:8000/__webpack_hmr&reload=true&overlay=false ./.cache/app
ℹ 「wdm」: Failed to compile.
 WAIT  Compiling...                                                   3:54:49 AM

ℹ 「wdm」: Compiling...
 ERROR  Failed to compile with 2 errors                               3:54:49 AM

 error  in ./src/components/layout.js

Module Error (from ./node_modules/eslint-loader/index.js):

/Users/XXXXXX/gatsby-strapi-tutorial/blog/src/components/layout.js
  14:11  error  Cannot query field "siteMetadata" on type "Site"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)


 @ ./src/pages/404.js 10:0-42 13:29-35
 @ ./.cache/sync-requires.js
 @ ./.cache/app.js
 @ multi ./node_modules/react-hot-loader/patch.js (webpack)-hot-middleware/client.js?path=http://localhost:8000/__webpack_hmr&reload=true&overlay=false ./.cache/app

 error  in ./src/pages/index.js

Module Error (from ./node_modules/eslint-loader/index.js):

/Users/XXXXXX/gatsby-strapi-tutorial/blog/src/pages/index.js
  30:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)


 @ ./.cache/sync-requires.js 15:50-127
 @ ./.cache/app.js
 @ multi ./node_modules/react-hot-loader/patch.js (webpack)-hot-middleware/client.js?path=http://localhost:8000/__webpack_hmr&reload=true&overlay=false ./.cache/app

✖ 「wdm」: 
ERROR in ./src/components/layout.js
Module Error (from ./node_modules/eslint-loader/index.js):

/Users/XXXXXX/gatsby-strapi-tutorial/blog/src/components/layout.js
  14:11  error  Cannot query field "siteMetadata" on type "Site"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)

 @ ./src/pages/404.js 10:0-42 13:29-35
 @ ./.cache/sync-requires.js
 @ ./.cache/app.js
 @ multi ./node_modules/react-hot-loader/patch.js (webpack)-hot-middleware/client.js?path=http://localhost:8000/__webpack_hmr&reload=true&overlay=false ./.cache/app

ERROR in ./src/pages/index.js
Module Error (from ./node_modules/eslint-loader/index.js):

/Users/XXXXXXX/gatsby-strapi-tutorial/blog/src/pages/index.js
  30:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)

 @ ./.cache/sync-requires.js 15:50-127
 @ ./.cache/app.js
 @ multi ./node_modules/react-hot-loader/patch.js (webpack)-hot-middleware/client.js?path=http://localhost:8000/__webpack_hmr&reload=true&overlay=false ./.cache/app
ℹ 「wdm」: Failed to compile.

I should also note that for the gatsby-config.js file, I have tried from:
https://github.com/strapi/gatsby-source-strapi

 In your gatsby-config.js
plugins: [
  {
    resolve: `gatsby-source-strapi`,
    options: {
      apiURL: `http://localhost:1337`,
      contentTypes: [`article`, `user`],
      // Possibility to login with a strapi user, when content types are not publically available (optional).
      loginData: {
        identifier: "",
        password: "",
      },
    },
  },
]

........ as well as the one config suggested in the abovementioned tutorial

module.exports = {
  siteMetadata: {
    title: 'Gatsby Default Starter',
  },
  plugins: [
    'gatsby-plugin-react-helmet',
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `images`,
        path: `${__dirname}/src/images`,
      },
    },
    {
      resolve: 'gatsby-source-strapi',
      options: {
        apiURL: 'http://localhost:1337',
        contentTypes: [ // List of the Content Types you want to be able to request from Gatsby.
          'article',
          'user'
        ]
      },
    },
    'gatsby-transformer-sharp',
    'gatsby-plugin-sharp',
    {
      resolve: `gatsby-plugin-manifest`,
      options: {
        name: 'gatsby-starter-default',
        short_name: 'starter',
        start_url: '/',
        background_color: '#663399',
        theme_color: '#663399',
        display: 'minimal-ui',
        icon: 'src/images/gatsby-icon.png', // This path is relative to the root of the site.
      },
    },
    'gatsby-plugin-offline',
  ],
}

.................using the latter config file I get the following error message:

success open and validate gatsby-config — 0.007 s
 
Your plugins must export known APIs from their gatsby-browser.js.
The following exports aren't APIs. Perhaps you made a typo or your plugin is outdated?

See https://www.gatsbyjs.org/docs/browser-apis/ for the list of Gatsby Browser APIs

- The plugin "[email protected]" is exporting a variable named "onPostPrefetchPathname" which isn't an API.

Perhaps you meant to export "onPrefetchPathname"?
success load plugins — 0.167 s
success onPreInit — 0.400 s
success delete html and css files from previous builds — 0.020 s
info One or more of your plugins have changed since the last time you ran Gatsby. As
a precaution, we're deleting your site's cache to ensure there's not any stale
data
success initialize cache — 0.032 s
success copy gatsby files — 0.033 s
success onPreBootstrap — 0.006 s
⠁ Starting to fetch data from Strapi (articles)
Starting to fetch data from Strapi (users)
(node:12036) Warning: Label 'Fetch Strapi data' already exists for console.time()
error Plugin gatsby-source-strapi returned an error


  Error: connect ECONNREFUSED 127.0.0.1:1337

error UNHANDLED REJECTION


  TypeError: Cannot read property 'filter' of undefined
  
  - api-runner-node.js:287 Promise.mapSeries.catch.then.results
    [blog]/[gatsby]/dist/utils/api-runner-node.js:287:42
  
  - util.js:16 tryCatcher
    [blog]/[bluebird]/js/release/util.js:16:23
  
  - promise.js:512 Promise._settlePromiseFromHandler
    [blog]/[bluebird]/js/release/promise.js:512:31
  
  - promise.js:569 Promise._settlePromise
    [blog]/[bluebird]/js/release/promise.js:569:18
  
  - promise.js:614 Promise._settlePromise0
    [blog]/[bluebird]/js/release/promise.js:614:10
  
  - promise.js:694 Promise._settlePromises
    [blog]/[bluebird]/js/release/promise.js:694:18
  
  - async.js:138 _drainQueueStep
    [blog]/[bluebird]/js/release/async.js:138:12
  
  - async.js:131 _drainQueue
    [blog]/[bluebird]/js/release/async.js:131:9
  
  - async.js:147 Async._drainQueues
    [blog]/[bluebird]/js/release/async.js:147:5
  
  - async.js:17 Immediate.Async.drainQueues [as _onImmediate]
    [blog]/[bluebird]/js/release/async.js:17:14

Unable to retrieve content of type 'file'

Hi. This could well be me doing something wrong, but I can't seem to retrieve any file information, for example in the two scenarios below. Any tips? Thanks.

// In page template
// 'image' is of type 'file'

export const query = graphql`
  query UserTemplate($username: String!) {
    strapiUser(username: { eq: $username }) {
      id
      username
      products {
        id
        slug
        title
        image {
          url
        }
      }
    }
  }
`;

Gives GraphQL Error Unknown field image on type [products_2]

// In gatsby-config.js

        contentTypes: [
          'article',
          'user',
          'product',
          'file'
        ],

Data returns empty

Hello!

I'm using docker containers for mongo, strapi and gatsby, everything is running perfect without querying data. So, when I put the gatsby-source-strapi in gatsby-config file all the data that I try to request inside of any gatsby page returns with no content, all fields null. And, when I do the same using Strapi's paths the data is returned normally.

Stack (all stable)

  • Docker:latest
  • Strapi:latest
  • Gatsby:latest
  • Mongo:latest

error (node:68661) Warning: No such label 'Fetch Strapi data' for

Describe the bug

After installing the gatsby-source-strapi plugin, and when we run Gatsby we get the following error:

error (node:68661) Warning: No such label 'Fetch Strapi data' for

Steps to reproduce the behavior

Install gatsby-soruce-strapi
create a content-type
create a template
query the graph with a graphql query
display the data.

Expected behavior

to display the data without console error. The data is displayed but we get errors.

System

Latest versions of Gatsby
Latest Beta and Alpha versions of Strapi

Additional context

The error seems to be coming from this file:

https://github.com/strapi/gatsby-source-strapi/blob/master/src/fetch.js

Node is must be globally unique

If I import more than 1 content type, the id of each node collisions and only one content type is created.

This happens because in Gatsby the node id must be globally unique. Maybe this is not an issue with Mongo but in MySQL or Postgres the content types ids are numbers.

I fixed this concatenating the type and the id in the nodes.js files (line 17).

Strapi GraphQL filter sort and where not working

When adding sort or where to query returns error.

Sort returns:
Module Error (from ./node_modules/eslint-loader/index.js):
Expected type StrapiModuleSortInput, found "order:asc"

Where returns:
If I try where it returns. Unknown argument "where" on field "allStrapiModule" of type "Query".

My query looks like this:

query LandingPageQuery {
	  allStrapiModule(sort: "order:asc") {
		edges {
			node {
				id
				title
			}
		}
	}
}

Version:
Gatsby 2.4.2
Gatsby-source-strapi v0.0.8
React 16.8.6

What might be the problem?

gatsby-and-strapi static blog error

Having error while trying the tutorial : https://blog.strapi.io/building-a-static-website-using-gatsby-and-strapi/

$ gatsby develop
success delete html and css files from previous builds — 0.039 s
success open and validate gatsby-config — 0.017 s
success copy gatsby files — 0.746 s
success onPreBootstrap — 0.787 s
Starting to fetch data from Strapi (article)
Starting to fetch data from Strapi (user)
error Plugin gatsby-source-strapi returned an error

Error: Request failed with status code 404

  • createError.js:16 createError
    [blog]/[axios]/lib/core/createError.js:16:15

  • settle.js:18 settle
    [blog]/[axios]/lib/core/settle.js:18:12

  • http.js:192 IncomingMessage.handleStreamEnd
    [blog]/[axios]/lib/adapters/http.js:192:11

  • next_tick.js:138 _combinedTickCallback
    internal/process/next_tick.js:138:11

  • next_tick.js:180 process._tickCallback
    internal/process/next_tick.js:180:9

The gatsby-source-strapi plugin has generated no Gatsby nodes

But there is no error.

success open and validate gatsby-configs — 0.011 s
success load plugins — 0.411 s
success onPreInit — 0.484 s
success delete html and css files from previous builds — 0.021 s
success initialize cache — 0.009 s
success copy gatsby files — 0.023 s
success onPreBootstrap — 0.007 s
⠂ source and transform nodesStarting to fetch data from Strapi (posts)
⡀ source and transform nodesFetch Strapi data: 176.250ms
warning The gatsby-source-strapi plugin has generated no Gatsby nodes. Do you need it?
success source and transform nodes — 0.254 s
success building schema — 0.434 s
success createPages — 0.001 s
success createPagesStatefully — 0.049 s
success onPreExtractQueries — 0.005 s
success update schema — 0.312 s
success extract queries from components — 0.247 s
success run graphql queries — 0.108 s — 8/8 75.45 queries/second
success write out page data — 0.005 s
success write out redirect data — 0.001 s
⠐ onPostBootstrapdone generating icons for manifest
success onPostBootstrap — 0.380 s

gatsby.config.js

    {
      resolve: `gatsby-source-strapi`,
      options: {
        apiURL: `https://redacted`,
        contentTypes: [`post`]
      },
    },

If I go to https://redacted/posts directly from the browser, it returns a json with the posts.

Permissions for Public

image

Graphqli

image

Any idea what could be wrong?

Error when add many contentTypes

In the gatsby-config. I add:

> `{
>       resolve: "gatsby-source-strapi",
>       options: {
>         apiURL: "https://admin-cms-portfolio-int.linkplatforms.com",
>         contentTypes: [`phonenumber`, `faq`, `repaircenter`] // 3 contentTypes
>       }
>     }`
> 

When creating a node. It shows some warning:

> `⠁ Starting to fetch data from Strapi (phonenumbers)
> Starting to fetch data from Strapi (faqs)
> Starting to fetch data from Strapi (repaircenters)
> ⠐ source and transform nodesFetch Strapi data: 1344.470ms
> (node:88746) Warning: No such label 'Fetch Strapi data' for console.timeEnd()
> ⢀ source and transform nodes(node:88746) Warning: No such label 'Fetch Strapi data' for console.timeEnd()`

Only the first ContentType is created GatsbyNode.

After that, I check on Gatsby GraphQLi: only 1 Content-Type is listed.
image

When I restart my server, sometime it list content-type "phonenumber', sometimes "faq", or "repaircenter" but just 1.
"gatsby-source-strapi": "0.0.5",
"gatsby": "^2.0.0-rc.15",

Image in GraphQL doesn't have childImageSharp

Describe the bug
A clear and concise description of what the bug is.
image doesn't have a childImageSharp

  36:13  error  Cannot query field "childImageSharp" on type "StrapiArticleImage"  graphql/template-strings

Steps to reproduce the behavior

  1. Go to 'https://blog.strapi.io/building-a-static-website-using-gatsby-and-strapi/', and follow the steps to add images.

  2. Scroll down to the section in the tutorial to update the index.js
    Adding images
    To add images, we will need to import Img from package gatsby-image installed by default.
    Replace the content of blog/src/pages/index.js with the following :

    Path: src/pages/index.js

  3. Run gatsby develop

  4. See error

info ℹ 「wdm」: Compiling...
 ERROR  Failed to compile with 1 errors                                                                                                     4:13:14 PM
⠀
 error  in ./src/pages/index.js
⠀
Module Error (from ./node_modules/eslint-loader/index.js):

/Users/rjain/code/gatsby-strapi-tutorial/blog/src/pages/index.js
  36:13  error  Cannot query field "childImageSharp" on type "StrapiArticleImage"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)


 @ ./.cache/sync-requires.js 17:54-129
 @ ./.cache/app.js
 @ multi ./node_modules/event-source-polyfill/src/eventsource.js (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false
⠀
error ✖ 「wdm」:
ERROR in ./src/pages/index.js
Module Error (from ./node_modules/eslint-loader/index.js):

/Users/rjain/code/gatsby-strapi-tutorial/blog/src/pages/index.js
  36:13  error  Cannot query field "childImageSharp" on type "StrapiArticleImage"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)

 @ ./.cache/sync-requires.js 17:54-129
 @ ./.cache/app.js
 @ multi ./node_modules/event-source-polyfill/src/eventsource.js (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false
info ℹ 「wdm」: Failed to compile.

Expected behavior
A clear and concise description of what you expected to happen.
I should either see the image in graphql or do I need to use the url, currently the tutorial says, the childImageSharp has the image.
image {
childImageSharp {
fixed(width: 200, height: 125) {
...GatsbyImageSharpFixed
}
}
}

Screenshots
If applicable, add screenshots to help explain your problem.
In the graphql, I see the image, but there is no childImageSharp?

image

Code snippets
If applicable, add code samples to help explain your problem.

My index.js is cut-paste from the tutorial.
Here is the output from strapi http://localhost:1337/articles

[{"_id":"5cf7df5ba5092901c002c732","title":"The Karma Spices ","content":"This is the home page of the Karma Spices","createdAt":"2019-06-05T15:27:23.407Z","updatedAt":"2019-06-05T20:45:25.606Z","__v":0,"id":"5cf7df5ba5092901c002c732","user":{"confirmed":true,"blocked":false,"_id":"5cf72f4a0ca16d0289cea696","username":"rjain15","email":"[email protected]","provider":"local","role":"5cf72ec90ca16d0289cea5b2","__v":0,"id":"5cf72f4a0ca16d0289cea696"},"image":[{"_id":"5cf829e57502a723166f90f3","name":"Karma.png","sha256":"TItalOoPUlqD9uPK9eCO3qoaD1xUdxQaVAvgWbw6ZpY","hash":"1b22392c85d044b1b5a2fd1c0dbc0863","ext":".png","mime":"image/png","size":"46.91","url":"/uploads/1b22392c85d044b1b5a2fd1c0dbc0863.png","provider":"local","related":["5cf7df5ba5092901c002c732"],"createdAt":"2019-06-05T20:45:25.676Z","updatedAt":"2019-06-05T20:45:25.701Z","__v":0,"id":"5cf829e57502a723166f90f3"}]},{"_id":"5cf7df7aa5092901c002c733","title":"Catalog of Spices","content":"This is the catalog of all the spices","createdAt":"2019-06-05T15:27:54.218Z","updatedAt":"2019-06-05T21:04:28.764Z","__v":0,"id":"5cf7df7aa5092901c002c733","user":{"confirmed":true,"blocked":false,"_id":"5cf72f4a0ca16d0289cea696","username":"rjain15","email":"[email protected]","provider":"local","role":"5cf72ec90ca16d0289cea5b2","__v":0,"id":"5cf72f4a0ca16d0289cea696"},"image":[{"_id":"5cf82a9d7502a723166f90f6","name":"large_square_Ceylon__True__Cinnamon__Ground__close.jpg","sha256":"hI-vEXwsNYoXq_5oL5TVIMrjvB4NvmUX1qIa0Us12Mc","hash":"6089ea39075d4ffa9aa41a3d3b446621","ext":".jpg","mime":"image/jpeg","size":"165.12","url":"/uploads/6089ea39075d4ffa9aa41a3d3b446621.jpg","provider":"local","related":["5cf7df7aa5092901c002c733"],"createdAt":"2019-06-05T20:48:29.027Z","updatedAt":"2019-06-05T20:48:29.033Z","__v":0,"id":"5cf82a9d7502a723166f90f6"},{"_id":"5cf82a9d7502a723166f90f5","name":"1200-6356-cardamom-photo3.jpg","sha256":"cNtNveEW1lB0Ef6J2IAKl5L7DMzxTmO7QwN0jIFxbjA","hash":"eeae7454c96547a2ac442988a9577436","ext":".jpg","mime":"image/jpeg","size":"140.81","url":"/uploads/eeae7454c96547a2ac442988a9577436.jpg","provider":"local","related":["5cf7df7aa5092901c002c733"],"createdAt":"2019-06-05T20:48:29.023Z","updatedAt":"2019-06-05T20:48:29.029Z","__v":0,"id":"5cf82a9d7502a723166f90f5"}]},{"_id":"5cf7df8ca5092901c002c734","title":"Catalog of Flours","content":"Catalog of Flours","createdAt":"2019-06-05T15:28:12.803Z","updatedAt":"2019-06-05T21:04:25.038Z","__v":0,"id":"5cf7df8ca5092901c002c734","user":{"confirmed":true,"blocked":false,"_id":"5cf72f4a0ca16d0289cea696","username":"rjain15","email":"[email protected]","provider":"local","role":"5cf72ec90ca16d0289cea5b2","__v":0,"id":"5cf72f4a0ca16d0289cea696"},"image":[{"_id":"5cf82b227502a723166f90fc","name":"_DSC5291_Ragi_Flour-500x350.jpg","sha256":"VhYhcNPB4WHsQP5jJZg-n5ZA9xdgchfyxk9cdS1zrZ8","hash":"92aea9504add45909c5b0f7e91517f72","ext":".jpg","mime":"image/jpeg","size":"54.42","url":"/uploads/92aea9504add45909c5b0f7e91517f72.jpg","provider":"local","related":["5cf7df8ca5092901c002c734"],"createdAt":"2019-06-05T20:50:42.762Z","updatedAt":"2019-06-05T20:50:42.773Z","__v":0,"id":"5cf82b227502a723166f90fc"},{"_id":"5cf82b227502a723166f90fa","name":"jowar_rava_2__1__77418.1540025200.jpg","sha256":"-AlSlgyc3NBlhpJDSvxKhVrtqrJKuI7TMQlMViAdp5s","hash":"6566a5be65034e25b102a8ecc9e5715c","ext":".jpg","mime":"image/jpeg","size":"118.22","url":"/uploads/6566a5be65034e25b102a8ecc9e5715c.jpg","provider":"local","related":["5cf7df8ca5092901c002c734"],"createdAt":"2019-06-05T20:50:42.758Z","updatedAt":"2019-06-05T20:50:42.769Z","__v":0,"id":"5cf82b227502a723166f90fa"},{"_id":"5cf82b227502a723166f90f9","name":"Barley-Flour-min.jpg","sha256":"ivT8oDyljKq25haknFroPFqtxnbm1Oz7mxWf65cUQUg","hash":"87eac8544f6c46958fdd84ffcf34f709","ext":".jpg","mime":"image/jpeg","size":"114.85","url":"/uploads/87eac8544f6c46958fdd84ffcf34f709.jpg","provider":"local","related":["5cf7df8ca5092901c002c734"],"createdAt":"2019-06-05T20:50:42.754Z","updatedAt":"2019-06-05T20:50:42.759Z","__v":0,"id":"5cf82b227502a723166f90f9"}]}]

System

  • Node.js version:
    node v10.14.1
  • NPM version: npm v6.9.0
  • Strapi version:
    strapi --version 3.0.0-beta.1
  • Database: mongodb (part of the strapi-docker, and it works perfectly fine)
  • Operating system: MacOS

Additional context
Add any other context about the problem here.

Possible fallback for when targeted Strapi host is down

Hello! First of all, thanks for this awesome plugin.

While developing my Gatsby application with this plugin enabled, I ran through the case when the Strapi host was not running yet (in my case, dockerized on my machine) and at the time of doing gatsby develop I (obviously) got an error with the following message:

error Plugin gatsby-source-strapi returned an error
Error: connect ECONNREFUSED 127.0.0.1:1337

I was wondering if there's a chance to skip plugin's initialization when the Strapi host is not found, and continue with the rest of Gatsby steps to effectively build the app; of course, it's up to the developer to handle all specific flows when consuming Strapi API (via GraphQL and Gatsby custom interfaces).

This way, we are not only blocking the developer from keep on working on the app if Strapi is unavailable, but also providing a way to test and handle connectivity issues between Gatsby and Strapi, altogether.

Let me know your thoughts on this.
Thanks again!

Transformer remark integration

Hi..
I was wondering if I can make content types with Strapi that will be consumed by the gatsby-transformer-remark and so on. The reason for that is that I use the gatbsy-remark-component to make custom components work in markdown files so I was wondering if I can "delegate" the content from Strapi to these plugins.

Thanks

Consider handling trailing forwardslash for apiURL

Hello,

I was a pit perplexed today trying to connect to my remote server. It wasn't until looking at source did I realize that a slash is manually added in fetch.js and updated my config.

Having looked through the tutorial previously, I don't remember this being documented. Maybe it could be handled or documentation added stating not to add a slash. Happy to submit a PR either way.

Strapi GraphQL Interfaces

Using this plugin, is it possible to access graphql interfaces created in Strapi?
Here's a link showing a simplified version of my Strapi setup using an interface,
https://github.com/strapi/strapi/issues/1876.

Ultimately I'd like to perform queries like this in Gatsby:

query {
	search {
		name
		... on StrapiSearchableBook {
			author
		}
		... on StrapiSearchableMovie {
			director
		}
	}
}

warn Calling "touchNode" with a nodeId is deprecated.

Describe the bug

Deprecated function calls within the plugin.

Steps to reproduce the behavior

Run a Gatsby installed with Strapi.

Expected behavior

Not to have warnings

System

Latest Gatsby version and Strapi Beta.

Additional context

The following warn is being generated.

warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi
warn Calling "touchNode" with a nodeId is deprecated. Please pass an object
"touchNode" was called by gatsby-source-strapi

Find an additional official maintainer for `gatsby-source-strapi` plugin

Gatsby and Strapi play very nicely together. In fact, Strapi is the logical choice for individuals and companies who need a secure, open-source and customizable headless CMS along-side the front-end benefits that Gatsby offers.

In parallel to the work being performed by the Strapi Core team and the many Strapi community members who contribute to code, documentation, and issues. The official plugins also need to be maintained and improved upon. Due to time constraints, we are searching for community members to help us by becoming official maintainers to the plugin.

We welcome contributions from anyone in the community who sees a way to improve the product, but if you have experience using Strapi with Gatsby and see a vision on how to integrate and improve it, please reach out if you'd like to be part of the official core maintainers?

TypeError: Cannot read property 'hasOwnProperty' of null

Following the codestack-blog example (https://medium.freecodecamp.org/how-to-build-a-react-and-gatsby-powered-blog-in-about-10-minutes-625c35c06481) I have added some new fields in the strapi content type manager, restarted the strapi server and now I'm getting the following error(s) when running gatsby develop:

error Plugin gatsby-source-strapi returned an error:

TypeError: Cannot read property 'hasOwnProperty' of null

- normalize.js:84 _callee$
[codestack-blog]/[gatsby-source-strapi]/normalize.js:84:36

- next_tick.js:131 _combinedTickCallback
internal/process/next_tick.js:131:7

- next_tick.js:180 process._tickCallback
internal/process/next_tick.js:180:9

This persists until I remove the fields in the content manager again and restart the server.

Any help / ideas? Empty fields should not throw an error, right?

gatsby-source-strapi incompatible with Gatsby 2 CreateRemoteFileNodePayload

I am not an expert here but I am trying to use the latest gatsby-source-strapi with the latest gatsby-source-filesystem. According to the documentation:

createRemoteFileNode
The signature for using createRemoteFileNode changed in v2, it now expects a new parameter createNodeId.

gatsby-source-strapi is not passing this function and as a consequence no nodes are created...

How to update data in gatsby?

  • Node.js version:10.13.0
  • npm version:6.4.1
  • Database: Mongodb v3.6.4
  • Operation system : MacOS 10.14.1

Now,I hace successfully build my website(or blog) using strapi、gatsby、gatsby-source-strapi, ,the quesition is when I update data in strapi,I must rebuild gatsby to see the modification.I want to know how to rebuild it automatically without rebuilding gatsby by gatsby develop.

I also read this,but It doesn't work

So,is there any details for it? I need some help

Pull content from another server

I have deployed strapi on a public server and want to develop locally, pulling content from the API on the server.
Every time I run strapi develop, I get an error 404 when gatsby tries to pull the content from the external server:

Starting to fetch data from Strapi (user)
error Plugin gatsby-source-strapi returned an error


  Error: Request failed with status code 404

  - createError.js:16 createError
    [codestack-blog]/[gatsby-source-strapi]/[axios]/lib/core/createError.js:16:1    5

  - settle.js:18 settle
    [codestack-blog]/[gatsby-source-strapi]/[axios]/lib/core/settle.js:18:12

  - http.js:192 IncomingMessage.handleStreamEnd
    [codestack-blog]/[gatsby-source-strapi]/[axios]/lib/adapters/http.js:192:11

  - next_tick.js:138 _combinedTickCallback
    internal/process/next_tick.js:138:11

  - next_tick.js:180 process._tickCallback
    internal/process/next_tick.js:180:9


Is this not intended or am I doing something wrong? I have checked the permissions in the strapi backend, CORS is disabled.

In my gatsby-config.js

plugins: [
  {
    resolve: `gatsby-source-strapi`,
    options: {
      apiURL: `http://<IP of my server>:1337`,
      contentTypes: [`article`, `user`],
     articles,
      user
    },
  },
]

EPERM /gatsby-source-filesystem issue on Windows 10

Hey guys, thanks for the plugin. I have run into an issue that I can't seem to resolve. I have narrowed it down to something with how this plugin works with the gatsby-source-filesystem and if I try to query images from Strapi.

Whenever I run 'gatsby develop' everything compiles fine and runs for probably 5-10 seconds then crashes with the following error:

Error: EPERM: operation not permitted, lstat 'C:\Users\steve\Development\GitHub\project.cache\gatsby-source-filesystem\tmp-d3b56b8057af32564415970b4fa22b46.png'

I have tried manually changing the permissions to that directory using a variety of methods and nothing fixes it... it will always go back anyways since it is regenerated in the cache folder. I also have disabled all anti-virus/firewalls to make sure, as well.

Note that this doesn't happen when I 'gatsby build' and then 'gatsby serve' or deploy the site - all is fine then. Only happens in develop.

I am calling images in my graphql - which I believe is the issue, as well:

allStrapiNews(sort: {fields: [date], order: DESC}) {
edges {
node {
id
image {
url
}
...

I have:

Node.js - 10.14.1
yarn - 1.13.0
Gatsby - 2.2.0
Gatsby CLI - 2.4.16
Strapi - 3.0.0-alpha.25.2

I'll be happy to provide more information if needed. Any help would be greatly appreciated!!

Thanks,
Steve

Gatsby throwing an error.

one you load in the plugin and start gatsby it throws the following errors.

`error Plugin gatsby-source-strapi returned an error

Error: Request failed with status code 401

  • createError.js:16 createError
    [blog-strapi]/[axios]/lib/core/createError.js:16:15

  • settle.js:18 settle
    [blog-strapi]/[axios]/lib/core/settle.js:18:12

  • http.js:192 IncomingMessage.handleStreamEnd
    [blog-strapi]/[axios]/lib/adapters/http.js:192:11

  • next_tick.js:138 _combinedTickCallback
    internal/process/next_tick.js:138:11

  • next_tick.js:180 process._tickCallback
    internal/process/next_tick.js:180:9

warning The gatsby-source-strapi plugin has generated no Gatsby nodes. Do you need it?`

my gatsby-config.js is as followed:

module.exports = { siteMetadata: { title: Gatsby Default Starter, }, plugins: [ gatsby-plugin-react-helmet, { resolve: gatsby-source-strapi, options: { apiURL: http://localhost:1337`,
contentTypes: [
// List of the Content Types you want to be able to request from Gatsby.
article,
user,
],
},
},
],
};`

Gatsby error URI malformed

Informations

  • Node.js version: 10.13.0
  • npm version: 6.4.1
  • Strapi version:
  • Database: MongoDB v4.0
  • Operating system: Windows 10

What is the current behavior?
After follow this tutorial, I get to the strapi start and I get the error
[2018-11-05T04:13:20.830Z] debug ⛔️ Server wasn't able to start properly. [2018-11-05T04:13:20.832Z] error URI malformed, cannot be parsed URI malformed, cannot be parsed

Steps to reproduce the problem
(From a fresh install of everything):

  • Install Strapi
  • Create a new project
  • Start the Strapi server

What is the expected behavior?
It is supposed to start the Strapi local server.

Suggested solutions
I'm at a loss on what to do. I looked for the setting to modify with Mongo, but I was unable to find it :(

No API updates in Gatsby

Upon $ gatsby develop, strapi seems to load fine, with just a warning (node:5008) Warning: No such label 'Fetch Strapi data' for console.timeEnd().

On the first compile, the Strapi API will be fetch normally.
Then I proceed to perform a content update in the Strapi GUI, save, and fetch via browser to ensure the update took place.
Then I enforce a subsecuent compile in gatsby, which updates content as usual, except for Strapi API content, no errors thrown.

I have to restart $ gatsby develop to get new content but again only the first fetch will succeed.

[gatsby-source-strapi] only return 100 data

  System:
    OS: macOS 10.14.2
    CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 10.13.0 - ~/.nvm/versions/node/v10.13.0/bin/node
    Yarn: 1.12.1 - /usr/local/bin/yarn
    npm: 6.5.0 - /usr/local/bin/npm
  Languages:
    Python: 2.7.15 - /usr/local/bin/python
  Browsers:
    Chrome: 71.0.3578.98
    Safari: 12.0.2
  npmGlobalPackages:
    gatsby-cli: 2.4.8

In fact , I have more than 1000 data in my database,but it only return 100 .In strapi dashboardalso have all data.
image
image

Auto generated object type?

This might be a bit of a long shot and I'm not sure the issue is because of this project, but here it goes!

In Strapi/playground http://localhost:1337/playground I'm able to use fragments to split up sub fields like this:

query {
  page (id: "5b28d2589f43706a190635fa") {
    blurbs {
      ...Blurbs
    }
  }
}

fragment Blurbs on Blurb {
  ...Blurb
}

fragment Blurb on Blurb {
  title
}

When I do the same in Gatsby http://localhost:8000/___graphql, a new object type seem to have been generated, blurbs_2, and I need to use this instead of StrapiBlurb for everything to work properly or I'll get an error message such as "Fragment \"Blurbs\" cannot be spread here as objects of type \"blurbs_2\" can never be of type \"StrapiBlurb\"."

query {
  strapiPage (id: {eq: "5b28d2589f43706a190635fa"}) {
    blurbs {
    	...Blurbs
    }
  }
}

fragment Blurbs on blurbs_2 {
  ...Blurb
}

fragment Blurb on blurbs_2 {
  title
}

So back to my question, is this a bug or am I missing something about how GraphQL/Gatsby works? How is blurbs_2 generated, will the name change or can I count on it to always be exactly blurbs_2?

Thanks!

error GraphQL Error Unknown field `allStrapiArticle` on type `Query`

Trying to follow this tutorial, but I keep getting the following error

$ gatsby develop
success open and validate gatsby-configs — 0.011 s
success load plugins — 0.451 s
success onPreInit — 0.657 s
success delete html and css files from previous builds — 0.089 s
success initialize cache — 0.035 s
success copy gatsby files — 0.169 s
success onPreBootstrap — 0.007 s
⠁ Starting to fetch data from Strapi (articles)
Starting to fetch data from Strapi (users)
⠄ source and transform nodesFetch Strapi data: 82.829ms
(node:23901) Warning: No such label 'Fetch Strapi data' for console.timeEnd()
Calling "touchNode" with a nodeId is deprecated. Please pass an object containing a nodeId instead: touchNode({ nodeId: 'a-node-id' })
"touchNode" was called by gatsby-source-strapi
Calling "touchNode" with a nodeId is deprecated. Please pass an object containing a nodeId instead: touchNode({ nodeId: 'a-node-id' })
"touchNode" was called by gatsby-source-strapi
Calling "touchNode" with a nodeId is deprecated. Please pass an object containing a nodeId instead: touchNode({ nodeId: 'a-node-id' })
"touchNode" was called by gatsby-source-strapi
The new node didn't pass validation
ValidationError: child "id" fails because ["id" must be a string]
{ title: 'First Article',
  content:
   '# Capillos esse artis quod bubo\r\n\r\n## Gaudia harenam uror dumque matura\r\n\r\nLorem markdownum [agitabitur stare hanc](http://haeret.org/orispallada.html),\r\nilla nata formae *iam pavit*, una quae et hos vero tibia **diluvio** parantem.\r\nVenistis concussae Latiis trepidum paterque gutture. Quaerenti rubescere montis\r\nagebat me non parentibus dixit ut quique, demoliturque partior [fert\r\nipse](http://www.dum-cunctis.org/).\r\n\r\n    if (logic) {\r\n        postscript.publishingSanCarrier.only(jfs_cybercrime_site, 2);\r\n    } else {\r\n        kibibyteIntegrated -= hub(xml, banner_bar + gammaRasterAssociation, hoc(\r\n                38, mysql, nas_web_toolbar));\r\n        page_inkjet = click(debugSignatureVlog);\r\n        reader_web(gbps(memoryDvd, laserNetworkUri), 2 + 547128, rtf);\r\n    }\r\n    if (bus_so(fi_icf_cut, qbe_ict_export) + disk + 1 + adapterThirdQuicktime) {\r\n        regular += kindle_prom_meme - print + controller_minimize.bps_pda_web(\r\n                asciiComputingFlops);\r\n        upnpOop /= dimm_wiki_ddr;\r\n        serpItunesFolder = runtimeMetalByte - 3;\r\n    }\r\n    if (systray_ultra_chip(virtualization - 27, ddlCssJoystick,\r\n            saas_open_file)) {\r\n        rdram_drive *= -1;\r\n    } else {\r\n        frame_dialog_viral.wamp += upCopy - soap_permalink(4, intelligenceBing);\r\n    }\r\n    var disk = net;\r\n    edi_pretest_brouter.toggleWebPlug = error_unit_app;\r\n\r\n## Tulit nostras\r\n\r\nNon nisi contingere es patriam terram; Achivi sanae: nate sui. Templa me exempla\r\nreus aries curvamina flava nec amnes cuncti consumptis corpore est Indigetes\r\nhaec: atria. In suos mollito vestes loquentem nubes spes, libera cum illi\r\ntemperat, regia. Habenti verbis umeris tradit. Dum Nilum: tria aquas sed advena\r\nut sinistra gentes.\r\n\r\n## Remis domus inania famulasque ac iamque umbram\r\n\r\nUsu tam arto post celebrant est caput qui recuset aquis [et\r\nmovere](http://etomnibus.org/). Tempore non veteres illud.\r\n\r\n## Discede tenet medio arcana secum quicquid\r\n\r\nCasus cognosceret voca, cum magis quoque miscet; esse Phoebi rapere crescere\r\nvocem, est manu! Quae loquendi veritus, deque fuit cadit clipeum miseras\r\nperspexerat sensit; conubio frondes tergoris Nox latebris. Erat vosque ilice et\r\ndeserit innixusque ossibus; parvam, accepere eam. Tenues capillos flammae\r\niunctior herbas verba, incurva dixi! Retorsit est orbem quoque demitteret nec\r\ndomus boves vacuas; non neganda falcatus.\r\n\r\n- Magna rapitur iurgia unde\r\n- Et digiti iussit\r\n- Est sum totam sentire iurgia quodcumque licet\r\n\r\nAgitante rapta **circumlitus madida ambo** fratrem oceano temptatis votis\r\nalternare, aequoreo, a rogandos ipsum pericli, largis. Est ratis hoc sed avem\r\nnavalibus visis tradidit; tamen quater prohibebat summa, vocant.\r\n',
  author:
   { id: 1,
     username: '[email protected]',
     email: '[email protected]',
     provider: 'local',
     confirmed: true,
     blocked: null,
     role: 1 },
  created_at: '2018-11-16T17:46:28.701Z',
  updated_at: '2018-11-16T17:51:36.593Z',
  image:
   { id: 1,
     name: 'star_wars_clone_wars-806.jpg',
     hash: 'd7250094524444df8baa1d963ebb81e7',
     sha256: 'wh73T8c2eJHUcdXH-HP1_ZAjQ-keqTl6iREqwjiauMk',
     ext: '.jpg',
     mime: 'image/jpeg',
     size: '143.40',
     url: '/uploads/d7250094524444df8baa1d963ebb81e7.jpg',
     provider: 'local',
     created_at: '2018-11-16T17:46:28.759Z',
     updated_at: '2018-11-16T17:46:28.835Z' },
  image___NODE:
   '/Users/guyjacks/projects/practice/headless_cms/strapi/gatsby-strapi-tutorial/blog/.cache/gatsby-source-filesystem/0b61d06fb9048836bc04c2e474b6a303.jpg absPath of file',
  strapiId: 1,
  id: 1,
  parent: '__SOURCE__',
  children: [],
  internal:
   { type: 'StrapiArticle',
     contentDigest: 'a957506b0506a0448b8e8973eda75410',
     owner: 'gatsby-source-strapi' } }
The new node didn't pass validation
ValidationError: child "id" fails because ["id" must be a string]
{ title: 'Second Article',
  content:
   '# Tollens Scythiae et cumque Peleus corpore modo\r\n\r\n## In sibi rabiemque tergum pennisque\r\n\r\nLorem markdownum deum annos: per misit inmitis religatam, verba cervus nititur\r\niubar reparata timidum cladis [umida](http://illahaec.org/ut-victima.html) ruit.\r\nSustineat omnes nympham *ad serpentis clara* Canentem spreta patriam *et illa*.\r\nIniectam ut [et quod lege](http://noviremovebitur.com/) inserit everterit\r\npudicam, **diu Athon rogat** gemmantia mei silvasque Pittheia\r\n[promissaque](http://pater.com/in-caput)! Cum Polydorus: hoc repetita venenata\r\nremos, trium et! Ille vicit arvis oculisque tamen pugnantem bitumine rerum,\r\nprocul, fortes [genae](http://relevat.io/), cui.\r\n\r\n> Cineres qui singula opus misit, rustica mearum corpora ignescere ferrum me\r\n> luctus addidit conamine, sine stamina dextra talibus. Ferrum motibus\r\n> perlucentes, felix, ubi diremit, his in habenas semper. In pars caeleste\r\n> pietas, laboribus posuere sede undis excusantia: celer secus dum; nomenque\r\n> parente, licet!\r\n\r\n## Patri non simulacraque percussae crescit\r\n\r\nNisi timidusque fata. Cecidere honorati, incepti!\r\n\r\n    var plugDosKernel = json + null;\r\n    if (dock_nvram.server_teraflops(baud_hard_page + memory_heat_floppy)) {\r\n        scareware_isa_controller.throughput_print +=\r\n                cybersquatter.postUdpProgressive(nntp_raw_golden);\r\n        flashDriveHandle = dvdTerminalControl;\r\n    } else {\r\n        file_wordart_tweet = queueMemory + vdslUri;\r\n        bootBiometrics += 4;\r\n        pack_tablet_sip(cpm, storage);\r\n    }\r\n    if (dual_vga) {\r\n        e_system -= miniError(gateway_skyscraper_blu, 723134);\r\n        emulation_software_primary(linkedinServiceScreenshot);\r\n    }\r\n    macSlaBotnet.diskSidebar = denial_thunderbolt(adapter, mysql + boolean_gps,\r\n            camera - gif + office_big);\r\n\r\n## Ignorantia rogat relictis fueram conataque circa\r\n\r\nAliquos mortis; Asopidos portasque videri squamas interque quem, arae eadem, tu.\r\nAeolon de *nisi* et tanti inscribenda *nisi*. Cum unde per toro producit, **ad**\r\nlocuti ei et. Cupidi igitur latitantia ait tum, esse voti thalamoque postquam\r\ncensus calathis natura, ostendit opus qualis.\r\n\r\n    animated *= systemGigabit;\r\n    var boot_platform = virtual.asp(commandAsciiEcc.dataPerl(activeWhiteSram,\r\n            opacity, 754353 + petabyte_bar_perl), endCgi(dvd_right,\r\n            systemKindle));\r\n    modeMemoryLaptop.pmuFrameBoot(link_boot, browserSync + loginWave);\r\n\r\n## In hic ignara qualescumque hinc et duobus\r\n\r\nSilvae ilia: tempus canis, illa aequoris; modo morte intremuit adstitit bulla.\r\nAnimis di horrenda annum, neu bimari procul quoque saevis!\r\n\r\nSimul postibus nymphe *quod restant* saepe et dixit opemque. Doctior hospitis:\r\ncapi iam educere iter querella et tibi. Quam aquas Anaphen visumque viri\r\n[vitiantes](http://www.rore-dubiis.io/temeraria) pugnae, ab verba **honore**\r\ngermana et tamen et domini Hesperidas Cyclopum caeli. Ulixem si noctis pande\r\nstipulae lacerto micantes; et quo nec ille? Trunci dum quo, ille humano Penthea\r\nposuisse sanguine prodit?\r\n\r\nPonitur species dempsistis colubris dolentem tendere inque esse ut possem inque.\r\nTot illis mea curru pectora facta segetes ut *ardor te* hunc malus ipsis, suos.\r\nSilet *humum* legit excepto sorores aeratas et patent septemfluus iamque ipsa\r\nqui in tectum armorum levi, ad! Posse non arte domum, a cognita defossos et quae\r\nCorythi, de pateres crine.\r\n',
  author:
   { id: 1,
     username: '[email protected]',
     email: '[email protected]',
     provider: 'local',
     confirmed: true,
     blocked: null,
     role: 1 },
  created_at: '2018-11-16T17:46:58.895Z',
  updated_at: '2018-11-16T17:51:41.781Z',
  image:
   { id: 2,
     name: 'Star-Wars-Heavy-Metal-Logo-Wallpaper.jpg',
     hash: '0b9d1f9655b14b4fa9582e7365c32109',
     sha256: 'PGEWYHpOXftbvlKeXR72P6wzZA-x6uh8pxEH5zKli_Q',
     ext: '.jpg',
     mime: 'image/jpeg',
     size: '280.95',
     url: '/uploads/0b9d1f9655b14b4fa9582e7365c32109.jpg',
     provider: 'local',
     created_at: '2018-11-16T17:46:58.976Z',
     updated_at: '2018-11-16T17:46:59.033Z' },
  image___NODE:
   '/Users/guyjacks/projects/practice/headless_cms/strapi/gatsby-strapi-tutorial/blog/.cache/gatsby-source-filesystem/756a91da97eb822cf1d93219803dbf49.jpg absPath of file',
  strapiId: 2,
  id: 2,
  parent: '__SOURCE__',
  children: [],
  internal:
   { type: 'StrapiArticle',
     contentDigest: 'ee66cce6fedfc0a965136968c1a18d77',
     owner: 'gatsby-source-strapi' } }
The new node didn't pass validation
ValidationError: child "id" fails because ["id" must be a string]
{ title: 'Third Article',
  content:
   '# Tibi haustus procis\r\n\r\n## Molliet pinus fertur nec quisque sociis atria\r\n\r\nLorem markdownum aliter ortus glans spectantem. Ignes cum erat meditataque,\r\nensis sed voluptas interea sub vicinia a talia, me! Molle certe sine vocandus:\r\nsuo terga amens praebentem tibi, pro traxit Cybeleius [laudare leones\r\nresolvite](http://unde-latius.net/dixit.php) huic. Increvisse venit parenti in\r\nfamulis, manu optare et, *me tamen quaque*! Terrae ingemuit quam creatam aquas.\r\n\r\n> Minister per sensere gerens remis novus. Suo vires suos nec.\r\n\r\n## Contende iam hospite puppimque animo suos quae\r\n\r\nDeduxit reclusi, visus, circuitu aetheris mihi glaebis sed invicti telum in\r\nquattuor, **questus**. Incaluisse paruit: in columbam Arethusa [adparuit\r\nerectos](http://subducerefalleret.io/) avem! Nati aegro caudam harenosae colla\r\niuvenalis alter mendacibus, Ceycis vocant mittitur temperat. Inferius nostra\r\nportat tua repperit hausit mortis praesagia reddite. Nunc undas Almo *simplex*.\r\n\r\n    var whiteDrive = platformUnfriend.windowsSinkDigital(2, 26 + trimCompact);\r\n    if (megabit_skyscraper_soft > boolean_vlog_topology) {\r\n        cps(prompt(name_dvr), tutorial, -2 + ad);\r\n        desktop_botnet = toggle(microcomputerPlayDomain) - sms_jquery +\r\n                power_word_contextual;\r\n        malware_prom = parityDesktop(safe - type);\r\n    } else {\r\n        timeSyntaxSnippet *= online - gigabit_frame;\r\n        client_nic_ethernet(ultraVfatFlood + 1, ad + -4, 3);\r\n    }\r\n    var pop_bmp = aixTouchscreen.integerDisplayRuntime.signatureBarCompression(\r\n            fsb_gigabyte_monochrome - drive, scarewareData, ftp + virus_file +\r\n            file_bar_ripcording(tag));\r\n    if (nicSystemCommand > 87 + name + tape) {\r\n        dvd += logic_checksum_pack - brouterDataGamma / bitrate_icmp_hypermedia;\r\n    }\r\n\r\n## Minyae est datur digitis et capitis cutem\r\n\r\nMe credens favilla facitote misit quam calamo: Parnasia haec Bacchus quoniam\r\nqua: dolore. Visae ipsos, nox Aenea despecta *ipsa* quidquid, quondam acta\r\nAchille abstulerit carmina.\r\n\r\n1. Achille odoribus altera fugientem Iunonem dirae navita\r\n2. Maxima quae roger Arcas onus priscis\r\n3. Hic decipit umor nec\r\n4. Dies tabe non tantus quae nisi agricolam\r\n5. Iam graves viribus reverti inhaerebat Palati se\r\n6. Evomit fidem\r\n\r\n## Arvaque admota quoque\r\n\r\nTegat caede Lesbon telis ab pariter forma protinus merumque meae. Femina cardine\r\ndoque: haec modo fuit ore *possis* palmas, undas, exta. Eodem quod **prius**\r\nPolydegmona, abdita sumpserat: o non Corythi: novissima et lateri. Pestis fieri,\r\nmansura sacri faciam adstitit campis, ipse.\r\n\r\n    if (readVirtualization != autoresponderMac) {\r\n        thumbnailPlaySmishing = spider_hdd;\r\n    } else {\r\n        orientation -= volume_ripcording_microcomputer + loadRefresh;\r\n        password(antivirusOpenDisk);\r\n        ide_interface_handle += interfaceIo(rteIndex(correction_blog), 68);\r\n    }\r\n    var dll = lifoSinkKey(intelligenceCompatible.capacity_gif_frame(\r\n            carrierWavelength, voip_burn));\r\n    var troll = keyMultiCaps + api;\r\n\r\nEt regna mihi Achivis nunc Lycabas et Procne obvius, illuc tutius novae\r\nedidicitque. Limnaee primis inops?\r\n',
  author:
   { id: 1,
     username: '[email protected]',
     email: '[email protected]',
     provider: 'local',
     confirmed: true,
     blocked: null,
     role: 1 },
  created_at: '2018-11-16T17:47:25.800Z',
  updated_at: '2018-11-16T17:51:45.961Z',
  image:
   { id: 3,
     name: 'star-wars-the-force-awakens-wide-poster.jpg',
     hash: '294f8d1f02f84f5d92267d973f4e3c7d',
     sha256: 'V3S3_8EyKqdeLb1ZPpNc8ugfpP-Io3BJTKMaSH+TG24',
     ext: '.jpg',
     mime: 'image/jpeg',
     size: '539.39',
     url: '/uploads/294f8d1f02f84f5d92267d973f4e3c7d.jpg',
     provider: 'local',
     created_at: '2018-11-16T17:47:25.846Z',
     updated_at: '2018-11-16T17:47:25.902Z' },
  image___NODE:
   '/Users/guyjacks/projects/practice/headless_cms/strapi/gatsby-strapi-tutorial/blog/.cache/gatsby-source-filesystem/4404553d4d228d06ca6d089da105d1b6.jpg absPath of file',
  strapiId: 3,
  id: 3,
  parent: '__SOURCE__',
  children: [],
  internal:
   { type: 'StrapiArticle',
     contentDigest: '12213ced6de8882c6d5e817de30f9fa4',
     owner: 'gatsby-source-strapi' } }
The new node didn't pass validation
ValidationError: child "id" fails because ["id" must be a string]
{ username: '[email protected]',
  email: '[email protected]',
  provider: 'local',
  confirmed: true,
  blocked: null,
  role:
   { id: 1,
     name: 'Administrator',
     description: 'These users have all access in the project.',
     type: 'root' },
  articles:
   [ { id: 1,
       title: 'First Article',
       content:
        '# Capillos esse artis quod bubo\r\n\r\n## Gaudia harenam uror dumque matura\r\n\r\nLorem markdownum [agitabitur stare hanc](http://haeret.org/orispallada.html),\r\nilla nata formae *iam pavit*, una quae et hos vero tibia **diluvio** parantem.\r\nVenistis concussae Latiis trepidum paterque gutture. Quaerenti rubescere montis\r\nagebat me non parentibus dixit ut quique, demoliturque partior [fert\r\nipse](http://www.dum-cunctis.org/).\r\n\r\n    if (logic) {\r\n        postscript.publishingSanCarrier.only(jfs_cybercrime_site, 2);\r\n    } else {\r\n        kibibyteIntegrated -= hub(xml, banner_bar + gammaRasterAssociation, hoc(\r\n                38, mysql, nas_web_toolbar));\r\n        page_inkjet = click(debugSignatureVlog);\r\n        reader_web(gbps(memoryDvd, laserNetworkUri), 2 + 547128, rtf);\r\n    }\r\n    if (bus_so(fi_icf_cut, qbe_ict_export) + disk + 1 + adapterThirdQuicktime) {\r\n        regular += kindle_prom_meme - print + controller_minimize.bps_pda_web(\r\n                asciiComputingFlops);\r\n        upnpOop /= dimm_wiki_ddr;\r\n        serpItunesFolder = runtimeMetalByte - 3;\r\n    }\r\n    if (systray_ultra_chip(virtualization - 27, ddlCssJoystick,\r\n            saas_open_file)) {\r\n        rdram_drive *= -1;\r\n    } else {\r\n        frame_dialog_viral.wamp += upCopy - soap_permalink(4, intelligenceBing);\r\n    }\r\n    var disk = net;\r\n    edi_pretest_brouter.toggleWebPlug = error_unit_app;\r\n\r\n## Tulit nostras\r\n\r\nNon nisi contingere es patriam terram; Achivi sanae: nate sui. Templa me exempla\r\nreus aries curvamina flava nec amnes cuncti consumptis corpore est Indigetes\r\nhaec: atria. In suos mollito vestes loquentem nubes spes, libera cum illi\r\ntemperat, regia. Habenti verbis umeris tradit. Dum Nilum: tria aquas sed advena\r\nut sinistra gentes.\r\n\r\n## Remis domus inania famulasque ac iamque umbram\r\n\r\nUsu tam arto post celebrant est caput qui recuset aquis [et\r\nmovere](http://etomnibus.org/). Tempore non veteres illud.\r\n\r\n## Discede tenet medio arcana secum quicquid\r\n\r\nCasus cognosceret voca, cum magis quoque miscet; esse Phoebi rapere crescere\r\nvocem, est manu! Quae loquendi veritus, deque fuit cadit clipeum miseras\r\nperspexerat sensit; conubio frondes tergoris Nox latebris. Erat vosque ilice et\r\ndeserit innixusque ossibus; parvam, accepere eam. Tenues capillos flammae\r\niunctior herbas verba, incurva dixi! Retorsit est orbem quoque demitteret nec\r\ndomus boves vacuas; non neganda falcatus.\r\n\r\n- Magna rapitur iurgia unde\r\n- Et digiti iussit\r\n- Est sum totam sentire iurgia quodcumque licet\r\n\r\nAgitante rapta **circumlitus madida ambo** fratrem oceano temptatis votis\r\nalternare, aequoreo, a rogandos ipsum pericli, largis. Est ratis hoc sed avem\r\nnavalibus visis tradidit; tamen quater prohibebat summa, vocant.\r\n',
       author: 1,
       created_at: '2018-11-16T17:46:28.701Z',
       updated_at: '2018-11-16T17:51:36.593Z' },
     { id: 2,
       title: 'Second Article',
       content:
        '# Tollens Scythiae et cumque Peleus corpore modo\r\n\r\n## In sibi rabiemque tergum pennisque\r\n\r\nLorem markdownum deum annos: per misit inmitis religatam, verba cervus nititur\r\niubar reparata timidum cladis [umida](http://illahaec.org/ut-victima.html) ruit.\r\nSustineat omnes nympham *ad serpentis clara* Canentem spreta patriam *et illa*.\r\nIniectam ut [et quod lege](http://noviremovebitur.com/) inserit everterit\r\npudicam, **diu Athon rogat** gemmantia mei silvasque Pittheia\r\n[promissaque](http://pater.com/in-caput)! Cum Polydorus: hoc repetita venenata\r\nremos, trium et! Ille vicit arvis oculisque tamen pugnantem bitumine rerum,\r\nprocul, fortes [genae](http://relevat.io/), cui.\r\n\r\n> Cineres qui singula opus misit, rustica mearum corpora ignescere ferrum me\r\n> luctus addidit conamine, sine stamina dextra talibus. Ferrum motibus\r\n> perlucentes, felix, ubi diremit, his in habenas semper. In pars caeleste\r\n> pietas, laboribus posuere sede undis excusantia: celer secus dum; nomenque\r\n> parente, licet!\r\n\r\n## Patri non simulacraque percussae crescit\r\n\r\nNisi timidusque fata. Cecidere honorati, incepti!\r\n\r\n    var plugDosKernel = json + null;\r\n    if (dock_nvram.server_teraflops(baud_hard_page + memory_heat_floppy)) {\r\n        scareware_isa_controller.throughput_print +=\r\n                cybersquatter.postUdpProgressive(nntp_raw_golden);\r\n        flashDriveHandle = dvdTerminalControl;\r\n    } else {\r\n        file_wordart_tweet = queueMemory + vdslUri;\r\n        bootBiometrics += 4;\r\n        pack_tablet_sip(cpm, storage);\r\n    }\r\n    if (dual_vga) {\r\n        e_system -= miniError(gateway_skyscraper_blu, 723134);\r\n        emulation_software_primary(linkedinServiceScreenshot);\r\n    }\r\n    macSlaBotnet.diskSidebar = denial_thunderbolt(adapter, mysql + boolean_gps,\r\n            camera - gif + office_big);\r\n\r\n## Ignorantia rogat relictis fueram conataque circa\r\n\r\nAliquos mortis; Asopidos portasque videri squamas interque quem, arae eadem, tu.\r\nAeolon de *nisi* et tanti inscribenda *nisi*. Cum unde per toro producit, **ad**\r\nlocuti ei et. Cupidi igitur latitantia ait tum, esse voti thalamoque postquam\r\ncensus calathis natura, ostendit opus qualis.\r\n\r\n    animated *= systemGigabit;\r\n    var boot_platform = virtual.asp(commandAsciiEcc.dataPerl(activeWhiteSram,\r\n            opacity, 754353 + petabyte_bar_perl), endCgi(dvd_right,\r\n            systemKindle));\r\n    modeMemoryLaptop.pmuFrameBoot(link_boot, browserSync + loginWave);\r\n\r\n## In hic ignara qualescumque hinc et duobus\r\n\r\nSilvae ilia: tempus canis, illa aequoris; modo morte intremuit adstitit bulla.\r\nAnimis di horrenda annum, neu bimari procul quoque saevis!\r\n\r\nSimul postibus nymphe *quod restant* saepe et dixit opemque. Doctior hospitis:\r\ncapi iam educere iter querella et tibi. Quam aquas Anaphen visumque viri\r\n[vitiantes](http://www.rore-dubiis.io/temeraria) pugnae, ab verba **honore**\r\ngermana et tamen et domini Hesperidas Cyclopum caeli. Ulixem si noctis pande\r\nstipulae lacerto micantes; et quo nec ille? Trunci dum quo, ille humano Penthea\r\nposuisse sanguine prodit?\r\n\r\nPonitur species dempsistis colubris dolentem tendere inque esse ut possem inque.\r\nTot illis mea curru pectora facta segetes ut *ardor te* hunc malus ipsis, suos.\r\nSilet *humum* legit excepto sorores aeratas et patent septemfluus iamque ipsa\r\nqui in tectum armorum levi, ad! Posse non arte domum, a cognita defossos et quae\r\nCorythi, de pateres crine.\r\n',
       author: 1,
       created_at: '2018-11-16T17:46:58.895Z',
       updated_at: '2018-11-16T17:51:41.781Z' },
     { id: 3,
       title: 'Third Article',
       content:
        '# Tibi haustus procis\r\n\r\n## Molliet pinus fertur nec quisque sociis atria\r\n\r\nLorem markdownum aliter ortus glans spectantem. Ignes cum erat meditataque,\r\nensis sed voluptas interea sub vicinia a talia, me! Molle certe sine vocandus:\r\nsuo terga amens praebentem tibi, pro traxit Cybeleius [laudare leones\r\nresolvite](http://unde-latius.net/dixit.php) huic. Increvisse venit parenti in\r\nfamulis, manu optare et, *me tamen quaque*! Terrae ingemuit quam creatam aquas.\r\n\r\n> Minister per sensere gerens remis novus. Suo vires suos nec.\r\n\r\n## Contende iam hospite puppimque animo suos quae\r\n\r\nDeduxit reclusi, visus, circuitu aetheris mihi glaebis sed invicti telum in\r\nquattuor, **questus**. Incaluisse paruit: in columbam Arethusa [adparuit\r\nerectos](http://subducerefalleret.io/) avem! Nati aegro caudam harenosae colla\r\niuvenalis alter mendacibus, Ceycis vocant mittitur temperat. Inferius nostra\r\nportat tua repperit hausit mortis praesagia reddite. Nunc undas Almo *simplex*.\r\n\r\n    var whiteDrive = platformUnfriend.windowsSinkDigital(2, 26 + trimCompact);\r\n    if (megabit_skyscraper_soft > boolean_vlog_topology) {\r\n        cps(prompt(name_dvr), tutorial, -2 + ad);\r\n        desktop_botnet = toggle(microcomputerPlayDomain) - sms_jquery +\r\n                power_word_contextual;\r\n        malware_prom = parityDesktop(safe - type);\r\n    } else {\r\n        timeSyntaxSnippet *= online - gigabit_frame;\r\n        client_nic_ethernet(ultraVfatFlood + 1, ad + -4, 3);\r\n    }\r\n    var pop_bmp = aixTouchscreen.integerDisplayRuntime.signatureBarCompression(\r\n            fsb_gigabyte_monochrome - drive, scarewareData, ftp + virus_file +\r\n            file_bar_ripcording(tag));\r\n    if (nicSystemCommand > 87 + name + tape) {\r\n        dvd += logic_checksum_pack - brouterDataGamma / bitrate_icmp_hypermedia;\r\n    }\r\n\r\n## Minyae est datur digitis et capitis cutem\r\n\r\nMe credens favilla facitote misit quam calamo: Parnasia haec Bacchus quoniam\r\nqua: dolore. Visae ipsos, nox Aenea despecta *ipsa* quidquid, quondam acta\r\nAchille abstulerit carmina.\r\n\r\n1. Achille odoribus altera fugientem Iunonem dirae navita\r\n2. Maxima quae roger Arcas onus priscis\r\n3. Hic decipit umor nec\r\n4. Dies tabe non tantus quae nisi agricolam\r\n5. Iam graves viribus reverti inhaerebat Palati se\r\n6. Evomit fidem\r\n\r\n## Arvaque admota quoque\r\n\r\nTegat caede Lesbon telis ab pariter forma protinus merumque meae. Femina cardine\r\ndoque: haec modo fuit ore *possis* palmas, undas, exta. Eodem quod **prius**\r\nPolydegmona, abdita sumpserat: o non Corythi: novissima et lateri. Pestis fieri,\r\nmansura sacri faciam adstitit campis, ipse.\r\n\r\n    if (readVirtualization != autoresponderMac) {\r\n        thumbnailPlaySmishing = spider_hdd;\r\n    } else {\r\n        orientation -= volume_ripcording_microcomputer + loadRefresh;\r\n        password(antivirusOpenDisk);\r\n        ide_interface_handle += interfaceIo(rteIndex(correction_blog), 68);\r\n    }\r\n    var dll = lifoSinkKey(intelligenceCompatible.capacity_gif_frame(\r\n            carrierWavelength, voip_burn));\r\n    var troll = keyMultiCaps + api;\r\n\r\nEt regna mihi Achivis nunc Lycabas et Procne obvius, illuc tutius novae\r\nedidicitque. Limnaee primis inops?\r\n',
       author: 1,
       created_at: '2018-11-16T17:47:25.800Z',
       updated_at: '2018-11-16T17:51:45.961Z' } ],
  strapiId: 1,
  id: 1,
  parent: '__SOURCE__',
  children: [],
  internal:
   { type: 'StrapiUser',
     contentDigest: '6bd3c3c42b27ce140c62db6fb37ddecb',
     owner: 'gatsby-source-strapi' } }
warning The gatsby-source-strapi plugin has generated no Gatsby nodes. Do you need it?
success source and transform nodes — 0.173 s
success building schema — 0.234 s
success createPages — 0.001 s
success createPagesStatefully — 0.037 s
success onPreExtractQueries — 0.018 s
success update schema — 0.146 s
error GraphQL Error Unknown field `allStrapiArticle` on type `Query`

  file: /Users/guyjacks/projects/practice/headless_cms/strapi/gatsby-strapi-tutorial/blog/src/pages/index.js

   1 |
   2 | {
>  3 |     allStrapiArticle {
     |     ^
   4 |       edges {
   5 |         node {
   6 |           id
   7 |           title
   8 |           content
   9 |         }
  10 |       }
  11 |     }
  12 |   }
  13 |

success extract queries from components — 0.102 s
⠁ (node:23901) DeprecationWarning: Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.
success run graphql queries — 0.024 s — 5/5 231.40 queries/second
success write out page data — 0.005 s
success write out redirect data — 0.003 s
⠄ onPostBootstrapdone generating icons for manifest
success onPostBootstrap — 0.167 s

info bootstrap finished - 4.385 s

 ERROR  Failed to compile with 1 errors                                                                                                                          1:41:39 PM

 error  in ./src/pages/index.js

Module Error (from ./node_modules/eslint-loader/index.js):

/Users/guyjacks/projects/practice/headless_cms/strapi/gatsby-strapi-tutorial/blog/src/pages/index.js
  28:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)


 @ ./.cache/sync-requires.js 15:50-161
 @ ./.cache/app.js
 @ multi (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app

✖ 「wdm」:
ERROR in ./src/pages/index.js
Module Error (from ./node_modules/eslint-loader/index.js):

/Users/guyjacks/projects/practice/headless_cms/strapi/gatsby-strapi-tutorial/blog/src/pages/index.js
  28:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)

 @ ./.cache/sync-requires.js 15:50-161
 @ ./.cache/app.js
 @ multi (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app
ℹ 「wdm」: Failed to compile.
 WAIT  Compiling...                                                                                                                                              1:41:39 PM

ℹ 「wdm」: Compiling...
 ERROR  Failed to compile with 1 errors                                                                                                                          1:41:40 PM

 error  in ./src/pages/index.js

Module Error (from ./node_modules/eslint-loader/index.js):

/Users/guyjacks/projects/practice/headless_cms/strapi/gatsby-strapi-tutorial/blog/src/pages/index.js
  28:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)


 @ ./.cache/sync-requires.js 15:50-161
 @ ./.cache/app.js
 @ multi (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app

✖ 「wdm」:
ERROR in ./src/pages/index.js
Module Error (from ./node_modules/eslint-loader/index.js):

/Users/guyjacks/projects/practice/headless_cms/strapi/gatsby-strapi-tutorial/blog/src/pages/index.js
  28:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)

 @ ./.cache/sync-requires.js 15:50-161
 @ ./.cache/app.js
 @ multi (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app
ℹ 「wdm」: Failed to compile.

Working codebase in gatsby v1 but not compiling after migrating to v2.

This project's been working since v1. I think I did the needed steps to upgrade as per the migration guide. But upon gatsby develop it's throwing a 404 error.

$ gatsby develop
success open and validate gatsby-configs — 0.028 s
success load plugins — 1.275 s
success onPreInit — 15.077 s
info One or more of your plugins have changed since the last time you ran Gatsby. As
a precaution, we're deleting your site's cache to ensure there's not any stale
data
success initialize cache — 0.710 s
success copy gatsby files — 1.092 s
success onPreBootstrap — 0.127 s
⠐ source and transform nodesStarting to fetch data from Strapi (articles)
Starting to fetch data from Strapi (users)
error Plugin gatsby-source-strapi returned an error


  Error: Request failed with status code 404

I checked the updated blog tutorial but saw no significative difference to the original post.

Strapi URLs:
http://localhost:1337/article
http://localhost:1337/user
are up and running.

There was another similar issue. #13

What would be the smart step to do?

EDIT: Just to reassure that my v1 codebase is still working. My migration to v2 isn't.

Gatsby GraphQL validation error - '"id" must be a string'

Hi,

I'm not sure which repo this ticket belongs in, but I've just installed strapi, gatsby and gatsby-source-strapi and I'm blocked by the following validation error.

Error:

...

⠁ Starting to fetch data from Strapi (blog)
Fetch Strapi data: 22.840ms
The new node didn't pass validation
ValidationError: child "id" fails because ["id" must be a string]

...

warning The gatsby-source-strapi plugin has generated no Gatsby nodes. Do you need it?

...

JSON

{  
   title:'My first blog post',
   subtitle:'This is a subtitle',
   body:'# Title\r\n\r\nlorem ipsum\r\n\r\n## Title 2\r\n\r\n',
   created_at:'2018-05-16T15:16:19.000Z',
   updated_at:'2018-05-16T15:16:19.000Z',
   image:{  
      id:1,
      name:'[email protected]',
      hash:'e419ebab4a704411a936081995bcbe75',
      ext:'.png',
      mime:'image/png',
      size:'8.22',
      url:'/uploads/e419ebab4a704411a936081995bcbe75.png',
      provider:'local',
      created_at:'2018-05-16T15:16:19.000Z',
      updated_at:'2018-05-16T15:16:19.000Z'
   },
   strapiId:1,
   id:1,
   parent:'__SOURCE__',
   children:[  

   ],
   internal:{  
      type:'StrapiBlog',
      contentDigest:'56bc67586b1ac07cefce2e9e84028095',
      owner:'gatsby-source-strapi'
   }
}

Versions

"gatsby": "^1.9.247",
"gatsby-source-strapi": "^0.0.3",

"strapi": "3.0.0-alpha.12.1.3",

Related

gatsby#5310


Please let me know if you need any more information.

FYI I'm not too familiar with the Gatsby API but I'd be happy to have a go at fixing this issue if anyone could point me in the right direction.

Thanks in advance.

Provide more Node types besides object and string

I noticed that this plugin only defines Nodes of type object and string. Probably because this plugin is written before implementing the wysiwyg, images & file upload features. I propose to add appropriate node types for each field. Not sure exactly how this is done, but maybe I can provide a PR, is the implementation only on the Gatsby plugin side, or some integration is needed in Strapi too?

Support ImageSharp[gatsby-image]

I am starting to use Strapi to create a photography portfolio site. I am uploading images using the image uploader.

I would like to use gatsby-image plugin for the images uploaded through strapi. Is it possible to add gatsby-images as part of this plugin?

GraphQL Error Unknown field `allStrapiArticle` on type `RootQueryType`

**Node.js versionv10.8.0:

**npm version6.2.0:

**Strapi version3.0.0-alpha.13.0.1:

**Operating systemMacOs 10.14 Beta (18A353d):

Success delete html and css files from previous builds — 0.019 s
success open and validate gatsby-config — 0.006 s
success copy gatsby files — 0.018 s
success onPreBootstrap — 0.094 s
⠁ Starting to fetch data from Strapi (article)
Starting to fetch data from Strapi (user)
Fetch Strapi data: 38.918ms
The new node didn't pass validation
ValidationError: child "id" fails because ["id" must be a string]**

(node:3635) Warning: No such label 'Fetch Strapi data' for console.timeEnd()
warning The gatsby-source-strapi plugin has generated no Gatsby nodes. Do you need it?
success source and transform nodes — 0.071 s
success building schema — 0.106 s
success createLayouts — 0.031 s
success createPages — 0.001 s
success createPagesStatefully — 0.019 s
success onPreExtractQueries — 0.001 s
success update schema — 0.068 s
GraphQL Error Unknown field allStrapiArticle on type RootQueryType

file: /Users/omerkunul/gatsby-strapi-tutorial/blog/src/pages/index.js

1 |
2 | query IndexQuery {

3 | allStrapiArticle {
| ^
4 | edges {
5 | node {
6 | id
7 | title
8 | content
9 | }
10 | }
11 | }
12 | }
13 |

can't run strapi-examples gatsby-strapi-tutorial blog

Hi guys, I have cloned strapi-tutorial-blog,
I was able to to install and start /app on the console and the server is up and running.
Installed /blog by running npm install, and when I try to do npm run develop, I get an error message:

error GraphQL Error Unknown field allStrapiArticleon typeQuery
The gatsby server is not working. I have installed the graphQL plugin via Strapi server admin, but no luck. Also added post content, but this didn't made any difference.

success createPages — 0.027 s
⠁ Fetch Strapi data: 300.927ms
success createPagesStatefully — 0.040 s
success onPreExtractQueries — 0.003 s
success update schema — 0.115 s
error GraphQL Error Unknown field `allStrapiArticle` on type `Query`

  file: /Users/amouratoglou/Coding/strapi-examples/gatsby-strapi-tutorial/blog/src/pages/index.js

   1 |
   2 |   query IndexQuery {
>  3 |     allStrapiArticle {
     |     ^
   4 |       edges {
   5 |         node {
   6 |           id
   7 |           image {
   8 |             childImageSharp {
   9 |               fixed(width: 200, height: 125) {
  10 |                 ...GatsbyImageSharpFixed
  11 |               }
  12 |             }
  13 |           }

success extract queries from components — 0.118 s
⠁ (node:18051) DeprecationWarning: Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.
success run graphql queries — 0.013 s — 5/5 443.62 queries/second
success write out page data — 0.005 s
success write out redirect data — 0.001 s
⠄ onPostBootstrapdone generating icons for manifest
success onPostBootstrap — 0.140 s

info bootstrap finished - 5.606 s

 ERROR  Failed to compile with 1 errors                                                    4:37:01 PM

 error  in ./src/pages/index.js

Module Error (from ./node_modules/eslint-loader/index.js):

/Users/amouratoglou/Coding/strapi-examples/gatsby-strapi-tutorial/blog/src/pages/index.js
  30:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)


 @ ./.cache/sync-requires.js 18:54-154
 @ ./.cache/app.js
 @ multi (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app

✖ 「wdm」:
ERROR in ./src/pages/index.js
Module Error (from ./node_modules/eslint-loader/index.js):

/Users/amouratoglou/Coding/strapi-examples/gatsby-strapi-tutorial/blog/src/pages/index.js
  30:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)

 @ ./.cache/sync-requires.js 18:54-154
 @ ./.cache/app.js
 @ multi (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app
ℹ 「wdm」: Failed to compile.
 WAIT  Compiling...                                                                        4:37:01 PM

ℹ 「wdm」: Compiling...
 ERROR  Failed to compile with 1 errors                                                    4:37:01 PM

 error  in ./src/pages/index.js

Module Error (from ./node_modules/eslint-loader/index.js):

/Users/amouratoglou/Coding/strapi-examples/gatsby-strapi-tutorial/blog/src/pages/index.js
  30:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)


 @ ./.cache/sync-requires.js 18:54-154
 @ ./.cache/app.js
 @ multi (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app

✖ 「wdm」:
ERROR in ./src/pages/index.js
Module Error (from ./node_modules/eslint-loader/index.js):

/Users/amouratoglou/Coding/strapi-examples/gatsby-strapi-tutorial/blog/src/pages/index.js
  30:5  error  Cannot query field "allStrapiArticle" on type "Query"  graphql/template-strings

✖ 1 problem (1 error, 0 warnings)

 @ ./.cache/sync-requires.js 18:54-154
 @ ./.cache/app.js
 @ multi (webpack)-hot-middleware/client.js?path=/__webpack_hmr&reload=true&overlay=false ./.cache/app
ℹ 「wdm」: Failed to compile.

any hint on how to get this up and running or what i'm missing?

Fetch contentType limit at 100

We've reached more than a 100 of contentType pages in our Strapi and Gatsby integration. Apparently, when using this plugin it only fetches at a limit of 100 which I believe is how Strapi API works by default.

To get around this issue, we have to specify more than that. In src/fetch.js, we have to update:

const apiEndpoint = `${apiURL}/${pluralize(contentType)}`

to

const apiEndpoint = `${apiURL}/${pluralize(contentType)}?_limit=1000000`

NOTE: _limit value is just an example but I hope you guys get the idea.

Gatsby handles the pagination via their GraphQL abstraction. Let me know if you need more info. I am willing to put create a PR to fix the issue but is there a sort of setting to remove the limit instead of passing a huge number like above. Thanks

Cannot access publicURL on a Media field that allows multiple images

Currently only Media fields that allow only one image have the publicURL property, so while it's possible to query like this:

{
   allStrapiContent{
      edges{
         node{
            singleImage{
               publicURL
            }
         }
      }
   }
}

this results in an error if the field allows multiple images:

{
   allStrapiContent{
      edges{
         node{
            multipleImages{
               publicURL
            }
         }
      }
   }
}

I've checked the code inside gatsby-strapi-source/src/normalize.js and the function extractFields launches a useless recursion to normalize images contained inside arrays because the field passed as the 'item' argument is the image object itself, for example:

{
   /* other properties */
   url: 'image url as string',
   mime: 'image mime type as string'
}

and later iterates through the objects checking every key with field.hasOwnProperty('mime') which is always false since mime.mime (or any other field since they are all strings) doesn't exist and because of this doesn't create any node nor downloads the image to be available to use in gatsby-image. I've tweaked the function a bit but the only result I was able to come up with involved creating a localFile___NODE and accessing it as:

{
   allStrapiContent{
      edges{
         node{
            multipleImages{
               localFile{
                  publicURL
               }
            }
         }
      }
   }
}

which I find a bit ugly and incoherent with the syntax mentioned above as the first example.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.