jokade
jokade
* [ ] move metadata handling from sjsx to Scala.js code * [ ] avoid decoration of unused components, etc. (prerequisite: don't annotate components, directives, ... with `@JSExportTopLevel`)
Currently we generate a separate JS file with the annotations required by Angular (`-sjsx.js'). With the advent of `@JSExportStatic` in Scala.js 0.6.15 this should no longer be necessary.
Case classes annotated with `@Data` should be translated into plain JS objects when compiled with Scala.js (and be ignored with Scala/JVM). Example: when `Node` is defined as ```scala @Data case...
`var`s and `def`s annotations (`@Input`, `@Output`, `@HostListener`, ...) only work if the class is compiled to a JS class (`@classModeJS`).
Limitations: - don't use `moduleId` & component relative paths - `@Directive` requires `@classModeJS` - generated metadata for method annotations incomplete - companion objects for annotated classes
It would be great, if we could inject the annotations required by Angular from within one of the compiler phases. Thus we could get rid of the separate annotations file...