deno-inertia — Documentation
@streemkit/inertia-deno est un adaptateur serveur Inertia.js pour Deno. Il utilise exclusivement les API Web standard (Request, Response, URLPattern) et s'intègre avec n'importe quel framework ou router compatible (Hono, Oak, std/http, etc.).
Table des matières
| Page | Description |
|---|---|
| Installation | Prérequis, deno.json, npm |
| Démarrage rapide | Projet fonctionnel en 5 minutes |
| Configuration | InertiaConfig — tous les champs |
| Rendu | render(), renderWithErrors(), redirect() |
| Props | normal, shared, always, lazy, defer, merge |
| Formulaires & validation | Erreurs, error bags, cycle POST |
| Flash messages | Cookie __flash, auto-clear |
| Router | createRouter(), params, middleware, groupes |
| Vite | Intégration dev + production |
| Adapters | Hono, Oak, std/http |
| Inertia v2 | Deferred, merge, encryptHistory |
| TypeScript | PropValue<T>, PageProps<T>, tous les types |
| CLI | @streemkit/inertia-deno-cli — init, dev, build, preview |
Vue d'ensemble
Qu'est-ce qu'Inertia.js ?
Inertia.js est un protocole qui crée des SPA « server-driven » sans API REST ni GraphQL. Le serveur rend les pages sous forme de composants nommés avec des props JSON. Le client (Vue, React, Svelte) monte ces composants directement — navigation SPA sans JSON/fetch manuel.
Navigateur ──[ GET / ]──────────────────────► Deno
◄──[ HTML + <div data-page="…"> ]──
Navigateur ──[ GET /about X-Inertia:true ]──► Deno
◄──[ JSON { component, props, url } ]──Pourquoi deno-inertia ?
| Contrainte | Solution |
|---|---|
| Fonctionne avec Hono, Oak, std/http… | API Request/Response pure — aucun couplage framework |
| Inertia v1 + v2 | lazy, defer, merge, encryptHistory |
| TypeScript strict | PropValue<T>, PageProps<T>, génériques sur render<T>() |
| Zéro magie | Chaque comportement est explicite et testable |
Packages JSR
| Package | Rôle |
|---|---|
jsr:@streemkit/inertia-deno | Bibliothèque serveur principale |
jsr:@streemkit/inertia-deno/hono | Adapter Hono (toWebRequest) |
jsr:@streemkit/inertia-deno/oak | Adapter Oak (toWebRequest + applyResponse) |
jsr:@streemkit/inertia-deno-cli | CLI (init, dev, build, preview) |