English description | Описание на русском
С версии TARS-CLI 1.6.0 стала доступна команда автообновления проекта. За это отвечает команда tars update-project.
- Проверка, что обновление возможно. Обновление не произойдет, если TARS в текущем проекте уже обновлен до последней доступной версии либо имеет версию ниже 1.5.0
- Скачивается последняя доступная версия TARS или та версия, которую вы указали после ключа
-s
. Также скачиваются файлы для препроцессора и шаблонизатора, если не были использованы флаги --exclude-html или --exclude-css. - Создается backup текущей версии TARS, которую вы сможете использовать, если во время обновления что-то пошло не так.
- Происходит обновление конфигов: tars.js, .eslintrc (если проект обновляется с версии 1.5.0 то происходит удаление файла .jscsrc и просто добавление файла .eslintrc), .babelrc, tars-config.js и package.json. Все конфиги только дополняются новыми опциями, вам не придется снова выставлять в них все, что вы выбирали до обновления. В package.json вмерживаются пакеты из локального user-package.json, если он есть, и из user-package.json из новой версии TARS. Так что если вы используете свой форк для обновления и хотите, чтобы в обновленной версии были установлены новые пакеты, укажите их в user-package.json в вашем форке. Если эти файлы не будут найдены, в логе вы увидете предупреждение. Это не ошибка, а простое уведомление, что package.json не изменился.
- Обновляются все системные таски, вотчеры, а также tars/tars.js Обновление происходит путем замены вышеперечисленных каталогов и файлов. Также обновляются example-task и example-watcher.
- Если не был использован флаг --exclude-css, то происходит обновление всех файлов в каталоге static/{scss,stylus,less}/sprite-generator-templates
- Происходит копирование всех файлов из separate-js в новой версии TARS в старую
- Если не был использован флаг --exclude-html, то происходит обновление шаблона страницы (_template.{jade,html,hbs}).
- Обновляется gulpfile.js путем замены старого файла, на новый.
- Обновляется документация.
- Устанавливаются новые npm-пакеты, если они появились.
- Выполняются пользовательские действия из файла custom-update-actions.json, если он существует в новой версии TARS. Более подробно о том, как сконфигурировать пользовательские действия можно прочесть в документации.
- Удаляются все временные файлы, которые исопльзовались во время обновления.
- Выводится лог об успешном обновлении.
Все действия происходят последовательно, чтобы избежать каких-либо конфликтов во время обновления.
Если в процессе обновления что-то пошло не так, вы получите соответствующее уведомление. Большая просьба отправить текст ошибки на tars.builder@gmail.com, мы постараемся решить проблему как можно быстрее, а вы поможете сделать сборщик еще лучше.