From 851d4b72ffcf48a40f4c83a478def8e9efe73c72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thor=20=E9=9B=B7=E7=A5=9E=20Schaeff?= <5748289+thorwebdev@users.noreply.github.com> Date: Tue, 16 Jul 2024 21:33:15 +0800 Subject: [PATCH] blog: announce JSR. (#27916) * blog: announce JSR. * chore: update dates. * chore: add deno blog link. * chore: supabaseify. --- .../_blog/2024-07-16-supabase-js-on-jsr.mdx | 77 ++++++++++++++++++ .../images/blog/jsr_supabase/jsr_supabase.png | Bin 0 -> 19580 bytes 2 files changed, 77 insertions(+) create mode 100644 apps/www/_blog/2024-07-16-supabase-js-on-jsr.mdx create mode 100644 apps/www/public/images/blog/jsr_supabase/jsr_supabase.png diff --git a/apps/www/_blog/2024-07-16-supabase-js-on-jsr.mdx b/apps/www/_blog/2024-07-16-supabase-js-on-jsr.mdx new file mode 100644 index 00000000000..eda923492fc --- /dev/null +++ b/apps/www/_blog/2024-07-16-supabase-js-on-jsr.mdx @@ -0,0 +1,77 @@ +--- +title: 'Announcing Supabase on JSR' +description: 'Supabase is now available on the open source JavaScript Registry (JSR).' +author: soedirgo,thor_schaeff +image: jsr_supabase/jsr_supabase.png +thumb: jsr_supabase/jsr_supabase.png +categories: + - developers +tags: + - javascript + - deno +date: '2024-07-16' +toc_depth: 2 +--- + + + +Prefer Deno's awesome visuals? Read the announcement on [Deno's blog](https://deno.com/blog/supabase-on-jsr). + + + +[JSR](https://jsr.io/) is a modern [open source](https://github.com/jsr-io/jsr) JavaScript registry that simplifies publishing and importing JavaScript and TypeScript modules. JSR supports publishing TypeScript source code, auto-generating documentation and type definition files, provenance attestation for more security, and can be used with npm-like package managers. Since its launch, over 250 new packages are being published each week. + +We're thrilled to announce that our [JavaScript client library](https://jsr.io/@supabase/supabase-js) is now available on JSR. + +As many of you know, our JavaScript library, `supabase-js`, is composed of [many sub-clients](https://github.com/supabase-community#client-libraries) that let you query your Supabase [database](/database), subscribe to [real-time events](/realtime), upload and download [files](/storage), manage [auth](/auth), invoke Deno powered [Edge Functions](/edge-functions), and [more](/vector). It's fully isomorphic and can be used across any environment that speaks JavaScript and HTTPS, such as browsers, servers, and [the edge](https://deno.com/blog/the-future-of-web-is-on-the-edge)! + +Using supabase-js via JSR offers an excellent developer experience, with first class TypeScript support, auto-generated documentation accessible in your code editor, and more. + +## Installing Supabase + +You can get started with Supabase using the `deno add` command: + +```bash +deno add @supabase/supabase-js +``` + +Or using npm: + +```bash +npx jsr add @supabase/supabase-js +``` + +The above commands will generate a `deno.json` file, listing all your project dependencies. + +```json deno.json +{ + "imports": { + "@supabase/supabase-js": "jsr:@supabase/supabase-js@2" + } +} +``` + +You can then import the client library to your `main.ts` file: + +```js main.ts +import { createClient } from '@supabase/supabase-js' + +const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key') + +console.log('Supabase Instance: ', supabase) +``` + +Finally, you can run the following command to execute: + +```bash +deno run -A main.ts +``` + +Check out the [`supabase-js` README](https://jsr.io/@supabase/supabase-js) to see how to use it in other environments. + +## What's next? + +With the Supabase client on JSR, you can easily and quickly add authentication or persistent storage to your projects, which can run in any JavaScript environment! + +- [Check out JSR](https://jsr.io/) the JavaScript registry built for the modern web. +- Read the announcement on [Deno's blog](https://deno.com/blog/supabase-on-jsr). diff --git a/apps/www/public/images/blog/jsr_supabase/jsr_supabase.png b/apps/www/public/images/blog/jsr_supabase/jsr_supabase.png new file mode 100644 index 0000000000000000000000000000000000000000..60b4cbf2ac0d2bbe758f62f20f924e521af824c2 GIT binary patch literal 19580 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 literal 0 HcmV?d00001