This document outlines the design for policies related to the @export
annotation and the methodologies that Closure-compiler will use to generate such exports.
Closure Compiler export methodologies currently fall into two categories:
- Shadowing: an alias to the symbol is created as either a property on the global object or as a variable in the global namespace.
- Not Renaming: quoted properties are used to prevent the compiler from renaming a symbol.
The goal is to give the developer both a convenient and flexible option for exporting symbols which allows as many of the compiler checks and optimizations to apply as possible.