Apprends à créer un tsconfig strict, activer le rendu JSX, gérer TSX et charger tes variables d’environnement. Mets ton projet Hono TypeScript sur de bons rails.
Le fichier tsconfig.json sert de point central à TypeScript.
Il indique au compilateur :
Dans notre projet Hono, on veut :
1{2"compilerOptions": {3"target": "ESNext",4"module": "NodeNext",5"strict": true,6"verbatimModuleSyntax": true,7"skipLibCheck": true,8"types": ["node"],9"jsx": "react-jsx",10"jsxImportSource": "hono/jsx"11}12}
target : ESNext
Pourquoi ? Node 20 gère déjà la plupart des features ; on évite le code transpilé inutile.
module : NodeNext
Utile pour utiliser les imports ESM (import … from …
) sans config supplémentaire.
strict : true
Active toutes les règles de sûreté : null-checking, noImplicitAny, etc.
Ton code gagne en fiabilité.
verbatimModuleSyntax : true
TypeScript ne modifie pas les imports/exports.
Pratique quand tu bascules entre ESM et TS sans bricoler de chemins.
skipLibCheck : true
Désactive la vérification des types de tes dépendances node_modules.
Compilation plus rapide, moins de bruit.
types : ["node"]
Charge les types Node.js globaux (process, Buffer…).
Indispensable dès que tu touches au FS ou à l’OS.
jsx : react-jsx
TypeScript génère du runtime JSX moderne (React 17+).
Ici, Hono exploite la même transformation.
jsxImportSource : "hono/jsx"
TypeScript ajoute automatiquement
import { jsx } from "hono/jsx"
derrière chaque composant.
Tu écris du JSX, Hono se charge du rendu serveur.
Le tsconfig est prêt.
Tu peux maintenant :
src/index.ts
).On verra ces deux derniers points dans la prochaine section.
Testez vos connaissances avec 4 questions
Quel est le rôle principal du fichier tsconfig.json dans un projet TypeScript ?
Pourquoi l’option "strict": true est-elle activée dans le tsconfig du projet Hono ?
Quelle combinaison d’options permet à Hono de rendre du JSX côté serveur sans import manuel ?
Quel est l’avantage principal de l’option "skipLibCheck": true ?