This looks very good indeed but the lack of initial data model very severely limits the production usability of this tool. You can't use "document" and "window" ...
It's the same problem TypeScript have/had that for external libs you need definition files for it to work. Now if we had TypeScript-to-assumeDataProperty generator that would be VERY interesting!