supabase / auth-helpers

A collection of framework specific Auth utilities for working with Supabase.

Home Page:https://supabase.github.io/auth-helpers/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

  1. import { createMiddlewareClient } from '@supabase/auth-helpers-nextjs' on nextjs middleware.
  2. Deploy application and analyze the generated bundle
  3. Supabase code will be fetched by users when visiting pages that are affected by the middleware.
  4. 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.

same here. I noticed that the docs now recommend using @supabase/ssr over @supabase/auth-helpers-nextjs, but the bundle size of ssr is still pretty hefty (25.92 KB Gzipped on version "^0.3.0")

Screenshot 2024-04-13 at 9 44 06 AM

anyone on the team got any recommendations for tree shaking?