Подтвердить что ты не робот

Зачем проверять компоненты боулинга?

Документы Bower говорят

N.B. Если вы не создаете пакет, предназначенный для потребления другими (например, вы создаете веб-приложение), вы всегда должны проверять установленные пакеты в исходном элементе управления.

Кто-нибудь имеет хороший ответ на вопрос почему?

Если я создаю веб-приложение, я не хочу, чтобы мое репо было загромождено обновлениями в версии библиотеки X.

Я просто хочу обновить зависимости bower.json. Я бы подумал, что у большинства проектов будет этап сборки или аналогичный, например, с хрюканьем. На этапе сборки вы должны будете вызвать установку/обновление bower перед сборкой, чтобы эти файлы присутствовали для concat/minification и т.д. Или даже простая копия в папку dist.

Я что-то пропустил?

4b9b3361

Ответ 1

Он блокирует ваши зависимости таким образом, чтобы предотвратить неправильную зависимость от взлома приложения или удаленного устройства, предотвращающего развертывание. Это может произойти, даже если у вас есть шаг сборки, поскольку вы, вероятно, не тщательно тестируете каждую сборку, а автоматические тесты не поймают все, особенно не визуальные регрессии. Кроме того, у нескольких разработчиков могут быть разные версии зависимости. Благодаря наличию зависимостей вы гарантируете, что все останутся в одной и той же версии. Я также вижу, что diff - хороший способ гарантировать, что в дереве зависимостей не было введено ничего злонамеренного.

В мире Node мир npm shrinkwrap частично решает это, но еще не выполняет сопоставление контрольной суммы. Bower в настоящее время имеет открытый билет для реализации того же самого.

Подробнее об этом читайте в этом блоге: Проверка в интерфейсных зависимостях

Ответ 2

Этот ответ не является техническим, а является практическим основанием, чтобы не проверять компоненты антенны.

Я бы предпочел, чтобы пакеты bower были заблокированы в bower.json, а не проверялись в этих пакетах. Поскольку мне доверяют, вы не можете загружать и распаковывать тысячи файлов на компьютере. У медленных компьютеров есть проблема с очень большими и глубокими файловыми путями. И в этом мире Интернета я считаю, что всегда легко загружать пакеты, а не переносить их.

Это только вопрос предпочтения. Все это исходит из опыта. Я проверил проект с компонентами bower на Github, и это хуже при загрузке и загрузке. Я сделал это через относительно новый Mac.