Thanks for sharing your experience and tips.
Was this in an effort to get Closure Library working with ClojureScript, or separately with hand-written JavaScript? If the latter, I'd recommend looking elsewhere. The entire Closure Tools suite is pretty dated at this point, and much of its raison d'être no longer exists: its custom module system is no longer needed (first with CJS, and now with ESM being the gold standard), the compatibility shims it provides are no longer relevant (since browser compatibility/interop has come a long way in 15+ years), and the type system is clunky compared to newer alternatives like TypeScript. Moreover, because the rest of the world has evolved in a different direction, using Closure actually new presents a compatibility burden, since it doesn't interop well with the modern standards. There are still a lot of "Good Parts" between both the library and the compiler, but our overall attitude has shifted in recent years to seeing it as more of a backend to more ergonomic languages, rather than being particularly suitable for hand-written JavaScript.