open-index/open-npm huggingface dataset:
npm package: @sup2.0/weighted-list
Description: A list implementation for weighted randomisation
Author: Sup#2.0
Latest version: 0.1.1

# weighted-list

Data structures for weighted randomisation.

This library provides the `WeightedList` (under development) and `FrozenWeightedList` classes for storing weighted items. When randomly selecting items, those with a higher weight are more likely to be chosen.


## Features

- Weighted indexing
- Random sampling methods with support for unique only, with/without replacement, multiple decrements

### Use Cases
- Randomised messages
- Loot/rewards in games
- Inventory systems
- Easter eggs


## Usage

### Import
```ts
import {
  FrozenWeightedList,
  FrozenWeightedItem,
} from "@sup2.0/weighted-list";
```

### Construction
```ts
const fwl = new FrozenWeightedList(
  [2, "sup"],
  [3, "nova"],
  [5, "shard"],
);
```

### Weighted Sampling
```ts
const descriptors = new FrozenWeightedList(
  [10, "cool"],
  [5,  "awesome"],
  [2,  "fun"],
);

// single selection
let word = descriptors.sample_value();

console.log(`You look ${word}`);
// => You look cool
//    (10/18 probability)

// multiple selection
let words = descriptors.sample_unique_values();

console.log(`TypeScript is ${words[0]} and ${words[1]}`);
// => TypeScript is awesome and fun
```

### Weighted Indexing
```ts
const fwl = new FrozenWeightedList([2, "sup"], [3, "nova"], [5, "shard"]);

fwl.at(0) // => { weight: 2, value: "sup" }
fwl.at(1) // => { weight: 2, value: "sup" }
fwl.at(2) // => { weight: 3, value: "nova" }
fwl.at(3) // => { weight: 3, value: "nova" }
fwl.at(4) // => { weight: 3, value: "nova" }
fwl.at(5) // => { weight: 5, value: "shard" }
fwl.at(6) // => { weight: 5, value: "shard" }
fwl.at(7) // => { weight: 5, value: "shard" }
fwl.at(8) // => { weight: 5, value: "shard" }
fwl.at(9) // => { weight: 5, value: "shard" }
fwl.at(10) // => undefined - out of bounds!
```


## Changelog

[View on GitHub](https://github.com/Sup2point0/weighted-list/blob/main/typescript/CHANGELOG.md).
npm package: @sup39/hljs-sunscript
Description: highlight.js language definition for SunScript
Author: sup39
Latest version: 0.1.1

# hljs-SunScript
[highlight.js](https://github.com/highlightjs/highlight.js) language definition for SunScript

## Usage
```javascript
const hljs = require('highlight.js');
const ss = require('@sup39/hljs-sunscript');

// register language
hljs.registerLanguage('SunScript', ss);
// register alias as needed
hljs.registerAliases(['sunscript', 'ss'], {languageName: 'SunScript'});
```

## CSS
The following classes will be used for highlight:
- `.hljs-comment`: comments (`//`, `/* */`)
- `.hljs-keyword`: keywords (e.g. `var`, `if`)
- `.hljs-bracket`: `{`, `}`, and `(`, `)` after `if`, `for`, `while`
- `.hljs-number`: int, float, hex, address (e.g. `39`, `12.07`, `0xEC0`, `$80426428`)
- `.hljs-string`: single-quoted and double-quoted strings (e.g. `'SMS'`, `"サンシャイン"`)
- `.hljs-logical`: `&&` and `||`

The following is an sample css for dark theme:
```css
.hljs-comment {
  color: #7d6;
}
.hljs-keyword, .hljs-bracket {
  color: #ffa;
  font-weight: bold;
}
.hljs-number, .hljs-string {
  color: #ffb7e7;
}
.hljs-logical {
  color: #aff;
}
```
npm package: @sup39/markdown-it-block-tag
Description: A markdown-it plugin to write block tag
Latest version: 0.1.0

# markdown-it-block
A [markdown-it](https://github.com/markdown-it/markdown-it) plugin
to write block tag.

Still work in progress.

## Syntax
```markdown
::: tag
inline or block
:::
```
will become
```html
<tag>
inline or block
</tag>
```

Note that the first `p` is hidden.

If you want the first `p` present, you should use plain html instead.
```markdown
<tag>

inline or block
</tag>
```

## Usage
```js
const md = require('markdown-it')();
const mbt = require('@sup39/markdown-it-block-tag');

console.log(md.use(mbt).render(`
::: div
- a
- b
:::
`));
```
Expected output:
```html
<div>
<ul>
<li>a</li>
<li>b</li>
</ul>
</div>
```

## TODO
### nested / contiguous block tag
```markdown
:: ul
::: li
item1
::: li
item2
::: li
item3
::
```
should become
```html
<ul>
<li>
item1
</li>
<li>
item2
</li>
<li>
item3
</li>
</ul>
```
npm package: @sup39/markdown-it-cjk-breaks
Description: Suppress linebreaks between east asian characters
Latest version: 1.2.0

# markdown-it-cjk-breaks

## sup39's additional features
Provide an optional option `either`(default: false, which works as original version) to determine whether allowing removing linebreak when either the character before **OR** after the linebreak is east asian character.

```js
var md = require('markdown-it')();
var cjk_breaks = require('markdown-it-cjk-breaks');

md.use(cjk_breaks, {either: true}); // << set either to true

md.render(`
あおえ
うい
aoe
ui
`);

// returns:
//
//<p>あおえういaoe <!-- linebreak between `い` and `a` is removed -->
//ui</p>
```

## Original
[![Build Status](https://img.shields.io/travis/markdown-it/markdown-it-cjk-breaks/master.svg?style=flat)](https://travis-ci.org/markdown-it/markdown-it-cjk-breaks)
[![NPM version](https://img.shields.io/npm/v/markdown-it-cjk-breaks.svg?style=flat)](https://www.npmjs.org/package/markdown-it-cjk-breaks)
[![Coverage Status](https://coveralls.io/repos/markdown-it/markdown-it-cjk-breaks/badge.svg?branch=master&service=github)](https://coveralls.io/github/markdown-it/markdown-it-cjk-breaks?branch=master)

> Plugin for [markdown-it](https://github.com/markdown-it/markdown-it) that suppresses linebreaks between east asian characters.

Normally newlines in a markdown text get rendered as newlines in output html text. Then browsers will usually render those newlines as whitespace (more smart behavior is included in w3c drafts, but not actually implemented by vendors).

This plugin finds and removes newlines that cannot be converted to space, algorithm matches [CSS Text Module Level 3](https://www.w3.org/TR/css-text-3/#line-break-transform):

 - If the character immediately before or immediately after the segment break is the zero-width space character (U+200B), then the break is removed, leaving behind the zero-width space.
 - Otherwise, if the East Asian Width property [UAX11] of both the character before and after the segment break is F, W, or H (not A), and neither side is Hangul, then the segment break is removed.
 - Otherwise, the segment break is converted to a space (U+0020).

## Install

```bash
yarn add markdown-it-cjk-breaks
```


## Usage

```js
var md = require('markdown-it')();
var cjk_breaks = require('markdown-it-cjk-breaks');

md.use(cjk_breaks);

md.render(`
あおえ
うい
aoe
ui
`);

// returns:
//
//<p>あおえうい
//aoe
//ui</p>
```


## License

[MIT](https://github.com/markdown-it/markdown-it-cjk-breaks/blob/master/LICENSE)
[MIT](https://github.com/sup39/markdown-it-cjk-breaks/blob/master/LICENSE)
npm package: @sup39/markdown-it-inline-tag
Description: A markdown-it plugin to write inline tag
Latest version: 1.0.1

# markdown-it-inline
A [markdown-it](https://github.com/markdown-it/markdown-it) plugin
to write inline tag.

## Syntax
`%tag[inline]` is parsed as `<tag>inline</tag>`,
where `inline` is parsed as markdown text.

## Usage
```js
const md = require('markdown-it')();
const mia = require('@sup39/markdown-it-inline-tag');

console.log(md.use(mia).render(`
1 %div[2 %span[ab] c*d*e 3] 4
`));
```
Expected output:
```html
<p>1 <div>2 <span>ab</span> c<em>d</em>e 3</div> 4</p>
```

### Alias
You can also set alias for `tag`.

For example,
```js
const md = require('markdown-it')();
const mit = require('@sup39/markdown-it-inline-tag');

console.log(md.use(mit, {
  alias: {
    's': 'span',
    '@': 'div',
  },
}).render(`
1 %@[2 %s[ab] c*d*e 3] 4
`));
```
Expected output:
```html
<p>1 <div>2 <span>ab</span> c<em>d</em>e 3</div> 4</p>
```

### Extension: attributes
You can use
[@sup39/markdown-it-attr](https://github.com/sup39/markdown-it-attr)
plugin to add attributes to inline tags.

```js
const md = require('markdown-it')();
const mia = require('@sup39/markdown-it-attr');
const mit = require('@sup39/markdown-it-inline-tag');

console.log(md.use(mia).use(mrt).render(`
1 %div[2 %span[ab]{.a} c*d*{.b}e 3]{.c} 4
`));
```
Expected output:
```html
<p>1 <div class="c">2 <span class="a">ab</span> c<em class="b">d</em>e 3</div> 4</p>
```

Also, you can omit `%tag` if there is `{attrs}` right after `[...]`.
In this case, the tag name will be `alias['']` or `span` if not assigned.

```js
const md = require('markdown-it')();
const mia = require('@sup39/markdown-it-attr');
const mit = require('@sup39/markdown-it-inline-tag');

console.log(md.use(mia).use(mrt, {'': 'summary'}).render(`
1 [2 %span[ab]{.a} c*d*{.b}e 3]{.c} 4
`));
```
Expected output:
```html
<p>1 <summary class="c">2 <span class="a">ab</span> c<em class="b">d</em>e 3</summary> 4</p>
```
npm package: @sup39/rehype-mdx-export-headings
Description: A rehype plugin to extract headings (e.g. h2, h3) from mdx, assign them ids, and export headings list
Author: sup39
Latest version: 0.1.1

# rehype-mdx-export-headings
A rehype plugin to extract headings (e.g. h2, h3) from mdx, assign them ids, and export headings list

## Installation
```
# If you are using yarn
yarn add @sup39/rehype-mdx-export-headings

# If you are using npm
npm install @sup39/rehype-mdx-export-headings
```

## Configuration
|property|type|description|
|--|--|--|
|`tags`|`string[]`|Tag name of headings. Default value is `['h2']`|
|`name`|`string`|Export name. Default value is `'headings'`|

## Usage
### Next.js with MDX support
In next.config.js:
```javascript
const ExportHeadings = require('@sup39/rehype-mdx-export-headings');

const withMDX = require('@next/mdx')({
  extension: /\.mdx?$/,
  options: {
    rehypePlugins: [ExportHeadings],
  },
});
module.exports = withMDX({
  pageExtensions: ['ts', 'tsx', 'js', 'jsx', 'md', 'mdx'],
});
```

#### with options
```javascript
const ExportHeadings = require('@sup39/rehype-mdx-export-headings');

const withMDX = require('@next/mdx')({
  extension: /\.mdx?$/,
  options: {
    rehypePlugins: [
      () => ExportHeadings({
        tags: ['h2', 'h3'],
        name: 'labels',
      }),
    ],
  },
});
module.exports = withMDX({
  pageExtensions: ['ts', 'tsx', 'js', 'jsx', 'md', 'mdx'],
});
```

#### mjs
If you are using next.config.mjs:
```javascript
import mdx from '@next/mdx';
import ExportHeadings from '@sup39/rehype-mdx-export-headings';

const withMDX = mdx({
  extension: /\.mdx?$/,
  options: {
    rehypePlugins: [
      () => ExportHeadings({
        tags: ['h2', 'h3'],
        name: 'labels',
      }),
    ],
  },
});
export default withMDX({
  pageExtensions: ['ts', 'tsx', 'js', 'jsx', 'md', 'mdx'],
});
```
npm package: @sup3r-us3r/eslint-config
Description: ESLint configuration
Author: Mayderson
Latest version: 1.3.0

# ESLint config

## Whats included?

- Standard config base
- React plugin
- JSX a11y plugin
- Import helpers plugin
- Prettier

## Setup

Install the dependencies:

```bash
npm i -D eslint @sup3r-us3r/eslint-config
```

Create a `.eslintrc` file extending the config:

```json
{
  "extends": "@sup3r-us3r/eslint-config/react"
}
```

> You can also use a `.eslintrc.json` or `.eslintrc.js`.

Add `lint` script in your `package.json` to try fix all lint errors:

```json
"scripts": {
  "lint": "eslint \"src/**/*.{js,jsx,ts,tsx}\" --fix"
}
```

## Prettier config

Create `.prettierrc` file in the root directory with below content:

```json
{
  "semi": true,
  "singleQuote": true,
  "arrowParens": "avoid",
  "trailingComma": "all",
  "endOfLine": "lf"
}
```

Or copy this config:

```sh
$ cp node_modules/@sup3r-us3r/eslint-config/.prettierrc .
```

> Run the above command in your project root directory.

## Editor config

Create `.editorconfig` file in the root directory with below content:

```text
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
```

Or copy this config:

```sh
$ cp node_modules/@sup3r-us3r/eslint-config/.editorconfig .
```

> Run the above command in your project root directory.
npm package: @supa-magic/spm
Description: CLI tool for managing AI skillsets
Latest version: 0.6.0

# spm

Skill Package Manager.

spm is a CLI tool for installing and managing AI skillsets in software projects.

A skillset is a preconfigured workflow that combines multiple AI skills, rules, tools, and integrations for a specific stack or architecture.

spm allows developers to quickly install and apply these workflows to their projects.

## Installation

```bash
npm install -g @supa-magic/spm
```

## Usage

```bash
spm install nextjs-fsd
```

This installs the corresponding skillset into the project.

## Related

Skillsets are built using skills from the [skillbox](https://github.com/supa-magic/skillbox) repository.

Part of the [Supa Magic](https://github.com/supa-magic) ecosystem.
npm package: @supabase-cache-helpers/postgrest-fetcher
Description: This submodule provides convenience helpers for fetching data with postgrest. It is not meant to be used standalone.
Latest version: 1.1.2
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# PostgREST fetcher

This submodule provides convenience helpers for fetching data with postgrest. It is not meant to be used standalone.
npm package: @supabase-cache-helpers/postgrest-mutate
Description: This submodule provides convenience helpers for mutating data. It is not meant to be used standalone.
Latest version: 1.0.18
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# PostgREST Mutate

This submodule provides convenience helpers for mutating data. It is not meant to be used standalone.
npm package: @supabase-cache-helpers/postgrest-react-query
Description: A collection of React Query utilities for working with Supabase.
Author: Philipp Steinrötter
Latest version: 1.13.9

# PostgREST React Query

A collection of React Query utilities for working with Supabase.

<a href="https://github.com/psteinroe/supabase-cache-helpers/actions/workflows/ci.yml"><img src="https://github.com/psteinroe/supabase-cache-helpers/actions/workflows/ci.yml/badge.svg?branch=main" alt="Latest build" target="\_parent"></a>
<a href="https://github.com/psteinroe/supabase-cache-helpers"><img src="https://img.shields.io/github/stars/psteinroe/supabase-cache-helpers.svg?style=social&amp;label=Star" alt="GitHub Stars" target="\_parent"></a>
[![codecov](https://codecov.io/gh/psteinroe/supabase-cache-helpers/branch/main/graph/badge.svg?token=SPMWSVBRGX)](https://codecov.io/gh/psteinroe/supabase-cache-helpers)
## Introduction

The cache helpers bridge the gap between popular frontend cache management solutions such as [SWR](https://swr.vercel.app) or [React Query](https://tanstack.com/query/latest), and the Supabase client libraries. All features of [`postgrest-js`](https://github.com/supabase/postgrest-js), [`storage-js`](https://github.com/supabase/storage-js) and [`realtime-js`](https://github.com/supabase/realtime-js) are supported. It also provides a simple server-side abstraction to cache queries to the `PostgREST` API. The cache helpers parse any query into a unique and definite query key, and automatically populates your query cache with every mutation using implicit knowledge of the schema.

## Features

With just one single line of code, you can simplify the logic of **fetching, subscribing to updates, and mutating data as well as storage objects** in your project, and have all the amazing features of [SWR](https://swr.vercel.app) or [React Query](https://tanstack.com/query/latest) out-of-the-box.

- **Seamless** integration with [SWR](https://swr.vercel.app) and [React Query](https://tanstack.com/query/latest)
- Support for **Server-Side** queries
- **Automatic** cache key generation
- Easy **Pagination** and **Infinite Scroll** queries
- **Insert**, **update**, **upsert** and **delete** mutations
- **Auto-populate** cache after mutations and subscriptions
- **Auto-expand** mutation queries based on existing cache data to keep app up-to-date
- One-liner to upload, download and remove **Supabase Storage** objects

And a lot [more](https://psteinroe.github.io/supabase-cache-helpers/).

---

**View full documentation and examples on [psteinroe.github.io/supabase-cache-helpers](https://psteinroe.github.io/supabase-cache-helpers/).**
npm package: @supabase-cache-helpers/postgrest-server
Description: A collection of server-side caching utilities for working with Supabase.
Author: Philipp Steinrötter
Latest version: 0.3.2

# PostgREST Server Cache

A collection of server-side caching utilities for working with Supabase.

<a href="https://github.com/psteinroe/supabase-cache-helpers/actions/workflows/ci.yml"><img src="https://github.com/psteinroe/supabase-cache-helpers/actions/workflows/ci.yml/badge.svg?branch=main" alt="Latest build" target="\_parent"></a>
<a href="https://github.com/psteinroe/supabase-cache-helpers"><img src="https://img.shields.io/github/stars/psteinroe/supabase-cache-helpers.svg?style=social&amp;label=Star" alt="GitHub Stars" target="\_parent"></a>
[![codecov](https://codecov.io/gh/psteinroe/supabase-cache-helpers/branch/main/graph/badge.svg?token=SPMWSVBRGX)](https://codecov.io/gh/psteinroe/supabase-cache-helpers)

## Introduction

The cache helpers bridge the gap between popular frontend cache management solutions such as [SWR](https://swr.vercel.app) or [React Query](https://tanstack.com/query/latest), and the Supabase client libraries. All features of [`postgrest-js`](https://github.com/supabase/postgrest-js), [`storage-js`](https://github.com/supabase/storage-js) and [`realtime-js`](https://github.com/supabase/realtime-js) are supported. It also provides a simple server-side abstraction to cache queries to the `PostgREST` API. The cache helpers parse any query into a unique and definite query key, and automatically populates your query cache with every mutation using implicit knowledge of the schema.

## Features

With just one single line of code, you can simplify the logic of **fetching, subscribing to updates, and mutating data as well as storage objects** in your project, and have all the amazing features of [SWR](https://swr.vercel.app) or [React Query](https://tanstack.com/query/latest) out-of-the-box.

- **Seamless** integration with [SWR](https://swr.vercel.app) and [React Query](https://tanstack.com/query/latest)
- Support for **Server-Side** queries
- **Automatic** cache key generation
- Easy **Pagination** and **Infinite Scroll** queries
- **Insert**, **update**, **upsert** and **delete** mutations
- **Auto-populate** cache after mutations and subscriptions
- **Auto-expand** mutation queries based on existing cache data to keep app up-to-date
- One-liner to upload, download and remove **Supabase Storage** objects

And a lot [more](https://psteinroe.github.io/supabase-cache-helpers/).

---

**View full documentation and examples on [psteinroe.github.io/supabase-cache-helpers](https://psteinroe.github.io/supabase-cache-helpers/).**

## Acknowledgement

The hard part of this package has been extracted from `@unkey/cache`. If you are on the lookout for a generic typesafe caching solution be sure to check it out.
npm package: @supabase-cache-helpers/postgrest-swr
Description: A collection of SWR utilities for working with Supabase.
Author: Philipp Steinrötter
Latest version: 2.0.6

# PostgREST SWR

A collection of SWR utilities for working with Supabase.

<a href="https://github.com/psteinroe/supabase-cache-helpers/actions/workflows/ci.yml"><img src="https://github.com/psteinroe/supabase-cache-helpers/actions/workflows/ci.yml/badge.svg?branch=main" alt="Latest build" target="\_parent"></a>
<a href="https://github.com/psteinroe/supabase-cache-helpers"><img src="https://img.shields.io/github/stars/psteinroe/supabase-cache-helpers.svg?style=social&amp;label=Star" alt="GitHub Stars" target="\_parent"></a>
[![codecov](https://codecov.io/gh/psteinroe/supabase-cache-helpers/branch/main/graph/badge.svg?token=SPMWSVBRGX)](https://codecov.io/gh/psteinroe/supabase-cache-helpers)
## Introduction

The cache helpers bridge the gap between popular frontend cache management solutions such as [SWR](https://swr.vercel.app) or [React Query](https://tanstack.com/query/latest), and the Supabase client libraries. All features of [`postgrest-js`](https://github.com/supabase/postgrest-js), [`storage-js`](https://github.com/supabase/storage-js) and [`realtime-js`](https://github.com/supabase/realtime-js) are supported. It also provides a simple server-side abstraction to cache queries to the `PostgREST` API. The cache helpers parse any query into a unique and definite query key, and automatically populates your query cache with every mutation using implicit knowledge of the schema.

## Features

With just one single line of code, you can simplify the logic of **fetching, subscribing to updates, and mutating data as well as storage objects** in your project, and have all the amazing features of [SWR](https://swr.vercel.app) or [React Query](https://tanstack.com/query/latest) out-of-the-box.

- **Seamless** integration with [SWR](https://swr.vercel.app) and [React Query](https://tanstack.com/query/latest)
- Support for **Server-Side** queries
- **Automatic** cache key generation
- Easy **Pagination** and **Infinite Scroll** queries
- **Insert**, **update**, **upsert** and **delete** mutations
- **Auto-populate** cache after mutations and subscriptions
- **Auto-expand** mutation queries based on existing cache data to keep app up-to-date
- One-liner to upload, download and remove **Supabase Storage** objects

And a lot [more](https://psteinroe.github.io/supabase-cache-helpers/).

---

**View full documentation and examples on [psteinroe.github.io/supabase-cache-helpers](https://psteinroe.github.io/supabase-cache-helpers/).**
npm package: @supabase-cache-helpers/storage-fetcher
Description: This submodule provides convenience helpers for fetching data from the Supabase Storage API. It is not meant to be used standalone.
Latest version: 1.0.9
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Storage fetcher

This submodule provides convenience helpers for fetching data from the Supabase Storage API. It is not meant to be used standalone.
npm package: @supabase-cache-helpers/storage-mutate
Description: This submodule provides convenience helpers for mutating data. It is not meant to be used standalone.
Latest version: 1.0.4
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Storage Mutate

This submodule provides convenience helpers for mutating data. It is not meant to be used standalone.
npm package: @supabase-cache-helpers/storage-react-query
Description: A collection of React Query utilities for working with Supabase.
Author: Philipp Steinrötter
Latest version: 1.3.7

# Supabase Storage React Query

A collection of React Query utilities for working with Supabase.

<a href="https://github.com/psteinroe/supabase-cache-helpers/actions/workflows/ci.yml"><img src="https://github.com/psteinroe/supabase-cache-helpers/actions/workflows/ci.yml/badge.svg?branch=main" alt="Latest build" target="\_parent"></a>
<a href="https://github.com/psteinroe/supabase-cache-helpers"><img src="https://img.shields.io/github/stars/psteinroe/supabase-cache-helpers.svg?style=social&amp;label=Star" alt="GitHub Stars" target="\_parent"></a>
[![codecov](https://codecov.io/gh/psteinroe/supabase-cache-helpers/branch/main/graph/badge.svg?token=SPMWSVBRGX)](https://codecov.io/gh/psteinroe/supabase-cache-helpers)
## Introduction

The cache helpers bridge the gap between popular frontend cache management solutions such as [SWR](https://swr.vercel.app) or [React Query](https://tanstack.com/query/latest), and the Supabase client libraries. All features of [`postgrest-js`](https://github.com/supabase/postgrest-js), [`storage-js`](https://github.com/supabase/storage-js) and [`realtime-js`](https://github.com/supabase/realtime-js) are supported. It also provides a simple server-side abstraction to cache queries to the `PostgREST` API. The cache helpers parse any query into a unique and definite query key, and automatically populates your query cache with every mutation using implicit knowledge of the schema.

## Features

With just one single line of code, you can simplify the logic of **fetching, subscribing to updates, and mutating data as well as storage objects** in your project, and have all the amazing features of [SWR](https://swr.vercel.app) or [React Query](https://tanstack.com/query/latest) out-of-the-box.

- **Seamless** integration with [SWR](https://swr.vercel.app) and [React Query](https://tanstack.com/query/latest)
- Support for **Server-Side** queries
- **Automatic** cache key generation
- Easy **Pagination** and **Infinite Scroll** queries
- **Insert**, **update**, **upsert** and **delete** mutations
- **Auto-populate** cache after mutations and subscriptions
- **Auto-expand** mutation queries based on existing cache data to keep app up-to-date
- One-liner to upload, download and remove **Supabase Storage** objects

And a lot [more](https://psteinroe.github.io/supabase-cache-helpers/).

---

**View full documentation and examples on [psteinroe.github.io/supabase-cache-helpers](https://psteinroe.github.io/supabase-cache-helpers/).**
npm package: @supabase-cache-helpers/storage-swr
Description: A collection of SWR utilities for working with Supabase.
Author: Philipp Steinrötter
Latest version: 1.1.7

# Supabase Storage SWR

A collection of SWR utilities for working with Supabase.

<a href="https://github.com/psteinroe/supabase-cache-helpers/actions/workflows/ci.yml"><img src="https://github.com/psteinroe/supabase-cache-helpers/actions/workflows/ci.yml/badge.svg?branch=main" alt="Latest build" target="\_parent"></a>
<a href="https://github.com/psteinroe/supabase-cache-helpers"><img src="https://img.shields.io/github/stars/psteinroe/supabase-cache-helpers.svg?style=social&amp;label=Star" alt="GitHub Stars" target="\_parent"></a>
[![codecov](https://codecov.io/gh/psteinroe/supabase-cache-helpers/branch/main/graph/badge.svg?token=SPMWSVBRGX)](https://codecov.io/gh/psteinroe/supabase-cache-helpers)
## Introduction

The cache helpers bridge the gap between popular frontend cache management solutions such as [SWR](https://swr.vercel.app) or [React Query](https://tanstack.com/query/latest), and the Supabase client libraries. All features of [`postgrest-js`](https://github.com/supabase/postgrest-js), [`storage-js`](https://github.com/supabase/storage-js) and [`realtime-js`](https://github.com/supabase/realtime-js) are supported. It also provides a simple server-side abstraction to cache queries to the `PostgREST` API. The cache helpers parse any query into a unique and definite query key, and automatically populates your query cache with every mutation using implicit knowledge of the schema.

## Features

With just one single line of code, you can simplify the logic of **fetching, subscribing to updates, and mutating data as well as storage objects** in your project, and have all the amazing features of [SWR](https://swr.vercel.app) or [React Query](https://tanstack.com/query/latest) out-of-the-box.

- **Seamless** integration with [SWR](https://swr.vercel.app) and [React Query](https://tanstack.com/query/latest)
- Support for **Server-Side** queries
- **Automatic** cache key generation
- Easy **Pagination** and **Infinite Scroll** queries
- **Insert**, **update**, **upsert** and **delete** mutations
- **Auto-populate** cache after mutations and subscriptions
- **Auto-expand** mutation queries based on existing cache data to keep app up-to-date
- One-liner to upload, download and remove **Supabase Storage** objects

And a lot [more](https://psteinroe.github.io/supabase-cache-helpers/).

---

**View full documentation and examples on [psteinroe.github.io/supabase-cache-helpers](https://psteinroe.github.io/supabase-cache-helpers/).**
npm package: @supabase-community/pulumi-gotrue
Description: A Pulumi package for creating and managing GoTrue authentication resources.
Latest version: 1.0.1

# Pulumi Provider for GoTrue

**WARNING: This is experimental software and is not indended for production
purposes just yet. Version 2.0.0 and above will be for wider consumption.**

[GoTrue](https://github.com/supabase/gotrue) is the software behind [Supabase
Auth](https://supabase.com/auth).

This package implements a [Pulumi](https://pulumi.com) provider over the
existing
[terraform-provider-gotrue](https://github.com/supabase-community/terraform-provider-gotrue)
that lets you configure some settings in GoTrue as Infrastructure as
Code using Pulumi.

See the `examples` directory for a full example.

## Local Development

This is kind-of complex, so please read the
[pulumi-tf-provider-boilerplate](https://github.com/pulumi/pulumi-tf-provider-boilerplate)
documentation. This provider does very little (if any) customizations on top of
it.
npm package: @supabase/auth-helpers-nextjs
Description: Use the Supabase JavaScript library in popular server-side rendering (SSR) frameworks.
Author: Supabase, Inc.
Latest version: 0.15.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# ⚠️ DEPRECATED - DO NOT USE

**This package is deprecated and no longer maintained.**

This is the **FINAL version (0.15.0)**. No further updates will be published.

## Please migrate to `@supabase/ssr`

```bash
npm uninstall @supabase/auth-helpers-nextjs
npm install @supabase/ssr
```

📚 **Migration guide:** https://supabase.com/docs/guides/auth/server-side/overview

---

# Supabase clients for use in SSR frameworks

> **Package Consolidation Notice**: The `@supabase/ssr` package replaces the deprecated `@supabase/auth-helpers-*` packages. All framework-specific auth-helpers packages have been consolidated into `@supabase/ssr` for better maintenance and consistency.

## Overview

The `@supabase/ssr` package provides a framework-agnostic way to use the [Supabase JavaScript library](https://supabase.com/docs/reference/javascript/introduction) in server-side rendering (SSR) frameworks.

## Installation

```bash
npm i @supabase/ssr
```

## Deprecated Packages

The following packages have been deprecated and consolidated into `@supabase/ssr`:

- `@supabase/auth-helpers-nextjs` → Use `@supabase/ssr`
- `@supabase/auth-helpers-react` → Use `@supabase/ssr`
- `@supabase/auth-helpers-remix` → Use `@supabase/ssr`
- `@supabase/auth-helpers-sveltekit` → Use `@supabase/ssr`

If you're currently using any of these packages, please update your dependencies to use `@supabase/ssr` directly.

## Documentation

Please refer to the [official server-side rendering guides](https://supabase.com/docs/guides/auth/server-side) for the latest best practices on using this package in your SSR framework of choice.
npm package: @supabase/auth-helpers-react
Description: Use the Supabase JavaScript library in popular server-side rendering (SSR) frameworks.
Author: Supabase, Inc.
Latest version: 0.15.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# ⚠️ DEPRECATED - DO NOT USE

**This package is deprecated and no longer maintained.**

This is the **FINAL version (0.15.0)**. No further updates will be published.

## Please migrate to `@supabase/ssr`

```bash
npm uninstall @supabase/auth-helpers-nextjs
npm install @supabase/ssr
```

📚 **Migration guide:** https://supabase.com/docs/guides/auth/server-side/overview

---

# Supabase clients for use in SSR frameworks

> **Package Consolidation Notice**: The `@supabase/ssr` package replaces the deprecated `@supabase/auth-helpers-*` packages. All framework-specific auth-helpers packages have been consolidated into `@supabase/ssr` for better maintenance and consistency.

## Overview

The `@supabase/ssr` package provides a framework-agnostic way to use the [Supabase JavaScript library](https://supabase.com/docs/reference/javascript/introduction) in server-side rendering (SSR) frameworks.

## Installation

```bash
npm i @supabase/ssr
```

## Deprecated Packages

The following packages have been deprecated and consolidated into `@supabase/ssr`:

- `@supabase/auth-helpers-nextjs` → Use `@supabase/ssr`
- `@supabase/auth-helpers-react` → Use `@supabase/ssr`
- `@supabase/auth-helpers-remix` → Use `@supabase/ssr`
- `@supabase/auth-helpers-sveltekit` → Use `@supabase/ssr`

If you're currently using any of these packages, please update your dependencies to use `@supabase/ssr` directly.

## Documentation

Please refer to the [official server-side rendering guides](https://supabase.com/docs/guides/auth/server-side) for the latest best practices on using this package in your SSR framework of choice.
npm package: @supabase/auth-helpers-remix
Description: Use the Supabase JavaScript library in popular server-side rendering (SSR) frameworks.
Author: Supabase, Inc.
Latest version: 0.15.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# ⚠️ DEPRECATED - DO NOT USE

**This package is deprecated and no longer maintained.**

This is the **FINAL version (0.15.0)**. No further updates will be published.

## Please migrate to `@supabase/ssr`

```bash
npm uninstall @supabase/auth-helpers-nextjs
npm install @supabase/ssr
```

📚 **Migration guide:** https://supabase.com/docs/guides/auth/server-side/overview

---

# Supabase clients for use in SSR frameworks

> **Package Consolidation Notice**: The `@supabase/ssr` package replaces the deprecated `@supabase/auth-helpers-*` packages. All framework-specific auth-helpers packages have been consolidated into `@supabase/ssr` for better maintenance and consistency.

## Overview

The `@supabase/ssr` package provides a framework-agnostic way to use the [Supabase JavaScript library](https://supabase.com/docs/reference/javascript/introduction) in server-side rendering (SSR) frameworks.

## Installation

```bash
npm i @supabase/ssr
```

## Deprecated Packages

The following packages have been deprecated and consolidated into `@supabase/ssr`:

- `@supabase/auth-helpers-nextjs` → Use `@supabase/ssr`
- `@supabase/auth-helpers-react` → Use `@supabase/ssr`
- `@supabase/auth-helpers-remix` → Use `@supabase/ssr`
- `@supabase/auth-helpers-sveltekit` → Use `@supabase/ssr`

If you're currently using any of these packages, please update your dependencies to use `@supabase/ssr` directly.

## Documentation

Please refer to the [official server-side rendering guides](https://supabase.com/docs/guides/auth/server-side) for the latest best practices on using this package in your SSR framework of choice.
npm package: @supabase/auth-helpers-sveltekit
Description: Use the Supabase JavaScript library in popular server-side rendering (SSR) frameworks.
Author: Supabase, Inc.
Latest version: 0.15.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# ⚠️ DEPRECATED - DO NOT USE

**This package is deprecated and no longer maintained.**

This is the **FINAL version (0.15.0)**. No further updates will be published.

## Please migrate to `@supabase/ssr`

```bash
npm uninstall @supabase/auth-helpers-nextjs
npm install @supabase/ssr
```

📚 **Migration guide:** https://supabase.com/docs/guides/auth/server-side/overview

---

# Supabase clients for use in SSR frameworks

> **Package Consolidation Notice**: The `@supabase/ssr` package replaces the deprecated `@supabase/auth-helpers-*` packages. All framework-specific auth-helpers packages have been consolidated into `@supabase/ssr` for better maintenance and consistency.

## Overview

The `@supabase/ssr` package provides a framework-agnostic way to use the [Supabase JavaScript library](https://supabase.com/docs/reference/javascript/introduction) in server-side rendering (SSR) frameworks.

## Installation

```bash
npm i @supabase/ssr
```

## Deprecated Packages

The following packages have been deprecated and consolidated into `@supabase/ssr`:

- `@supabase/auth-helpers-nextjs` → Use `@supabase/ssr`
- `@supabase/auth-helpers-react` → Use `@supabase/ssr`
- `@supabase/auth-helpers-remix` → Use `@supabase/ssr`
- `@supabase/auth-helpers-sveltekit` → Use `@supabase/ssr`

If you're currently using any of these packages, please update your dependencies to use `@supabase/ssr` directly.

## Documentation

Please refer to the [official server-side rendering guides](https://supabase.com/docs/guides/auth/server-side) for the latest best practices on using this package in your SSR framework of choice.