TARS-CLI
TARS-CLI — Command Line Interface для сборщика верстки TARS.
Основная проблема при разработке верстки с помощью TARS — необходимость каждый раз устанавливать все npm-зависимости. Каждый проект в результате занимает больше 200 МБ. Чтобы упростить процедуру инициализации проекта и облегчить работу с TARS в целом был создан TARS-CLI. Вся основная документация по TARS находится в оригинальном репозитории TARS.
TARS-CLI — это интерфейс к основному сборщику, который позволяет:
- Инициализировать проект.
- Запустить dev-сборку с перезагрузкой браузера и открытием тунеля во внешний веб.
- Запустить build-сборку с минифицированными файлами или в режиме release.
- Добавить модуль с различным набором файлов.
- Добавить страницу, как пустую, так и копию существующей.
Если у вас возникли проблемы при работе с TARS-CLI, прошу ознакомится с разделом troubleshooting.
Установка
Для корректной работы необходимо установить TARS-CLI глобально:
npm i -g tars-cli
Возможно потребуются права суперюзера. Но желательно настроить систему так, чтобы этого не требовалось.
Команды TARS-CLI
Все команды запускаются по шаблону:
tars
+ command-name
+ flags
В любой момент можно запустить tars --help
или tars -h
или просто tars
, без дополнительных комманд и флагов. Данная команда выведет информацию о всех доступных командах. Также можно добавить ключ --help
или -h
к любой команде, чтобы получить наиболее полное описание этой команды.
tars -v
или tars --version
выведет текущую установленную версию TARS-CLI. Также будет выведена информация по обновлению, если оно доступно.
Практически во всех командах досутпен интерактивный режим. В данном режиме вы сможете взаимодействовать с CLI через подобие графического интерфейса. При использовании интерактивного режима вам не нужно знать, какие флаги за что отвечают, так как вы общаетесь с CLI на естественном языке. Интерктивный режим легко отключить, если вам необходимо проводить автоматические тестирование или что-то еще, что не требует присутствие человека.
Command list
tars init
Данная команда позволяет инициализировать TARS в текущей директории. Запускает команду gulp init
в TARS.
Доступен интерактивный режим по умолчанию. Можно выбрать шаблонизатор, препроцессор, показывать ли системные нотификации, с какой плотностью пикселелей поддерживать экраны и т.д. Если интерактивный режим не нужен, команда должна запускаться со флагом --silent
.
Доступные флаги
--silent
: запускает re-init без интерактивного режима.-s
,--source
: по умолчанию init скачивает из репозитория TARS последнюю врсию сборщика и распаковывает в текущей директории. С помощью флага-s
можно определить, откуда скачивать zip-архив с TARS, если у вас есть своя собственная сборка TARS. Внимание, опция должна идти последней!
Пример использования команды
# Запустит init в интерактивном режиме tars init # Запустит init без интерактивного режима tars init --silent # Скачает TARS с http://url.to.tars.zip и заинитит проект в интерактивном режиме tars init -s http://url.to.tars.zip # Скачает TARS с http://url.to.tars.zip и заинитит проект без интерактивного режима tars init --silent --source http://url.to.tars.zip
tars re-init
Даннай команда позволяет реинициализировать TARS с новыми настройками (шаблонизатор, препроцессор). Необязательно менять эти настройки вручную, так как их можно будет изменить в интерактивном режиме. Запускает команду gulp re-init
в TARS.
Доступен интерактивный режим, как и в команде init
.
Доступные флаги
--silent
: запускает re-init без интерактивного режима.
Пример использования команды
# Запустит re-init в интерактивном режиме tars re-init # Запустит re-init без интерактивного режима tars re-init --silent
tars dev
Данная команда запускает dev-сборку, с запуском вотчеров. Запускает команду gulp dev
в TARS.
Доступен интерактивный режим при запуске команды без флагов. Можно выбрать дополнительные опции dev-сборки, доступные через флаги. Если необходимо запустить команду без флагов и без интерактивного режима, используйте флаг --silent
.
Доступные флаги
-l
,--livereload
,--lr
: запускает лайврелоад в браузере.-t
,--tunnel
: инициализация проекта с расшариванием верстки во внешний веб.--ie8
: включить в сборку стили для ie8.--silent
: запускает сборку без интерактивного режима.--custom-flags
: позволяет использовать кастомные флаги с dev-командой. Пример использования описан ниже. В интерактивном режиме флаги перечисляются через пробел без кавычек и запятых. Внимание, опция должна идти последней!
Пример использования команды
# Будет запущен интерактивный режим tars dev # Команда будет запущена без флагов и без интерактивного режима tars dev --silent # Будет запущен сервер для livereload tars dev -l # Будет запущен сервер для livereload и создан туннель во внешний веб + поддержка ie8 tars dev --tunnel --ie8 # Будет запущен сервер для livereload и создан туннель во внешний веб + поддержка ie8 + два кастомных флага tars dev --tunnel --ie8 --custom-flags '--custom-flag1 --custom-flag2'
tars build
Данная команда запускает конечную сборку проекта, без запуска вотчеров. Запускает команду gulp build
в TARS.
Доступен интерактивный режим при запуске команды без флагов. Можно выбрать дополнительные опции build-сборки, доступные через флаги. Если необходимо запустить команду без флагов и без интерактивного режима, используйте флаг --silent
.
Доступные флаги
-m
,--min
: в html подключаются минимизированные файлы.-r
,--release
: в html подключаются минимизированные файлы, в названии которых есть hash. Данный режим полезен, если вы напрямую выкладываете верстку на сервер.--ie8
: включить в сборку стили для ie8.--silent
: запускает сборку без интерактивного режима.--custom-flags
: позволяет использовать кастомные флаги с build-командой. Пример использования описан ниже. В интерактивном режиме флаги перечисляются через пробел без кавычек и запятых. Внимание, опция должна идти последней!
Пример использования команды
# Будет запущен интерактивный режим tars build # Команда будет запущена без флагов и без интерактивного режима tars build --silent # Будет создана версия сборки с минифицированными файлами tars build -m # Будет создана release-версия сборки + поддержка ie8 tars build --release --ie8 # Будет создана release-версия сборки + поддержка ie8 + два кастомных флага tars build --release --ie8 --custom-flags '--custom-flag1 --custom-flag2'
tars add-module %moduleName%
Команда добавляет модуль в проект. В качестве параметра принимает имя модуля. Если модуль уже существует, будет выдана соответствующая ошибка. Чтобы создать модуль с готовыми файлами — необходимо пользоваться флагами.
Доступен интерактивный режим при запуске команды без флагов. Можно выбрать файлы и папки, которые должны быть созданы вместе с модулем.
Доступные флаги
-f
,--full
: добавляет модуль со всеми папками и файлами, которые могут быть в модуле: папка для assets, ie, data + файл выбранного шаблонизатора, js и выбранного препроцессора.-b
,--basic
: добавляет только основные файлы.-d
,--data
: добавляет папку для data. Также создается файл с данными со следующим содержанием:
moduleName: {}
-i
,--ie
: добавляет папку для стилей для IE.-a
,--assets
: добавляет папку для assets.-e
,--empty
: добавляет только папку модуля, без файлов.
Ключи имеют следующий приоритет:
-e
-f
other
Иными словами, если вы используете -d -b
и -e
, будет создана пустая папка для модуля, так как -e
имеет больший приоритет. Тоже касается интерактивного режима. Если будет выбраны пункты "Полная версия модуля" и "Пустая папка", то будет создана только пустая папка.
Пример использования команды
# Будет запущен интерактивный режим добавления модуля с именем "sidebar" tars add-module sidebar # Добавит модуль "sidebar" с базовыми файлами и папкой assets tars add-module sidebar -b -a # Добавит модуль "sidebar" с базовыми файлами, папкой assets и папкой для данных tars add-module sidebar -b -a -d # Добавит модуль "sidebar" со всеми файлами и папками tars add-module sidebar --full # Добавит в модули пустую папку с именем "sidebar" tars add-module sidebar -e -b -a -d -i
tars add-page %pageName%
Команда добавляет новую страницу в markup/pages. В качестве параметра принимает имя страницы. Если странциа уже существует, будет выдана соответствующая ошибка. Есть возможность добавить пустую страницу, так и копию шаблонной (по умолчанию это _template.{html, jade, hbs}). Вы можете создать свой _template.{html, jade, hbs}, чтобы TARS-CLI копировал именно эту страницу.
Интерктивный режим не доступен.
Доступные флаги
-e
,--empty
: добавит пустую страницу.
Пример использования команды
# Будет создана страница inner.{html, jade} на основе _template.{html, jade} tars add-page inner # Будет создана страница inner.html на основе _template.html tars add-page inner.html # Будет создана пустая страница inner.html tars add-page inner -e
tars update
Обновит текущую версию TARS-CLI до последней доступной. Под капотом запускает npm update -g tars-cli.
Интерктивный режим не доступен.
Пример использования команды
tars update
Troubleshooting
Для работы TARS-CLI на данный момент требуется git. Он должен быть истановлен в системе и прописан в PATH. Если при установке вы получаете ошибку, в которй сказано, что у вас нет git'а, то прошу его установить.
В случае, если у вас Windows и git не прописан в PATH (команда git --version выдает ошибку в cmd), то TARS-CLI необходимо ставить и обновлять в git bash. Работать с TARS-CLI в git bash нельзя. Необходимо использовать стандартный cmd или любой другой терминал.
Если возникла проблема с модулем pty.js, то прошу обновится до версии 1.1.3 минимум.
Если возникают еще какие-либо ошибки, смело пишите на tars.builder@gmail.com или в gitter