Сохраняются ли изменения, внесенные исправлением аудита npm, после отправки кода в git repo?
Я недавно обнаружил npm audit
и выполнил команду, чтобы найти уязвимости в проекте, над которым я работаю. Наткнулся на кучу их (более 100).
npm
предполагает, что работает npm audit fix
исправит все уязвимости, кроме тех, которые имеют критические изменения. Я не сталкивался с такой уязвимостью в своем коде, и теперь он показывает 0 уязвимостей.
Мой вопрос заключается в том, что когда я отправляю код на github, эти уязвимости будут уже исправлены для того, кто клонирует / разветвляет это репо?
Для контекста, node_modules
игнорируются в моем .gitignore
файл (что означает, что они не помещаются в github вместе с кодом). поскольку node_modules
где применяются эти "исправления уязвимостей", они сохраняются для всех, кто затем разветвляет / клонирует это репо?
Если так, то как? Это как-то связано с package-lock.json
?
Если нет, есть ли способ сделать эти изменения постоянными?
1 ответ
Да, это связано с package-lock.json
Подробнее о блокировках пакетов читайте здесь. В соответствии с сайтом, блокировка пакетов представляет собой воспроизводимое дерево вашей папки node_modules.
Да, изменения внесены npm audit fix
настойчивы, но только если вы совершите package-lock.json
в репозиторий git.
Согласно NPM, "этот файл предназначен для сохранения в исходных репозиториях".
Если вы передадите существующий package-lock.json
файл в ваш репозиторий, а затем запустите npm audit fix
, вы увидите изменения в вашем локальном package-lock.json
файл (при условии npm audit
смог исправить любые уязвимые пакеты). Вы можете просмотреть эти изменения, а затем зафиксироватьpackage-lock.json
файл во второй раз, чтобы сохранить изменения.