Les installations Node sont lentes depuis des années. Vous lancez npm install, partez prendre un café, revenez, et la CI est toujours en train de résoudre @types/node. Aube change cette équation. Il termine une installation CI à chaud d'un projet réel de 1 400 paquets en 139 millisecondes, soit environ 7,3 fois plus rapide que pnpm et 3 fois plus rapide que Bun sur la même configuration. Mieux encore : il lit et écrit votre fichier de verrouillage (lockfile) existant, vous pouvez donc l’essayer immédiatement sans migration d’équipe.
Essayez Apidog dès aujourd'hui
Ce guide explique ce qu'est Aube, pourquoi il est aussi performant, comment l'installer, comment l'utiliser, comment il se compare à pnpm, npm, yarn et Bun, et où il s’intègre dans les workflows API avec des outils comme Apidog.
Qu'est-ce qu'Aube ?
Aube est un gestionnaire de paquets Node.js ultra-rapide créé par en.dev et distribué sous licence MIT. Son objectif principal : être compatible avec pnpm v11. Le projet est en version bêta (v1.0.0-beta.10).
Aube reprend le modèle de stockage sur disque de pnpm (content-addressable store + symlink layout isolé), mais le pipeline d'installation est écrit dans un langage natif à gestion multithread, pas en JavaScript. Cela lui permet de surpasser Bun dans de nombreux benchmarks tout en écrivant directement dans votre pnpm-lock.yaml.
Aube lit directement les fichiers pnpm-lock.yaml, package-lock.json, npm-shrinkwrap.json, yarn.lock et bun.lock. Vous pouvez l’utiliser localement sans impact sur vos coéquipiers ou votre CI.
Benchmarks Aube : à quel point est-ce rapide ?
Le benchmark utilise un projet réel de ~1 400 paquets, mesuré via hyperfine. Les chiffres ci-dessous représentent l'installation avec lockfile validé ; la différence principale est le cache (chaud = node_modules vidé mais cache global conservé, froid = tout vidé).
Chiffres issus des benchmarks officiels :
| Scénario | aube | bun | pnpm | yarn | npm |
|---|---|---|---|---|---|
| Installation CI (cache chaud, pas de node_modules) | 139ms | 416ms | 1.01s | 2.43s | 2.78s |
| Installation CI (cache froid, pas de node_modules) | 1.12s | 935ms | 1.57s | 6.60s | 4.21s |
install && run test (déjà installé) |
21ms | 42ms | 453ms | 351ms | 615ms |
Ajouter une dépendance (add is-odd) |
209ms | 414ms | 1.33s | 2.55s | 2.89s |
À retenir : en CI avec cache chaud, Aube est 7,3x plus rapide que pnpm et 3x plus rapide que Bun. Sur la boucle install && test, Aube saute l’installation si l’état est à jour (21 ms), là où les autres outils revalident systématiquement le lockfile.
Pour reproduire : clonez le dépôt Aube et lancez mise run bench.
Pourquoi Aube est plus rapide que pnpm et Bun
Trois choix de conception clés :
- Pipeline natif multithreadé : Aube déplace tout le hot path hors de V8/JavaScript, contrairement à npm, pnpm et yarn.
- Store virtuel global par défaut : Les dépendances lourdes ne sont stockées qu’une fois, partagées via symlink, économisant jusqu’à 90% d’espace disque.
-
Court-circuitage avec fichier d’état : Si rien n’a changé dans le
package.jsonou le lockfile, l’installation est ignorée et le test démarre immédiatement.
Aube optimise les cas où "rien n'a changé" : la majorité des installations dans un flux de développement réel.
Installation d’Aube
Méthode recommandée : mise, gestionnaire d’outils multiplateforme :
mise use -g aube
Vérifiez votre installation :
aube --version
Alternatives :
-
Via npm :
npm install -g @endevco/aube -
Via Homebrew (macOS/Linux) :
brew install endevco/tap/aube
Dans un projet, épinglez Aube localement :
mise use aube
Votre version d’Aube est alors garantie via mise.toml. Référez-vous à la documentation d'installation pour les options tarball ou spécifiques à un OS.
Commandes courantes à retenir
La CLI est proche de pnpm :
aube install # installe les dépendances
aube add react # ajoute une dépendance
aube add -D vitest # ajoute une devDep
aube remove react # supprime une dépendance
aube update # met à jour les dépendances
aube run build # exécute un script
aube test # exécute le test, installe si besoin
aube exec vitest # exécute un binaire local
aube dlx cowsay hi # exécute un paquet en jetable
aube ci # installation propre et figée pour la CI
Vous pouvez écrire :
aubr build # équivalent à aube run build
aubx cowsay hi # équivalent à aube dlx cowsay hi
En CI, utilisez aube ci : suppression de node_modules, vérification stricte du lockfile, installation ou échec immédiat si divergence.
Compatibilité des lockfiles
Aube est conçu pour adopter sans risque : il lit et écrit tous les formats courants.
| Lockfile | Lit | Écrit sur place |
|---|---|---|
aube-lock.yaml |
oui | oui |
pnpm-lock.yaml v9 |
oui | oui |
package-lock.json v2/v3 |
oui | oui |
npm-shrinkwrap.json |
oui | oui |
yarn.lock (v1 classique + v2+ berry) |
oui | oui |
bun.lock |
oui | oui |
Votre équipe peut continuer à utiliser pnpm en CI tandis que vous testez Aube localement : même lockfile, mêmes structures. Pour les anciens lockfiles pnpm v5/v6, mettez-les d'abord à jour. Les projets yarn PnP doivent utiliser le mode node_modules.
Valeurs par défaut sécurisées
Aube intègre trois protections :
- Âge minimal de publication : un nouveau paquet doit attendre un délai configurable avant installation.
- Blocage des dépendances exotiques : toute dépendance transitive suspecte (URL, patch, Git inhabituel) est bloquée sauf approbation explicite.
-
Approbation des scripts postinstall : par défaut, les
postinstallsont ignorés. Autorisez-les viaaube approve-builds. La liste des scripts ignorés est accessible paraube ignored-builds.
Pour aller plus loin sur la sécurité, consultez le guide de sécurité de la chaîne d'approvisionnement npm ou le retour d'expérience sur l'attaque Axios.
Disposition des modules Node
Aube installe les dépendances de votre package.json à la racine de node_modules/. Les dépendances transitives sont dans node_modules/.aube/. Tous les fichiers sont stockés une seule fois dans ~/.local/share/aube/store/.
Conséquences :
- Partage maximal du disque entre projets.
- Pas d’"imports fantômes" (il faut déclarer explicitement la dépendance).
- Réinstallation quasi-instantanée grâce au hard-linking.
Si un import se casse, ajoutez-le à votre package.json.
Workspaces et monorepos
Aube gère les workspaces et workspace: :
aube install -r
aube run test -r
aube add zod --filter @acme/api
Si pnpm-workspace.yaml existe, il sera utilisé ; sinon, aube-workspace.yaml. Les flags -r et --filter fonctionnent comme dans pnpm. Les monorepos d’API bénéficient d’une installation CI ultra-rapide (139 ms pour 1 400 paquets).
Où Aube s’intègre dans un workflow API
Pour le développement et les tests d'API, la rapidité d'installation accélère chaque boucle de refacto.
Boucle type :
- Concevez/maquettez l’API dans Apidog (schema-first).
- Générez le client typé ou exécutez des tests de contrat dans votre projet Node.
- Utilisez Aube localement pour des installations en millisecondes.
- Branchez la suite de tests dans la CI avec
aube ci.
Plus d’informations sur le changement d’outillage dans cet article ou l’intégration VS Code.
Migration depuis npm, pnpm, yarn, Bun
-
De npm :
aube installlit/écritpackage-lock.json. Attention aux imports fantômes : ajoutez les paquets manquants àpackage.json. Voir le guide npm. -
De pnpm : migration fluide, même structure disque, support
workspace:. Voir pnpm-users. -
De yarn : support v1 classique et v2+ berry. Pour PnP, repassez en
nodeLinker: node-modules. -
De Bun : lit
bun.lock. Fonctionne avec n'importe quelle version de Node.js.
Considérations pratiques
- Statut bêta : testez-le localement d’abord, ne migrez la prod qu’après validation sur vos cas réels.
-
Hors scope : Aube ne gère pas l’environnement d’exécution (voir mise), ni certains assistants npm (
whoami,owner, etc.). - Support plateformes : mise supporte macOS, Linux, Windows (via WSL). Support natif Windows en progrès, voir installation.
- Communauté : Discord, 325 stars GitHub, CI Buildkite active.
FAQ
Que signifie « aube » ?
Aube, en français. Se prononce « ob ». Slogan : « une nouvelle aube pour les installations Node ».
Aube remplace-t-il pnpm ?
Presque : workflows pnpm v11 compatibles, mêmes lockfiles. Certaines commandes (gestion runtime, registre) restent du ressort de npm/mise.
Puis-je utiliser Aube en CI tout en gardant pnpm localement ?
Oui, les deux partagent le même lockfile.
Comparaison avec Bun
Aube est ~3x plus rapide sur installations chaudes, Bun légèrement devant en cache froid. Aube = installateur pur, Bun = gestionnaire + runtime JS.
Windows
WSL supporté, natif en progrès. mise facilite l’installation sur tous les OS.
Open source ?
Oui, MIT, code sur GitHub.
Que devient mon pnpm-lock.yaml ?
Aube le lit/écrit sur place, vos coéquipiers pnpm n’y verront que des updates normaux.
En résumé
Pour la plupart des projets Node en 2026, l'installation est le goulot d’étranglement. Aube est le gestionnaire de paquets Node.js le plus rapide sur les installations à chaud : 139 ms pour 1 400 paquets, 21 ms pour install && test si rien n’a changé, 90 % d’espace disque en moins sur une machine multi-projets. Il lit vos lockfiles existants, applique des valeurs par défaut de sécurité strictes, et s’essaye en une ligne : mise use aube.
Si vous développez déjà des API avec un client rapide et local-first comme Apidog, Aube est la pièce manquante côté install. Téléchargez Apidog si ce n'est pas déjà fait, associez-le à Aube pour votre prochain projet Node, et constatez la différence sur chaque reload à chaud.
bouton


Top comments (0)