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.
