// the find
posva/pinia-colada
🍹 The smart data fetching layer for Vue
Pinia Colada is a data-fetching layer for Vue that wraps Pinia to give you TanStack Query-style `useQuery`/`useMutation` primitives without pulling in a React-ecosystem library. It handles caching, deduplication, and invalidation at the composable level. If you're building a Vue app that talks to an API more than a few times, this replaces a lot of hand-rolled `ref`/`watch` plumbing.
Request deduplication is built into the cache key system — two components calling the same `useQuery` with the same key share one in-flight request, not two. The plugin architecture is genuinely useful: retry, auto-refetch, delay, and cache persistence are separate packages you opt into rather than config flags you ignore. SSR support works without special-casing — the payload serialization handles hydration automatically, and there's a Nuxt module if you're in that ecosystem. The codedemods for breaking API changes between versions are a nice touch that most libraries skip entirely.
At 2,200 stars and 80 forks it's still a small community, which means third-party plugins, Stack Overflow answers, and battle-tested edge-case handling lag well behind TanStack Query. The Vue devtools integration exists but lives in a separate package with its own build pipeline, which adds friction if you want inspect-in-browser debugging as part of your normal workflow. Infinite query support is present but the API is less mature than the core query/mutation primitives — the docs acknowledge it's still evolving. There's no built-in network status or offline queue; if you need optimistic updates that survive a network drop, you're wiring that yourself.