My last version of the compression module was working great and able to compress and cache pages, WebResources, CSS and JavaScripts files. It have one problem (that similiar to most of the compression modules you can find). To compress the javascripts files, you have to modify the way you register them and change their links to something like that:
<script type="text/javascript" src="/Scripts/utils.js">
needs to became
<script type="text/javascript" src="Scripts/jslib.axd?d=~/Scripts/utils.js">
It is not so hard work to do, but it became useless when you use third party controls as 'Telerik' (RadControls) and force it to doesn't use it's scripts as WebResources. In such case, the controls 'Injects' their scripts links into the HTML code and you can't modify them as needed to let the compression handler to compress it. In the new version of my compression component, I added a ResponseFilter that parse the Scripts links in the HTML and convert them into 'compressable' links. By default, this option is disabled in the compression module. To enable it (if you use such third party controls), just add the attribute compressThirdParityScripts="true" to the compression configuration.
Full implementation instructions can be found here: Compression module implementation
Latest code can be downloaded from: http://www.codeplex.com/MbCompression