#JSrun#JavaScript#Developer

JSrun : pourquoi j'ai créé un lanceur de scripts JavaScript

Pourquoi j’ai créé JSrun : un lanceur JavaScript et TypeScript pour exécuter de petits outils sans projet npm complet.

5 min de lecture
Résumé IA

Générez un résumé de cet article en un clic.

JSrun est né d'un besoin assez banal : lancer un script ponctuel sans créer un projet complet, tout en gardant la possibilité d'importer une dépendance. Je voulais un outil plus petit qu'un gestionnaire de projet et plus explicite qu'une suite de commandes copiées dans un README.

Pourquoi j'ai créé JSrun

Tout est parti d’un projet perso où je travaillais sur un petit bot. Je voulais exécuter un script rapidement sans installer un projet complet à chaque essai. J'ai donc regroupé ce démarrage dans JSrun.

Avec JSrun, tu peux exécuter des scripts .jsr, .js, .mjs et .ts. Si une dépendance manque, l'outil peut l'installer pour le script ; vérifie toutefois la version récupérée avant d'intégrer le résultat dans un projet durable.

Le format .jsr : C’est quoi exactement ?

Le .jsr, c’est une petite touche perso que j’ai ajoutée. Le fichier contient toujours du JavaScript ou du TypeScript, avec une extension dédiée à JSrun. Cela permet de repérer les scripts destinés à l'outil et de les garder séparés du reste du projet.

Mais ne t'inquiète pas, JSrun fonctionne aussi très bien avec les extensions classiques comme .js ou .ts. Le format .jsr est là pour les adeptes de l’organisation !

JSrun : Les fonctionnalités qui vont te plaire

C’est un lanceur de scripts avec quelques fonctions pratiques. Voilà ce qu’il peut faire :

  • Gestion automatique des modules : Fini les npm install. Si un module manque, JSrun le télécharge pour toi.

  • Spécification des versions dans les imports : Tu peux directement définir la version d’un module dans tes imports, et JSrun gère tout.

  • Mise en cache intelligente : Les modules sont mis en cache localement pour accélérer les exécutions suivantes.

  • Journalisation colorée : Grâce à chalk, tes logs sont non seulement plus lisibles, mais aussi plus stylés !

  • Gestion des erreurs : Des messages clairs et détaillés pour déboguer sans prise de tête.

  • Extensible : Prêt à évoluer selon tes besoins !

Installation : Simple et rapide

Avant de commencer, assure-toi d’avoir Node.js sur ta machine. Si ce n’est pas le cas, télécharge-le ici.

Pour installer JSrun, une seule commande suffit :

npm install -g jsrun-cli

Comment utiliser JSrun ?

Lancer un script

Une fois installé, tu peux exécuter n'importe quel script, où que tu sois sur ton système. Par exemple, si tu as un fichier monscript.jsr :

jsrun monscript.jsr

Ça prend en charge les extensions .jsr, .js, .mjs, et .ts. Peu importe le format, il gère tout !

Passer des arguments au script

Besoin de passer des options à ton script ? Facile avec JSrun :

jsrun monscript.jsr --port=4000 --env=production

Dans ton script, tu peux récupérer ces arguments comme ceci :

const args = process.argv.slice(2); const port = args.find((arg) => arg.startsWith("--port="))?.split("=")[1] || 3000; const env = args.find((arg) => arg.startsWith("--env="))?.split("=")[1] || "development"; console.log(`Exécution sur le port ${port} en mode ${env}.`);

Créer un nouveau script

Envie de démarrer avec un nouveau script ? Rien de plus simple :

jsrun create monscript.jsr

Cela te génère un fichier de script prêt à être utilisé avec JSrun.

Simuler l'exécution du script

Si tu veux vérifier ce que ton script ferait sans réellement l’exécuter, tu peux utiliser l’option --dry-run pour une simulation :

jsrun monscript.jsr --dry-run

Cela permet de voir ce qu'il se passerait lors de l'exécution, sans toucher aux modules ni exécuter de code.

Afficher le retour en format JSON

Besoin de voir les résultats d’exécution en format JSON ? Facile avec l’option --json :

jsrun monscript.jsr --json

bien pratique pour des retours structurés et facilement intégrables dans des workflows automatisés.

Nettoyer les packages installés

Quand ton projet commence à accumuler des modules dont tu n'as plus besoin, un bon nettoyage s’impose. JSrun peut s’en charger avec une simple commande :

jsrun --clean

Des performances au top, sans efforts

Un des gros points forts de JSrun, c’est sa mise en cache des modules. Les modules que tu utilises sont stockés localement dans ~/.jsrun/node_modules. Résultat : les exécutions suivantes sont beaucoup plus rapides. Et tout ça, sans que tu aies à lever le petit doigt !

Exemples et contributions

Si tu veux voir des exemples de scripts .jsr, va faire un tour dans le dossier /examples du projet sur GitHub. J’ai mis quelques exemples sympas pour t’inspirer.

Et si tu as des idées d’amélioration, n’hésite pas à contribuer ! Forke le dépôt, fais tes modifs, et soumets un pull request. Toutes les idées sont les bienvenues.

Conclusion

JSrun répond à un cas précis : des scripts courts, reproductibles, qui ont besoin de quelques modules mais pas de toute la structure d'une application. Pour un projet d'équipe ou une application distribuée, je préfère un package.json et un lockfile classiques. C'est justement cette limite qui rend l'outil compréhensible.

Télécharge-le dès maintenant sur npm et lance-toi !

Article co-écrit avec l'IA · Images générées avec l'IA.