
[04 — Projet]
OpenShop
Toolkit commerce headless et agnostique du framework pour storefronts Shopify — primitives réactives, panier résilient, calculs monétaires exacts.
- TypeScript
- React
- Vue 3
- Svelte
- Shopify Storefront API
- GraphQL
- pnpm
- Turborepo
- Vitest
[Présentation]
Ce que ça fait
OpenShop est un toolkit, pas un framework. Il fournit les parties du commerce difficiles à bien faire — un client Storefront API typé et résilient, un panier difficile à corrompre, des calculs monétaires exacts au centime et une analytics respectueuse du consentement — sous forme de petites primitives réactives qui s'intègrent au framework et au runtime que vous utilisez déjà (Next.js, React Router, SvelteKit, Astro, Node, Deno, Cloudflare Workers, Vercel…).
Il reprend la direction architecturale du dernier Shopify Hydrogen — le commerce sorti du framework — et la pousse plus loin : résilience, cache et réactivité sont intégrés au cœur dès le départ. Store réactif façon signals, retry exponentiel avec jitter, circuit breaker, cache stale-while-revalidate et garde anti-dogpile.
L'architecture est un cœur en TypeScript pur (@openshop/core) avec de fines liaisons par framework : React, Vue 3 et Svelte partagent exactement le même cœur, ce qui prouve l'agnosticisme. Le tout est un monorepo pnpm + Turborepo, livré avec un storefront d'exemple zéro-config qui sert aussi de test d'intégration vivant.
[Points clés]
Points clés
- 01Client Storefront API typé sans codegen : timeout, backoff exponentiel + jitter, circuit breaker.
- 02Store réactif façon signals : les composants ne re-render que sur la slice qu'ils lisent.
- 03Panier optimiste, mutations sérialisées réconciliées côté serveur, rollback en cas d'échec.
- 04Calculs monétaires en entiers (unités mineures) — jamais de float, exact au centime.
- 05Cache pluggable stale-while-revalidate + adaptateurs edge (Cloudflare KV, Web Cache API).
- 06Cœur TypeScript agnostique avec bindings React, Vue 3 et Svelte ; monorepo pnpm + Turborepo.