
Чек-листНовое
кодовое словоУтечка
Проверка npm-пакетов на лишние файлы и утечки
Проверка реального содержимого npm-пакета перед установкой или публикацией. Помогает найти source map, тесты, конфиги и другие лишние файлы.
Содержание4 глав
Скачать пакет без установки
- Откройте терминал в отдельной пустой папке.
- Скачайте архив нужного пакета без установки:
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.


