9 ms·
Closure Compiler: High-level overview of a compilation job
- bhouston 10y agoIt would be cool if this could be used with standard NPM modules in an easy way.
- skybrian 10y agoWould this work for you? https://www.npmjs.com/package/google-closure-compiler https://www.npmjs.com/package/google-closure-compiler
- Scarbutt 10y agoDidn't know it was used so much out of Google, that's a lot of downloads and that just for NPM, I would guess maven and direct downloads are even bigger? not counting clojurescript and scalajs which bundle closure in their compiler.
- dvcrn 10y agoThe closure compiler is one of these engineering secrets that I wish more people knew about. The advanced compilation with dead code elimination [0] is insane. It needs a bit of extra work on top to fully utilise but you get a payoff that you can't achieve with other minifiers. [0]: https://developers.google.com/closure/compiler/docs/api-tutorial3 https://developers.google.com/closure/compiler/docs/api-tuto...
- happyslobro 10y agoClojurescript is what introduced me to the Closure compiler. It killed three birds with one stone: it unbloated the client build, saved me from writing validation logic twice in two different languages, and I can stop writing JavaScript.
- localvoid 10y agoThere also an amazing tool[0] that processes TypeScript and adds JSDoc annotations for closure compiler, so it can optimize way much better[1] [0]: https://github.com/angular/tsickle https://github.com/angular/tsickle [1]: https://github.com/google/closure-compiler/wiki/Type-Based-Property-Renaming https://github.com/google/closure-compiler/wiki/Type-Based-P...
- malisper 10y agoHow much of a speedup do you get by adding JSDoc type annotations?
- localvoid 10y agoIt depends on the code base. When I've migrated from js code base with 100% gcc type coverage to TypeScript, gcc(without tsickle) in advanced mode stopped rewriting many methods into simple functions, didn't minified many symbols, with 100% type coverage gcc minified all symbols. When I've tried synthetic UI benchmarks, code with 100% type coverage on desktop machines had the same performance, on old mobile phones it was 0-10% faster(depends on the use case). Minified code size with 100% type coverage were slightly smaller on small projects, but with the API for building UI Components that I've used, minified code with 100% type coverage should be significantly smaller on a large project.