Skip to content
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 examples #10567

Closed
wants to merge 2 commits into from
Closed

Conversation

timneutkens
Copy link
Member

@timneutkens timneutkens commented Feb 18, 2020

⚠ This uses experimental features as outlined by #9524

Started with DatoCMS as I already had a working example.

Routes

  • / -> homepage, currently empty
  • /blog -> blog index
  • /blog/[...slug] -> any blog post

API Routes

  • /api/preview -> Enables Next.js preview mode that bypasses the generated HTML file and directly runs getStaticProps. Note that this should generally be guarded around some authentication but DatoCMS doesn't have a "preview link" feature currently.

General notes

Used Tailwind. Styling still needs to be worked on (especially on mobile).

Created a minimal graphql fetching function that is smaller than basically all solutions that can be installed from npm.

@ijjk
Copy link
Member

ijjk commented Feb 18, 2020

Stats from current PR

Default Server Mode
General
zeit/next.js canary timneutkens/next.js add/cms-example Change
buildDuration 10.8s 10.5s -222ms
nodeModulesSize 53.2 MB 53.2 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary timneutkens/next.js add/cms-example Change
main-HASH.js gzip 5.14 kB 5.14 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..6894.js gzip 16.3 kB 16.3 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 70 kB 70 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary timneutkens/next.js add/cms-example Change
main-HASH.module.js gzip 4.14 kB 4.14 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..dule.js gzip 15.1 kB 15.1 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 64.7 kB 64.7 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary timneutkens/next.js add/cms-example Change
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 4.76 kB 4.76 kB
Client Pages
zeit/next.js canary timneutkens/next.js add/cms-example Change
_app.js gzip 1.15 kB 1.15 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js gzip 779 B 779 B
index.js gzip 222 B 222 B
link.js gzip 2.95 kB 2.95 kB
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.73 kB 9.73 kB
Client Pages Modern
zeit/next.js canary timneutkens/next.js add/cms-example Change
_app.module.js gzip 576 B 576 B
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js gzip 371 B 371 B
index.module.js gzip 212 B 212 B
link.module.js gzip 2.49 kB 2.49 kB
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.25 kB 7.25 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/cms-example Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary timneutkens/next.js add/cms-example Change
index.html gzip 1.03 kB 1.03 kB
link.html gzip 1.04 kB 1.04 kB
withRouter.html gzip 1.03 kB 1.03 kB
Overall change 3.11 kB 3.11 kB

Serverless Mode (Increase detected ⚠️)
General
zeit/next.js canary timneutkens/next.js add/cms-example Change
buildDuration 11.4s 11.3s -102ms
nodeModulesSize 53.2 MB 53.2 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary timneutkens/next.js add/cms-example Change
main-HASH.js gzip 5.14 kB 5.14 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..54d3.js gzip 4.68 kB 4.68 kB
commons.HASH.js gzip 4.06 kB 4.06 kB
de003c3a9d30..6894.js gzip 16.3 kB 16.3 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 70 kB 70 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary timneutkens/next.js add/cms-example Change
main-HASH.module.js gzip 4.14 kB 4.14 kB
webpack-HASH..dule.js gzip 746 B 746 B
4952ddcd88e7..dule.js gzip 5.56 kB 5.56 kB
de003c3a9d30..dule.js gzip 15.1 kB 15.1 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 64.7 kB 64.7 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary timneutkens/next.js add/cms-example Change
polyfills-HASH.js gzip 4.76 kB 4.76 kB
Overall change 4.76 kB 4.76 kB
Client Pages
zeit/next.js canary timneutkens/next.js add/cms-example Change
_app.js gzip 1.15 kB 1.15 kB
_error.js gzip 4.07 kB 4.07 kB
hooks.js gzip 779 B 779 B
index.js gzip 222 B 222 B
link.js gzip 2.95 kB 2.95 kB
routerDirect.js gzip 283 B 283 B
withRouter.js gzip 282 B 282 B
Overall change 9.73 kB 9.73 kB
Client Pages Modern
zeit/next.js canary timneutkens/next.js add/cms-example Change
_app.module.js gzip 576 B 576 B
_error.module.js gzip 3.06 kB 3.06 kB
hooks.module.js gzip 371 B 371 B
index.module.js gzip 212 B 212 B
link.module.js gzip 2.49 kB 2.49 kB
routerDirect..dule.js gzip 273 B 273 B
withRouter.m..dule.js gzip 272 B 272 B
Overall change 7.25 kB 7.25 kB
Client Build Manifests
zeit/next.js canary timneutkens/next.js add/cms-example 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 timneutkens/next.js add/cms-example Change
_error.js gzip 290 kB 290 kB -25 B
404.html gzip 1.45 kB 1.45 kB
hooks.html gzip 1.08 kB 1.08 kB
index.js gzip 289 kB 289 kB -123 B
link.js gzip 319 kB 319 kB -160 B
routerDirect.js gzip 316 kB 316 kB -278 B
withRouter.js gzip 315 kB 316 kB ⚠️ +1.01 kB
Overall change 1.53 MB 1.53 MB ⚠️ +427 B

Commit: b3d7c8f

@ijjk
Copy link
Member

ijjk commented Feb 25, 2020

Stats from current PR

Default Server Mode
General
zeit/next.js canary timneutkens/next.js add/cms-example Change
buildDuration 10s 9.8s -198ms
nodeModulesSize 56.2 MB 56.2 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary timneutkens/next.js add/cms-example Change
main-HASH.js gzip 5.05 kB 5.05 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..b61f.js gzip 12.3 kB 12.3 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary timneutkens/next.js add/cms-example Change
main-HASH.module.js gzip 4.14 kB 4.14 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 9.22 kB 9.22 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 53.2 kB 53.2 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary timneutkens/next.js add/cms-example 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 timneutkens/next.js add/cms-example Change
_app.js gzip 1.06 kB 1.06 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.9 kB 1.9 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 timneutkens/next.js add/cms-example Change
_app.module.js gzip 577 B 577 B
_error.module.js gzip 2.08 kB 2.08 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 timneutkens/next.js add/cms-example Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary timneutkens/next.js add/cms-example Change
index.html gzip 924 B 924 B
link.html gzip 934 B 934 B
withRouter.html gzip 922 B 922 B
Overall change 2.78 kB 2.78 kB

Serverless Mode (Decrease detected ✓)
General
zeit/next.js canary timneutkens/next.js add/cms-example Change
buildDuration 10.8s 11s ⚠️ +228ms
nodeModulesSize 56.2 MB 56.2 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary timneutkens/next.js add/cms-example Change
main-HASH.js gzip 5.05 kB 5.05 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..b61f.js gzip 12.3 kB 12.3 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary timneutkens/next.js add/cms-example Change
main-HASH.module.js gzip 4.14 kB 4.14 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 9.22 kB 9.22 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 53.2 kB 53.2 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary timneutkens/next.js add/cms-example 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 timneutkens/next.js add/cms-example Change
_app.js gzip 1.06 kB 1.06 kB
_error.js gzip 2.98 kB 2.98 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 1.9 kB 1.9 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 timneutkens/next.js add/cms-example Change
_app.module.js gzip 577 B 577 B
_error.module.js gzip 2.08 kB 2.08 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 timneutkens/next.js add/cms-example 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 decrease ✓
zeit/next.js canary timneutkens/next.js add/cms-example Change
_error.js gzip 290 kB 290 kB -591 B
404.html gzip 1.33 kB 1.33 kB
hooks.html gzip 963 B 963 B
index.js gzip 290 kB 289 kB -224 B
link.js gzip 299 kB 298 kB -1.25 kB
routerDirect.js gzip 296 kB 297 kB ⚠️ +299 B
withRouter.js gzip 297 kB 297 kB ⚠️ +314 B
Overall change 1.47 MB 1.47 MB -1.46 kB

Commit: 14d961d

@timneutkens
Copy link
Member Author

Landed in #10891

@timneutkens timneutkens closed this Mar 9, 2020
@timneutkens timneutkens deleted the add/cms-example branch March 9, 2020 14:24
@vercel vercel locked as resolved and limited conversation to collaborators Jan 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants