Bundle size / unused JS / Tree shaking?
kaumac opened this issue · comments
Bug report
- I confirm this is a bug with Supabase, not with my own application.
- I confirm I have searched the Docs, GitHub Discussions, and Discord.
Describe the bug
I'm currently optimizing the marketing pages of my application (built with nextjs and supabase).
One of the problems I'm facing is that I'm using createMiddlewareClient
on the nextjs middleware to handle the authentication on my app. The problem is that the nextjs middleware is browser based, so the imported modules gets to the bundle fetched by the user.
Importing createMiddlewareClient
adds a around ~30kb to the bundle, the problem is that Lighthouse tests indicates that ~23kb of that is unused.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:
import { createMiddlewareClient } from '@supabase/auth-helpers-nextjs'
on nextjs middleware.- Deploy application and analyze the generated bundle
- Supabase code will be fetched by users when visiting pages that are affected by the middleware.
- A lot of code is not used.
Expected behavior
I'm not really sure if the supabase code is tree shaken. Ideally unused code should not get to the js bundle
Same problem here too. Been trying to figure out how to fix this as supabase has doubled our _app bundle size too.