Le groupe de commandes bun pm fournit un ensemble d'utilitaires pour travailler avec le gestionnaire de packages de Bun.
pack
Pour créer un tarball du workspace actuel :
bun pm packCette commande crée un fichier .tgz contenant tous les fichiers qui seraient publiés sur npm, suivant les mêmes règles que npm pack.
Exemples
Utilisation de base :
bun pm pack
# Crée my-package-1.0.0.tgz dans le répertoire courantMode silencieux pour les scripts :
TARBALL=$(bun pm pack --quiet)
echo "Créé : $TARBALL"Créé : my-package-1.0.0.tgzDestination personnalisée :
bun pm pack --destination ./dist
# Enregistre le tarball dans le répertoire ./dist/Options
--dry-run: Effectue toutes les tâches sauf l'écriture du tarball sur le disque. Affiche ce qui serait inclus.--destination <dir>: Spécifie le répertoire où le tarball sera enregistré.--filename <name>: Spécifie un nom de fichier exact pour le tarball à enregistrer.--ignore-scripts: Ignore l'exécution des scripts pre/postpack et prepare.--gzip-level <0-9>: Définit un niveau de compression gzip personnalisé, de 0 à 9 (la valeur par défaut est 9).--quiet: Affiche uniquement le nom du fichier tarball, en supprimant la sortie verbeuse. Idéal pour les scripts et l'automatisation.
Note :
--filenameet--destinationne peuvent pas être utilisés en même temps.
Modes de sortie
Sortie par défaut :
bun pm packbun pack v1.2.19
packed 131B package.json
packed 40B index.js
my-package-1.0.0.tgz
Total files : 2
Shasum : f2451d6eb1e818f500a791d9aace80b394258a90
Taille décompressée : 171B
Taille compressée : 249BSortie silencieuse :
bun pm pack --quietmy-package-1.0.0.tgzLe drapeau --quiet est particulièrement utile pour les flux de travail d'automatisation où vous devez capturer le nom du fichier tarball généré pour un traitement ultérieur.
bin
Pour afficher le chemin vers le répertoire bin pour le projet local :
bun pm bin/path/to/current/project/node_modules/.binPour afficher le chemin vers le répertoire bin global :
bun pm bin -g<$HOME>/.bun/binls
Pour afficher une liste des dépendances installées dans le projet actuel et leurs versions résolues, en excluant leurs dépendances.
bun pm ls
# ou
bun list/path/to/project node_modules (135)
├── eslint@8.38.0
├── react@18.2.0
├── react-dom@18.2.0
├── typescript@5.0.4
└── zod@3.21.4Pour afficher toutes les dépendances installées, y compris les dépendances d'ordre n.
bun pm ls --all
# ou
bun list --all/path/to/project node_modules (135)
├── @eslint-community/eslint-utils@4.4.0
├── @eslint-community/regexpp@4.5.0
├── @eslint/eslintrc@2.0.2
├── @eslint/js@8.38.0
├── @nodelib/fs.scandir@2.1.5
├── @nodelib/fs.stat@2.0.5
├── @nodelib/fs.walk@1.2.8
├── acorn@8.8.2
├── acorn-jsx@5.3.2
├── ajv@6.12.6
├── ansi-regex@5.0.1
├── ...whoami
Affiche votre nom d'utilisateur npm. Nécessite que vous soyez connecté (bunx npm login) avec des identifiants dans bunfig.toml ou .npmrc :
bun pm whoamihash
Pour générer et afficher le hash du lockfile actuel :
bun pm hashPour afficher la chaîne utilisée pour hasher le lockfile :
bun pm hash-stringPour afficher le hash stocké dans le lockfile actuel :
bun pm hash-printcache
Pour afficher le chemin vers le cache de modules global de Bun :
bun pm cachePour effacer le cache de modules global de Bun :
bun pm cache rmmigrate
Pour migrer le lockfile d'un autre gestionnaire de packages sans rien installer :
bun pm migrateuntrusted
Pour afficher les dépendances non fiables actuelles avec des scripts :
bun pm untrusted./node_modules/@biomejs/biome @1.8.3
» [postinstall]: node scripts/postinstall.js
Ces dépendances ont vu leurs scripts de cycle de vie bloqués pendant l'installation.trust
Pour exécuter des scripts pour des dépendances non fiables et les ajouter à trustedDependencies :
bun pm trust <names>Options pour la commande trust :
--all: Approuver toutes les dépendances non fiables.
default-trusted
Pour afficher la liste des dépendances de confiance par défaut :
bun pm default-trustedvoir la liste actuelle sur GitHub ici
version
Pour afficher la version actuelle du package et l'aide :
bun pm versionbun pm version v1.3.3 (ca7428e9)
Version actuelle du package : v1.0.0
Incrémenter :
patch 1.0.0 → 1.0.1
minor 1.0.0 → 1.1.0
major 1.0.0 → 2.0.0
prerelease 1.0.0 → 1.0.1-0
prepatch 1.0.0 → 1.0.1-0
preminor 1.0.0 → 1.1.0-0
premajor 1.0.0 → 2.0.0-0
from-git Utiliser la version depuis le dernier tag git
1.2.3 Définir une version spécifique
Options :
--no-git-tag-version Ignorer les opérations git
--allow-same-version Empêche de lever une erreur si la version est la même
--message=<val>, -m Message de commit personnalisé, utiliser %s pour la substitution de version
--preid=<val> Identifiant de prerelease (i.e beta → 1.0.1-beta.0)
--force, -f Contourner la vérification d'historique git dirty
Exemples :
bun pm version patch
bun pm version 1.2.3 --no-git-tag-version
bun pm version prerelease --preid beta --message "Release beta : %s"Pour mettre à jour la version dans package.json :
bun pm version patchv1.0.1Prend en charge patch, minor, major, premajor, preminor, prepatch, prerelease, from-git, ou des versions spécifiques comme 1.2.3. Par défaut, crée un commit git et un tag à moins que --no-git-tag-version ne soit utilisé pour ignorer.
pkg
Gérer les données package.json avec les opérations get, set, delete et fix.
Toutes les commandes prennent en charge la notation par points et crochets :
scripts.build # notation par points
contributors[0] # accès aux tableaux
workspaces.0 # points avec index numérique
scripts[test:watch] # crochets pour caractères spéciauxExemples :
# get
bun pm pkg get name # propriété unique
bun pm pkg get name version # propriétés multiples
bun pm pkg get # package.json entier
bun pm pkg get scripts.build # propriété imbriquée
# set
bun pm pkg set name="my-package" # propriété simple
bun pm pkg set scripts.test="jest" version=2.0.0 # propriétés multiples
bun pm pkg set {"private":"true"} --json # valeurs JSON avec le drapeau --json
# delete
bun pm pkg delete description # propriété unique
bun pm pkg delete scripts.test contributors[0] # propriétés multiples/imbriquées
# fix
bun pm pkg fix # corriger automatiquement les problèmes courants