I’ve been working on this for the past few weekends when I could. I haven’t even made it to the really interesting part yet but my overall impression so far is that it’s just not as bad as I expected.
Using ECMAScript 6 syntax for defining classes/inheritance went a long way for me, it’s just syntax sugar but it made me feel a LOT better about what I was writing. (considering the alternative I think this is fair) By and large the objects behave like I would expect. The overall syntax still feels a little clunky in places, it’s definitely not Python, but I feel like I can work with it just about as quickly.
Despite this weeks debacle, npm was perfectly pleasant to use to define my library modules and add dependencies for what I needed. There are clearly some problems with using micro-deps, but it is easy to use and you can of course choose what you add as a dep vs write yourself. npm/nodejs also went a long way for me getting my head around how the language is used for generic libraries outside the browser, and how you run and test it locally.
Writing tests with Mocha was quite familiar, clean, and enjoyable.
I’m still not sure I’ll ever complete this library let alone the longer term goal of a React Native rewrite, but I am enjoying the process, and I don’t really loathe the language anymore.