-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: decoupled sourcing PoC #561
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for netlify-plugin-gatsby-demo ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
plugin/package.json
Outdated
@@ -40,6 +40,7 @@ | |||
"prepare": "npm run build" | |||
}, | |||
"dependencies": { | |||
"@gatsby-cloud-pkg/merlin-synchronizer": "^0.3.6", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding it as a dep of the plugin should make it resolvable to builds, but we can do tests with auto-install using feature flags later
plugin/src/helpers/files.ts
Outdated
if ( | ||
!process.env.GATSBY_CLOUD_DATALAYER || | ||
!process.env.GATSBY_SITE_ID || | ||
!process.env.SITE_AUTH_JWT | ||
) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These currently need to be manually set
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
instead of SITE_AUTH_JWT, can we make it RESOURCE_AUTH_JWT
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and instead of GATSBY_SITE_ID
lets do CONTENT_CLOUD_ID
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SITE_AUTH_JWT
is for merlin-synchronizer
, so we'd need to change that module to allow either
* This file was copied from Gatsby core and modified and will be copied back into node_modules/gatsby when Netlify does a cold-cache build. | ||
* See 'helpers/files.ts' | ||
*/ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This injected file is copied from the Gatsby repo with a few small changes to work on Netlify
return originalSourceNodesApiRunner.sourceNodesApiRunner(args) | ||
} | ||
|
||
const { synchronize } = require(`@gatsby-cloud-pkg/merlin-synchronizer`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We may need to replace this with a full resolved path to the dependency if resolving from an auto-installed plugin fails
encoding: `string`, | ||
}).init() | ||
|
||
const siteId = process.env.GATSBY_SITE_ID |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will be CONTENT_CLOUD_ID
Summary
PoC for experimental decoupled sourcing support. Test this by installing
@netlify/plugin-gatsby@merlin
and then setting the env varsGATSBY_CLOUD_DATALAYER
,CONTENT_CLOUD_ID
andRESOURCE_AUTH_JWT
Test plan
Relevant links (GitHub issues, Notion docs, etc.) or a picture of cute animal
Standard checks:
🧪 Once merged, make sure to update the version if needed and that it was
published correctly.