Closed phryneas closed 4 weeks ago
b7c0118(current) vs 1f8cda5 main#115(baseline)
[!WARNING] Bundle contains 1 duplicate package – View duplicate packages
Bundle metrics
5 changes
1 regression
2 improvements
Current Job #128 |
Baseline Job #115 |
|
---|---|---|
Initial JS | 880.22KiB (-1.16% ) |
890.58KiB |
Initial CSS | 0B |
0B |
Cache Invalidation | 1.5% |
0% |
Chunks | 24 |
24 |
Assets | 45 |
45 |
Modules | 499 (-2.54% ) |
512 |
Duplicate Modules | 30 |
30 |
Duplicate Code | 1.31% (+1.55% ) |
1.29% |
Packages | 26 (-10.34% ) |
29 |
Duplicate Packages | 1 |
1 |
1 change
1 improvement
View job #128 report View pr/remove-superjson branch activity View project dashboard
Path | Size |
---|---|
{ ApolloNextAppProvider, NextSSRApolloClient, NextSSRInMemoryCache } from '@apollo/experimental-nextjs-app-support/ssr' (Browser ESM) | 4.29 KB (-44.93% 🔽) |
{ WrapApolloProvider, ApolloClient, InMemoryCache } from '@apollo/client-react-streaming' (Browser ESM) | 1.4 KB (0%) |
{ buildManualDataTransport } from '@apollo/client-react-streaming/manual-transport' (Browser ESM) | 2.6 KB (-58.57% 🔽) |
@apollo/client-react-streaming (Browser ESM) | 2.13 KB (0%) |
@apollo/client-react-streaming (SSR ESM) | 1.75 KB (0%) |
@apollo/client-react-streaming (RSC ESM) | 1.36 KB (0%) |
@apollo/client-react-streaming/manual-transport (Browser ESM) | 2.8 KB (-56.57% 🔽) |
@apollo/client-react-streaming/manual-transport (SSR ESM) | 2.76 KB (-56.46% 🔽) |
@apollo/experimental-nextjs-app-support/ssr (Browser ESM) | 4.91 KB (-41.63% 🔽) |
@apollo/experimental-nextjs-app-support/ssr (SSR ESM) | 4.86 KB (-41.73% 🔽) |
@apollo/experimental-nextjs-app-support/ssr (RSC ESM) | 867 B (0%) |
@apollo/experimental-nextjs-app-support/rsc (RSC ESM) | 626 B (0%) |
I tried to explain this better. I'm really sorry for the 🤯 - I had a ton of difficulties wrapping my mind around what needs to be done here and what's already implicitly happening, too, but I didn't really know how to explain it better (without half a page of text, at least).
closes #209
This is a big bundle size reduction for the library itself (see below, -44.93% on what we ship to the browser with the Next.js package), but beyond that it also cuts down a lot on data transported by the library, as SuperJSON adds a lot of extra bulk in their serialization format that we just don't need.
That said, some of our users might have non-serializable values in the cache and also want that transported over, so I'm leaving an escape hatch:
stringify
andrevive
can be configured.