Skip to content

Latest commit

 

History

History
293 lines (225 loc) · 26.4 KB

changelog.md

File metadata and controls

293 lines (225 loc) · 26.4 KB

English description | Описание на русском

Changelog

Version 1.9.9

  • Исправлены: #343

Version 1.9.8

  • Обновлены версии зависимых пакетов
  • Исправлены: #318,#324, #336, #325

Version 1.9.7

Version 1.9.4

  • Папка build не удаляется при запуске TARS в dev-режиме.

Version 1.9.2

  • Исправлен баг с работой хелпера Icon в handlebars.

Version 1.9.1

  • Переключились на gulp-pug-inheritance из форка, так как оригинал содержит ошибки.

Version 1.9.0

  • gulp-minify-html заменен на gulp-htmlmin.
  • Добавлена поддержка шаблонизатора Pug.
  • Добавлена возможность передачи любых данных в шаблоны с помощью переменной окружения.
  • Вычитана документация на английском языке, спасибо большое icehaunter.
  • Исправлены баги.
  • Обновлена документация.
  • Обновены версии зависимостей.

Version 1.8.3

  • Пофикшен баг с svg2png. Испольузется 1.0.2 версия пакета.

Version 1.8.2

  • Вотчер за шаблонами стал умнее.
  • Для Jade используется свой шаблон по умолчанию для компонента.
  • Обновление зависимостей сборщика. Eslint обновлен до версии 3.x.x.

Version 1.8.1

  • Проект можно заинитить без user-package.json
  • Добавлен autoprefixer для IE9 в режиме ручной сборки стилей.
  • Поправлены пути до партиалов в точках входа для IE.
  • Обновление зависимостей сборщика.

Version 1.8.0

  • 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

Version 1.7.1

  • Значительно ускорена пересборка Jade-шаблонов.
  • Обновлена версия gulp-csso до второй версии.

Version 1.7.0

  • Удален плагин 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
  • Обновлена документация.
  • Обновлены версии зависимостей.

Version 1.6.3

  • Поправлен баг с минификацей изображений в релизной сборке. До этого фикса минификация не происходила.
  • Таск minify-raster-img был переименован в minify-images. Теперь в нем еще минифицируются SVG-изображения, не являющиеся иконками.
  • Правки в документации по HTML-компиляции.

Version 1.6.2

  • Icon helper был переименован из icon в Icon.
  • В is helper были добавлены операции != и !==.

Version 1.6.1

  • Пофиксил таски для переноса контентных изображений.

Version 1.6.0

  • 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 теперь запрещен для использования. В дальнейшем эта команда не будет поддерживаться и будет удалена из проекта, так как есть вероятность сломать проект при ее использовании.
  • Обновленна документация.

Version 1.5.0

  • Пофиксил установку в 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.

Version 1.4.1

  • Добавлен понятный лог при ошибках в css.
  • Обновлена документация по использованию Babel.
  • Поправлен конфиг html-prettify.
  • Нотификации при ошибках появляются, даже если они отключены.
  • Обновлены версии зависимостей, пофикшены баги.

Version 1.4.0

  • Добавлена возможность использовать 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 и находятся рядом с тасками.

Version 1.3.1

  • Фикc конфига для PostCSS. Теперь не надо руками реквайрить постопроцессоры. Вы просто перечисляете постпроцессоры, которые хотите использовать в конфиге и все. Но не забудьте установить локально используемые постпроцессоры через NPM.

Version 1.3.0

  • Добавлены sourcemaps для JavaScript. Теперь можно увидеть в браузере не только файл из исходников, но даже путь до этого файла.
  • Добавлен PostCSS и возможность добавлять любые другие постпроцессоры. Отдельно использовать PostCSS пока нельзя, только совместно с каким-либо препроцессором.
  • Убраны нотификации во время сборки. Теперь они будут появляться только тогда, когда они действительно нужны.
  • Добавлена поддержка расширения .hbs для Handlebars-шаблонов.
  • Добавлен padding между картинками в растровом спрайте.
  • Отрефакторены основные модули и страницы.
  • Теперь browsersync открывает бразер, установленный в системе по умолчанию, если не указано иначе.
  • Созадана новая сущность, tars, которая содержит в себе все методы и ссылки на зависимости, необходимые сборщику.
  • Создан TARS-CLI.
  • Поправлены различные баги.

Version 1.2.7

  • Поправлен баг в gulp-svg-spritesheet.

Версия 1.2.6

  • Поправлен баг нотификацией, когда она отключена.

Версия 1.2.4

  • Поправлен баг с инициализацией TARS.
  • Исправлена ошибка при собирании png-спрайта

Версия 1.2.3

  • Починил баг работы TARS c выкюченным нотификатором.

Версия 1.2.2

  • Внесен фикс в вотчер assets-файлов модуля. На данный момент поддиректории в папке assets в модуле не поддерживаются.

Версия 1.2.1

  • Обновлен code-style. Обновлен .jscsrc
  • Добавлено описание workflow для контрибутеров.
  • Убрал модуль path из зависимостей.
  • Добавлены доки на английском языке.

Версия 1.2.0

  • Новая версия 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. Старый синтаксис:
{{> modules/head/head head.defaults}}

Новый:

{{> head/head head.defaults}}
  • Больше нет отдельного таска для компилирования стилей для ie9. Стили для ie9 компилируются в рамках таска компилирования стилей для всех современных браузеров. Отдельный файл создается.
  • Поменялся workflow подготовки svg-графики. Кодирование в base64 было заменено на отдельный svg-sprite. Использование в коде не изменилось.
  • mData/mData.js –> data/data.js

Версия 1.1.1

  • Исправлен баг в таске переноса js из separate-js. Было указано старое название папки.

Версия 1.1.0

  • Добавлен user-package.json для пользовательских зависимостей. Изменения в tars/helpers/install-additional-deps.js
  • Добавлено руководство по обновлению TARS
  • Обновлен модуль gulp-sass.
  • Генерация версии сборки перенесена в отдельный хелпер, что упрощает ее кастомизацию. Находится тут: tars/helpers/set-build-version.js