Ecosystem


Module:

NPM

NPM - централизованное хранилище модулей, решает проблему управления зависимостями

Semantic versioning (соглашение, можно нарушать пока версия пакета 0)
МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ

  1. возможно нарушение обратных совместимостей
  2. появляется новое, не нарушая обратной совместимости
  3. делается багфиксинг с сохранением обратных совместимостей
< <= > >= =
*
^ нельзя изменять первую ненулевую цифру
~ патчи
npm i
npm outdated
npm update

Хорошо, как например в php есть composer.lock, так и у нас появился yarn.lock - гарантирует, что у всех установится один и тот же пакет (содержит хеши коммитов)

Основная проблемма - никем не модерируется.

Bower

Максимально плоское дерево зависимостей.

Сборка проекта

Любой проект должен запускаться с помощью команды npm start, и теститься npm test

В npm скриптах команды - это выполнение бинарников пакетов из node_modules.
Есть зарезервированные команды типа prepublish.

Grunt, Gulp - taskrunners (для сборки проекта) Webpack - module bundler (шерстит проект и собирает папку)
playlist Kantor
book