фронте вроде бы исторически разделение было условное
И мы в командах всегда придерживались такого правила:
— те либы, которые попадут в продакшн бандл, ставим в dependencies
— те либы, код которых не попадает в бандл, но помогает его собирать, идёт в devDependencies. То есть это всякие вебпаки, babel, лоудеры, тайпскрипты и т.п.
В принципе логика понятная и помогает некий порядок иметь. К тому же иногда полезно глазом увидеть, не попадает ли какая-нибудь известно-большная либа в банлд, глянув только на "dependencies"
Но вот я сейчас подумал, что вообще-то в проектах бывают и по-настоящему *dev* devDependencies. Это либы, которые реально нужны только для разработки, но не нужны ни в продакшн бандле, ни для того, чтобы этот бандл собрать. Это такие штуки, как сторибуки (styleguidist, docz и т.п.), дев-серверы, линтеры и подобное
И может быть есть смысл именно эти либы ставить в devDependencies? И можно было бы настроить CI не устаналивать devDependencies вообще. Будет быстрее сборка
что мешает кэщировать ноде_модулес в ci?
Обсуждают сегодня