To those of you using modules in Royale, we have just noticed that the minifier 
is starting to create more collisions than it used to.  It could be that some 
compiler change or new APIs are adding more renamed properties to the apps, but 
it is something to avoid by using longer id names in your modules.

The minifier takes some property and gives it a short name, so that 
"getRowCount" gets some name like "za".  As your app contains more and more 
properties, the short names go from single characters like "a" to two 
characters "aa", and then to three characters and so on.  This list of short 
names is passed to the compiler for a module so that the compiler will not 
re-use those names when minifying the module, otherwise module properties could 
overwrite the apps property of the same minified name.

However, if your module already contains a short name for an id, the compiler 
will produce an error. So if your module contains a TextInput with id="ti" and 
the minification of the main app results in a minified name of "ti", you will 
get a compiler error.  So best to use longer id names (id="myTI") which will 
take a lot of properties in the app to generate a minified name that collides 
with "myTI".

HTH,
-Alex

Reply via email to