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

Каков правильный путь с NPM для упаковки версии BUILT разветвленного репозитория Git?

Недавно я искал репозиторий GitHub для устранения проблемы и создал запрос на перенос. Пока я жду, когда запрос на перенос будет принят, я указал на свой локальный package.json на моем разветвленном репо, например:

devDependencies: {
    "karma-mocha": "maloric/karma-mocha"
}

Однако оказывается, что karma-mocha требует выполнения шага сборки для генерации lib/adapter.js - важной части пакета. Этот файл указан в .gitignore, поэтому он не существует в репозитории. Шаг сборки - это задача grunt, которая обычно выполняется, когда пакет опубликован до npm, поэтому adapter.js существует в загруженном модуле npm.

Мой вопрос заключается в следующем: каков правильный способ упаковки разветвленной, построенной версии репозитория, чтобы я мог использовать его как зависимость? Насколько я могу судить, у меня есть следующие варианты:

  • Создайте репозиторий локально, создайте файл .tgz со встроенными файлами, затем разместите его где-нибудь и укажите мой пакет .json в этот файл.
  • Создайте репозиторий локально, измените .gitignore, чтобы разрешить adapter.js, затем нажмите на ветвь в Github и используйте эту ветвь в качестве моей зависимости.

Любой из них будет работать, но я чувствую, что что-то не хватает. Есть ли у npm концепция разветвленных пакетов? Не каждый репозиторий git может использоваться как зависимость без какого-либо шага build/dist, так что это приемлемый способ сделать это?

4b9b3361

Ответ 1

Это похоже на проблема с кармой-бегуном/карма-жасмином 38, не совсем такая же библиотека, но та же идея и проблема с adapter.js:

Как вы правильно указали, adapter.js, сгенерированный grunt build.
adpater.js помещается только в репозиторий npm при запуске grunt release.

Если вы хотите использовать свою версию karma-jasmine, вы можете удалить lib/adapter.js из .gitignore.

Итак, вариант 2.