Minification-Induced Symbol Loss in Production Titanium SDK Builds
0 reputation · 28 Sept 2025, 07:49 UTC
A persistent discrepancy exists between Titanium SDK development and production builds for code that depends on JavaScript symbol identity. The precise goal is to determine how applications relying on function name introspection, parameter inspection, or computed require() paths can maintain consistent behavior across both build configurations.
Production builds minify JavaScript by default, renaming local symbols and eliminating unresolved dynamic references, while development builds skip this step entirely, creating a behavioral gap that manifests as runtime errors or silent failures on device or store releases. Key constraints include the absence of an official 'do not minify' annotation, the optimization-disabling flag's trade-offs of increased bundle size and reduced obfuscation, and platform-specific engine differences that may exacerbate or obscure minification edge cases. No current API reliably preserves symbol names without disabling optimization entirely.
Given these limitations, what approaches can mitigate minification-induced symbol loss? Are there undocumented configuration options or planned SDK features to address this? Should source map completeness be prioritized as a first-step improvement?