Merge pull request #9680 from supabase/blog/supabase-js-v2-ga

chore: blog supabase-js v2 released
This commit is contained in:
Ramiro Nuñez Dosio authored and GitHub committed 2022-10-20 13:37:04 +01:00
commit fb46741e19
7 files changed
+121 -151

No files matched your search

@@ -20,6 +20,7 @@ const supabase = createClient(apiURL, apiKey, {
schema: 'public',
},
auth: {
storage: AsyncStorage,
autoRefreshToken: true,
persistSession: true,
detectSessionInUrl: true,
+16 -18
View File
@@ -1,6 +1,6 @@
---
title: 'supabase-js v2 Release Candidate'
description: First peek of supabase-js v2, which focuses on quality-of-life improvements for developers.
title: 'supabase-js v2'
description: A look at supabase-js v2, which brings type support and focuses on quality-of-life improvements for developers.
author: inian,alaister
image: lw5-supabase-js/thumb.jpg
thumb: lw5-supabase-js/thumb.jpg
@@ -10,6 +10,13 @@ date: '2022-08-16'
toc_depth: 3
---
<div className="bg-gray-300 rounded-lg p-6 italic">
<br /> ⚠️ UPDATED 20/10: supabase-js v2 is fully released 🥳<br />
<a href="https://supabase.com/docs/reference/javascript">Check the updated docs</a> and <a href="https://supabase.com/docs/reference/javascript/upgrade-guide">migration guide</a>.
</div>
Today we're publishing a release candidate for [supabase-js v2](https://github.com/supabase/supabase-js), which focuses on “quality-of-life” improvements for developers.
Try it out by running `npm i @supabase/supabase-js@rc`
@@ -299,10 +306,10 @@ Special shout outs to: [@vejja](https://github.com/vejja), [@pixtron](https://gi
Update today by running:
```bash
npm i @supabase/supabase-js@rc
npm i @supabase/supabase-js@2
```
You can find a full list of updates, breaking changes, and a migration guide in our [Release Notes](https://supabase.com/docs/reference/javascript/release-notes).
[Migration guide](https://supabase.com/docs/reference/javascript/upgrade-guide)
We'll continuing merging security fixes to v1, with maintenance patches for the next three months.
@@ -319,18 +326,9 @@ We'll continuing merging security fixes to v1, with maintenance patches for the
allowfullscreen
></iframe>
## Links
## supabase-js v2 resources
- [v2 Release Candidate Documentation](https://supabase.com/docs/reference/javascript)
- [Release Notes & Migration Guide](https://supabase.com/docs/reference/javascript/release-notes)
## More Launch Week 5
- [Launch Week Page](https://supabase.com/launch-week)
- [Launch Week 5 Hackathon](https://supabase.com/blog/launch-week-5-hackathon)
- [Supabase Series B](https://supabase.com/blog/supabase-series-b)
- [Open Source at Supabase - Founders Fireside Chat](https://www.youtube.com/watch?v=4t_63HT3rZY)
- [Day 1 - Supabase CLI v1 and Admin API Beta](https://supabase.com/blog/supabase-cli-v1-and-admin-api-beta)
- [Youtube video - Supabase CLI v1 and Admin API Beta](https://www.youtube.com/watch?v=OpPOaJI_Z28&feature=emb_title)
- [Day 3 - Supabase is SOC2 compliant](https://supabase.com/blog/supabase-soc2)
- [Youtube video - Security Day](https://www.youtube.com/watch?v=6bGQotxisoY)
- [v2 Documentation](https://supabase.com/docs/reference/javascript)
- [Migration guide](https://supabase.com/docs/reference/javascript/upgrade-guide)
- [Next.js quickstart guide](/docs/guides/with-nextjs)
- [Examples](https://github.com/supabase/supabase/tree/master/examples)
@@ -0,0 +1,49 @@
---
title: 'supabase-js v2 Released'
description: We've released supabase-js v2. Updated examples, quickstarts, and an improved experience.
author: thor_schaeff
image: supabase-js-v2-release/supabase-js.jpg
thumb: supabase-js-v2-release/supabase-js.jpg
tags:
- launch-week
date: '2022-10-20'
toc_depth: 3
---
During our [last Launch Week](/launch-week) we presented the [release candidate for supabase-js v2](/blog/supabase-js-v2). Since then we've been busy incorporating your feedback, [updating the docs](/docs/reference/javascript/), [examples](https://github.com/supabase/supabase/tree/master/examples), [quickstart guides](/docs/guides/with-nextjs), and putting a [migration guide](/docs/reference/javascript/upgrade-guide) together.
## What is new in v2?
TypeScript support was the big one: types can be generated via the CLI and are generated directly from your database.
Plus v2 comes with lots of improvements that solved some of the largest pain-points highlighted by our users. Your feedback help us improve: you speak, we listen.
Read all the updates and the differences with v1 on the [announcement blog post](/blog/supabase-js-v2)
## Acknowledgements
It truly takes a village, well, in this case an entire community, and we want to thank you all for your feedback, and contributions!
Version 2.0 is the result of the combined work of several Supatroopers (Alaister, Andrew, Inian, Joel, Jon, Kang, Bobbie, and Tyler), over 100 contributors to our libraries, and over 450 contributors to our docs and websites.
If you're one of those contributors, thank you!
- [`functions-js`](https://github.com/supabase/functions-js/graphs/contributors) (4)
- [`gotrue-js`](https://github.com/supabase/gotrue-js/graphs/contributors) (47)
- [`postgrest-js`](https://github.com/supabase/postgrest-js/graphs/contributors) (30)
- [`realtime-js`](https://github.com/supabase/realtime-js/graphs/contributors) (16)
- [`storage-js`](https://github.com/supabase/storage-js/graphs/contributors) (17)
- [`supabase-js`](https://github.com/supabase/supabase-js/graphs/contributors) (39)
Special shout outs to: [@vejja](https://github.com/vejja), [@pixtron](https://github.com/pixtron), [@bnjmnt4n](https://github.com/pixtron), and [@karlseguin](https://github.com/karlseguin).
## Links
- [Documentation](/docs/reference/javascript)
- [Migration Guide](/docs/reference/javascript/upgrade-guide)
- [Quickstart Guides](/docs/guides/with-nextjs)
- [Examples (GitHub)](https://github.com/supabase/supabase/tree/master/examples)
- [Release Notes](/docs/reference/javascript/release-notes)
- [Release Candidate Blogpost](/blog/supabase-js-v2)
- [Auth Helpers](/docs/guides/auth/auth-helpers/)
- [Auth UI](https://supabase.com/docs/guides/auth/auth-helpers/auth-ui)
+3 -3
View File
@@ -52,7 +52,7 @@
"uuid": "^8.3.2"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.2",
"@tailwindcss/typography": "^0.5.7",
"@types/classnames": "^2.3.1",
"@types/jest": "^25.2.2",
"@types/marked": "^4.0.3",
@@ -64,9 +64,9 @@
"@types/react-copy-to-clipboard": "^4.3.0",
"@types/react-dom": "^17.0.11",
"@types/react-syntax-highlighter": "^13.5.2",
"autoprefixer": "^10.4.2",
"autoprefixer": "^10.4.12",
"file-loader": "^6.2.0",
"postcss": "^8.4.16",
"postcss": "^8.4.18",
"postcss-preset-env": "^6.7.0",
"prettier": "^2.2.1",
"tailwindcss": "^3.1.8"
Binary file not shown.

After

Width:  |  Height:  |  Size: 626 KiB

+35 -130
View File
@@ -158,7 +158,7 @@
"uuid": "^8.3.2"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.2",
"@tailwindcss/typography": "^0.5.7",
"@types/classnames": "^2.3.1",
"@types/jest": "^25.2.2",
"@types/marked": "^4.0.3",
@@ -170,9 +170,9 @@
"@types/react-copy-to-clipboard": "^4.3.0",
"@types/react-dom": "^17.0.11",
"@types/react-syntax-highlighter": "^13.5.2",
"autoprefixer": "^10.4.2",
"autoprefixer": "^10.4.12",
"file-loader": "^6.2.0",
"postcss": "^8.4.16",
"postcss": "^8.4.18",
"postcss-preset-env": "^6.7.0",
"prettier": "^2.2.1",
"tailwindcss": "^3.1.8"
@@ -249,20 +249,6 @@
"react-dom": "^16.13.1 || ^17.0.1"
}
},
"apps/www/node_modules/@tailwindcss/typography": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.7.tgz",
"integrity": "sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==",
"dependencies": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.merge": "^4.6.2",
"postcss-selector-parser": "6.0.10"
},
"peerDependencies": {
"tailwindcss": ">=3.0.0 || insiders"
}
},
"apps/www/node_modules/@types/istanbul-reports": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
@@ -8904,7 +8890,18 @@
"react-dom": "^16.13.1 || ^17.0.1"
}
},
"node_modules/@supabase/ui/node_modules/@tailwindcss/typography": {
"node_modules/@tailwindcss/forms": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.4.1.tgz",
"integrity": "sha512-gS9xjCmJjUBz/eP12QlENPLnf0tCx68oYE3mri0GMP5jdtVwLbGUNSRpjsp6NzLAZzZy3ueOwrcqB78Ax6Z84A==",
"dependencies": {
"mini-svg-data-uri": "^1.2.3"
},
"peerDependencies": {
"tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1"
}
},
"node_modules/@tailwindcss/typography": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.7.tgz",
"integrity": "sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==",
@@ -8918,17 +8915,6 @@
"tailwindcss": ">=3.0.0 || insiders"
}
},
"node_modules/@tailwindcss/forms": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.4.1.tgz",
"integrity": "sha512-gS9xjCmJjUBz/eP12QlENPLnf0tCx68oYE3mri0GMP5jdtVwLbGUNSRpjsp6NzLAZzZy3ueOwrcqB78Ax6Z84A==",
"dependencies": {
"mini-svg-data-uri": "^1.2.3"
},
"peerDependencies": {
"tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1"
}
},
"node_modules/@testdeck/core": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@testdeck/core/-/core-0.2.1.tgz",
@@ -26317,9 +26303,9 @@
}
},
"node_modules/postcss": {
"version": "8.4.17",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz",
"integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==",
"version": "8.4.18",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
"integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
"funding": [
{
"type": "opencollective",
@@ -36011,19 +35997,6 @@
"tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1"
}
},
"packages/config/node_modules/@tailwindcss/typography": {
"version": "0.5.7",
"license": "MIT",
"dependencies": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.merge": "^4.6.2",
"postcss-selector-parser": "6.0.10"
},
"peerDependencies": {
"tailwindcss": ">=3.0.0 || insiders"
}
},
"packages/config/node_modules/tailwindcss-radix": {
"version": "2.6.0",
"license": "MIT"
@@ -36064,19 +36037,6 @@
"typescript": "4.3.4"
}
},
"packages/ui/node_modules/@tailwindcss/typography": {
"version": "0.5.7",
"license": "MIT",
"dependencies": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.merge": "^4.6.2",
"postcss-selector-parser": "6.0.10"
},
"peerDependencies": {
"tailwindcss": ">=3.0.0 || insiders"
}
},
"packages/ui/node_modules/typescript": {
"version": "4.3.4",
"dev": true,
@@ -36377,20 +36337,6 @@
"node": ">= 10"
}
},
"studio/node_modules/@tailwindcss/typography": {
"version": "0.5.7",
"dev": true,
"license": "MIT",
"dependencies": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.merge": "^4.6.2",
"postcss-selector-parser": "6.0.10"
},
"peerDependencies": {
"tailwindcss": ">=3.0.0 || insiders"
}
},
"studio/node_modules/@types/react": {
"version": "17.0.11",
"dev": true,
@@ -42904,19 +42850,6 @@
"prop-types": "^15.7.2",
"tailwindcss": "^3.0.15",
"tailwindcss-radix": "^1.6.0"
},
"dependencies": {
"@tailwindcss/typography": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.7.tgz",
"integrity": "sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==",
"requires": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.merge": "^4.6.2",
"postcss-selector-parser": "6.0.10"
}
}
}
},
"@tailwindcss/forms": {
@@ -42927,6 +42860,17 @@
"mini-svg-data-uri": "^1.2.3"
}
},
"@tailwindcss/typography": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.7.tgz",
"integrity": "sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==",
"requires": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.merge": "^4.6.2",
"postcss-selector-parser": "6.0.10"
}
},
"@testdeck/core": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@testdeck/core/-/core-0.2.1.tgz",
@@ -46137,15 +46081,6 @@
"mini-svg-data-uri": "^1.2.3"
}
},
"@tailwindcss/typography": {
"version": "0.5.7",
"requires": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.merge": "^4.6.2",
"postcss-selector-parser": "6.0.10"
}
},
"tailwindcss-radix": {
"version": "2.6.0"
}
@@ -56323,9 +56258,9 @@
"devOptional": true
},
"postcss": {
"version": "8.4.17",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz",
"integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==",
"version": "8.4.18",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
"integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
"requires": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
@@ -60781,16 +60716,6 @@
"integrity": "sha512-1c/sxp/4Qz4F6rCxiYqAnrmghCOFt5hHZ9Kd+rXFW5Mqev4C4XDOUMHdBH55HgnJZqngYhOE0r/XNkCtsIojig==",
"optional": true
},
"@tailwindcss/typography": {
"version": "0.5.7",
"dev": true,
"requires": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.merge": "^4.6.2",
"postcss-selector-parser": "6.0.10"
}
},
"@types/react": {
"version": "17.0.11",
"dev": true,
@@ -62195,15 +62120,6 @@
"typescript": "4.3.4"
},
"dependencies": {
"@tailwindcss/typography": {
"version": "0.5.7",
"requires": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.merge": "^4.6.2",
"postcss-selector-parser": "6.0.10"
}
},
"typescript": {
"version": "4.3.4",
"dev": true
@@ -63874,7 +63790,7 @@
"@supabase/auth-ui-react": "^0.1.6",
"@supabase/supabase-js": "^2.0.0",
"@supabase/ui": "v0.37.0-alpha.80",
"@tailwindcss/typography": "^0.5.2",
"@tailwindcss/typography": "0.5.7",
"@types/classnames": "^2.3.1",
"@types/jest": "^25.2.2",
"@types/marked": "^4.0.3",
@@ -63886,7 +63802,7 @@
"@types/react-copy-to-clipboard": "^4.3.0",
"@types/react-dom": "^17.0.11",
"@types/react-syntax-highlighter": "^13.5.2",
"autoprefixer": "^10.4.2",
"autoprefixer": "^10.4.12",
"classnames": "^2.3.1",
"date-fns": "2.10.0",
"dayjs": "^1.11.4",
@@ -63900,7 +63816,7 @@
"next-seo": "^4.20.0",
"nodemailer": "^6.7.3",
"parse-numeric-range": "^1.3.0",
"postcss": "^8.4.16",
"postcss": "^8.4.18",
"postcss-preset-env": "^6.7.0",
"prettier": "^2.2.1",
"react": "^17.0.2",
@@ -63977,17 +63893,6 @@
"tailwindcss-radix": "^1.6.0"
}
},
"@tailwindcss/typography": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.7.tgz",
"integrity": "sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==",
"requires": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
"lodash.merge": "^4.6.2",
"postcss-selector-parser": "6.0.10"
}
},
"@types/istanbul-reports": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
+17
View File
@@ -81,6 +81,23 @@ pages:
`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).
- name: React Native options
js: |
```js
import { createClient } from '@supabase/supabase-js'
import AsyncStorage from "@react-native-async-storage/async-storage";
const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key" {
auth: {
storage: AsyncStorage,
autoRefreshToken: true,
persistSession: true,
detectSessionInUrl: false,
},
});
```
For React Native we recommend using `AsyncStorage` as the storage implementation for Supabase Auth.
auth.signUp():
title: 'signUp()'
$ref: '@supabase/gotrue-js.GoTrueClient.signUp'