I certainly cannot comment on what Google is doing but they are still actively working on the Closure Compiler.
I made quite a big commitment using the Closure Compiler within
shadow-cljs and the reason for this is quite simple: There is nothing comparable available today.
webpack is slowly getting better but nowhere near as capable. The JS world is going to realize that you are going to need to sacrifice some weird patterns to get some of the more
Now lets not confuse the use of the Google Closure Compiler with the use of the Google Closure Library. You can completely remove the Library and still use the Compiler. The Library however has vast amounts of really high quality. There is a gigantic advantage to having a sane “standard library” available and not having to piece together random
npm modules. Yes, the UI parts are not using the latest hype tech but you don’t have to use them.
No, it is not “bloatware”. No, ClojureScript would not be any faster or lightweight without Closure. That is just a completely false statement. ClojureScript only uses tiny amounts of the Closure Library directly so you could easily swap those out. Why would you though? The code is guaranteed to be compatible and heavily tested, I take that over a random
npm lib any day.
Did you know that a big chunk of JS libs use the
npm packages? Both provide
Object.assign polyfills but the JS world apparently couldn’t agree on the package name so now it is quite common that both end up in a build. The amount of duplicated code in some JS libs is mind-boggling. It is an absolute mess. One of the major ideas behind Closure and the reason ClojureScript uses it is whole program optimizations. This means that you take unpackaged raw code, compile it and optimize it together removing all the “bloat”. It takes a while to realize how important this idea is and the majority of the JS world has not realized this yet.
shadow-cljs actually addresses many of the issues the author is complaining about, so most of them I consider solved problems for ClojureScript + Closure +
As a side note: I do think that it could possibly be useful for the CLJS compiler to emit ES6 code but that would not in any way affect usefulness of the Closure Compiler + Library.