Skip to content

Latest commit

 

History

History
104 lines (66 loc) · 8.85 KB

index.md

File metadata and controls

104 lines (66 loc) · 8.85 KB

basisjs-tools

basisjs-tools – набор консольных инструментов, написанный на javascript и работающий под управлением node.js. Этот набор включает в себя сборщик, dev-сервер и кодогенератор.

Установка

Для установки используется npm. Команда для глобальной установки:

> npm install -g basisjs-tools

Для установки под Mac OS необходимо добавить sudo в начало команды.

После установки в консоли станет доступна команда basis.

Если нет возможности установить basisjs-tools глобально или это является нежелательным, то нужно выполнить команду без флага -g. Тогда, вместо короткой команды basis, используется команда:

> node ./node_modules/basisjs-tools/bin/basis

Опции

  • -h, --help – получение короткой справки по доступным опциям и командам;
  • -c, --config-file <filename> – позволяет указать конкретный файл конфига (см. подробней basis.config);
  • -n, --no-config – запрещает искать и использовать файл конфигурации;
  • -v, --version – выводит версию basisjs-tools.

Команды

  • completion - позволяет получить код для автодополнения команд и опций
  • config - задание глобальных настроек (пользовательские предпочтения)
  • create - генерация кода приложения, модулей и пр.
  • server - запуск dev-сервера
  • build - сборка приложения
  • extract - позволяет получить информацию о структуре приложения; эту команду используют сборщик и инструменты разработки
  • lint – проверка приложения на ошибки
  • find - команда пробразует ссылку на файл в абсолютный путь к файлу с учетом настроек приложения

У каждой команды есть свои опции, а так же могут быть подкоманды. Подробнее по каждой команде, смотрите в статье команды. Так же можно получать быструю справку по командам и опция используя флаг -h или --help.

Файл конфигурации

Помимо параметров в командной строке, basisjs-tools так же учитывает файл конфигурации. Такой файл можно задать с помощью опции -c или --config-file.

> basis --config-file ../basis/to/config build

Если файл конфигурации не задан явно, то производится поиск файла конфигурации с именем basis.config. Поиск начинается с пути откуда была вызвана команда и продолжается всплытием к корню пути, пока не будет найден файл. Например, если путь /foo/bar/baz, то будет проверено наличие файла по следующим путям (в указанном порядке):

  • /foo/bar/baz/basis.config
  • /foo/bar/basis.config
  • /foo/basis.config
  • /basis.config

В случае, когда указан флаг -n или --no-config, то поиск файла конфигурации не производится.

Наличие файла конфигации позволяет определить корень проекта или приложения. Так же местоположение файла неявно определяет базовый путь для приложения, если иное не определенно через опции или в самом файле конфигурации.

Файл конфигурации описывается в формате json. В файле можно опередить 3 секции create, build и server, в которых располагаются настройки для команд с тем же названием. Особым случаем является команда extract, которая использует секцию build.

Опции задаваемые в конфигурации, соотвествуют опциям в командной строке. Если опция не указана в командной строке, то ее значение берется из файла конфигурации (если есть) или берется значение по умолчанию (если нет). Другими словами, опции в командной строке всегда перекрывают значения в конфигурации.

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

Опций, которые можно задать только через файл конфигурации, немного. Вероятно, в будущем все настройки можно будет задать через опции в командной строке.

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

  • Используются длинные (полные) названия опций и от их имени убирается -- в начале. Например, --packpack.
  • Если в имени используется тире, то оно убирается, а следующая буква приводится к верхнему регистру (camelCase преобразование). Например, --css-optimize-namescssOptimizeNames.
  • Если в имени присутсвует вхождение -no-, то оно опускается. Например, --no-single-filesingleFile или --css-no-single-filecssSingleFile.

Глобальные настройки

С помощью команды config можно задавать настройки в рамках системы. Такие настройки больше относятся к пользовательским предпочтениям, нежели к настройкам проекта. Они перекрываются как настройками из файла конфигурации, так и опциями из командной строки.

Пока можно задать единственную настройку – команду для открытия файла в определенном редакторе (используется dev-сервером). Например, для открытия файлов в Sublime Text (если в командной строке доступна команда subl):

> basis config editor subl

Пример того как можно указать полный путь к редактору (Sublime Text на Mac OS):

> basis config editor '/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'

Вызов команды config без аргументов выводит список всех настроек.

Автодополнение команд (completion)

Автодополнение позволяет быстрее набирать команды. Оно поддерживается только на *nix системах.

Команда basis completion позволяет получить код bash, который позволяет работать автодополнению. Его нужно сохранить в подходящий файл. Например, на Mac OS это файл ~/.bash_profile. Для этого можно выполнить команду:

> basis completion >> ~/.bash_profile

После перезапуска терминала должно заработать дополнение команд и названий опций по нажатию tab.