Skip to content

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 :

bash
bun pm pack

Cette 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 :

bash
bun pm pack
# Crée my-package-1.0.0.tgz dans le répertoire courant

Mode silencieux pour les scripts :

bash
TARBALL=$(bun pm pack --quiet)
echo "Créé : $TARBALL"
txt
Créé : my-package-1.0.0.tgz

Destination personnalisée :

bash
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 : --filename et --destination ne peuvent pas être utilisés en même temps.

Modes de sortie

Sortie par défaut :

bash
bun pm pack
txt
bun 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 : 249B

Sortie silencieuse :

bash
bun pm pack --quiet
txt
my-package-1.0.0.tgz

Le 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 :

bash
bun pm bin
txt
/path/to/current/project/node_modules/.bin

Pour afficher le chemin vers le répertoire bin global :

bash
bun pm bin -g
txt
<$HOME>/.bun/bin

ls

Pour afficher une liste des dépendances installées dans le projet actuel et leurs versions résolues, en excluant leurs dépendances.

bash
bun pm ls
# ou
bun list
txt
/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.4

Pour afficher toutes les dépendances installées, y compris les dépendances d'ordre n.

bash
bun pm ls --all
# ou
bun list --all
txt
/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 :

bash
bun pm whoami

hash

Pour générer et afficher le hash du lockfile actuel :

bash
bun pm hash

Pour afficher la chaîne utilisée pour hasher le lockfile :

bash
bun pm hash-string

Pour afficher le hash stocké dans le lockfile actuel :

bash
bun pm hash-print

cache

Pour afficher le chemin vers le cache de modules global de Bun :

bash
bun pm cache

Pour effacer le cache de modules global de Bun :

bash
bun pm cache rm

migrate

Pour migrer le lockfile d'un autre gestionnaire de packages sans rien installer :

bash
bun pm migrate

untrusted

Pour afficher les dépendances non fiables actuelles avec des scripts :

bash
bun pm untrusted
txt
./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 :

bash
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 :

bash
bun pm default-trusted

voir la liste actuelle sur GitHub ici

version

Pour afficher la version actuelle du package et l'aide :

bash
bun pm version
txt
bun 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 :

bash
bun pm version patch
txt
v1.0.1

Prend 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 :

bash
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éciaux

Exemples :

bash
# 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

Bun édité par www.bunjs.com.cn