gatsby-uc / gatsby-source-strapi Goto Github PK
View Code? Open in Web Editor NEWGatsby source plugin for building websites using Strapi as a data source
License: MIT License
Gatsby source plugin for building websites using Strapi as a data source
License: MIT License
#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.
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
},
},
]
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 dashboard
also have all data.
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.
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?
**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 |
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
Do you have any idea for processes images in markdown by Gatsby like gatsby-remark-images
? Becouse in this moment any plugins isn't work with gatsby-transformer-remark
.
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.
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
Go to 'https://blog.strapi.io/building-a-static-website-using-gatsby-and-strapi/', and follow the steps to add images.
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
Run gatsby develop
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?
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
strapi --version 3.0.0-beta.1
Additional context
Add any other context about the problem here.
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'
],
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
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 ?
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!
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.
...
⠁ 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?
...
{
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'
}
}
"gatsby": "^1.9.247",
"gatsby-source-strapi": "^0.0.3",
"strapi": "3.0.0-alpha.12.1.3",
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.
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!
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...
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
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?
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
Following the gatsby/strapi tutorial and I am running into an error message: Cannot find module 'babel-runtime/regenerator'
The message only shows up after I update gatsby-config.js with the gatsby-source-strapi plugin info.
Using Node 10.6.0 and npm 6.1.0.
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.
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",
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
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)
I'm following the official tutorial of gatsby-strapi integration here: https://youtu.be/FTzwb49tBvw
Node: 10.16.0
Npm: 6.9.0
Strapi: strapi v3.0.0-beta.6
Database: mysql
OS: Windows 10
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?
Hi guys,
Is this library compatible with latest version of Gatsby and Strapi?
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.
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?
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
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.
Informations
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):
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 :(
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
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.
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
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 type
Query
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?
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.
I create field integer for my content
{
height: 50,
width: 40
}
and get the following error thrown when run gatsby develop:
error key.includes is not a function
TypeError: key.includes is not a function
removing the field integers remove the error
Can this be updated??
Related to gatsbyjs/gatsby#5519
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).
How to query media type from strapi to get media url
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?
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
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
}
}
}
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
{
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.
Any idea what could be wrong?
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
,
],
},
},
],
};`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.