Как отделить зависимый инструмент разработки от библиотеки времени выполнения - PullRequest
0 голосов
/ 05 марта 2019

У меня есть пакеты npm, которые действуют как ORM для облачной службы.ORM использует сгенерированные классы, и я хочу сохранить исполняемый файл генерации классов отдельно от библиотеки времени выполнения (этот клиентский код часто запускается в браузерах).

До сих пор я делал это, создавая два отдельных репозитория,с двумя отдельными npm packages

  • MyOrmRuntime
  • MyOrmGenTool

Это позволяет мне делать такие вещи, как npm install -S MyOrmRuntime & npm install -D MyOrmGenTool.

Тем не менее, я постоянно борюсь за правильную версию этих двух пакетов.Важно, чтобы конечный пользователь использовал сгенерированные классы для соответствующей библиотеки времени выполнения, но часто обновления одного не требуют обновления другого, поэтому их версии редко бывают одинаковыми.

Часть этого простомоя неспособность правильно следовать семантическому версионированию, но я чувствую, что должен быть лучший способ управления выпусками.

Мне интересно, может быть проще вместо этого иметь их обоих в одном репозитории и иметьединый процесс сборки, который обрабатывает освобождение отдельных пакетов.

Я знаю, что этот вопрос немного обобщен, но я надеюсь, что здесь могут быть общие рекомендации или даже специальные инструменты, которые могут мне здесь помочь.

Идеальным решением было бы то, что при установке библиотеки времени выполнения автоматически устанавливалась бы правильная библиотека генерации как dev или глобальная зависимость.

...