List of awesome Svelte stores
There are many very useful svelte stores that might make your life easier without you knowing that they exist. Hence this list to surface those gems.
Just reading through the list might also give you some inspiration for solving your problems more elegantly with a store. PR's welcome.
ℹ️ Many stores are just one small file that you can drop in your project without even having to add a dependency.
Browser Storage
Browser Navigation
- svelte-store-router
- Router for Svelte that suggests that routing is just another global state and History API changes are just an optional side-effects of this state.
- query-store
- Writable store that syncs with the browser's search param
Fetching Data
Undo
- storez
- Writable store with old/new value, change history + undo, debounce, localstorage persist
- @macfja/svelte-undoable
- Memento design pattern (undo/redo) in Svelte
- svelte-previous
- Remember previous values - helpful for transitions or a quick undo stack
Time
Upgraded Stores
Stores affecting each other
- svelte-keyed
- Takes a writable object store and a keypath, and returns a writable store whose changes are reflected on the original store. Properties are accessed with dot notation, and arrays can be indexed with bracket notation.
- Svelte-nStore
- Adds
get()
without subsription and recalculation of store value that is dependent on other stores values
- svelte-writable-derived
- Two-way data-transforming store
- @crikey/stores-selectable
- Extend stores with selection semantics, allowing for the easy creation of type safe sub-stores
- @crikey/stores-dynamic
- Derived stores with dynamic dependency support and natural error handling/propagation
State Machine
(Im)mutability
Inspired State Management
- stores-x
- State management heaviliy inspired by VueX
- MiniRx
- RxJS Redux Store that works with TypeScript
CSS
- sw-yx/everything-store
- CSS related stores for: Tailwind Breakpoints, Media Queries, Dark Mode
- svelte-animation-store
- Based on Svelte's tweened store, that lets you pause, continue, reset, replay, reverse or adjust speed of a tween.
Notifications
3rd-Party interaction
Browser Extensions
Others