spm
Si toi aussi tu fais yarn install alors que c'est pnpm sur ce projet, puis npm run dev alors que c'est bun sur le suivant, on est deux 😅. spm regarde le lockfile (package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lock) et traduit la commande tout seul. Tu tapes spm install, spm add react, spm dev, et ça marche partout.
T'es dans un sous-dossier paumé ? Il remonte l'arborescence tout seul. Un drapeau qu'il connaît pas, genre --legacy-peer-deps ? Il le repasse tel quel au gestionnaire du dessous. Plusieurs lockfiles, ou aucun du tout ? Là il te pose la question au lieu de deviner (deviner c'est comme ça qu'on casse un projet).
Après j'ai ajouté tout ce qui me manquait : spm run pour piocher un script dans le package.json, un mode simulation qui affiche la commande sans la lancer, spm audit qui normalise la sortie de npm, yarn et pnpm, et spm add tout seul qui t'ouvre une recherche npm avec la fiche du paquet et le choix de la version. Et --vibes, qui met de la musique pendant l'install. Celui-là il sert à rien, mais il reste 👅.
Le reste du cycle y est aussi : spm init pour démarrer un projet avec le gestionnaire que tu veux, spm clean pour effacer node_modules (et le lockfile si t'insistes), spm upgrade pour qu'il aille chercher sa propre mise à jour tout seul. Bref, plus jamais à me demander si c'est yarn ou pnpm 🙌.