@@ -284,7 +284,7 @@ Let's create a new component for that called `Profile.vue`.
@@ -567,4 +567,4 @@ And then we can add the widget to the Account page:
At this stage you have a fully functional application!
- Got a question? [Ask here](https://github.com/supabase/supabase/discussions).
-- Sign in: [app.supabase.io](https://app.supabase.io)
+- Sign in: [app.supabase.com](https://app.supabase.com)
diff --git a/apps/temp-docs/docs/introduction.mdx b/apps/temp-docs/docs/introduction.mdx
index 410065073d2..06c54452886 100644
--- a/apps/temp-docs/docs/introduction.mdx
+++ b/apps/temp-docs/docs/introduction.mdx
@@ -3,7 +3,6 @@ title: Introduction
description: Introduction to Supabase
---
-
# Introduction
Supabase is an open source Firebase alternative.
@@ -19,7 +18,7 @@ It provides all the backend services you need to build a product. You can use it
## Getting Started
-Visit [app.supabase.io](https://app.supabase.io) to get started with the hosted platform or visit the self-hosting docs to learn how to host Supabase yourself.
+Visit [app.supabase.com](https://app.supabase.com) to get started with the hosted platform or visit the self-hosting docs to learn how to host Supabase yourself.
Supabase is just Postgres, which makes it compatible with a large number of tools and frameworks.
@@ -35,6 +34,7 @@ Supabase is just Postgres, which makes it compatible with a large number of tool
## How to use these docs
+
The documentation is divided into 3 sections.
@@ -43,6 +43,3 @@ The documentation is divided into 3 sections.
-
-
-
diff --git a/apps/temp-docs/docs/javascript/auth-signin.mdx b/apps/temp-docs/docs/javascript/auth-signin.mdx
index d19f85cc52b..40acefd8e88 100644
--- a/apps/temp-docs/docs/javascript/auth-signin.mdx
+++ b/apps/temp-docs/docs/javascript/auth-signin.mdx
@@ -1,12 +1,12 @@
---
id: auth-signin
-title: "signIn()"
+title: 'signIn()'
slug: auth-signin
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
---
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
+import Tabs from '@theme/Tabs'
+import TabsPanel from '@theme/TabsPanel'
Log in an existing user, or login via a third-party provider.
@@ -24,14 +24,12 @@ const { user, session, error } = await supabase.auth.signIn({
})
```
-
## Parameters
-
@@ -48,13 +46,12 @@ const { user, session, error } = await supabase.auth.signIn({
-No description provided.
+No description provided.
-
@@ -69,7 +66,7 @@ No description provided.
-No description provided.
+No description provided.
@@ -90,13 +87,12 @@ No description provided.
-No description provided.
+No description provided.
-
@@ -111,7 +107,7 @@ No description provided.
-No description provided.
+No description provided.
@@ -123,29 +119,17 @@ No description provided.
-
## Notes
- A user can sign up either via email or OAuth.
- If you provide `email` without a `password`, the user will be sent a magic link.
-- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
+- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- Specifying a `provider` will open the browser to the relevant login page.
-
-
-
-
-
-
-
-
-
## Examples
### Sign in with email.
-
-
@@ -178,11 +161,10 @@ If no password is provided, the user will be sent a "magic link" to their email
```js
const { user, session, error } = await supabase.auth.signIn({
- email: 'example@email.com'
+ email: 'example@email.com',
})
```
-
@@ -201,20 +183,18 @@ Supabase supports OAuth logins.
```js
const { user, session, error } = await supabase.auth.signIn({
// provider can be 'github', 'google', 'gitlab', or 'bitbucket'
- provider: 'github'
+ provider: 'github',
})
```
-
### Sign in with redirect.
-Sometimes you want to control where the user is redirected to after they are logged in. Supabase supports this for
-any URL path on your website (the base domain must be the same as the domain in your Auth settings).
-
+Sometimes you want to control where the user is redirected to after they are logged in. Supabase supports this for
+any URL path on your website (the URL must either be on the same domain as your Site URL [see Auth>Settings in dashboard], or must match one of the Additional Redirect URLs [also in Auth>Settings]).
```js
-const { user, session, error } = await supabase.auth.signIn({
- provider: 'github'
-}, {
- redirectTo: 'https://example.com/welcome'
-})
+const { user, session, error } = await supabase.auth.signIn(
+ {
+ provider: 'github',
+ },
+ {
+ redirectTo: 'https://example.com/welcome',
+ }
+)
```
-
@@ -241,7 +223,6 @@ const { user, session, error } = await supabase.auth.signIn({
If you need additional data from an OAuth provider, you can include a space-separated list of scopes in your request to get back an OAuth provider token.
You may also need to specify the scopes in the provider's OAuth app settings, depending on the provider.
-
```js
-const { user, session, error } = await supabase.auth.signIn({
- provider: 'github'
-}, {
- scopes: 'repo gist notifications'
-})
+const { user, session, error } = await supabase.auth.signIn(
+ {
+ provider: 'github',
+ },
+ {
+ scopes: 'repo gist notifications',
+ }
+)
const oAuthToken = session.provider_token // use to access provider API
```
-
@@ -267,7 +250,6 @@ const oAuthToken = session.provider_token // use to access provider API
If you are completing a sign up or login in a React Native app you can pass the refresh token obtained from the provider to obtain a session.
-
{
- if (!response) return;
+ if (!response) return
const { user, session, error } = await supabase.auth.signIn({
refreshToken: response.params?.refresh_token,
- });
-});
+ })
+})
```
-
-
\ No newline at end of file
+
diff --git a/apps/temp-docs/docs/javascript/auth-signup.mdx b/apps/temp-docs/docs/javascript/auth-signup.mdx
index 89e17586e34..6a153f3b576 100644
--- a/apps/temp-docs/docs/javascript/auth-signup.mdx
+++ b/apps/temp-docs/docs/javascript/auth-signup.mdx
@@ -1,12 +1,12 @@
---
id: auth-signup
-title: "signUp()"
+title: 'signUp()'
slug: auth-signup
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
---
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
+import Tabs from '@theme/Tabs'
+import TabsPanel from '@theme/TabsPanel'
Creates a new user.
@@ -24,14 +24,12 @@ const { user, session, error } = await supabase.auth.signUp({
})
```
-
## Parameters
-
@@ -48,13 +46,12 @@ const { user, session, error } = await supabase.auth.signUp({
-No description provided.
+No description provided.
-
@@ -69,7 +66,7 @@ No description provided.
-No description provided.
+No description provided.
@@ -90,13 +87,12 @@ No description provided.
-No description provided.
+No description provided.
-
@@ -111,7 +107,7 @@ No description provided.
-No description provided.
+No description provided.
@@ -123,33 +119,21 @@ No description provided.
-
## Notes
-- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
+- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- If "Email Confirmations" is turned on, a `user` is returned but `session` will be null
- If "Email Confirmations" is turned off, both a `user` and a `session` will be returned
-- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
+- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- If signUp() is called for an existing confirmed user:
- - If "Enable email confirmations" is enabled on the "Authentication" -> "Settings" page, an obfuscated / fake user object will be returned.
- - If "Enable email confirmations" is disabled, an error with a message "User already registered" will be returned.
+ - If "Enable email confirmations" is enabled on the "Authentication" -> "Settings" page, an obfuscated / fake user object will be returned.
+ - If "Enable email confirmations" is disabled, an error with a message "User already registered" will be returned.
- To check if a user already exists, refer to getUser().
-
-
-
-
-
-
-
-
-
## Examples
### Sign up.
-
-
### Sign up with additional user meta data.
-
-
### Sign up with third-party providers.
-You can sign up with OAuth providers using the [`signIn()`](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers) method.
\ No newline at end of file
+You can sign up with OAuth providers using the [`signIn()`](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers) method.
diff --git a/apps/temp-docs/docs/javascript/storage-from-getpublicurl.mdx b/apps/temp-docs/docs/javascript/storage-from-getpublicurl.mdx
index 81820c8a65a..adf4d7fb5e1 100644
--- a/apps/temp-docs/docs/javascript/storage-from-getpublicurl.mdx
+++ b/apps/temp-docs/docs/javascript/storage-from-getpublicurl.mdx
@@ -1,12 +1,12 @@
---
id: storage-from-getpublicurl
-title: "from.getPublicUrl()"
+title: 'from.getPublicUrl()'
slug: storage-from-getpublicurl
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
---
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
+import Tabs from '@theme/Tabs'
+import TabsPanel from '@theme/TabsPanel'
Retrieve URLs for assets in public buckets
@@ -18,20 +18,17 @@ Retrieve URLs for assets in public buckets
```js
-const { publicURL, error } = supabase
- .storage
+const { publicURL, error } = supabase.storage
.from('public-bucket')
.getPublicUrl('folder/avatar1.png')
```
-
## Parameters
-
@@ -56,29 +53,17 @@ The file path to be downloaded, including the path and file name. For example `f
-
## Notes
-- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.io](https://app.supabase.io), clicking the overflow menu on a bucket and choosing "Make public"
+- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
- Policy permissions required:
- - `buckets` permissions: none
+ - `buckets` permissions: none
- `objects` permissions: none
-
-
-
-
-
-
-
-
-
## Examples
### Returns the URL for an asset in a public bucket
-
-
```js
-const { publicURL, error } = supabase
- .storage
+const { publicURL, error } = supabase.storage
.from('public-bucket')
.getPublicUrl('folder/avatar1.png')
```
-
-
\ No newline at end of file
+
diff --git a/apps/temp-docs/docs/reference/dart/auth-signin.mdx b/apps/temp-docs/docs/reference/dart/auth-signin.mdx
index b991760a4dc..31ab4d1a35a 100644
--- a/apps/temp-docs/docs/reference/dart/auth-signin.mdx
+++ b/apps/temp-docs/docs/reference/dart/auth-signin.mdx
@@ -1,16 +1,15 @@
---
id: auth-signin
-title: "auth.signIn()"
+title: 'auth.signIn()'
slug: auth-signin
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
---
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
+import Tabs from '@theme/Tabs'
+import TabsPanel from '@theme/TabsPanel'
Log in an existing user, or login via a third-party provider.
-
-
-
-
-
## Notes
- A user can sign up via email, phone number.
- If you provide `email` without a `password`, the user will be sent a magic link.
-- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
-- Similarly, if you provide `phone` without a `password`, the user will be sent a one time password.
+- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
+- Similarly, if you provide `phone` without a `password`, the user will be sent a one time password.
- If you are looking to sign users in with OAuth in Flutter apps, go to [`signInWithProvider()`](/docs/reference/dart/auth-signinwithprovider).
-
-
-
-
-
-
-
-
-
## Examples
### Sign in with email.
-
-
@@ -93,17 +75,15 @@ final res = await supabase.auth.signIn(email: 'example@email.com');
final error = res.error;
```
-
### Get OAuth sign in URL.
-Passing provider parameter to `signIn()` will return a URL to sign your user in via OAuth.
+Passing provider parameter to `signIn()` will return a URL to sign your user in via OAuth.
If you are looking to sign in a user via OAuth on Flutter app, go to [`signInWithProvider()`](/docs/reference/dart/auth-signinwithprovider).
-
-
\ No newline at end of file
+
diff --git a/apps/temp-docs/docs/reference/dart/auth-signup.mdx b/apps/temp-docs/docs/reference/dart/auth-signup.mdx
index f1a87c75440..b891b85bc2f 100644
--- a/apps/temp-docs/docs/reference/dart/auth-signup.mdx
+++ b/apps/temp-docs/docs/reference/dart/auth-signup.mdx
@@ -1,16 +1,15 @@
---
id: auth-signup
-title: "auth.signUp()"
+title: 'auth.signUp()'
slug: auth-signup
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
---
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
+import Tabs from '@theme/Tabs'
+import TabsPanel from '@theme/TabsPanel'
Creates a new user.
-
-
-
-
-
## Notes
-- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
+- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- If "Email Confirmations" is turned on, a `user` is returned but `session` will be null
- If "Email Confirmations" is turned off, both a `user` and a `session` will be returned
-- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
-
-
-
-
-
-
-
-
-
+- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
## Examples
### Sign up.
-
-
### Sign up with third-party providers.
-If you are using Flutter, you can sign up with OAuth providers using the [`signInWithProvider()`](/docs/reference/dart/auth-signinwithprovider) method available on `supabase_flutter`.
\ No newline at end of file
+If you are using Flutter, you can sign up with OAuth providers using the [`signInWithProvider()`](/docs/reference/dart/auth-signinwithprovider) method available on `supabase_flutter`.
diff --git a/apps/temp-docs/docs/reference/dart/storage-from-getpublicurl.mdx b/apps/temp-docs/docs/reference/dart/storage-from-getpublicurl.mdx
index 0629c3576bf..1013ec51f67 100644
--- a/apps/temp-docs/docs/reference/dart/storage-from-getpublicurl.mdx
+++ b/apps/temp-docs/docs/reference/dart/storage-from-getpublicurl.mdx
@@ -1,16 +1,15 @@
---
id: storage-from-getpublicurl
-title: "from.getPublicUrl()"
+title: 'from.getPublicUrl()'
slug: storage-from-getpublicurl
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
---
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
+import Tabs from '@theme/Tabs'
+import TabsPanel from '@theme/TabsPanel'
Retrieve URLs for assets in public buckets
-
-
-
-
-
## Notes
-- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.io](https://app.supabase.io), clicking the overflow menu on a bucket and choosing "Make public"
+- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
- Policy permissions required:
- - `buckets` permissions: none
+ - `buckets` permissions: none
- `objects` permissions: none
-
-
-
-
-
-
-
-
-
## Examples
### Returns the URL for an asset in a public bucket
-
-
-
\ No newline at end of file
+
diff --git a/apps/temp-docs/docs/reference/javascript/auth-signin.mdx b/apps/temp-docs/docs/reference/javascript/auth-signin.mdx
index d19f85cc52b..40acefd8e88 100644
--- a/apps/temp-docs/docs/reference/javascript/auth-signin.mdx
+++ b/apps/temp-docs/docs/reference/javascript/auth-signin.mdx
@@ -1,12 +1,12 @@
---
id: auth-signin
-title: "signIn()"
+title: 'signIn()'
slug: auth-signin
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
---
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
+import Tabs from '@theme/Tabs'
+import TabsPanel from '@theme/TabsPanel'
Log in an existing user, or login via a third-party provider.
@@ -24,14 +24,12 @@ const { user, session, error } = await supabase.auth.signIn({
})
```
-
## Parameters
-
@@ -48,13 +46,12 @@ const { user, session, error } = await supabase.auth.signIn({
-No description provided.
+No description provided.
-
@@ -69,7 +66,7 @@ No description provided.
-No description provided.
+No description provided.
@@ -90,13 +87,12 @@ No description provided.
-No description provided.
+No description provided.
-
@@ -111,7 +107,7 @@ No description provided.
-No description provided.
+No description provided.
@@ -123,29 +119,17 @@ No description provided.
-
## Notes
- A user can sign up either via email or OAuth.
- If you provide `email` without a `password`, the user will be sent a magic link.
-- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
+- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- Specifying a `provider` will open the browser to the relevant login page.
-
-
-
-
-
-
-
-
-
## Examples
### Sign in with email.
-
-
@@ -178,11 +161,10 @@ If no password is provided, the user will be sent a "magic link" to their email
```js
const { user, session, error } = await supabase.auth.signIn({
- email: 'example@email.com'
+ email: 'example@email.com',
})
```
-
@@ -201,20 +183,18 @@ Supabase supports OAuth logins.
```js
const { user, session, error } = await supabase.auth.signIn({
// provider can be 'github', 'google', 'gitlab', or 'bitbucket'
- provider: 'github'
+ provider: 'github',
})
```
-
### Sign in with redirect.
-Sometimes you want to control where the user is redirected to after they are logged in. Supabase supports this for
-any URL path on your website (the base domain must be the same as the domain in your Auth settings).
-
+Sometimes you want to control where the user is redirected to after they are logged in. Supabase supports this for
+any URL path on your website (the URL must either be on the same domain as your Site URL [see Auth>Settings in dashboard], or must match one of the Additional Redirect URLs [also in Auth>Settings]).
```js
-const { user, session, error } = await supabase.auth.signIn({
- provider: 'github'
-}, {
- redirectTo: 'https://example.com/welcome'
-})
+const { user, session, error } = await supabase.auth.signIn(
+ {
+ provider: 'github',
+ },
+ {
+ redirectTo: 'https://example.com/welcome',
+ }
+)
```
-
@@ -241,7 +223,6 @@ const { user, session, error } = await supabase.auth.signIn({
If you need additional data from an OAuth provider, you can include a space-separated list of scopes in your request to get back an OAuth provider token.
You may also need to specify the scopes in the provider's OAuth app settings, depending on the provider.
-
```js
-const { user, session, error } = await supabase.auth.signIn({
- provider: 'github'
-}, {
- scopes: 'repo gist notifications'
-})
+const { user, session, error } = await supabase.auth.signIn(
+ {
+ provider: 'github',
+ },
+ {
+ scopes: 'repo gist notifications',
+ }
+)
const oAuthToken = session.provider_token // use to access provider API
```
-
@@ -267,7 +250,6 @@ const oAuthToken = session.provider_token // use to access provider API
If you are completing a sign up or login in a React Native app you can pass the refresh token obtained from the provider to obtain a session.
-
{
- if (!response) return;
+ if (!response) return
const { user, session, error } = await supabase.auth.signIn({
refreshToken: response.params?.refresh_token,
- });
-});
+ })
+})
```
-
-
\ No newline at end of file
+
diff --git a/apps/temp-docs/docs/reference/javascript/auth-signup.mdx b/apps/temp-docs/docs/reference/javascript/auth-signup.mdx
index 89e17586e34..6a153f3b576 100644
--- a/apps/temp-docs/docs/reference/javascript/auth-signup.mdx
+++ b/apps/temp-docs/docs/reference/javascript/auth-signup.mdx
@@ -1,12 +1,12 @@
---
id: auth-signup
-title: "signUp()"
+title: 'signUp()'
slug: auth-signup
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
---
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
+import Tabs from '@theme/Tabs'
+import TabsPanel from '@theme/TabsPanel'
Creates a new user.
@@ -24,14 +24,12 @@ const { user, session, error } = await supabase.auth.signUp({
})
```
-
## Parameters
-
@@ -48,13 +46,12 @@ const { user, session, error } = await supabase.auth.signUp({
-No description provided.
+No description provided.
-
@@ -69,7 +66,7 @@ No description provided.
-No description provided.
+No description provided.
@@ -90,13 +87,12 @@ No description provided.
-No description provided.
+No description provided.
-
@@ -111,7 +107,7 @@ No description provided.
-No description provided.
+No description provided.
@@ -123,33 +119,21 @@ No description provided.
-
## Notes
-- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
+- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- If "Email Confirmations" is turned on, a `user` is returned but `session` will be null
- If "Email Confirmations" is turned off, both a `user` and a `session` will be returned
-- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.io](https://app.supabase.io)
+- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
- If signUp() is called for an existing confirmed user:
- - If "Enable email confirmations" is enabled on the "Authentication" -> "Settings" page, an obfuscated / fake user object will be returned.
- - If "Enable email confirmations" is disabled, an error with a message "User already registered" will be returned.
+ - If "Enable email confirmations" is enabled on the "Authentication" -> "Settings" page, an obfuscated / fake user object will be returned.
+ - If "Enable email confirmations" is disabled, an error with a message "User already registered" will be returned.
- To check if a user already exists, refer to getUser().
-
-
-
-
-
-
-
-
-
## Examples
### Sign up.
-
-
### Sign up with additional user meta data.
-
-
### Sign up with third-party providers.
-You can sign up with OAuth providers using the [`signIn()`](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers) method.
\ No newline at end of file
+You can sign up with OAuth providers using the [`signIn()`](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers) method.
diff --git a/apps/temp-docs/docs/reference/javascript/storage-from-getpublicurl.mdx b/apps/temp-docs/docs/reference/javascript/storage-from-getpublicurl.mdx
index 81820c8a65a..adf4d7fb5e1 100644
--- a/apps/temp-docs/docs/reference/javascript/storage-from-getpublicurl.mdx
+++ b/apps/temp-docs/docs/reference/javascript/storage-from-getpublicurl.mdx
@@ -1,12 +1,12 @@
---
id: storage-from-getpublicurl
-title: "from.getPublicUrl()"
+title: 'from.getPublicUrl()'
slug: storage-from-getpublicurl
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
---
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
+import Tabs from '@theme/Tabs'
+import TabsPanel from '@theme/TabsPanel'
Retrieve URLs for assets in public buckets
@@ -18,20 +18,17 @@ Retrieve URLs for assets in public buckets
```js
-const { publicURL, error } = supabase
- .storage
+const { publicURL, error } = supabase.storage
.from('public-bucket')
.getPublicUrl('folder/avatar1.png')
```
-
## Parameters
-
@@ -56,29 +53,17 @@ The file path to be downloaded, including the path and file name. For example `f
-
## Notes
-- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.io](https://app.supabase.io), clicking the overflow menu on a bucket and choosing "Make public"
+- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
- Policy permissions required:
- - `buckets` permissions: none
+ - `buckets` permissions: none
- `objects` permissions: none
-
-
-
-
-
-
-
-
-
## Examples
### Returns the URL for an asset in a public bucket
-
-
```js
-const { publicURL, error } = supabase
- .storage
+const { publicURL, error } = supabase.storage
.from('public-bucket')
.getPublicUrl('folder/avatar1.png')
```
-
-
\ No newline at end of file
+
diff --git a/apps/temp-docs/pages/[...slug].tsx b/apps/temp-docs/pages/[...slug].tsx
index 719969cfa28..a91e5c7c9ef 100644
--- a/apps/temp-docs/pages/[...slug].tsx
+++ b/apps/temp-docs/pages/[...slug].tsx
@@ -1,4 +1,3 @@
-import { ReactElement } from 'react'
import { getAllDocs, getDocsBySlug } from '../lib/docs'
import Layout from '../components/layouts/Layout'
import { serialize } from 'next-mdx-remote/serialize'
@@ -17,7 +16,7 @@ export default function Doc({
toc,
}: {
meta: { title: string; description: string }
- content: ReactElement
+ content: any
toc: any
}) {
const { asPath } = useRouter()
@@ -37,6 +36,7 @@ export default function Doc({
}
return (
+ // @ts-ignore
diff --git a/apps/temp-docs/pages/_app.tsx b/apps/temp-docs/pages/_app.tsx
index c320ed68e31..227ea70b7a0 100644
--- a/apps/temp-docs/pages/_app.tsx
+++ b/apps/temp-docs/pages/_app.tsx
@@ -1,7 +1,7 @@
import React from 'react'
import type { AppProps } from 'next/app'
import { ThemeProvider } from '../components/Providers'
-import '../styles/tailwind.css'
+import '../styles/main.css'
function MyApp({ Component, pageProps }: AppProps) {
return (
diff --git a/apps/temp-docs/styles/Home.module.css b/apps/temp-docs/styles/Home.module.css
index 3a4ada61b1c..6d7be21e752 100644
--- a/apps/temp-docs/styles/Home.module.css
+++ b/apps/temp-docs/styles/Home.module.css
@@ -124,18 +124,3 @@
flex-direction: column;
}
}
-
-.navbar {
- height: 60px;
-}
-.sidebar {
- width: 300px;
-}
-
-.navLinks li {
- margin-left: 2.5em;
-}
-.navRight > * {
- margin-left: 1em;
- margin-right: 1em;
-}
diff --git a/apps/temp-docs/styles/main.css b/apps/temp-docs/styles/main.css
new file mode 100644
index 00000000000..f949d8a60e2
--- /dev/null
+++ b/apps/temp-docs/styles/main.css
@@ -0,0 +1,51 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+:root {
+ --sidebar-width: 300px;
+}
+
+body {
+ @apply bg-white dark:bg-[#1c1c1c] !important;
+ scroll-behavior: smooth;
+}
+
+::selection {
+ background-color: #6ee7b7;
+ color: #333 !important;
+}
+
+a {
+ text-decoration: none !important;
+}
+
+article h1 {
+ margin-bottom: 3rem !important;
+ font-size: 3rem !important;
+ font-weight: 400 !important;
+}
+
+.thin-scrollbar {
+ scrollbar-width: thin;
+}
+
+.sidebar-width {
+ width: var(--sidebar-width);
+}
+
+.docs-width {
+ max-width: calc(100% - var(--sidebar-width));
+}
+
+.table-of-contents-height {
+ max-height: calc(100vh - 3.75rem - 2rem);
+ overflow-y: auto;
+ position: sticky;
+ top: calc(3.75rem + 1rem);
+}
+
+.width-full {
+ width: 100% !important;
+ max-width: max-content !important;
+}
diff --git a/apps/temp-docs/styles/tailwind.css b/apps/temp-docs/styles/tailwind.css
deleted file mode 100644
index 10ab1376922..00000000000
--- a/apps/temp-docs/styles/tailwind.css
+++ /dev/null
@@ -1,12 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-body {
- @apply bg-white dark:bg-[#1c1c1c] !important;
-}
-
-::selection {
- background-color: #6ee7b7;
- color: #333 !important;
-}
diff --git a/apps/www/_alternatives/supabase-vs-firebase.mdx b/apps/www/_alternatives/supabase-vs-firebase.mdx
new file mode 100644
index 00000000000..893233e3517
--- /dev/null
+++ b/apps/www/_alternatives/supabase-vs-firebase.mdx
@@ -0,0 +1,71 @@
+---
+title: Supabase vs Firebase
+description: Supabase is an Open Source Firebase Alternative with a SQL based Database, Auth, and Cloud Functions
+author: ant_wilson
+image: partner-gallery/partner-showcase-thumb.png
+thumb: partner-gallery/partner-showcase-thumb.png
+tags:
+ - comparison
+date: '2022-05-26'
+toc_depth: 3
+---
+
+## What is Firebase?
+
+Now owned by Google, Firebase is a collection of tools aimed at mobile and web developers. At its core is the Firestore database.
+
+Firestore allows you to store “documents”. These are collections of key:value pairs where the value can be another sub-document. Document based storage is perfect for unstructured data, since two documents in a collection do not necessarily need to have the same structure.
+
+Firebase also offers other things that web developers find useful like an auth service for user management, and wrappers for other Google services such as Cloud Functions, and File Storage.
+
+## What is Supabase?
+
+Supabase is an open source firebase alternative, but instead of being built around a document-based datastore, Supabase offers a relational database management system called PostgreSQL. This comes with a few advantages:
+
+- It’s open source, so there is zero lock in.
+- You can query it with SQL, a proven and powerful query language.
+- It has a long track record of being used at scale.
+- It’s the database of choice for transactional workloads (think apps and websites, or other things that require near-instant responses to queries).
+- It comes with decades of [useful postgres extensions and plug-ins](https://supabase.com/docs/guides/database/extensions).
+
+At Supabase we’ve always been huge fans of Firebase - so we started adding a few things on top of PostgreSQL in an attempt to reach feature parity, including:
+
+- Auto-generated API - [query your data straight from the client](https://supabase.com/docs/guides/api#rest-api-2).
+- Realtime - [changes in your data will be streamed directly to your application](https://supabase.com/docs/reference/dart/subscribe).
+- Auth - [a simple to integrate auth system and SQL based rules engine](https://supabase.com/auth).
+- Functions - [javascript and typescript functions that deploy out globally](https://supabase.com/edge-functions).
+- Storage - [hosting images, videos, and pdfs easily](https://supabase.com/storage).
+
+## How are they similar?
+
+Both Firebase and Supabase are based on the idea of bringing a superior developer experience to databases. With both platforms you can spin up a new project from directly inside the browser without the need to download any extra tools or software to your machine. Both platforms come with a useful dashboard UI for debugging your data in realtime, which is especially useful for fast iterations when in development.
+
+Both Firebase and Supabase have invested heavily in client side libraries so you can communicate with your database directly from the client. Firebase has their [Firebase Javascript SDK](https://github.com/firebase/firebase-js-sdk) and Supabase has [supabase-js an isomorphic client](https://github.com/supabase/supabase-js/) that can be used both on the client also on the server in a node-js environment.
+
+## How are they different?
+
+Firebase and Supabase differ in several ways. The main one being that Firebase is a document store, whereas Supabase is based on PostgreSQL - a relational, SQL-based database management system.
+
+There are some other important differences.
+
+### Open Source
+
+Supabase is open source. Along with the hosted cloud platform, you can also take the Supabase stack and host it inside your own cloud or run it locally on your machine. There is no vendor lock in.
+
+### Pricing
+
+[Firebase charges for reads, writes and deletes](https://firebase.google.com/pricing), which can lead to some unpredictability, especially in the early stages of a project when your application is in heavy development. Supabase [charges based on the amount of data stored](https://supabase.com/pricing), with breathing room for unlimited API requests and an unlimited number of Auth users.
+
+### Performance
+
+We created a benchmarking repo where you can compare the performance of both services in different scenarios. Our most recent results show that [Supabase outperforms Firebase by up to 4x](https://github.com/supabase/benchmarks/issues/8) on number of reads per second, and 3.1x on writes per second.
+
+## How do I migrate from Firebase to Supabase?
+
+Since Firebase is document based, migrating into a relational database requires you to map your data structure across into a SQL schema. Luckily we’ve built a [handy conversion tool to do it for you](https://github.com/supabase-community/firebase-to-supabase/tree/main/firestore).
+
+We also have a tool for [migrating Firebase Auth to Supabase Auth](https://github.com/supabase-community/firebase-to-supabase/tree/main/auth). And one for [migrating Firebase Storage files to Supabase Storage](https://github.com/supabase-community/firebase-to-supabase/tree/main/storage).
+
+These are by far the most complete Firebase to Postgres migration tools available anywhere on the web.
+
+You can [try Supabase for free](https://app.supabase.io). If you require Enterprise level support with your project or migration, please get in touch using our [Enterprise contact form](https://supabase.com/contact/enterprise).
diff --git a/apps/www/_alternatives/supabase-vs-heroku-postgres.mdx b/apps/www/_alternatives/supabase-vs-heroku-postgres.mdx
new file mode 100644
index 00000000000..50fadb5b16c
--- /dev/null
+++ b/apps/www/_alternatives/supabase-vs-heroku-postgres.mdx
@@ -0,0 +1,75 @@
+---
+title: Supabase vs Heroku Postgres
+description: Supabase is an alternative to Heroku Postgres with Enterprise Grade Support available
+author: ant_wilson
+image: partner-gallery/partner-showcase-thumb.png
+thumb: partner-gallery/partner-showcase-thumb.png
+tags:
+ - comparison
+date: '2022-05-26'
+toc_depth: 3
+---
+
+## What is Heroku Postgres?
+
+Heroku is a cloud application platform that offers managed PostgreSQL as a service. They offer 5 levels of Postgres support from the Hobby Tier up to the Shield Tier, each with different levels of features and pricing.
+
+## What is Supabase?
+
+Supabase also offers managed Postgres, the main difference is that with each deployment you also get:
+
+- Auto-generated API - [never write an API again](https://supabase.com/docs/guides/api#rest-api-2)
+- Realtime - [subscribe to data changes via websockets](https://supabase.com/docs/reference/dart/subscribe)
+- Auth - [users can log in and out of your application](https://supabase.com/auth)
+- Functions - [deploy custom logic to the edge](https://supabase.com/edge-functions)
+- Storage - [serve large files and folders](https://supabase.com/storage)
+- PgBouncer - [connection pooling useful for serverless computing](https://supabase.com/docs/guides/database/connecting-to-postgres#connection-pool)
+
+## How are they similar?
+
+Heroku Postgres and Supabase both offer:
+
+- [A web UI for managing your instance](https://supabase.com/docs/guides/database#table-view)
+- SLAs and Enterprise-grade support packages
+- Direct SSL connections to Postgres
+- Postgres Extensions (see [Supabase Extensions](https://supabase.com/docs/guides/database/extensions), [Heroku Extensions](https://devcenter.heroku.com/articles/heroku-postgres-extensions-postgis-full-text-search))
+- [Backups and PITR](https://supabase.com/blog/2020/08/02/continuous-postgresql-backup-walg)
+- [Postgres logs](https://supabase.com/docs/guides/platform/logs)
+- Encryption-at-rest
+
+## What are the differences?
+
+### Core Features
+
+These are some of the key differences between Heroku Postgres and Supabase in terms of features:
+
+- Supabase is more than just the raw database, it also comes with:
+ - [Connection pooling](https://supabase.com/docs/guides/database/connecting-to-postgres#connection-pool) so that you won’t run out of connections in a serverless environment.
+ - [Auto-generated APIs](https://supabase.com/docs/guides/api#rest-api-2) based on your schema, so you can communicate with your database directly from the client.
+ - [Realtime API](https://supabase.com/docs/reference/dart/subscribe) is useful for when you want to subscribe to changes to your database over websockets.
+ - [Auth API](https://supabase.com/auth) can be used to leverage Postgres’s Row Level Security model, and control access to sensitive data on a per user, or per group level.
+ - [Functions](https://supabase.com/edge-functions) can be deployed out to the edge directly from the Supabase CLI, which means you can run sensitive business logic or transformations in a serverless fashion.
+ - You can also deploy edge functions to Heroku using their [Dynos](https://www.heroku.com/dynos) runtime in conjunction with something like [Fastly](https://www.fastly.com/).
+ - [File Storage](https://supabase.com/storage) is useful for when your app needs to store large files and folders that aren’t suitable for storing within Postgres itself.
+ - A spreadsheet-like web interface for building your schemas and inspecting data.
+
+### Pricing
+
+The two services price quite differently, the key differences being:
+
+- [Supabase pricing is based around usage](https://supabase.com/pricing), so you only pay for what you use.
+- Heroku prices based on a tier model with [37 plans to choose from](https://elements.heroku.com/addons/heroku-postgresql#pricing).
+
+Supabase’s free tier also includes a dedicated Postgres instance, and the best bit is you can upgrade to pro later without any interruptions.
+
+### Global Deployments
+
+You may have strict data regulations that you must comply with, so choosing your region can be very important. Here’s how the deployment options stack up:
+
+- Supabase can be deployed to any one of [12 data centers across the globe](https://github.com/supabase/supabase/discussions/4815#discussioncomment-1915129) (free tier included).
+ - Since Supabase is fully open source - you can also [self host wherever you like](https://supabase.com/docs/guides/hosting/overview).
+- You can deploy Heroku Postgres to two data centers (US and Europe) however [6 more data centers](https://devcenter.heroku.com/articles/regions) are available on the Enterprise plan.
+
+## How to migrate from Heroku Postgres to Supabase
+
+Migrating is surprisingly simple. You just need to use the standard Postgres `pg_dump` and `pg_restore` tools to dump and restore from a backup. We created a handy guide for [migrating from heroku to supabase](https://github.com/supabase-community/heroku-to-supabase).
diff --git a/apps/www/_blog/2020-05-01-supabase-alpha-april-2020.mdx b/apps/www/_blog/2020-05-01-supabase-alpha-april-2020.mdx
index 1410cf9d5fa..58416752860 100644
--- a/apps/www/_blog/2020-05-01-supabase-alpha-april-2020.mdx
+++ b/apps/www/_blog/2020-05-01-supabase-alpha-april-2020.mdx
@@ -11,7 +11,7 @@ tags:
date: '06-01-2020'
---
-Now in [Supabase](https://app.supabase.io):
+Now in [Supabase](https://app.supabase.com):
- Set up Postgres in less than 2 minutes
- Auto-generated APIs! (they are a bit flaky, go easy)
@@ -58,6 +58,6 @@ Send realtime database changes to other systems, like queues or webhooks (Slack
## Follow us
-Start using Supabase today: [app.supabase.io](https://app.supabase.io)
+Start using Supabase today: [app.supabase.com](https://app.supabase.com)
Make sure to star us on github! [github.com/supabase/supabase](https://github.com/supabase/supabase)
diff --git a/apps/www/_blog/2020-06-01-supabase-alpha-may-2020.mdx b/apps/www/_blog/2020-06-01-supabase-alpha-may-2020.mdx
index bb008b72215..caca26bb98a 100644
--- a/apps/www/_blog/2020-06-01-supabase-alpha-may-2020.mdx
+++ b/apps/www/_blog/2020-06-01-supabase-alpha-may-2020.mdx
@@ -57,6 +57,6 @@ This one is still very unstable, but we wanted to ship it anyway. It's a little
## Follow us
-Start using Supabase today: [app.supabase.io](https://app.supabase.io)
+Start using Supabase today: [app.supabase.com](https://app.supabase.com)
Make sure to star us on github! [github.com/supabase/supabase](https://github.com/supabase/supabase)
diff --git a/apps/www/_blog/2020-07-01-supabase-alpha-june-2020.mdx b/apps/www/_blog/2020-07-01-supabase-alpha-june-2020.mdx
index 3020f6e07ef..bb26bf746a0 100644
--- a/apps/www/_blog/2020-07-01-supabase-alpha-june-2020.mdx
+++ b/apps/www/_blog/2020-07-01-supabase-alpha-june-2020.mdx
@@ -95,7 +95,7 @@ We have a number of small improvements:
### Get started
-- Start using Supabase today: [app.supabase.io](https://app.supabase.io)
+- Start using Supabase today: [app.supabase.com](https://app.supabase.com)
- Make sure to [star us on GitHub](https://github.com/supabase/supabase)
- Follow us [on Twitter](https://twitter.com/supabase)
- Become a [sponsor](https://github.com/sponsors/supabase)
diff --git a/apps/www/_blog/2020-07-10-alpha-launch-postmortem.mdx b/apps/www/_blog/2020-07-10-alpha-launch-postmortem.mdx
index 357b923b3a7..27b9e62c270 100644
--- a/apps/www/_blog/2020-07-10-alpha-launch-postmortem.mdx
+++ b/apps/www/_blog/2020-07-10-alpha-launch-postmortem.mdx
@@ -53,7 +53,7 @@ We have since migrated our middleware to multiple ECS clusters, globally load-ba
We serve our marketing site ([supabase.io](/)) from Netlify. It's a static-build [Docusaurus (v2)](https://v2.docusaurus.io/) site, so it had no problems (apart from one developer in Russia who couldn't access the site - it looks like some of Netlify's IP addresses are blocked there).
-We serve our app ([app.supabase.io](http://app.supabase.io)) using Vercel, and the login system uses Auth0. These were both rock-solid. Before the launch we noticed that Vercel was extremely slow on their free plan, and once we upgraded to their Pro Plan for multi-region deploys it solved performance issues. It looks like they are changing their plans again so buyer beware.
+We serve our app ([app.supabase.com](https://app.supabase.com)) using Vercel, and the login system uses Auth0. These were both rock-solid. Before the launch we noticed that Vercel was extremely slow on their free plan, and once we upgraded to their Pro Plan for multi-region deploys it solved performance issues. It looks like they are changing their plans again so buyer beware.
## The Bad
diff --git a/apps/www/_blog/2020-08-02-supabase-alpha-july-2020.mdx b/apps/www/_blog/2020-08-02-supabase-alpha-july-2020.mdx
index 7bf68e11254..958cd6d006d 100644
--- a/apps/www/_blog/2020-08-02-supabase-alpha-july-2020.mdx
+++ b/apps/www/_blog/2020-08-02-supabase-alpha-july-2020.mdx
@@ -75,7 +75,7 @@ We have a number of small improvements:
### Get started
-- Start using Supabase today: [app.supabase.io](https://app.supabase.io)
+- Start using Supabase today: [app.supabase.com](https://app.supabase.com)
- Make sure to [star us on GitHub](https://github.com/supabase/supabase)
- Follow us [on Twitter](https://twitter.com/supabase)
- Become a [sponsor](https://github.com/sponsors/supabase)
diff --git a/apps/www/_blog/2020-08-05-supabase-auth.mdx b/apps/www/_blog/2020-08-05-supabase-auth.mdx
index c38e1cab120..123cf8eabe7 100644
--- a/apps/www/_blog/2020-08-05-supabase-auth.mdx
+++ b/apps/www/_blog/2020-08-05-supabase-auth.mdx
@@ -88,6 +88,6 @@ Supabase has a culture of shipping early and often. Our Auth release is another
### Get started
-Supabase Auth is ready for you to start using today, free of charge: [app.supabase.io](https://app.supabase.io)
+Supabase Auth is ready for you to start using today, free of charge: [app.supabase.com](https://app.supabase.com)
To see the full power of our auth system, watch [this demo](https://youtu.be/2oqIZW5S-lQ) where I deploy a secure, real-time slack clone to Vercel in less than 3 minutes.
diff --git a/apps/www/_blog/2020-09-03-supabase-alpha-august-2020.mdx b/apps/www/_blog/2020-09-03-supabase-alpha-august-2020.mdx
index ae862f956fb..aa38b943f26 100644
--- a/apps/www/_blog/2020-09-03-supabase-alpha-august-2020.mdx
+++ b/apps/www/_blog/2020-09-03-supabase-alpha-august-2020.mdx
@@ -84,7 +84,7 @@ Our focus now is to move from Alpha to Beta. This involves stabilising our Auth
### Get started
-- Start using Supabase today: [app.supabase.io](https://app.supabase.io)
+- Start using Supabase today: [app.supabase.com](https://app.supabase.com)
- Make sure to [star us on GitHub](https://github.com/supabase/supabase)
- Follow us [on Twitter](https://twitter.com/supabase)
- Become a [sponsor](https://github.com/sponsors/supabase)
diff --git a/apps/www/_blog/2020-10-03-supabase-alpha-september-2020.mdx b/apps/www/_blog/2020-10-03-supabase-alpha-september-2020.mdx
index c55f044613e..4b7f0cb6479 100644
--- a/apps/www/_blog/2020-10-03-supabase-alpha-september-2020.mdx
+++ b/apps/www/_blog/2020-10-03-supabase-alpha-september-2020.mdx
@@ -92,7 +92,7 @@ Our focus now is to move from Alpha to Beta and we'll be improving stability, re
### Get started
-- Start using Supabase today: [app.supabase.io](https://app.supabase.io/)
+- Start using Supabase today: [app.supabase.com](https://app.supabase.com/)
- Make sure to [star us on GitHub](https://github.com/supabase/supabase)
- Follow us [on Twitter](https://twitter.com/supabase)
- Become a [sponsor](https://github.com/sponsors/supabase)
diff --git a/apps/www/_blog/2020-10-30-improved-dx.mdx b/apps/www/_blog/2020-10-30-improved-dx.mdx
index 11e80d9fd31..83f7a8c9d06 100644
--- a/apps/www/_blog/2020-10-30-improved-dx.mdx
+++ b/apps/www/_blog/2020-10-30-improved-dx.mdx
@@ -113,7 +113,7 @@ To summarise the steps:
### Get started
-- Start using Supabase today: [app.supabase.io](https://app.supabase.io/)
+- Start using Supabase today: [app.supabase.com](https://app.supabase.com/)
- Make sure to [star us on GitHub](https://github.com/supabase/supabase)
- Follow us [on Twitter](https://twitter.com/supabase)
- Become a [sponsor](https://github.com/sponsors/supabase)
diff --git a/apps/www/_blog/2020-11-02-supabase-alpha-october-2020.mdx b/apps/www/_blog/2020-11-02-supabase-alpha-october-2020.mdx
index 7539b23302e..1742dc1547a 100644
--- a/apps/www/_blog/2020-11-02-supabase-alpha-october-2020.mdx
+++ b/apps/www/_blog/2020-11-02-supabase-alpha-october-2020.mdx
@@ -21,7 +21,7 @@ We're now 8 months into building Supabase. We're focused on performance, stabili
Watch a full demo: