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

У меня есть библиотека Javascript, которую я написал для клиента.Это написано в машинописном тексте с использованием веб-пакета и «компилируется» в javascript.Я хочу дать клиенту доступ к дистрибутивным файлам, но не ко всему источнику.В идеале их можно установить из командной строки, чтобы упростить установку обновлений.

Библиотека предоставляет некоторые функции javascript.Клиент установит скрипт в одном месте на своем сервере.Затем они могли бы включать javascripts в свои веб-опросы по мере необходимости.

+project
  +dist
     -main.js
     -vendor.js
     -index.html
     -README.md
     -LICENSE.md
  +src
     -index.js
     -index.html
     ...

Моя первоначальная мысль состоит в том, чтобы предоставить им доступ к частному репозиторию git, который содержит только файлы дистрибутива.Таким образом, мой проект будет git-репозиторием, только у меня будет доступ к этому репо.Затем я скопировал бы содержимое каталога dist в каталог release.Каталог release будет еще одним git-репозиторием, который я мог бы предоставить клиенту.

Я не уверен, что это лучший подход.

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

npm также не кажется хорошим выбором.Он устанавливает файлы в каталог node_modules и создает файл package.json.Это будет сбивать с толку моего клиента и не будет "чистым".

1 Ответ

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

Звучит как второй репозиторий git, так как субмодуль может работать на вас.На вашей стороне он получит встроенные файлы, а на стороне клиентов они могут их использовать.

Я бы предложил использовать теги для обозначения значимых версий в подмодуле

ИспользуяВ отдельном репозитории нет риска утечки исходных файлов.

В качестве альтернативы вы можете упаковать файлы в zip-файл и загрузить их куда-нибудь, например, S3, как часть вашего процесса ci, и написать скрипт, чтобы клиент могавтоматически загружать файлы дистрибутива - но это кажется более сложным, чем просто использование менеджера пакетов, такого как npm.

...