-
Notifications
You must be signed in to change notification settings - Fork 27.2k
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
Add CMS example for Sanity #10907
Add CMS example for Sanity #10907
Conversation
Stats from current PRDefault Server ModeGeneral
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Rendered Page Sizes
Serverless Mode (Decrease detected ✓)General
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Serverless bundles Overall decrease ✓
|
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.
Looks great! Thank you so much! I didn't try this locally yet but left comments by just reading the code. Let me know if you have questions!
Co-Authored-By: Shu Uesugi <shu@chibicode.com>
Stats from current PRDefault Server ModeGeneral
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Rendered Page Sizes
Serverless Mode (Increase detected
|
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
buildDuration | 9.5s | 9.6s | |
nodeModulesSize | 56.5 MB | 56.5 MB | ✓ |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
main-HASH.js gzip | 5.77 kB | 5.77 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..cfaa.js gzip | 9.77 kB | 9.77 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 55.4 kB | 55.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.78 kB | 4.78 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..dule.js gzip | 6.71 kB | 6.71 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 51.4 kB | 51.4 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 18.9 kB | 18.9 kB | ✓ |
Overall change | 18.9 kB | 18.9 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_app.js gzip | 1.09 kB | 1.09 kB | ✓ |
_error.js gzip | 2.96 kB | 2.96 kB | ✓ |
hooks.js gzip | 664 B | 664 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 1.89 kB | 1.89 kB | ✓ |
routerDirect.js gzip | 279 B | 279 B | ✓ |
withRouter.js gzip | 278 B | 278 B | ✓ |
Overall change | 7.38 kB | 7.38 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_app.module.js gzip | 594 B | 594 B | ✓ |
_error.module.js gzip | 2.06 kB | 2.06 kB | ✓ |
hooks.module.js gzip | 370 B | 370 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 1.48 kB | 1.48 kB | ✓ |
routerDirect..dule.js gzip | 271 B | 271 B | ✓ |
withRouter.m..dule.js gzip | 270 B | 270 B | ✓ |
Overall change | 5.26 kB | 5.26 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_error.js gzip | 292 kB | 293 kB | |
404.html gzip | 1.32 kB | 1.32 kB | ✓ |
hooks.html gzip | 956 B | 956 B | ✓ |
index.js gzip | 294 kB | 293 kB | -842 B |
link.js gzip | 300 kB | 300 kB | |
routerDirect.js gzip | 299 kB | 299 kB | |
withRouter.js gzip | 299 kB | 299 kB | |
Overall change | 1.49 MB | 1.49 MB |
Stats from current PRDefault Server ModeGeneral
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Rendered Page Sizes
Serverless Mode (Increase detected
|
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
buildDuration | 10.1s | 10.9s | |
nodeModulesSize | 56.5 MB | 56.5 MB | ✓ |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
main-HASH.js gzip | 5.77 kB | 5.77 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..cfaa.js gzip | 9.77 kB | 9.77 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 55.4 kB | 55.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.78 kB | 4.78 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..dule.js gzip | 6.71 kB | 6.71 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 51.4 kB | 51.4 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 18.9 kB | 18.9 kB | ✓ |
Overall change | 18.9 kB | 18.9 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_app.js gzip | 1.09 kB | 1.09 kB | ✓ |
_error.js gzip | 2.96 kB | 2.96 kB | ✓ |
hooks.js gzip | 664 B | 664 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 1.89 kB | 1.89 kB | ✓ |
routerDirect.js gzip | 279 B | 279 B | ✓ |
withRouter.js gzip | 278 B | 278 B | ✓ |
Overall change | 7.38 kB | 7.38 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_app.module.js gzip | 594 B | 594 B | ✓ |
_error.module.js gzip | 2.06 kB | 2.06 kB | ✓ |
hooks.module.js gzip | 370 B | 370 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 1.48 kB | 1.48 kB | ✓ |
routerDirect..dule.js gzip | 271 B | 271 B | ✓ |
withRouter.m..dule.js gzip | 270 B | 270 B | ✓ |
Overall change | 5.26 kB | 5.26 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_error.js gzip | 293 kB | 293 kB | |
404.html gzip | 1.32 kB | 1.32 kB | ✓ |
hooks.html gzip | 956 B | 956 B | ✓ |
index.js gzip | 293 kB | 292 kB | -14 B |
link.js gzip | 300 kB | 301 kB | |
routerDirect.js gzip | 299 kB | 299 kB | -11 B |
withRouter.js gzip | 299 kB | 300 kB | |
Overall change | 1.49 MB | 1.49 MB |
Stats from current PRDefault Server ModeGeneral
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Rendered Page Sizes
Serverless Mode (Increase detected
|
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
buildDuration | 9.3s | 9.3s | |
nodeModulesSize | 56.5 MB | 56.5 MB | ✓ |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
main-HASH.js gzip | 5.77 kB | 5.77 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..cfaa.js gzip | 9.77 kB | 9.77 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 55.4 kB | 55.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.78 kB | 4.78 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..dule.js gzip | 6.71 kB | 6.71 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 51.4 kB | 51.4 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 18.9 kB | 18.9 kB | ✓ |
Overall change | 18.9 kB | 18.9 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_app.js gzip | 1.09 kB | 1.09 kB | ✓ |
_error.js gzip | 2.96 kB | 2.96 kB | ✓ |
hooks.js gzip | 664 B | 664 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 1.89 kB | 1.89 kB | ✓ |
routerDirect.js gzip | 279 B | 279 B | ✓ |
withRouter.js gzip | 278 B | 278 B | ✓ |
Overall change | 7.38 kB | 7.38 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_app.module.js gzip | 594 B | 594 B | ✓ |
_error.module.js gzip | 2.06 kB | 2.06 kB | ✓ |
hooks.module.js gzip | 370 B | 370 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 1.48 kB | 1.48 kB | ✓ |
routerDirect..dule.js gzip | 271 B | 271 B | ✓ |
withRouter.m..dule.js gzip | 270 B | 270 B | ✓ |
Overall change | 5.26 kB | 5.26 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_error.js gzip | 293 kB | 293 kB | |
404.html gzip | 1.32 kB | 1.32 kB | ✓ |
hooks.html gzip | 956 B | 956 B | ✓ |
index.js gzip | 293 kB | 293 kB | -407 B |
link.js gzip | 301 kB | 301 kB | -106 B |
routerDirect.js gzip | 299 kB | 299 kB | |
withRouter.js gzip | 299 kB | 299 kB | |
Overall change | 1.49 MB | 1.49 MB |
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.
I just went through doing Sanity locally and made a few suggestions on README.
The preview mode didn't work for me, so I looked up, but Sanity has a built-in preview feature and I think we want to utilize this:
https://www.sanity.io/docs/preview-content-on-site
- We need the users to generate an API token
- We need the users to modify the sanity project to enable the preview button in the Studio.
Co-Authored-By: Shu Uesugi <shu@chibicode.com>
Stats from current PRDefault Server ModeGeneral
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Rendered Page Sizes
Serverless Mode (Increase detected
|
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
buildDuration | 10s | 9.7s | -209ms |
nodeModulesSize | 56.6 MB | 56.6 MB | ✓ |
Client Bundles (main, webpack, commons)
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
main-HASH.js gzip | 5.77 kB | 5.77 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..cfaa.js gzip | 9.77 kB | 9.77 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 55.4 kB | 55.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.78 kB | 4.78 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..dule.js gzip | 6.71 kB | 6.71 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 51.4 kB | 51.4 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 26.2 kB | 26.2 kB | ✓ |
Overall change | 26.2 kB | 26.2 kB | ✓ |
Client Pages
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_app.js gzip | 1.09 kB | 1.09 kB | ✓ |
_error.js gzip | 2.96 kB | 2.96 kB | ✓ |
hooks.js gzip | 664 B | 664 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 1.89 kB | 1.89 kB | ✓ |
routerDirect.js gzip | 279 B | 279 B | ✓ |
withRouter.js gzip | 278 B | 278 B | ✓ |
Overall change | 7.38 kB | 7.38 kB | ✓ |
Client Pages Modern
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_app.module.js gzip | 594 B | 594 B | ✓ |
_error.module.js gzip | 2.06 kB | 2.06 kB | ✓ |
hooks.module.js gzip | 370 B | 370 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 1.48 kB | 1.48 kB | ✓ |
routerDirect..dule.js gzip | 271 B | 271 B | ✓ |
withRouter.m..dule.js gzip | 270 B | 270 B | ✓ |
Overall change | 5.26 kB | 5.26 kB | ✓ |
Client Build Manifests
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | ijjk/next.js example/sanity-cms | Change | |
---|---|---|---|
_error.js gzip | 293 kB | 294 kB | |
404.html gzip | 1.32 kB | 1.32 kB | ✓ |
hooks.html gzip | 956 B | 956 B | ✓ |
index.js gzip | 293 kB | 293 kB | -166 B |
link.js gzip | 301 kB | 301 kB | |
routerDirect.js gzip | 299 kB | 299 kB | -8 B |
withRouter.js gzip | 300 kB | 300 kB | -51 B |
Overall change | 1.49 MB | 1.49 MB |
Stats from current PRDefault Server ModeGeneral
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Rendered Page Sizes
Serverless Mode (Decrease detected ✓)General
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Serverless bundles Overall decrease ✓
|
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.
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.
💯
Perfect timing here. Thank you @ijjk @lfades @chibicode. Implementing this right now on a community project launching today to help support restaurants affected by the quarentine. https://github.com/gosignal/dineforward. |
TODO
README.md
(the most time consuming part)package.json
- Updatename
and removereact-datocms
.env.example
- Use different env variable namesnext.config.js
- Use different env variable namesnow.json
lib/api.js
pages/index.js
- UpdategetStaticProps
pages/posts/[slug].js
- UpdategetStaticProps
andgetStaticPaths
pages/api/preview.js
- Update the secret environment variable (NEXT_EXAMPLE_CMS_DATOCMS_PREVIEW_SECRET
) and thegetPreviewPostBySlug
calllib/constants.js
- ogp image is created on https://og-image.now.sh (config)lib/markdownToHtml.js
- DatoCMS sends down markdown so we had to convert it to HTML, but might not be necessary for other CMSscomponents/cover-image.js
- Usesreact-datocms
to render progressive images.Also, add to the "More Examples" section on:
docs/basic-features/pages.md
docs/basic-features/data-fetching.md
docs/advanced-features/preview-mode.md
x-ref: #10891