Aunque JavaScript y sus muchas bibliotecas (jQuery, RequireJS) permiten la creación de muchos sitios web geniales, considero que la falta de seguridad de tipo de tipo me intimida al contemplar la construcción de un sitio web más grande.¿Cuál es la forma más sólida de obtener la seguridad de tipo del compilador de cierre junto con los AMD (requirejs)?
Google tiene un maravilloso closure compiler que le permite a annotate su JavaScript con JSDoc y hacer que escriba check. Después de haber experimentado con su sistema de tipos enriquecidos, espero que esto mejore en gran medida la capacidad de mantenimiento de un proyecto JavaScript de mayor duración.
El único problema es que no funciona muy bien con las bibliotecas AMD como RequireJS. Existe un indicador experimental --transform_amd_modules que concatena sus archivos JavaScript y maneja el alcance eliminándolo. Sin embargo, esto parece ser un poco anti-patrón, eliminando la mayoría de los beneficios de RequireJS (pero manteniendo la estructura de archivos modular). También está la cuestión de cuánto soporte futuro recibirá
Con el objetivo final de ser tipo seguridad no en el caro de los beneficios de RequireJS ¿cuáles serían mis mejores apuestas?
PD: Aunque he utilizado RequireJS como la biblioteca AMD de elección, no estaría en contra de una solución que funcionara con una biblioteca diferente de AMD.