@babel/cli
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Babel inclut une interface en ligne de commande (CLI) intégrée permettant de compiler des fichiers depuis le terminal.
De plus, divers scripts d'entrée se trouvent dans le package principal à l'emplacement @babel/cli/bin. On y trouve un script utilitaire exécutable en shell, babel-external-helpers.js, et le script principal de la CLI Babel, babel.js.
Installation
Bien que vous puissiez installer Babel CLI globalement sur votre machine, il est bien préférable de l'installer localement projet par projet.
Deux raisons principales justifient cette approche.
-
Différents projets sur la même machine peuvent dépendre de versions distinctes de Babel, permettant des mises à jour individuelles.
-
L'absence de dépendance implicite à l'environnement de travail rend votre projet plus portable et plus simple à configurer.
Installez Babel CLI localement en exécutant :
- npm
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/core @babel/cli
yarn add --dev @babel/core @babel/cli
pnpm add --save-dev @babel/core @babel/cli
bun add --dev @babel/core @babel/cli
Si vous n'avez pas de package.json, créez-en un avant l'installation. Cela garantira une interaction correcte avec la commande npx.
Après installation, votre fichier package.json doit contenir :
{
"devDependencies": {
+ "@babel/cli": "^7.0.0",
+ "@babel/core": "^7.0.0"
}
}
Utilisation
Installez d'abord @babel/cli et @babel/core avant d'utiliser npx babel, sinon npx installera une version obsolète babel 6.x. Outre npx, vous pouvez aussi l'intégrer dans un script npm run ou exécuter le chemin relatif ./node_modules/.bin/babel.
npx babel script.js
Afficher l'aide
npx babel --help
Compiler des fichiers
Compiler le fichier script.js et envoyer la sortie vers stdout.
npx babel script.js
# output...
Pour écrire la sortie dans un fichier, utilisez --out-file ou -o.
npx babel script.js --out-file script-compiled.js
Pour compiler un fichier à chaque modification, utilisez l'option --watch ou -w :
npx babel script.js --watch --out-file script-compiled.js
Compiler avec des source maps
Depuis la v7.19.3, si ce paramètre n'est pas spécifié, @babel/cli suivra les fichiers de configuration.
Pour ajouter un fichier de source map, utilisez --source-maps ou -s.
npx babel script.js --out-file script-compiled.js --source-maps
Pour obtenir des source maps inline, utilisez plutôt --source-maps inline.
npx babel script.js --out-file script-compiled.js --source-maps inline
Compiler des répertoires
Compiler l'intégralité du répertoire src et envoyer le résultat dans lib avec --out-dir ou -d. Les autres fichiers/répertoires de lib ne sont pas écrasés.
npx babel src --out-dir lib
Compiler l'intégralité de src en un seul fichier concaténé.
npx babel src --out-file script-compiled.js
Répertoires contenant des fichiers TypeScript
Utilisez l'option --extensions pour spécifier les extensions traitées lors de la compilation de src. Les valeurs par défaut --extensions sont accessibles via Babel.DEFAULT_EXTENSIONS.
npx babel src --out-dir lib \
--extensions .ts,.js,.tsx,.jsx,.cjs,.mjs \
--presets=@babel/preset-typescript,@babel/preset-env,@babel/preset-react
Ignorer des fichiers
Ignorer les fichiers de spec et de test
npx babel src --out-dir lib --ignore "src/**/*.spec.js","src/**/*.test.js"
Copier des fichiers
Copier les fichiers non compilés
npx babel src --out-dir lib --copy-files
Pour éviter de copier les fichiers JavaScript ignorés :
History
| Version | Changes |
|---|---|
| v7.8.0 | Added --copy-ignored |
| v7.8.4 | Change copyeIgnored option default to true, it can be disabled by --no-copy-ignored |
npx babel src --out-dir lib --copy-files --no-copy-ignored
Redirection de fichiers (Piping)
Rediriger un fichier via stdin vers script-compiled.js
npx babel --out-file script-compiled.js < script.js
Utiliser des plugins
Spécifiez les plugins à utiliser avec l'option --plugins
npx babel script.js --out-file script-compiled.js --plugins=@babel/transform-class-properties,@babel/transform-modules-amd
Utilisation des présélections (presets)
Utilisez l'option --presets pour spécifier les présélections à utiliser lors de la compilation
npx babel script.js --out-file script-compiled.js --presets=@babel/preset-env,@babel/flow
Utilisation des fichiers de configuration
Ignorer .babelrc.json ou .babelrc
Ignorez la configuration du fichier .babelrc ou .babelrc.json du projet et utilisez les options CLI, par exemple pour une compilation personnalisée
npx babel --no-babelrc script.js --out-file script-compiled.js --presets=@babel/preset-env,@babel/preset-react
Chemin personnalisé pour la configuration
npx babel --config-file /path/to/my/babel.config.json --out-dir dist ./src
Voir ici pour plus d'informations sur les fichiers de configuration.
Définir les extensions de fichiers
Ajouté dans : v7.8.0
Par défaut, le fichier transpilé utilisera l'extension .js.
Vous pouvez contrôler l'extension du fichier de sortie avec --out-file-extension
npx babel src --out-dir lib --out-file-extension .mjs
Vous pouvez aussi conserver l'extension du fichier d'origine avec --keep-file-extension
npx babel src-with-mjs-and-cjs --out-dir lib --keep-file-extension
Notez que --keep-file-extension et --out-file-extension ne peuvent pas être utilisés simultanément.
Utilisation avancée
De nombreuses autres options sont disponibles, consultez options, babel --help et d'autres sections pour plus d'informations.