Code Monkey home page Code Monkey logo

supabase-cache-helpers's Introduction

Supabase Cache Helpers

Supabase Cache Helpers

A collection of framework specific Cache utilities for working with Supabase.

Latest build GitHub Stars codecov

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. 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
  • 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.


๐Ÿ“ฆ Packages

The cache helpers are split up into reusable libraries.

Primary Packages

Shared Packages

These are not meant for direct usage.

  • eslint-config-custom: eslint configurations
  • jest-presets: jest presets
  • postgrest-fetcher: common fetchers for postgrest-js
  • postgrest-filter: parse a PostgREST query into json and build a local js filter function that tries to replicate the behavior of postgres
  • postgrest-mutate: common mutation functions for postgrest-js
  • postgrest-shared: utility functions and types shared among the PostgREST packages
  • prettier-config: prettier configurations
  • storage-fetcher: common fetchers for storage-js operations
  • storage-mutate: common mutation functions for storage-js operations
  • tsconfig: tsconfig.jsons used throughout the monorepo

Each package/app is 100% TypeScript.

โค๏ธ Sponsors

Mateo
Mateo
(we are hiring!)
Supabase
Supabase
https://supabase.com
Marviel
Luke Bechtel
@Marviel

๐Ÿ›  Utilities

This turborepo has some additional tools already setup for you:

supabase-cache-helpers's People

Contributors

psteinroe avatar renovate[bot] avatar github-actions[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.