My JavaScript library is getting fairly large and slow to compile with Closure. I’d like to create a makefile that compiles only changed modules. However I’d still like to use ADVANCED_OPTIMIZATIONS to rename module contents for size and security reasons, also those functions that are called from other modules. Is there a reasonable way to do this?
Basically I’d like to compile module A and store somewhere the mapping from actual class member names to minified versions. Then when compiling module B, it should translate the code accessing module A to use the correct minified names, as it would if I compiled the whole thing at once.
Ultimately, you can’t get global dead code removal and separate compilation. You have to export an interface of some kind in a way that lets the compiler know that you have an external use of the code you want to keep.