Every atomic assertion extracted from the underlying record, ranked by evidence strength.
supabase-js interacts with Postgres databases.
supabase-js listens to database changes.
supabase-js invokes Deno Edge Functions.
supabase-js builds login and user management functionality.
supabase-js manages large files.
supabase-js can be installed via npm.
supabase-js can be installed via CDN.
supabase-js can be used in Deno runtime via JSR.
supabase-js uses the Data API to query Postgres data.
supabase-js uses the Data API to mutate Postgres data.
Data API roles require permissions to access tables.
Data API roles require permissions to access functions.
Row Level Security (RLS) should be enabled for tables.
Policies are required for each role's allowed operations.
supabase-js client is created using `createClient`.
`createClient` requires `supabaseUrl`.
`createClient` requires `supabaseKey`.
`createClient` accepts `options`.
supabase-js supports TypeScript.
TypeScript support in supabase-js includes type inference.
TypeScript support in supabase-js includes autocompletion.
TypeScript support in supabase-js includes type-safe queries.
supabase-js detects `not null` constraints with TypeScript.
supabase-js detects generated columns with TypeScript.
supabase-js types nullable columns as `T | null`.
supabase-js detects relationships between tables with TypeScript.
supabase-js types one-to-many relationships as `T[]`.
supabase-js types many-to-one relationships as `T | null`.
TypeScript types can be generated using the Supabase CLI.
TypeScript types can be generated from the Supabase dashboard.
supabase-js client can be supplied with type definitions.
Helper types can be used for tables in supabase-js.
Helper types can be used for joins in supabase-js.
`MergeDeep` from `type-fest` can override generated types in supabase-js.
`overrideTypes()` method can partially override response types in supabase-js.
`overrideTypes()` method can fully replace response types in supabase-js.
`overrideTypes()` method can be used with `maybeSingle()` in supabase-js.
`overrideTypes()` method can be used with `single()` in supabase-js.
Generated types provide shorthands for accessing tables in supabase-js.
Generated types provide shorthands for accessing enums in supabase-js.
`QueryResult` provides result types from queries in supabase-js.
`QueryData` provides result types from queries in supabase-js.
`QueryError` provides result types from queries in supabase-js.
`select()` performs a SELECT query.
`select()` can be used on tables.
`select()` can be used on views.
`select()` with `count` and `range()` or `limit()` returns the total number of rows that match filters.
Supabase projects return a maximum of 1,000 rows by default.
The maximum row limit in Supabase projects can be changed in API settings.
`range()` queries can paginate data.
`select()` can be combined with filters.
`select()` can be combined with modifiers.
`apikey` is a reserved keyword in Supabase Platform.
`select()` accepts `columns` parameter.
`select()` accepts `options` parameter.
`insert()` performs an INSERT query.
`insert()` can be used on tables.
`insert()` can be used on views.
Inserted rows are not returned by default when using `insert()`.
supabase-js is an isomorphic JavaScript library.