n1ro°
RU

Текст и данные · Инструкция

Как управлять файлами npm-пакета через поле files

Поле `files` работает как allowlist содержимого пакета и помогает не публиковать исходные тестовые данные, внутренние ск

Редакция N1RO · Проверено

Короткий ответ

Добавьте в `package.json` массив `files` с путями/шаблонами, которые должны попадать в публикуемый пакет, затем проверьте tarball перед publish.

Что делать

  1. 1. Определите публичные файлы: Обычно это собранный `dist/`, README, типы и нужные runtime assets.
  2. 2. Заполните `files`: Добавьте массив путей или шаблонов в `package.json`.
  3. 3. Проверьте результат: Соберите tarball через штатный npm pack workflow и посмотрите его содержимое.
  4. 4. Исправьте исключения: Если нужный runtime-файл не попал внутрь, скорректируйте allowlist до публикации.

Пример files

`"files": ["dist/", "README.md"]` ограничивает публикуемое содержимое; фактический список всё равно проверяйте через pack workflow.

Важно

Некоторые файлы npm включает или исключает по собственным правилам; всегда проверяйте фактический tarball перед publish.

Как понять, что всё сработало

  • `npm pack --dry-run` или распакованный tarball содержит нужные runtime files и не содержит внутренних секретов/мусора.
  • Изменение `files` проверено до `npm publish`, а не после публикации версии.

Что учитывать

Некоторые файлы npm включает или исключает по собственным правилам; всегда проверяйте фактический tarball перед publish.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. package.json). Пример и формулировки — редакция N1RO на 2026-09-18.