Создание и поддержка пакета Bower
Инструменты

Создание и поддержка пакета Bower

Bower  — это инструмент для управления client-side зависимостями в приложении. Пользоваться им для добавления и обновления сторонних библиотек очень просто и удобно. Для этого всего лишь нужно глобально установить Bower:


npm install -g bower

Создать в приложении файл bower.json с помощью команды:


bower init

И установить нужные библиотеки с помощью команды:


bower install --save 

Обратите внимание на опцию —save — если она указана, Bower добавит зависимость в файл bower.json в секцию dependencies. Если указать опцию —save-dev, то зависимость добавится в секцию devDependences. Я рекомендую всегда устанавливать зависимости с одной из этих опций, чтобы все зависимости можно было установить или обновить одной командой.

Создание собственного пакета

Bower использует git для получения всей информации о пакете, поэтому если вы хотите распространять свое решение в виде пакета, вам необходимо добавить его в git-репозиторий. Для создания собственного пакета в корне проекта необходимо создать файл bower.json. В простейшем случае, он может выглядеть так:


{
    "name": "MyPackage",
    "version": "1.0.0"
}

Часто при подключении стороннего пакета в проект скачиваются различные вспомогательные файлы: документация, .gitignore, исходники, демо-страницы и т.д. Лично мне это не нравится. Когда я использую чей-то пакет, я не хочу скачивать в свой проект все содержимое репозитория. Поэтому в своих пакетах я предпочитаю указывать атрибут ignore в bower.json.

Я использую сборщик gulp для объединения и минификации файлов, структура репозитория, как правило, такая:


mypackage
   --src
   .gitignore
   bower.json
   gulpfile.js
   mypackage.js
   mypackage.min.js
   package.json
   README.md

Также здесь могут быть минифицированный и не минифицированный файлы стилей, если это необходимо. Файлы mypackage.js и mypackage.min.js генерируются gulp’ом на основе исходников в папке src.

Файл bower.json в данном примере будет выглядеть следующим образом:


{
    "name": "MyPackage",
    "version": "1.0.0",
    "main": "mypackage.js",
    "ignore": [
        "src",
        ".gitignore",
        "bower.json",
        "gulpfile.js",
        "package.json",
        "README.md"
    ],
    "dependencies": {
        "jquery": ">=1.10.2",
        "underscore": "~1.5.2"
    }
}

Итак, мы настроили файл bower.json и закомитили все это в репозиторий git. После этого нам нужно зарегистрировать пакет.

Регистрация пакета в Bower

Большая часть работы уже была сделана в предыдущем разделе. Зарегистрировать проект очень просто.

Для версионирования пакета используются теги git. Поэтому, перед регистрацией пакета желательно создать тег с номером версии.

Запустите эту команду в терминале:


bower register MyPackage git://github.com/username/MyPackage.git 

Это все. Теперь ваш пакет зарегистрирован. Если вы запустите в терминале:


bower info MyPackage

Вы должны увидеть что-то вроде этого:


version for git://github.com/username/MyPackage.git#*  
bower resolve       git://github.com/username/MyPackage.git#*  
bower download      https://github.com/username/MyPackage/archive/v0.0.1.tar.gz  
bower extract       MyPackage#* archive.tar.gz  
bower resolved      git://github.com/username/MyPackage.git#0.0.1

{
  "name": "MyPackage",
    "version": "1.0.0",
    "main": "mypackage.js",
    "ignore": [
        "src",
        ".gitignore",
        "bower.json",
        "gulpfile.js",
        "package.json",
        "README.md"
    ],
    "dependencies": {
        "jquery": ">=1.10.2",
        "underscore": "~1.5.2"
    }
  homepage: 'https://github.com/username/MyPackage'
}

Available versions:  
  - 1.0.0

You can request info for a specific version with 'bower info MyPackage#'

Если это так, ваш пакет доступен для установки!

Обновление и поддержка

Рано или поздно вам может потребоваться обновить пакет и добавить обновление в Bower.

Как я уже говорила, всю информацию о пакете Bower получает из Git. Для обновления пакета необходимо:

  • Внести изменения в код вашего пакета (исправление ошибки, новый функционал и т.д.).
  • В файле bower.json обновить номер версии.
  • Закоммитить изменения в репозиторий, добавить тег с номером версии, запушить изменения с параметром —tags.

# commit your changes
git commit -am "Made some awesome new changes, now its even awesomer"

# tag the commit
git tag -a v0.0.2 -m "Release version 0.0.2"

# push to GitHub
git push origin master --tags

Заключение

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

Рассылка
Подпишитесь на рассылку и получайте дайджест новостей и статей.
Никакого спама!
Подписаться