Как заставить npm установить зависимость от машинописного текста из URL-адреса GitHub? - PullRequest
0 голосов
/ 28 июня 2018

Рассмотрим следующий сценарий:

  • Есть библиотека кодов. Библиотека написана на TypeScript, а машинописный код опубликован в GitHub. Файл package.json содержит сценарий сборки, который создает файлы JavaScript на основе кода TypeScript, и сценарий публикации, который затем помещает полученные файлы JS в npm.
  • Я делаю форк репозитория GitHub, вносю некоторые изменения в файлы машинописного текста и помещаю эти изменения в GitHub. (Я также открываю PR для исходного репозитория GitHub, но есть время, прежде чем эти изменения могут быть объединены.)
  • Я хочу использовать эти изменения кода в нисходящем пакете NPM, поэтому в нисходящих пакетах я меняю ссылку (в нижестоящем файле package.json) на модифицированный пакет на URL GitHub моего форка и выполняю npm install .

Это не работает, потому что:

  • В файле package.json измененного пакета не перечислены файлы машинописного текста в поле dist, только автоматически сгенерированные файлы JS, поэтому файлы TypeScript не извлекаются во время установки npm.
  • Скомпилированные файлы JS отсутствуют, поскольку они не зарегистрированы в GitHub.

Как я могу решить это? Есть ли способ, которым я могу изменить поведение npm install так, чтобы он выбирал в репозитории файлы, которых нет в dist, а затем запускал скрипт сборки во время установки?

1 Ответ

0 голосов
/ 09 марта 2019

docs для сценария prepack предполагает, что он запускается после установки зависимости из репозитория git. Попробуйте поместить что-то вроде этого в package.json зависимости git:

{
  "scripts": {
    "prepack": "call the build script"
  }
}

Это должно собрать пакет после npm install, что звучит как то, что вы хотите сделать. Я не уверен, есть ли другие проблемы, которые у вас есть помимо этого.

...