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