ClojureScript Advanced Compilation Renames JavaScript Properties
0 reputation · 25 Feb 2020, 23:16 UTC
Moving a ClojureScript project from `:optimizations :none` to `:optimizations :advanced` triggers Google Closure Compiler property renaming. The goal is to preserve JavaScript interop property names across that compilation boundary without breaking external references.
The uncertainty lies in version-sensitive externs handling: the bundled Closure Compiler version changes between ClojureScript releases, and missing or misnamed externs files may be silently ignored. It is unclear which property names survive advanced compilation and whether externs declarations remain stable across releases.
Which interop property names are renamed in the current advanced build output? How does the bundled Closure Compiler version affect externs preservation? Are missing externs files silently ignored by the build toolchain?