supabase-js

The official isomorphic JavaScript SDK for Supabase — database, auth, realtime, storage, and edge functions in one client.

SDK
npm
v2.118.0
4,598 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
95 /100 Excellent
Development Activity 100
Maintenance 100
Community 80
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
91 /100 Excellent
Architecture 92
Code Quality 90
Innovation 93
Learning Curve 85

supabase-js is the official isomorphic JavaScript client for Supabase, the open-source Firebase alternative built on Postgres. A single createClient call gives you a typed gateway to your entire backend: query and mutate your Postgres database through PostgREST, authenticate and manage users, subscribe to realtime database changes over WebSockets, upload and download files, and invoke edge functions.

The package composes five focused sub-libraries (auth-js, postgrest-js, realtime-js, storage-js, and functions-js) behind one ergonomic, fully typed surface. It runs anywhere JavaScript runs — Node.js, Deno, Bun, browsers, and React Native — and can generate end-to-end types from your database schema so queries are checked at compile time.

What You Get

  • A single typed createClient client that exposes database, auth, realtime, storage, and edge-function APIs
  • A chainable PostgREST query builder (.from().select().eq()...) with generated TypeScript types from your schema
  • Built-in authentication and session management with support for email, OAuth, magic links, and more
  • Realtime subscriptions to Postgres changes and broadcast/presence channels over WebSockets
  • Isomorphic support across Node.js, Deno, Bun, browsers, and React Native

Common Use Cases

  • Building full-stack web and mobile apps backed by a hosted Supabase Postgres database
  • Adding authentication and row-level-secured data access to a frontend without a custom backend
  • Streaming live data into a UI via realtime subscriptions to table changes
  • Handling user file uploads and downloads through Supabase Storage
  • Calling server-side logic through Supabase Edge Functions from client code

Under The Hood

Architecture — supabase-js is a thin composition layer that lives in packages/core/supabase-js/src of an Nx-managed pnpm monorepo. createClient (in index.ts) instantiates a SupabaseClient (SupabaseClient.ts) that acts as a facade, constructing and holding five specialized sub-clients — SupabaseAuthClient (extending auth-js), PostgrestClient from postgrest-js, RealtimeClient from realtime-js, StorageClient from storage-js, and FunctionsClient from functions-js — and wiring them together with a shared authenticated fetch (lib/fetch.ts) plus resolved defaults from lib/constants.ts and lib/helpers.ts. Calls like .from(), .auth, .channel(), .storage, and .functions are delegated straight to the relevant sub-client.

Tech Stack — Written in TypeScript (~5.8) and published as dual CJS/ESM with generated .d.ts types. Its runtime dependencies are the five @supabase/* sub-packages consumed as workspace references; there are no other production dependencies, and it relies on the platform’s native fetch and WebSocket APIs for isomorphism. Tooling is Nx 22 for the monorepo, Vite/Vitest and Jest for tests, ESLint + Prettier + Husky + commitlint for quality gates, and pnpm as the package manager.

Code Quality — Testing is thorough and multi-runtime: test/ contains unit tests, integration tests, browser (integration.browser.test.ts) and Deno suites, plus dedicated module-resolution and Hermes/React-Native bundle-compatibility checks that assert the package resolves correctly under CJS, ESM, and various bundlers. Types are strict and heavily generic — the SupabaseClient/createClient signatures thread a Database schema type through to compile-time-checked queries — and conventional-commit enforcement keeps the changelog automated.

API Design — The developer experience is a core strength: a single createClient(url, key) returns one object from which every capability hangs via readable, chainable calls (supabase.from('profiles').select('*')). Naming is consistent across sub-clients, the schema-driven generics give autocomplete and type-safety without boilerplate, and getting started requires only two arguments. Extensive official guides and reference docs back the API up.

Used by 32 apps in this directory

TypeScript
96%

Open Scouts

AI Agents · Automation

1,370

Create automated AI scouts that continuously search the web and send email alerts when they find what you're looking for.

View details
33
Repo Health
65
Technical
69
Dependency
Built with
TypeScript 96%
Updated 5 months ago
Go
36%

OpenPanel

Devops · Hosting Control Panel

764

Docker-powered web hosting control panel that gives every user a fully isolated environment with dedicated web server, database, and networking — VPS-grade security on shared hardware.

View details
87
Repo Health
75
Technical
63
Dependency
Built with
Go 36%
HTML 30%
TypeScript 24%
Updated 3 days ago
TypeScript
90%
MIT

Plasmic

CMS · Design Tools · Low Code Platforms

7,125

The open-source visual builder that lets teams design React apps and websites with drag-and-drop while integrating seamlessly with your codebase.

View details
81
Repo Health
78
Technical
64
Dependency
Built with
TypeScript 90%
Updated 3 days ago
TypeScript
95%
MIT

Skrun

AI Agents

210

An open, self-hostable, multi-model agent runtime that deploys any agent skill as an API via POST /run — an open-source alternative to Claude Managed Agents and Google's Gemini Enterprise Agent Platform.

View details
54
Repo Health
66
Technical
77
Dependency
Built with
TypeScript 95%
Updated 1 months ago
TypeScript
89%
Other

Hexclave

Authentication · Developer Tools

6,877

The open-source user infrastructure platform — authentication, teams, payments, emails, analytics, and more on a single unified user model.

View details
88
Repo Health
80
Technical
66
Dependency
Built with
TypeScript 89%
Updated 2 days ago
TypeScript
47%
Other

Stirling PDF

Digital Signiture · Productivity

94,824

The open-source PDF platform you can run anywhere — edit, convert, sign, and automate PDFs without sending files to external servers.

View details
92
Repo Health
86
Technical
68
Dependency
Built with
TypeScript 47%
Java 44%
Updated 2 days ago
TypeScript
92%
Other

Suna

AI Agents

20,306

Turn your company into a git repo — one config, one command center, a workforce of AI agents that runs the real work around the clock.

View details
90
Repo Health
79
Technical
65
Dependency
Built with
TypeScript 92%
Updated 2 days ago
TypeScript
72%
Apache 2.0

Supabase

Authentication · Databases · Developer Tools

113,827

The open-source Postgres development platform that replaces Firebase with authentication, real-time APIs, edge functions, storage, and vector embeddings — all built on PostgreSQL.

View details
90
Repo Health
91
Technical
62
Dependency
Built with
TypeScript 72%
MDX 26%
Updated 2 days ago
TypeScript
72%
Apache 2.0

Supabase

Authentication · Databases · Developer Tools

113,827

The open-source Postgres development platform that replaces Firebase with authentication, real-time APIs, edge functions, storage, and vector embeddings — all built on PostgreSQL.

View details
90
Repo Health
91
Technical
62
Dependency
Built with
TypeScript 72%
MDX 26%
Updated 2 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers