2) Elm | ClojureScript for complex apps.
Edit: To be clear, I've done large apps in Angular (which nearly made me regret choosing programming as a profession), React, Backbone and custom frameworks, and Vue.js wins by a large margin if you're stuck with JS.