Awesome
Supabase Cache Helpers
A collection of framework specific Cache utilities for working with <a href="https://supabase.com" alt="Supabase" target="\_parent">Supabase</a>.
<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&label=Star" alt="GitHub Stars" target="\_parent"></a>
Introduction
The cache helpers bridge the gap between popular frontend cache management solutions such as SWR or React Query, and the Supabase client libraries. All features of postgrest-js
, storage-js
and 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. Check out the demo and find out how it feels like for your users.
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 or React Query out-of-the-box.
- Seamless integration with SWR and React Query
- 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.
View full documentation and examples on supabase-cache-helpers.vercel.app.
<br />📦 Packages
The cache helpers are split up into reusable libraries.
Primary Packages
postgrest-swr
: SWR wrapper for postgrest-js.storage-swr
: SWR wrapper for storage storage-jspostgrest-react-query
: React Query wrapper for postgrest-jsstorage-react-query
: React Query wrapper for storage storage-jspostgrest-server
: Server-side caching wrapper for postgrest-js.
Shared Packages
These are not meant for direct usage.
jest-presets
:jest
presetspostgrest-core
: shared logic for postgrest-jsstorage-core
: shared logic for storage-js operationstsconfig
:tsconfig.json
s used throughout the monorepo
Each package/app is 100% TypeScript.