Why NPM sucks.
После выхода альтернативы NPM в виде Yarn, я решил без колебаний переключиться. И решение было принято не за наличии лок файла или скорости установки, хотя и не без этого. А причина была совсем другом. Автору NPM было просто наплевать на мнения других людей, в таком простом вопросе как сохранение форматирования файла package.json Создавались на гитхабе issue и закрывались они с очень странными отмазками (вольный перевод): Мне это не интересно, если надо правьте свой package.json руками, "Сложна, сложна, нипанятна!!!". JSON использует два пробела, я так сказал! и тд. Были и пулреквесты которые автор отклонял.
Такое положение дел меня не радовало, учитывая что непонятно как автору досталась монополия на пакетный менеджер (он входит в оффициальний дистрибутив NodeJS и как бы считается менеджером по дефолту, не смотря на то что разрабатывается посторонними людьми не имеющими прямого отношение к Node). И вот FB выпускает свой менеджер пакетов и подрывает монополию тем что:
Ускоряет установку в разы
Пишет по дефолту lockfile
Куча других вкусностей как возомжность опустить аргумент --save, лучшее кеширование, меньше размер node_modules
И...(барабанная дробь) определение и сохранение форматирования package.json файла
Понятное дело монополист поднапрягся и через пол года выкатил кардинально новую версию NPM@5, где учло все нововведения Yarn. Правда скорость установки зависимостей все равно ниже, но не так значитеально как раньше. И вроде бы все, можно переключитя назад, учитывая что я уже и сам давно перешел на два пробела в форматировании. Но нет. Не хочу пользоваться утилитой, авторы которой почти 5 лет плевали на мнение пользователей в такой пустяцком вопросе.
PS если кто встречал петицию, issue или пул реквест о замене NPM на Yarn в официальном дистрибутиве, киньте ссылку и я обязательно подпишусь














