tinacms / tina-graphql-gateway

Makes it easier to build TinaCMS websites with a GraphQL Layer.
https://tina.io/cloud
Apache License 2.0
6 stars 2 forks source link

Tina Cloud Starter bundle size regression #337

Closed jeffsee55 closed 3 years ago

jeffsee55 commented 3 years ago

Builds are large, we're building common js from the tina-graphql-gateway package, so EditProvider is causing us to import the whole thing. Short term solution is to drop that component into a different directory:

import { EditProvider, useEditState } from 'tina-graphql-gateway/light'

Here's the current build sizes, these should be closer to 100kb for First Load based on previous benchmarks

info  - Creating an optimized production build  
info  - Compiled successfully
info  - Collecting page data  
info  - Generating static pages (4/4)
info  - Finalizing page optimization  

Page                                                           Size     First Load JS
┌ ● /                                                          3.05 kB         520 kB
├   /_app                                                      0 B             487 kB
├ ○ /404                                                       318 B           491 kB
├ ○ /admin                                                     377 B           491 kB
├ λ /api/cloudinary/[...media]                                 0 B             487 kB
├ λ /api/test                                                  0 B             487 kB
└ ● /posts/[filename]                                          822 B           518 kB
    └ /posts/voteForPedro
+ First Load JS shared by all                                  487 kB
  ├ chunks/0e4701e7.054fb5.js                                  19.2 kB
  ├ chunks/1eb5eae6fe3c52c9ba7d3146d72f7b2f6b76818c.654fa7.js  373 kB
  ├ chunks/8b979d68ad0ed21eb195e4dbd68520354cec843e.0262ed.js  4.79 kB
  ├ chunks/cbb68c2c.3fef71.js                                  23.3 kB
  ├ chunks/commons.91f88d.js                                   13.3 kB
  ├ chunks/framework.93ffee.js                                 42.6 kB
  ├ chunks/main.fe1596.js                                      6.33 kB
  ├ chunks/pages/_app.961ce5.js                                3.19 kB
  └ chunks/webpack.30cddb.js                                   1.5 kB

λ  (Server)  server-side renders at runtime (uses getInitialProps or getServerSideProps)
○  (Static)  automatically rendered as static HTML (uses no initial props)
●  (SSG)     automatically generated as static HTML + JSON (uses getStaticProps)
   (ISR)     incremental static regeneration (uses revalidate in getStaticProps)