I’m looking to start compiling JavaScript for a personal project, so I did a quick roundup of freely available JS compilers / obfuscators / minifiers.
Dojo Shrinksafe – http://dojotoolkit.org/docs/shrinksafe
YUI Compressor – http://www.julienlecomte.net/yuicompressor/
JavaScript Obfuscator by Stunnix – http://www.stunnix.com/prod/jo/
JSMin – http://www.crockford.com/javascript/jsmin.html
Packer- http://dean.edwards.name/packer/
So far I’ve tried Shrinksafe and YUI Compressor. I couldn’t get Shrinksafe to produce any output, even though it seemed to be parsing my JS since it threw errors when I had something wrong.
YUI compressor ran on my input JS and produced output, but it had a couple of problems. Backslash-escaped strings get unescaped from the output. For instance,
alert("two \n lines"); Becomes: alert("two lines"); Also, it seemed to have trouble with "else if (...) {" constructs, turning them into "else{if(...){".