TanStack DB 0.6 Transforme le Client en Base de Données Locale

TanStack DB 0.6 Transforme le Client en Base de Données Locale

lschvn

TanStack DB, la base de données transactionnelle côté client créée par l'équipe derrière React Query et Router, a publié la version 0.6 la semaine dernière. Les fonctionnalités principales, persistance SQLite, projections de données hiérarchiques et workflows réactifs pour agents, ne sont pas des ajouts incrementaux. Ce sont les pièces manquantes qui rendent l'ensemble du système pratique pour de vraies applications.

La pièce manquante : la persistance

TanStack DB avait déjà un moteur de requêtes sophistiqué, une réactivité granulaire, des mises à jour optimistes et une API de transactions hors ligne. Ce qui lui manquait, c'était la durabilité, la capacité de conserver les données après la fermeture de l'application.

Cela change avec la 0.6. La couche de persistance repose sur SQLite et fonctionne sur un large éventail de runtimes : navigateur (via SQLite WASM), React Native, Expo, Node, Electron, Tauri, Capacitor et Cloudflare Durable Objects.

La décision de conception clé est pragmatique : plutôt que d'inventer une nouvelle abstraction de stockage, SQLite sert de backend de persistance. Cela signifie que TanStack DB gère gratuitement les gros volumes de données, le support multi-onglets, l'évolution du schéma et la compatibilité cross-runtime. Une fois l'état local rendu durable, l'ensemble de la pile, moteur de requêtes, mises à jour optimistes, transactions hors ligne, peut fonctionner comme un système véritablement local-first.

PowerSync et Trailbase supportent déjà la synchronisation incrémentale avec cette nouvelle couche de persistance, en s'appuyant sur le modèle de sync des Query Collections introduit en v0.5.

Includes : des données hiérarchiques sans GraphQL

La fonctionnalité includes résout un problème récurrent en développement UI : vos données sont normalisées en base, mais vos composants UI attendent une forme emboîtée.

La solution classique est GraphQL, avec ses resolvers et sa couche d'infrastructure séparée. Les includes de TanStack DB projettent les données normalisées dans la structure hiérarchique dont votre UI a besoin, même résultat, sans backend supplémentaire.

createEffect : effets secondaires réactifs pour les agents

Une nouvelle fonction createEffect permet de déclencher des effets secondaires réactifs directement depuis des requêtes live. C'est destiné aux workflows d'automatisation de type agent où vous devez répondre aux changements de données programmatiquement, pas seulement les afficher.

Les virtual props ($synced, $origin) complètent cela en suivant les métadonnées au niveau des lignes, les vues de type outbox, le statut de sync et la provenance des données deviennent des préoccupations de première classe des requêtes.

queryOnce et autres améliorations d'ergonomie

queryOnce fournit des requêtes ponctuelles en utilisant le même langage de requête que les requêtes live. Auparavant, les deux modèles divergeaient ; maintenant ils sont unifiés.

Les index sont désormais optionnels, et les gestionnaires de mutations ne reposent plus sur un comportement de retour implicite. Ce sont des changements cassants pour les mises à jour, mais ils rendent l'API plus prévisible.

Vers la v1

L'équipe fait appel à des partenaires pour le design SSR (server-side rendering) alors qu'ils travaillent vers la v1. Si vous suiviez TanStack DB en attendant qu'il soit prêt pour la production, cette release est le signal le plus fort que les pièces s'assemblent.

tldr

  • TanStack DB 0.6 ajoute la persistance SQLite across navigateur, React Native, Node, Electron, Tauri et plus, rendant les apps local-first véritablement durables
  • La nouvelle API includes projette les données normalisées dans des formes UI hiérarchiques sans nécessiter une couche GraphQL
  • createEffect et les virtual props ($synced, $origin) activent les workflows réactifs d'agents et les patterns UI de sync de type outbox

faq

  • Est-ce prêt pour la production ? C'est encore pré-v1, mais l'ensemble des fonctionnalités et le soutien de TanStack (mainteneurs de React Query) rendent l'évaluation intéressante pour des apps non critiques.
  • Comment ça se compare à Dexie.js ou WatermelonDB ? TanStack DB est centré sur le moteur de requêtes avec réactivité granulaire et un modèle de sync intégré ; Dexie est plus orienté ergonomie IndexedDB et WatermelonDB plus ORM.
  • Est-ce que ça fonctionne avec le SSR ? L'équipe travaille activement sur le support SSR et cherche des partenaires de design.

Articles connexes

Plus de couverture avec des sujets et tags en commun.

React Router v8 promeut ses Future Flags en valeurs par défaut, passe en ESM uniquement et abandonne `react-router-dom`
frameworks

React Router v8 promeut ses Future Flags en valeurs par défaut, passe en ESM uniquement et abandonne `react-router-dom`

React Router v8.0.0 (17 juin 2026) est la première version majeure sous le modèle de gouvernance ouverte (Open Governance) du projet et la première d'un rythme annuel planifié. Chaque indicateur `future.v8_*` de la v7 devient la valeur par défaut (middleware toujours activé, requêtes pass-through, API Vite Environment, découpage des modules de route), la base minimale passe à Node 22.22+, React 19.2.7+ et Vite 7+, tous les paquets sont publiés en ESM uniquement avec une cible ES2022, `react-router-dom` est supprimé, et les adaptateurs Node basculent vers un serveur fetch maintenu par Remix tandis que `create-react-router` abandonne son polyfill fetch pour le `fetch` natif.
Nitro v3.0.260603-beta : Commandes de Framework Personnalisées et Config defaultPreset
frameworks

Nitro v3.0.260603-beta : Commandes de Framework Personnalisées et Config defaultPreset

Le dernier beta de Nitro ajoute le support des commandes preview et deploy personnalisées, introduit l'option de configuration defaultPreset, et corrige un cas limite sur le stripping des types TypeScript.
Nitro v3.0.260522-beta : Tracing à la Compilation, Cache VFS, Queues Vercel en Local
frameworks

Nitro v3.0.260522-beta : Tracing à la Compilation, Cache VFS, Queues Vercel en Local

Le beta Nitro v3 du 22 mai apporte des wrappers de tracing pour les handlers de routes à la compilation, un cache VFS pour le code dynamique nitro, et le support des queues Vercel accessible en développement local, avec les correctifs de sécurité de la beta précédente.

Commentaires

Connexion Connectez-vous pour participer à la conversation.

Pas encore de commentaires. Soyez le premier à partager vos pensées.