Project Description
This is a .NET port of the Yahoo! UI Library's YUI Compressor Java project. The objective of this project is to compress any Javascript and Cascading Style Sheets to an efficient level that works exactly as the original source, before it was minified.

Available via NuGet
NuGet Command

NuGet Command with MSBuild Task

NuGet Command with NAnt Task

Main Features

  • Compress and/or Bundle Javascript and/or Cascading StyleSheets.
  • 1 source file -> 1 destination file (that's just compression)
  • Multiple source files -> 1 destination file (compression and bundling)
  • Multiple source files -> multiple destination files (so you're pro at this now?!)
  • Optional MSBuild Tasks, NAnt Tasks and MVC4 BundleTransform.


Referenced Version
Based on YUI Compressor version: 2.4.4 (last checked at 2011-01-17).

How close to the Java Port?
Pretty damn close, now :) Same unit tests (which pass).
The only thing I haven't been able to do is get the exact same obfuscation because the java code is using a hashtable instead of a sorted hashtable/dictionary. It's identical besides that (and works the same). Just visually look different but is exactly the same file size, etc.

Video Tutorials

Using YUI Compressor .NET (Core)

Using YUI Compressor .NET (Core)

Using YUI Compressor .NET (MSBuild)

Using YUI Compressor .NET (MSBuild)

Using YUI Compressor .NET (Web Optimization)

(Older video) Using YUI Compressor .NET 1.7 with MSBuild

(Older video) Using YUI Compressor .NET 1.7 with MSBuild


Sample MsBuild output




Who's utilising this code/library?
If you use this code in some project, please drop us a message so we can include it in this list :)



References
YUI Compressor home page: http://developer.yahoo.com/yui/compressor/

Thank You's!
We couldn't have made this project without the support of the following software:

The best C# refactoring plugin for Visual Studio



Please support them buy trying their software. If you like it (like we do!) then purchase it. Thank you :)

Last edited Dec 4, 2012 at 12:21 PM by purekrome, version 64