Как сохранить точные версии пакетов npm

Недавно я начал использовать точные версии в своем package.json. Это позволяет мне лучше контролировать свои версии, а с такими инструментами, как Renovate, это проще, чем когда-либо.

Какая точная версия?

"react": "^16.0.0" // carat: allow 16.1.0
"react": "~16.0.0" // tilde: allow 16.0.1
"react": "16.0.0" // exact: only 16.0.0

Почему

В Renovate есть отличная документация о том, почему вам нужно сделать это закрепление зависимостей.

Как

Есть два способа заставить npm или yarn сохранять точные версии в вашем package.json.

1. Каждый раз при установке пакета

// npm 
npm install --save --save-exact react 
// yarn
yarn add --exact react

2. Установите значение по умолчанию в своей конфигурации

npm config set save-exact=true

Это добавляет save-exact=true к вашему .npmrc