Frameworks CLI pour TypeScript : aperçu complet et exemples d'utilisation

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Frameworks CLI pour TypeScript : créons des applications console puissantes



Le développement moderne en TypeScript est impensable sans la création d'outils en ligne de commande (CLI). Qu'il s'agisse d'un assembleur de projets, d'un générateur de code ou d'un utilitaire d'automatisation — chaque développeur a au moins une fois envisagé d'écrire son propre programme console. Dans cet article, nous allons examiner en détail les meilleurs frameworks CLI pour TypeScript, leurs caractéristiques et fournir des exemples pratiques de code.



Pourquoi un framework CLI est-il nécessaire ?



Écrire un CLI « à partir de zéro » ne consiste pas seulement à traiter les arguments de la ligne de commande, mais aussi à gérer les sous-commandes, la validation des entrées, l'affichage en couleur, les invites interactives. Le framework prend en charge la routine, vous permettant de vous concentrer sur la logique métier. TypeScript ajoute un typage strict, ce qui est particulièrement précieux lors du développement d'applications console complexes.



Top 4 des frameworks CLI pour TypeScript



1. Commander.js



Le framework le plus populaire (plus de 30 millions de téléchargements par semaine). Idéal pour créer des CLI complexes à plusieurs niveaux avec des sous-commandes, des options et une génération automatique d'aide.



Installation :

npm install commander


Exemple d'application de base :

import { Command } from 'commander';

const program = new Command();

program .name('greet') .description('CLI pour saluer') .version('1.0.0');

program .command('hello') .argument('<name>', 'nom de l\\'utilisateur') .option('-l, --lang <lang>', 'langue de salutation', 'fr') .action((name, options) => { const greetings: Record<string, string> = { fr: 'Bonjour', en: 'Hello', de: 'Hallo' }; const greeting = greetings[options.lang] || greetings.fr; console.log(`${greeting}, ${name}!`); });

program.parse();


Exécution :

npx ts-node index.ts hello Jean --lang en# Sortie : Hello, Jean!


2. Inquirer.js



Bibliothèque pour créer des invites interactives dans le terminal. Permet de poser des questions, de choisir des options, de saisir des mots de passe et bien plus encore. Se combine parfaitement avec Commander.



Installation :

npm install inquirer @types/inquirer


Exemple de sondage interactif :

import inquirer from 'inquirer';

interface Answers { name: string; role: string; experience: number;}

async function main() { const answers: Answers = await inquirer.prompt([ { type: 'input', name: 'name', message: 'Comment vous appelez-vous ?', validate: (input: string) => input.length > 0 || 'Le nom ne peut pas être vide' }, { type: 'list', name: 'role', message: 'Quel est votre rôle ?', choices: ['Frontend', 'Backend', 'Fullstack', 'DevOps'] }, { type: 'number', name: 'experience', message: 'Années d\\'expérience ?', default: 1 } ]);

console.log(`✅ ${answers.name}, vous êtes ${answers.role} avec ${answers.experience} ans d\\'expérience.`);}

main();


3. Clack



Framework moderne créé par les développeurs d'Astro. Il se distingue par une API minimaliste, de belles animations et une prise en charge de TypeScript « prête à l'emploi ». Idéal pour le prototypage rapide.



Installation :

npm install @clack/prompts


Exemple avec choix de couleur :

import * as clack from '@clack/prompts';

async function main() { clack.intro('Choix de couleur');

const color = await clack.select({ message: 'Choisissez votre couleur préférée :', options: [ { value: 'red', label: 'Rouge' }, { value: 'green', label: 'Vert' }, { value: 'blue', label: 'Bleu' } ] });

clack.note(`Vous avez choisi : ${color}`); clack.outro('Merci pour votre choix !');}

main();


4. Yargs



Analyseur d'arguments puissant

Recommendations