Чек-листНовое
кодовое словоУтечка

Проверка npm-пакетов на лишние файлы и утечки

Проверка реального содержимого npm-пакета перед установкой или публикацией. Помогает найти source map, тесты, конфиги и другие лишние файлы.

Содержание4 глав
  1. 01Скачать пакет без установки
  2. 02Проверить содержимое
  3. 03Проверить размер
  4. 04Закрыть утечку перед публикацией

Скачать пакет без установки

  • Откройте терминал в отдельной пустой папке.
  • Скачайте архив нужного пакета без установки:
npm pack имя-пакета
  • Запишите точное имя созданного файла .tgz и версию пакета.
  • Не используйте npm install для этой проверки: нужен именно публикуемый архив.

Проверить содержимое

  • Выведите дерево файлов из архива:
tar -tzf имя-файла.tgz
  • Проверьте список на наличие:

  • файлов *.map;

  • тестов;

  • конфигураций;

  • внутренних заметок;

  • исходников и служебных файлов, которые не нужны пользователю пакета.

  • Не ориентируйтесь только на страницу пакета: проверяйте содержимое самого .tgz.

Проверить размер

  • Посмотрите размер архива:
ls -lh имя-файла.tgz
  • Сравните размер с предыдущей или ожидаемой версией.

  • При резком росте размера повторно изучите дерево файлов.

  • В разобранном примере лишние файлы добавили 59,8 МБ.

  • Большой размер сам по себе не доказывает утечку.

Закрыть утечку перед публикацией

  • Добавьте source map в .npmignore:
*.map
  • Если в package.json используется поле files, убедитесь, что маски не включают .map.
  • Не ограничивайтесь удалением файлов из папки сборки: следующая сборка может создать их снова.
  • Повторно выполните npm pack и tar -tzf, затем убедитесь, что исключённые файлы исчезли.
  • Снова проверьте размер итогового .tgz.