truix-cli
v1.0.1
Published
CLI TRUIX : analyse et type automatiquement les variables JS/TSX d'un projet.
Maintainers
Readme
truix-cli
L'outil d'analyse et de typage automatique du framework TRUIX. Detecte les variables et parametres JS/TSX non types (ou types de maniere incorrecte) et corrige le typage directement dans le code, en s'appuyant sur le TypeScript Compiler API (pas d'heuristique de regex : les types inseres sont ceux reellement calcules par TypeScript).
Installation
npm install -g truix-cliUsage
truix type # analyse et corrige le dossier courant
truix type ./src # analyse un dossier precis
truix type ./src/index.ts # analyse un seul fichier
truix type --dry-run # affiche ce qui serait modifie, sans ecrire
truix type --watch # surveille et retype en continu
truix type --ext ts,tsx,js # extensions personnalisees
truix create mon-projet # alias vers create-truix-appCe que truix type corrige automatiquement
- Variables sans annotation (
let x = 5→let x: number = 5), pour leslet,constetvara identifiant simple (pas de destructuring). - Parametres de fonction sans annotation, quand TypeScript peut deduire
un type non-
anya partir du contexte d'appel. anyexplicite qui masque un type concret (let x: any = 5devientlet x: number = 5), le seul cas de "typage incorrect" corrige automatiquement pour rester sans ambiguite.
Tout ce que TypeScript ne peut pas resoudre a un type concret (implicite
any, JSON.parse(...), etc.) est signale dans le rapport plutot
qu'invente — l'outil ne devine jamais un type au hasard.
Limites connues (v1)
- Le destructuring (
const { a, b } = obj,const [x, y] = arr) n'est pas encore annote automatiquement. - Les rest parameters (
...args) ne sont pas types automatiquement. - La correction de typage incorrect se limite au cas
anyexplicite ; les incompatibilites de type plus complexes ne sont pas re-ecrites (TypeScript les signale deja comme erreurs de compilation). - Chaque analyse recree un
ts.Programcomplet (pas de cache incrementiel entre les executions). Sur de tres gros projets en--watch, chaque passage peut prendre de quelques centaines de ms a plus d'une seconde. Une prochaine version pourra s'appuyer sur l'API de watch incrementielle de TypeScript (ts.createWatchProgram) pour accelerer les re-analyses.
Developpement local
npm install
node bin/truix.js type ./chemin/vers/un/projet --dry-run