English description | Описание на русском
- Исправлены: #343
- Обновлены версии зависимых пакетов
- Исправлены: #318,#324, #336, #325
- Добавлена поддержка ProvidePlugin у webpack. Настройка происходит в конфиге.
- Папка build не удаляется при запуске TARS в dev-режиме.
- Исправлен баг с работой хелпера Icon в handlebars.
- Переключились на gulp-pug-inheritance из форка, так как оригинал содержит ошибки.
- gulp-minify-html заменен на gulp-htmlmin.
- Добавлена поддержка шаблонизатора Pug.
- Добавлена возможность передачи любых данных в шаблоны с помощью переменной окружения.
- Вычитана документация на английском языке, спасибо большое icehaunter.
- Исправлены баги.
- Обновлена документация.
- Обновены версии зависимостей.
- Пофикшен баг с svg2png. Испольузется 1.0.2 версия пакета.
- Вотчер за шаблонами стал умнее.
- Для Jade используется свой шаблон по умолчанию для компонента.
- Обновление зависимостей сборщика. Eslint обновлен до версии 3.x.x.
- Проект можно заинитить без user-package.json
- Добавлен autoprefixer для IE9 в режиме ручной сборки стилей.
- Поправлены пути до партиалов в точках входа для IE.
- Обновление зависимостей сборщика.
- modules теперь называются components. При этом это название конфигурируемо. Можете использовать modules как и раньше.
- Таск concat-modules-data переименован в concat-mocks-data.
- Исправлен лог ошибки при сборке спрайтов в случае, если иконка не найдена.
- Появилась возможность задавать конфиг для используемых в TARS плагинов с помощью plugins-config.js.
- Ускорена пересборка Jade-шаблонов при изменении data-файлов.
- При добавлении SVG и использовании symbols Jade-шаблоны теперь не пересобираются. Необходимо сохранять вручную шаблоны и страницы, на которых используется иконка. Такое решение принято, чтобы не нужно было каждый раз ждать полной пересборки всех шаблонов при добавлении иконки. Изменение касается только Jade.
- Появилась возможность вкладывать компоненты друг в друга.
- Изображения из assets компонентов хранятся в static/img/assets, остальные файлы из assets будут хранится в static/components-assets. К изображениям относятся файлы svg, png, jpg, jpeg, jpe, gif, tiff и bmp.
- Опция staticPrefix удалена из конфига. Теперь она генерируется автоматом.
- Добавлена опция generateStaticPath, которая включает построение относительного пути от текущей страницы до папки со статикой. В случае использования сервера, который будет раздавать статику (например, режим livereload) путь до статики не будет генерироваться, так как статика раздается сервером.
- Имя билда теперь генерируется, как в TARS 1.6.0 Используется локальное время.
- TARS работает в NodeJs версии 6.x.x
- Значительно ускорена пересборка Jade-шаблонов.
- Обновлена версия gulp-csso до второй версии.
- Удален плагин gulp-strip-debug. Теперь его работой занимается uglifyJS.
- Обновлен вывод при ошибке. Он стал более понятный, сразу ясно, куда смотреть в логах.
- notifier.success и notifier.error теперь можно использовать как в pipe, так и в обычных функциях. Сообщение об ошибке легко найти в консоли.
- Обновлен состав конфига сборщика. Конфиг стал более компактным.
- Появилась возможность импортить стили из node_modules/bower_components не указывая полный путь до пакета, а использовать сокращенный путь.
- Добавлен webpack для сборки JavaScript. Также осталась возможность использовать старый workflow для работы с JavaScript — простая склейка файлов. Управление workflow происходит в конфиге сборщика. Также есть возможность использовать Hot Module Replacing. Эта фича опциональна, управляется из конфига проекта.
- Обновлены таски main:dev и js:processing. Обратите внимание на них, если они переопределены в вашем проекте.
- Обновлен .babelrc.
- Обновлен .eslintrc, так как был произведен переход на вторую версию eslint.
// Обновленные/добавленные правила:
env: {
commonjs: true
},
parserOptions: {
ecmaVersion: 6,
sourceType: 'module'
},
rules: {
'consistent-return': 0,
'keyword-spacing': 2,
strict: 0,
'no-confusing-arrow': 2,
'prefer-arrow-callback': 0,
'no-debugger': 0
}
// Удаленные правила:
'no-arrow-condition': undefined,
'space-return-throw-case': undefined,
'space-after-keywords': undefined,
'no-empty-label': undefined,
'no-process-exit': undefined
- Обновлена документация.
- Обновлены версии зависимостей.
- Поправлен баг с минификацей изображений в релизной сборке. До этого фикса минификация не происходила.
- Таск minify-raster-img был переименован в minify-images. Теперь в нем еще минифицируются SVG-изображения, не являющиеся иконками.
- Правки в документации по HTML-компиляции.
- Icon helper был переименован из icon в Icon.
- В is helper были добавлены операции != и !==.
- Пофиксил таски для переноса контентных изображений.
- Sourcemaps создаются только в dev-режиме.
- Пропущенные таски слегка подсвечиваются в общем логе Gulp.
- Все таски для работы со стилями теперь общие для всех препроцессоров. Они больше не скачиваются и сразу находятся в TARS.
- Стили для IE9 компилятся в отдельном таске.
- Вотчеры за изменениями в стилях стали умнее. Теперь они будут вызывать только те таски, которые действительно нужны в данный момент.
- Таски для компиляции HTML объединены в один.
- Убрана поддержка Node.js версии ниже 0.12.x включительно.
- Опция инжекта CSS при livereload вынесена в tars-config.js. Если вам нужен инжект стилей при пересборке без перезагрузки страницы, то необходимо установить эту опцию в true.
- jscs + jshint были заменены на eslint. Проверка кода проходит куда быстрее. Весь код TARS также подвергается проверке eslint перед каждым коммитом.
- Появилась возможность пробрасывать данные одного модуля в данные другого с помощью функций в data.js. Теперь стало легко инициализировать модули с вложенными модулями с любыми данными в Handlebars.
- Рефакторинг кода.
- Были отрефакторены все таски. Используется ES6.
- Ускорен запуск самой сборки. Теперь зависимости подключаются только в тот момент, когда таск запускается в первый раз. Первоначальная сборка в итоге занимает меньше времени.
- Добавлены новые методы и свойства в tars.js:
- метод skipTaskLog — выводит лог о пропущенных тасках с информацией о причинах пропуска;
- хелпер skipTaskWithEmptyPipe — позволяет пропустить таск, если в pipe не было передано ни одного файла.
- Свойство root — хранит путь от корня ОС до папки tars, включая саму папку.
- Свойство isDevMode — возвращает результат выражения !tars.flags.release && !tars.flags.min
- В gulpfile.js находятся только ссылки на таски. Это сделано с целью более легкой кастомизации TARS. Сами таски перенесены частично в tasks/main и в вотчеры. Подробности далее.
- Удален таск browsersync. Browsersync включается внутри таска main:dev
- Таски svg-action и compile-html-with-data-reloading перемещены в вотчеры напрямую, без создания доп. тасков.
- Таск minify-html переименован в modify-html, так как в этом таске происходит не только минификация html, но и форматирование.
- Таск pre-build переименован и перенесен в namespace main.
- Появилась возможность использовать css-файлы отдельно от общего бандла.
- Весь js-код из папки static по умолчанию находится в ignore в babelrc. Сам babel обновлен до 6 версии. Если вы хотите использовать самый последний TARS-CLI, в старых проектах необходимо поправить конфиг .babelrc, так как это сделано в текущей версии. По умолчанию TARS-CLI сам попытается это сделать, но в случае ошибки это придется сделать пользователю.
- Обновление шаблона страницы и модуля head. Убраны лишние атрибуты, приведено к виду в html5boilerplate последней версии.
- Вместо префиксов %=staticPrefixForCss=% и %=staticPrefix=% можно использовать просто %=static=% или __static__ как в html, так и в css. Старые префиксы работают, но лучше использовать новый вариант.
- staticPrefixForCss был удален из tars-config, генерируется в tars/tars.js Представляет собой обычное поле-строку.
- normalize обновлен до 3.0.3
- Добавлена возможность использовать кастомные хелперы для Handlebars и Jade.
- Добавлен хелпер icon для Jade и Handlebars, который генерирует шаблон для подключения svg-symbol в HTML.
- Появилась возможность использовать svg-символы. Доступны 3 режима работы с symbols. Сборка для IE8 не производится, при выборе этого способо работы с SVG. В separate-js добавлен полифил для корректной загрузки символов из отдельного файла для IE и других браузеров, которые этого не поддерживают.
- Поле useSVG удалено из конфига. Теперь SVG конфигурируется отдельным объектом в tars-config. Если поле есть (в случае использования старого конфига), то будет использоваться оно и генерироваться SVG-спрайт.
- В данных всегда генерируется массив с информацией о всех страницах проекта.
- Спрайты (svg, svg-symbols, png) версионируются при использовании флага
--release
. - port для Browsersync можно задать с помощью переменной окружения.
- Обновлен конфиг autoprefixer по умолчанию. Удалена поддержка префиксов для ios 5.0. Доля этой ОС меньше 1% на данный момент.
- Путь до папки со скриптами, картинками и стилями генерируется автоматом для страниц, в соответствии с их (страниц) вложенностью в директории. Теперь опцию %=static=% (__static__) не нужно править руками для каждой сборки, если у вас в pages есть иерархия каталогов.
- При сборке проекта без ключей
--ie
,--ie9
,--ie8
вырезаются все соответствующие условные комментарии. В готовый билд больше не попадает лишних файлов. Например, при сборке без ключа--ie
или--ie8
файл html5shiv не переносится в билд - Удален hml5shiv-print.
- Внтури data-файлов можно использовать JavaScript-объект, в случае, если IDE ругается на текущий синтаксис data-файла.
- Появилась возможность инициализировать проект без изменения файлов шаблонизатора или css-препроцессора. Это будет полезно владельцам форков.
- Появилась возможность автоматического обновления TARS в проекте с помощью TARS-CLI.
- Таск re-init теперь запрещен для использования. В дальнейшем эта команда не будет поддерживаться и будет удалена из проекта, так как есть вероятность сломать проект при ее использовании.
- Обновленна документация.
- Пофиксил установку в NPM3. В том случае, если у вас есть проект, который был разработан на TARS 1.4.1 и NPM2, а сейчас вы используете NPM3, необходимо заменить одну строку в tars/tars.js:
handlebars: tars.require('gulp-compile-handlebars/node_modules/handlebars'),
// заменить на
handlebars: tars.require('handlebars'),
- Используется Handlebars из отдельно установленного пакета, а не из gulp-handlebars.
- Добавлена возможность использования css-файлов в папке etc.
- Добавлен понятный лог при ошибках в css.
- Обновлена документация по использованию Babel.
- Поправлен конфиг html-prettify.
- Нотификации при ошибках появляются, даже если они отключены.
- Обновлены версии зависимостей, пофикшены баги.
- Добавлена возможность использовать import в стилях. Css (less, scss, sass, styl) файлы с _ в начале файла не компилируются. Только их рекомендуется импортировать. Подробности в документации.
- Добавлена поддержка .sass расширения для файлов стилей.
- Обновлен tars-config. Поле sourcemaps теперь имеет больше опций. Добавлен конфиг включения Babel.
- Добавлена поддержка синтаксиса ES6(ES.Next) с помощью Babel. Подробности в документации.
- Autoprefixer вставляется самым последним, сразу после всех используемых постпроцессоров.
- Notifier получил единый интерфейс. При отключенных нотификациях теперь не будет вообще никаких уведомлений в системе, даже при ошибках. Ошибки будут отображаться только в консоли. При включенных все будет как обычно. Поменялся формат нотификаций в системе, теперь выводится иконка TARS.
- Добавлен gulp-html-prettify. Теперь скомпилированный html будет отформатирован, если опция minifyHtml установлена в false.
- Стили для IE9 не собираются автоматически. Для того, чтобы получить сборку необходимо использовать флаг
--ie9
или--ie
, чтобы собрать под IE8 и IE9. - Добавлены хелперы для Handlebars. Описана возможность добавления своих хелперов. Хелперы перенесены в репозиторий tars-handlebars и находятся рядом с тасками.
- Фикc конфига для PostCSS. Теперь не надо руками реквайрить постопроцессоры. Вы просто перечисляете постпроцессоры, которые хотите использовать в конфиге и все. Но не забудьте установить локально используемые постпроцессоры через NPM.
- Добавлены sourcemaps для JavaScript. Теперь можно увидеть в браузере не только файл из исходников, но даже путь до этого файла.
- Добавлен PostCSS и возможность добавлять любые другие постпроцессоры. Отдельно использовать PostCSS пока нельзя, только совместно с каким-либо препроцессором.
- Убраны нотификации во время сборки. Теперь они будут появляться только тогда, когда они действительно нужны.
- Добавлена поддержка расширения .hbs для Handlebars-шаблонов.
- Добавлен padding между картинками в растровом спрайте.
- Отрефакторены основные модули и страницы.
- Теперь browsersync открывает бразер, установленный в системе по умолчанию, если не указано иначе.
- Созадана новая сущность, tars, которая содержит в себе все методы и ссылки на зависимости, необходимые сборщику.
- Создан TARS-CLI.
- Поправлены различные баги.
- Поправлен баг в gulp-svg-spritesheet.
- Поправлен баг нотификацией, когда она отключена.
- Поправлен баг с инициализацией TARS.
- Исправлена ошибка при собирании png-спрайта
- Починил баг работы TARS c выкюченным нотификатором.
- Внесен фикс в вотчер assets-файлов модуля. На данный момент поддиректории в папке assets в модуле не поддерживаются.
- Обновлен code-style. Обновлен .jscsrc
- Добавлено описание workflow для контрибутеров.
- Убрал модуль path из зависимостей.
- Добавлены доки на английском языке.
- Новая версия Browsersync.
- Опция baseDir для Browsersync перемещена в tars-config.
- Вотчеры используют модуль chokidar
- Все вотчеры переехали в отдельные файлы в папку tars/watchers.
- Сделана автозагрузка вотчеров и тасков в gulpfile.
- Таск 'builder-start-screen' переехал в tars/tasks/services.
- Добавлены новые хэлперы в handlebars (и документация по ним). Все хелперы хранятся в отдельном файле tars/helpers/handlebars-helpers.js
- Добавлена папка framework по пути markup/static/js Папка предназначена для js-файлов используемого фреймворка.
- Обновлены зависимости.
- Изменился синтаксис подключения модулей при использовании Handlebars. Старый синтаксис:
Новый:
- Больше нет отдельного таска для компилирования стилей для ie9. Стили для ie9 компилируются в рамках таска компилирования стилей для всех современных браузеров. Отдельный файл создается.
- Поменялся workflow подготовки svg-графики. Кодирование в base64 было заменено на отдельный svg-sprite. Использование в коде не изменилось.
- mData/mData.js –> data/data.js
- Исправлен баг в таске переноса js из separate-js. Было указано старое название папки.
- Добавлен user-package.json для пользовательских зависимостей. Изменения в tars/helpers/install-additional-deps.js
- Добавлено руководство по обновлению TARS
- Обновлен модуль gulp-sass.
- Генерация версии сборки перенесена в отдельный хелпер, что упрощает ее кастомизацию. Находится тут: tars/helpers/set-build-version.js