# Lancer des commandes Node depuis l'éditeur Ce guide montre comment installer, formater, linter, tester et exécuter votre projet sans quitter Turbo JS. Il suppose que l'éditeur est installé et que vous avez un répertoire contenant un `package.json`. ## Obtenir un fichier de départ Lancez l'éditeur **depuis le répertoire qui contient `package.json`**, puis choisissez **JavaScript ▸ Create tools file** (`Alt-J`, puis `C`). Cela écrit `.turbo-js/tools.toml` avec les commandes qu'un projet Node lance le plus, et l'ouvre. Les trois premières : ```toml [[tool]] name = "~I~nstall" command = "npm install" output = "popup" [[tool]] name = "~F~ormat" command = "npx prettier --write ." output = "popup" [[tool]] name = "~L~int" command = "npx eslint ." output = "popup" ``` Chaque `[[tool]]` devient une ligne du menu **JavaScript**, dans l'ordre d'apparition — sauf s'il nomme un `menu` à lui, ce qu'une section plus bas couvre. Le fichier est lu à chaque ouverture du menu, une modification prend donc effet immédiatement. ## En lancer une `Alt-J`, puis la lettre entre les tildes — `I` pour installer, `T` pour tester. **Test** ouvre aussitôt un **popup**, qui se remplit pendant que la commande tourne. Son titre porte la commande et, une fois finie, comment cela s'est passé : ``` ┌──────────────── node --test — ok ─────────────────┐ │ ✔ greets by name (1.204ms) │ │ ℹ tests 1 │ │ ℹ suites 0 │ │ ℹ pass 1 │ │ ℹ fail 0 │ │ │ │ [ Close ] │ └────────────────────────────────────────────────────┘ ``` | Touche | Effet | | --- | --- | | `↑` `↓` `PgUp` `PgDn` `Home` `End` | Parcourir la sortie | | `Échap` | Le fermer — et **arrêter la commande** si elle tourne encore | | `Entrée` | Le fermer | Une commande qui a réussi en silence — `npx prettier --write .` sur un projet déjà formaté — affiche `(no output)` plutôt qu'une boîte vide, pour qu'on la distingue d'une commande qui n'a pas démarré. **Run** demande d'abord, parce qu'un projet Node n'a pas de point d'entrée unique que l'éditeur pourrait connaître : ``` ┌──────────────── Run ────────────────┐ │ script, e.g. main.js │ │ [ ] │ └─────────────────────────────────────┘ ``` Tapez `main.js` et appuyez sur `Entrée`. Une fenêtre de terminal s'ouvre et le script s'y exécute ; quand il finit la fenêtre reste, montrant ce qu'il a imprimé. Appuyez sur `Ctrl-W` pour la fermer. Relancez-le et la boîte se souvient du nom pour le reste de la session. ## Le reste du menu | Entrée | Ce qu'elle lance | Où | | --- | --- | --- | | **Install** | `npm install` — les dépendances que nomme `package.json`, dans `node_modules/` | un popup | | **Format** | `npx prettier --write .` — Prettier sur tout le projet | un popup ; les fichiers ouverts sont relus ensuite | | **Lint** | `npx eslint .` — ESLint sur tout le projet | un popup ; ESLint 9 a besoin d'un `eslint.config.js` | | **Test** | `node --test` — le lanceur de Node lui-même sur chaque `*.test.js`, `*.spec.js` et `test/**/*.js` | un popup | | **Run** | `node