finds.dev← search

// the find

supabase/supabase-js

★ 4,475 · TypeScript · MIT · updated Jun 2026

An isomorphic Javascript client for Supabase. Query your Supabase database, subscribe to realtime events, upload and download files, browse typescript examples, invoke postgres functions via rpc, invoke supabase edge functions, query pgvector.

The official JavaScript/TypeScript client for Supabase, bundling auth, database (via PostgREST), realtime subscriptions, file storage, and edge function invocation into one package. It runs anywhere that has fetch and WebSocket — Node, Deno, Bun, browsers, React Native, Cloudflare Workers. If you're building on Supabase, this is the only client you need.

The TypeScript types are genuinely good — the select-query parser infers return shapes from your query string at compile time, so `.select('id, name, posts(title)')` gives you a typed result without any extra work. The monorepo structure means you can import just `@supabase/postgrest-js` or `@supabase/auth-js` if you don't want the whole bundle. Realtime is built on Phoenix channels, which is a proven protocol, not a custom websocket hack. npm provenance attestations are set up and documented, which matters if you care about supply-chain integrity.

The library is tightly coupled to Supabase's hosted infrastructure — the PostgREST client points at a URL Supabase controls, so if you want to swap the backend you're rewriting your data layer, not just changing a config. Dropping Node 18 support in a minor release (2.79.0) is called out as intentional policy, which is technically defensible but will quietly break CI for anyone who doesn't pin aggressively. The realtime channel API surface is large and the state machine (joining, joined, leaving, closed, errored) is easy to get wrong without reading the source; the docs don't cover edge cases like what happens when you subscribe before auth resolves. No offline support or optimistic update primitives — you're writing that yourself.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →