I am a Google Maps API (JavaScript) developer. I have noticed that Google uses a JavaScript minifier that has the following features:
- Shortens variables, properties, arguments, classes, function and method names, obfuscating the code (e.g., function1 → a, function2 → b, and function3 → c)
- Some variables, classes, properties and methods can be marked to not be crunched, so its name remains the same as documented in the API manual.
- It is rerun in each subversion of the API, like a build task, I noticed that because of the crunched names changes from one version to another.
I have not found a JavaScript minifier in the whole Internet with those features. Is there one?