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

Как поддерживать несколько частных пакетов npm, проживающих в одном репозитории git?

npm очень хорош в поддержке пакетов, публикуемых в глобальном/центральном реестре npm, что не очень хорошо работает для частного кода приложения. npm также поддерживает добавление репозитория git как зависимость, которая позволяет вам иметь частную зависимость.

Проблема заключается в том, что, как я понимаю, лучшие пакеты npm имеют тенденцию быть очень плотными и маленькими, тогда как мои репозитории git имеют тенденцию быть большими и будут включать несколько пакетов npm. Я не знаю никакого способа достичь этой детализации, указывая на URL-адрес github. Как это решить?

UPDATE

Я принял ответ, в котором говорится: "Не делай этого, оставайся на рельсах". Я согласен с этой рекомендацией, но YMMV.

4b9b3361

Ответ 1

Я бы предположил, что одно репо с несколькими пакетами - это плохая идея для начала по нескольким причинам. Вы должны рассматривать пакет как свой собственный объект: независимо созданный, проверенный и развернутый. Все, что сказать, каждый пакет должен жить в своем собственном репо.

Это говорит о том, что я определенно понимаю, что я могу сделать npm install <package-group> одного пакета "commons" и получить все необходимые вам пакеты за один выстрел. Я бы предложил посмотреть модель grunt-contrib для этого. Короче говоря, у них есть куча вестников (например, grunt-contrib-coffee), каждый из которых живет в своих собственных хранилищах. Затем они создают отдельный репозиторий, который определяет родительский пакет "grunt-contrib". Весь этот родительский пакет задает зависимости от всех подпакетов. Это позволяет вам сделать npm install grunt-contrib-coffee (например) и получить только пакет grunt-contrib-coffee; или вы можете сделать npm install grunt-contrib и получить весь свой пакет за один снимок.

Надеюсь, это поможет!