Skip to content

Gérer votre projet

Volta permet aux équipes et collaborateurs d'atteindre la standardisation sur les outils de développement qu'ils utilisent pour leurs projets. Ce guide vous montrera comment utiliser Volta efficacement pour gérer vos projets.

Épingler les versions d'outils

La fonctionnalité de gestion de projet la plus importante dans Volta est la capacité d'épingler des versions d'outils spécifiques à votre projet :

Épingler Node.js

Pour spécifier quelle version de Node.js votre projet devrait utiliser :

bash
volta pin node@16.14.2

Vous pouvez également épingler à des versions majeures ou mineures, et Volta utilisera la dernière version correspondante :

bash
volta pin node@16

Épingler les gestionnaires de paquets

De même, vous pouvez épingler les versions de npm et Yarn :

bash
volta pin npm@8.5.0
volta pin yarn@1.22.18

Comment fonctionne l'épinglage

Quand vous épinglez des versions d'outils, Volta :

  1. Met à jour le fichier package.json de votre projet avec une section volta
  2. Engage cette information dans le contrôle de version
  3. S'assure que tout le monde dans votre équipe utilise les mêmes versions

Voici à quoi ressemble la section volta dans votre package.json :

json
{
  "name": "your-project",
  "version": "1.0.0",
  "volta": {
    "node": "16.14.2",
    "npm": "8.5.0",
    "yarn": "1.22.18"
  }
}

Outils locaux au projet

Volta respecte également les installations d'outils locaux au projet :

Utiliser des binaires de paquets locaux

Quand vous installez des paquets localement dans votre projet :

bash
npm install typescript
# ou
yarn add typescript

Vous pouvez exécuter leurs binaires via Volta :

bash
volta run tsc
# ou simplement
tsc

Volta utilisera la version Node.js épinglée du projet pour exécuter ces outils.

Support d'espaces de travail

Pour les configurations monorepo avec plusieurs projets, Volta supporte l'héritage de configuration :

Configuration étendue

Dans un espace de travail avec plusieurs projets, vous pouvez définir une configuration de base dans le package.json racine :

json
{
  "volta": {
    "node": "16.14.2",
    "yarn": "1.22.18"
  }
}

Puis dans les fichiers package.json de projets individuels, étendre la configuration racine :

json
{
  "volta": {
    "extends": "../../package.json"
  }
}

Cela vous permet de maintenir des versions d'outils cohérentes à travers tous les projets dans votre espace de travail.

Meilleures pratiques de gestion de projet

Voici quelques pratiques recommandées pour gérer des projets avec Volta :

1. Toujours épingler vos outils

Épinglez les versions Node.js et gestionnaire de paquets pour chaque projet :

bash
volta pin node
volta pin npm
# ou
volta pin yarn

Cela garantit que tous les membres de l'équipe ont un environnement de développement cohérent.

2. Engager la configuration Volta

Engagez toujours la section volta de votre package.json dans le contrôle de version. C'est ainsi que Volta partage la configuration avec votre équipe.

3. Documenter les exigences d'outils

Dans le README de votre projet, mentionnez que vous utilisez Volta pour la gestion d'outils :

markdown
## Développement

Ce projet utilise [Volta](https://volta.sh) pour assurer la cohérence des outils.
Installez Volta et les bonnes versions de Node.js et npm seront automatiquement utilisées.

4. Utiliser l'intégration CI/CD

Dans les environnements d'intégration continue, incluez l'installation de Volta comme partie du processus de build :

bash
# Exemple GitHub Actions
- name: Install Volta
  uses: volta-cli/action@v1

# Volta utilisera automatiquement les bonnes versions de Node.js et npm/yarn
- name: Install dependencies
  run: npm install

5. Standardiser à travers les projets

Pour les organisations avec plusieurs projets, standardisez sur les versions d'outils autant que possible pour minimiser le nombre de versions que les développeurs doivent installer.

En gérant efficacement vos projets avec Volta, vous vous assurez que tous les membres de l'équipe ont un environnement de développement cohérent, réduisez les problèmes "ça marche sur ma machine", et rendez la collaboration plus fluide.