А у них разве не так работает? Это же указание мажор/минор/патч версий обычное? Или я что-то упустил?
В npm есть крутилки которые позволяют указать достаточно точно версии которые тебе нужны даже в диапазоне:
https://docs.npmjs.com/cli/v6/configuring-npm/package-json#dependenciesОткрыл первый попавшийся проект, вижу:
"dependencies": {
"uglify-js": "^3.9.1"
}
У меня по дефолту поставилось так при npm install.
3 версия, но старше 3.9.1. Кучи копий не будет, если уже есть такая версия установленная.