Вышел Bundle Transformer 1.6.10

в 17:37, , рубрики: .net, ASP, ASP.NET, ASP.NET Web Pages, Bundle Transformer, Bundling and Minification, coffeescript, css, CSS Optimizer, CSSO, javascript, Microsoft Ajax Minifier, sass, scss, System.Web.Optimization, TypeScript, UglifyJS, WebGrease, YUI Compressor, Клиентская оптимизация, метки: , , , , , , , , , , , , , , , , ,

Логотипы библиотек Bundle Transformer, в которые были внесены изменения в версии 1.6.10
Новая версия Bundle Transformer характеризуется следующими изменениями: большая часть сборок теперь подписана; в ядре, были исправлены ошибки, возникавшие при обработке путей; были обновлены некоторые модули (BundleTransformer.SassAndScss, BundleTransformer.CoffeeScript, BundleTransformer.TypeScript, BundleTransformer.MicrosoftAjax, BundleTransformer.Yui, BundleTransformer.UglifyJs, BundleTransformer.Csso и BundleTransformer.WG) и создана новая версия демонстрационного сайта ASP.NET Web Pages.

Рассмотрим основные нововведения данной версии:

Подписанные сборки

Почти все сборки Bundle Transformer подписаны (за исключением BundleTransformer.Yui.dll) и могут быть размещены в GAC.

Ядро

В BundleTransformer.Core были исправлены следующие ошибки:

  1. Улучшено экранирование шаблонов динамически создаваемых регулярных выражений. При исправлении данной ошибки использовался пулл реквест «Improved AppPath Regex escaping» от пользователя Duckaroy.
  2. Исправлена ошибка, возникавшая при преобразовании относительных путей вида ./images/icons/game.png в абсолютные.

Трансляторы

Bundle Transformer: Sass and SCSS

Модуль BundleTransformer.SassAndScss теперь использует собственный компилятор Sass- и SCSS- кода, который был реализован на основе исходного кода библиотеки SassAndCoffee.Ruby. К сожалению, данный компилятор, также как и библиотека SassAndCoffee.Ruby, поддерживает устаревшую версию Sass — 3.2.0 alpha.

Bundle Transformer: CoffeeScript

В модуле BundleTransformer.CoffeeScript была реализована поддержка CoffeeScript версии 1.4.0-3.

Bundle Transformer: TypeScript

В BundleTransformer.TypeScript была добавлена поддержка TypeScript версии 0.8.1 и исправлены следующие ошибки:

  1. Ошибка №10. Наличие циклических ссылок на зависимости (задаются с помощью документирующих тегов reference) создавало бесконечный цикл.
  2. Ошибка №13. При экспортировании классов, объявленных внутри модулей, возникала ошибка.
  3. Ошибка №14. Пути вида ./BaseClass.ts и BaseClass.ts, объявленные в тегах reference, считались разными, что приводило к дублированию ссылок на зависимости.

Минимизаторы

Bundle Transformer: Microsoft Ajax

В модуле BundleTransformer.MicrosoftAjax была обновлена библиотека Microsoft Ajax Minifier до версии 4.74.

Bundle Transformer: YUI

В BundleTransformer.Yui была обновлена библиотека YUI Compressor for .Net до версии 2.1.1.0.

Bundle Transformer: UglifyJS

В BundleTransformer.UglifyJs был обновлен код минимизатора UglifyJS до версии 1.3.4-1.

Bundle Transformer: CSSO

В BundleTransformer.Csso был обновлен код минимизатора CSSO до версии 1.3.6. Кроме того, пакеты BundleTransformer.Csso.x86 и BundleTransformer.Csso.x64 были объединены в один — BundleTransformer.Csso. Теперь библиотека BundleTransformer.Csso сама в процессе выполнения подключает нужную версию Noesis Javascript .NET. 32- и 64-разрядные версии сборки Noesis.Javascript.dll расположены в директории App_Data/Noesis.Javascript (данная директория должна копироваться при развертывании).

Bundle Transformer: WebGrease

В BundleTransformer.WG была обновлена библиотека WebGrease до версии 1.3.0. К сожалению, в семантическом CSS-минимизаторе WebGrease 1.3.0 еще не исправлена ошибка, вызывающая некорректную обработку дробных числовых значений, целая часть которых равна нулю.

Демонстрационный сайт ASP.NET Web Pages

Архив с примером сайта ASP.NET Web Pages, использующим Bundle Transformer (установлены все модули, кроме BundleTransformer.WG), можно скачать по следующей ссылке. Изначально данный демо-сайт был создан для моего выступления «Bundle Transformer – инструмент для клиентской оптимизации в среде ASP.NET» на 8-й встрече московского сообщества JavaScript-разработчиков MoscowJS.

Сейчас уже нет деления на 32- и 64-разрядную версию демо-сайта, т.к. библиотека BundleTransformer.Csso может работать на обоих платформах.

Автор: Taritsyn

Источник

Поделиться

* - обязательные к заполнению поля