Closure Compiler - actually more of a JavaScript optimizer than a compiler - it removes unnecessary parts, compacts the code, cleans up some slow things and replaces them with more efficient variants and also provides some static tests on the JavaScript code. Once blogged about for company projects.