Частная библиотека Typescript как зависимость от npm - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть библиотека Typescript, которую я упаковываю как модуль npm.Я легко интегрировал эту библиотеку, используя yarn link во время разработки веб-приложения.

Настало время настроить GitLab CI и позволить другим разработчикам работать над приложением внешнего интерфейса.В настоящее время я сталкиваюсь с проблемой распространения этого пакета.

Опции, которые я определила, и проблемы, с которыми я сталкиваюсь:

  • yarn add <git-url>

Это добавляет исходный код, но так как он машинописный,это не скомпилировано.Я не могу скомпилировать эту библиотеку, используя тот же tsconfig.json.Компилируется только один файл.

Это решение также имеет проблему, заключающуюся в том, что порт: 22 заблокирован на машинах разработчика.Это помешает им использовать git+ssh.Я не понимаю, как CI мог бы получить этот пакет, который также работал бы для разработчиков.

  • yarn add tar-ball

Я пытался использовать tarball, но тамнет очевидного способа хранения этого архива.GitLab не предоставляет артефакты, созданные из сборок, другим конвейерам CI.

  • , поставляющих пакет

Затем я решил попробовать добавить модуль узла в репозиторий git.Но я не нашел способа помешать пряже автоматически удалять этот пакет.Если я добавлю библиотеку в node_modules, то она будет удалена при запуске yarn.

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

Как я могу распространять пакет Typescript в частном порядке без частного реестра NPM?

1 Ответ

0 голосов
/ 23 сентября 2018

Один из вариантов - продать пакет, но поместить его в пользовательский каталог (не в node_modules), например, my-library, а затем в dependencies в package.json, написать "my-library": "link:my-library".Это заставит Yarn создать символическую ссылку от node_modules/my-library до my-library.См. эту тему для получения дополнительной информации о синтаксисе link:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...