Skip to content

Группа команд bun pm предоставляет набор утилит для работы с менеджером пакетов Bun.

pack

Для создания tarball текущей рабочей области:

bash
bun pm pack

Эта команда создает файл .tgz, содержащий все файлы, которые будут опубликованы в npm, следуя тем же правилам, что и npm pack.

Примеры

Базовое использование:

bash
bun pm pack
# Создает my-package-1.0.0.tgz в текущем каталоге

Тихий режим для скриптов:

bash
TARBALL=$(bun pm pack --quiet)
echo "Создано: $TARBALL"
txt
Создано: my-package-1.0.0.tgz

Пользовательское назначение:

bash
bun pm pack --destination ./dist
# Сохраняет tarball в каталоге ./dist/

Опции

  • --dry-run — Выполнить все задачи, кроме записи tarball на диск. Показывает, что будет включено.
  • --destination <dir> — Указать каталог, где будет сохранен tarball.
  • --filename <name> — Указать точное имя файла для сохранения tarball.
  • --ignore-scripts — Пропустить выполнение скриптов pre/postpack и prepare.
  • --gzip-level <0-9> — Установить пользовательский уровень сжатия gzip от 0 до 9 (по умолчанию 9).
  • --quiet — Выводить только имя файла tarball, подавляя подробный вывод. Идеально для скриптов и автоматизации.

Примечание: --filename и --destination нельзя использовать одновременно.

Режимы вывода

Вывод по умолчанию:

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
Unpacked size: 171B
Packed size: 249B

Тихий вывод:

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

Флаг --quiet особенно полезен для рабочих процессов автоматизации, где вам нужно захватить сгенерированное имя файла tarball для дальнейшей обработки.

bin

Для вывода пути к каталогу bin для локального проекта:

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

Для вывода пути к глобальному каталогу bin:

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

ls

Для вывода списка установленных зависимостей в текущем проекте и их разрешенных версий, исключая их зависимости.

bash
bun pm ls
# или
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

Для вывода всех установленных зависимостей, включая зависимости n-го порядка.

bash
bun pm ls --all
# или
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

Вывод вашего имени пользователя npm. Требуется вход (bunx npm login) с учетными данными в bunfig.toml или .npmrc:

bash
bun pm whoami

hash

Для генерации и вывода хэша текущего файла блокировки:

bash
bun pm hash

Для вывода строки, используемой для хэширования файла блокировки:

bash
bun pm hash-string

Для вывода хэша, сохраненного в текущем файле блокировки:

bash
bun pm hash-print

cache

Для вывода пути к глобальному кэшу модулей Bun:

bash
bun pm cache

Для очистки глобального кэша модулей Bun:

bash
bun pm cache rm

migrate

Для миграции файла блокировки другого менеджера пакетов без установки чего-либо:

bash
bun pm migrate

untrusted

Для вывода текущих недоверенных зависимостей со скриптами:

bash
bun pm untrusted
txt
./node_modules/@biomejs/biome @1.8.3
 » [postinstall]: node scripts/postinstall.js

These dependencies had their lifecycle scripts blocked during install.

trust

Для запуска скриптов для недоверенных зависимостей и добавления в trustedDependencies:

bash
bun pm trust <names>

Опции для команды trust:

  • --all — Доверять всем недоверенным зависимостям.

default-trusted

Для вывода списка доверенных зависимостей по умолчанию:

bash
bun pm default-trusted

см. текущий список на GitHub здесь

version

Для отображения текущей версии пакета и справки:

bash
bun pm version
txt
bun pm version v1.3.3 (ca7428e9)
Current package version: v1.0.0

Increment:
  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   Использовать версию из последнего git-тега
  1.2.3      Установить конкретную версию

Options:
  --no-git-tag-version Пропустить git-операции
  --allow-same-version Предотвратить ошибку, если версия одинакова
  --message=<val>, -m  Пользовательское сообщение коммита, используйте %s для подстановки версии
  --preid=<val>        Идентификатор предрелиза (т.е. beta → 1.0.1-beta.0)
  --force, -f          Обойти проверку грязной git-истории

Examples:
  bun pm version patch
  bun pm version 1.2.3 --no-git-tag-version
  bun pm version prerelease --preid beta --message "Release beta: %s"

Для обновления версии в package.json:

bash
bun pm version patch
txt
v1.0.1

Поддерживает patch, minor, major, premajor, preminor, prepatch, prerelease, from-git или конкретные версии, такие как 1.2.3. По умолчанию создает git-коммит и тег, если не использовался --no-git-tag-version для пропуска.

pkg

Управление данными package.json с операциями get, set, delete и fix.

Все команды поддерживают точечную и скобочную нотацию:

bash
scripts.build              # точечная нотация
contributors[0]            # доступ к массиву
workspaces.0               # точечная с числовым индексом
scripts[test:watch]        # скобочная для специальных символов

Примеры:

bash
# get
bun pm pkg get name                               # одно свойство
bun pm pkg get name version                       # несколько свойств
bun pm pkg get                                    # весь package.json
bun pm pkg get scripts.build                      # вложенное свойство

# set
bun pm pkg set name="my-package"                  # простое свойство
bun pm pkg set scripts.test="jest" version=2.0.0  # несколько свойств
bun pm pkg set {"private":"true"} --json          # JSON-значения с флагом --json

# delete
bun pm pkg delete description                     # одно свойство
bun pm pkg delete scripts.test contributors[0]    # несколько/вложенных

# fix
bun pm pkg fix                                    # автоисправление распространенных проблем

Bun от www.bunjs.com.cn