Как создать собственный реестр пакетов, например, Bower

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

  • Просмотр/поиск пакетов на сайте
  • Загружать новые пакеты (компоненты) в реестр
  • Загрузка пакетов из реестра

Это будет почти копия реестра Bower. Был бы хороший интерфейс для просмотра и поиска доступных компонентов внутри реестра. И CLI будет необходим для загрузки и выгрузки пакетов/компонентов из реестра и в него. Реестр может ссылаться на репозитории git/github, как и в Bower.

В основном я спрашиваю, как работает Bower, как он хранит все пакеты? как CLI загружает пакет для репозитория github? И как я могу воспроизвести его для своего личного использования?

В идеале я хотел бы написать все это на NodeJS + MongoDB + AngularJs.


person Paolo Bernasconi    schedule 06.11.2014    source источник


Ответы (1)


Bower использует теги Git вашего репозитория для управления версиями модулей, он не хранит код, как это делает npm. Каждый раз, когда вы отправляете новый тег на GitHub, он становится доступным в виде версии для вашего модуля Bower. Bower просто создает ссылку для скачивания tar/zip/git (не уверен на 100%, что он использует) для тега Git.

Конечно, у Bower есть БД для управления пользователями и опубликованными модулями.

person Evan Shortiss    schedule 06.11.2014
comment
Вероятно, это не очевидно, но см. здесь: bower.io/docs/creating-packages/#register В нем говорится, что ваш пакет должен использовать теги semver Git. Вот как он определяет версии. Я могу ошибаться насчет части tar/zip; это может на самом деле клонировать их с помощью git, верно? - person Evan Shortiss; 07.11.2014