BNWач, смотри, какая идея:
1. Пусть вся страница собирается только JavaScript-ом. Никаких HTML-тегов, только голый JavaScript, который пердолит DOM.
2. Делаем **нормальный, блядь**, язык, со строгой типизацией, с зависимыми типами и пишем его компилятор в JavaScript.
3. Наворачиваем анализатор над нормальным-блядь языком, который будет превращать некоторые операторы пердоленья DOM-а (обычно начальные) в теги HTML и высирать уже нормальную HTML-ку. Статические странички он превратит в голые HTML без JS.
INB4: Да, блядь, у меня **БАТРУТДИНОВ** от того, что стоит мне забыть закрывающий тег в HTML-ке, как вся страница вообще исчезает с экрана. Или стоит мне ошибиться в одном слове в значении атрибута «onclick», как вся страница превращается в разъехавшуюся статику, ИЧСХ, консоль браузера девственно чиста. Или, может, я неправильно готовлю этот ваш HTML/JS?