- PVSM.RU - https://www.pvsm.ru -

Вышел Bundle Transformer 1.6.10

Логотипы библиотек Bundle Transformer, в которые были внесены изменения в версии 1.6.10
Новая версия Bundle Transformer [1] характеризуется следующими изменениями: большая часть сборок теперь подписана; в ядре, были исправлены ошибки, возникавшие при обработке путей; были обновлены некоторые модули (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 [2] были исправлены следующие ошибки:

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

Трансляторы

Bundle Transformer: Sass and SCSS

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

Bundle Transformer: CoffeeScript

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

Bundle Transformer: TypeScript

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

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

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

Bundle Transformer: Microsoft Ajax

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

Bundle Transformer: YUI

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

Bundle Transformer: UglifyJS

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

Bundle Transformer: CSSO

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

Bundle Transformer: WebGrease

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

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

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

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

Автор: Taritsyn

Источник [30]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/20497

Ссылки в тексте:

[1] Bundle Transformer: http://bundletransformer.codeplex.com/

[2] BundleTransformer.Core: http://nuget.org/packages/BundleTransformer.Core

[3] «Improved AppPath Regex escaping»: http://bundletransformer.codeplex.com/SourceControl/network/forks/duckaroy/BundleTransformer/contribution/3568

[4] Duckaroy: http://www.codeplex.com/site/users/view/duckaroy

[5] BundleTransformer.SassAndScss: http://nuget.org/packages/BundleTransformer.SassAndScss

[6] SassAndCoffee.Ruby: http://github.com/xpaulbettsx/SassAndCoffee

[7] Sass: http://sass-lang.com/

[8] BundleTransformer.CoffeeScript: http://nuget.org/packages/BundleTransformer.CoffeeScript

[9] CoffeeScript: http://coffeescript.org/

[10] BundleTransformer.TypeScript: http://nuget.org/packages/BundleTransformer.TypeScript

[11] TypeScript: http://www.typescriptlang.org/

[12] Ошибка №10: http://bundletransformer.codeplex.com/workitem/10

[13] Ошибка №13: http://bundletransformer.codeplex.com/workitem/13

[14] Ошибка №14: http://bundletransformer.codeplex.com/workitem/14

[15] BundleTransformer.MicrosoftAjax: http://nuget.org/packages/BundleTransformer.MicrosoftAjax

[16] Microsoft Ajax Minifier: http://ajaxmin.codeplex.com/

[17] BundleTransformer.Yui: http://nuget.org/packages/BundleTransformer.Yui

[18] YUI Compressor for .Net: http://yuicompressor.codeplex.com/

[19] BundleTransformer.UglifyJs: http://nuget.org/packages/BundleTransformer.UglifyJs

[20] UglifyJS: http://github.com/mishoo/UglifyJS

[21] BundleTransformer.Csso: http://nuget.org/packages/BundleTransformer.Csso

[22] CSSO: http://github.com/css/csso

[23] Noesis Javascript .NET: http://javascriptdotnet.codeplex.com/

[24] BundleTransformer.WG: http://nuget.org/packages/BundleTransformer.WG

[25] WebGrease: http://webgrease.codeplex.com/

[26] ошибка: http://aspnetoptimization.codeplex.com/workitem/2

[27] ссылке: http://bundletransformer.codeplex.com/downloads/get/533966

[28] «Bundle Transformer – инструмент для клиентской оптимизации в среде ASP.NET»: http://taritsyn.wordpress.com/2012/11/07/prezentacija-bundle-transformer-c-moscowjs-8th/

[29] MoscowJS: http://www.facebook.com/groups/261688937189348/

[30] Источник: http://habrahabr.ru/post/159353/