UNPKG

@supabase/supabase-js

Version:

Isomorphic Javascript client for Supabase

104 lines (70 loc) 2.57 kB
# `supabase-js` - Isomorphic JavaScript Client for Supabase. - **Documentation:** https://supabase.com/docs/reference/javascript/start - TypeDoc: https://supabase.github.io/supabase-js/v2/ ## Usage First of all, you need to install the library: ```sh npm install @supabase/supabase-js ``` Then you're able to import the library and establish the connection with the database: ```js import { createClient } from '@supabase/supabase-js' // Create a single supabase client for interacting with your database const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key') ``` ### UMD You can use plain `<script>`s to import supabase-js from CDNs, like: ```html <script src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2"></script> ``` or even: ```html <script src="https://unpkg.com/@supabase/supabase-js@2"></script> ``` Then you can use it from a global `supabase` variable: ```html <script> const { createClient } = supabase const _supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key') console.log('Supabase Instance: ', _supabase) // ... </script> ``` ### ESM You can use `<script type="module">` to import supabase-js from CDNs, like: ```html <script type="module"> import { createClient } from 'https://cdn.jsdelivr.net/npm/@supabase/supabase-js/+esm' const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key') console.log('Supabase Instance: ', supabase) // ... </script> ``` ### Deno You can use supabase-js in the Deno runtime via [JSR](https://jsr.io/@supabase/supabase-js): ```js import { createClient } from 'jsr:@supabase/supabase-js@2' ``` ### Custom `fetch` implementation `supabase-js` uses the [`cross-fetch`](https://www.npmjs.com/package/cross-fetch) library to make HTTP requests, but an alternative `fetch` implementation can be provided as an option. This is most useful in environments where `cross-fetch` is not compatible, for instance Cloudflare Workers: ```js import { createClient } from '@supabase/supabase-js' // Provide a custom `fetch` implementation as an option const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', { global: { fetch: (...args) => fetch(...args), }, }) ``` ## Testing ### Unit Testing ```bash pnpm test ``` ### Integration Testing ```bash supabase start pnpm run test:integration ``` ## Badges [![Coverage Status](https://coveralls.io/repos/github/supabase/supabase-js/badge.svg?branch=master)](https://coveralls.io/github/supabase/supabase-js?branch=master)