2021-05 SurviveJS and Rollup

Do all of our paths lead back to making computing more accessible? We capture internet trail markers in hopes we can return to these branches on a future journey. Two unrelated paths led us to look at SurviveJS and also to Rollup. Mundane starts led to inclusive ambitions.

Was reviewing turtle graphics commits and discovered a contributor we'd forgotten. The author of the pull request claims responsibility for survivejs. PR bebraw site

A former coworker tweeted about his startup process for react/redux/typescript apps suggesting particular attention to the html layer and its tests. The top of his README points to SurviveJS. thread README

Reviewing that README made be look back at Observable's stdlib to see what sort of build machinery Bostock chose. Just Rollup. package.json site

This closer look at Rollup seems to show similar sensibilities to our own. the why?

> Software is easier if you break projects into smaller pieces. JavaScript only recently included modules in the core language with ES6. > > Rollup allows you to write your code using the new module system, and will then compile it back down to existing supported formats such as CommonJS modules, AMD modules, and IIFE-style scripts.

That section links to an article entitled "Small modules: it’s not quite that simple" in which Rich Harris describes trade-offs between simplicity for the module author vs complexity for the developer community. article

Rich Harris also wrote a lament for the complexity our modern javascript ecosystem imposed on newcomers. "This doesn't have to be the (front) end" article

> Build tools are a hack. > > Web development used to welcome the amateur with open arms. That’s no longer the case, and build tools (and the pressure we put on people who aren’t ready to use them) are exhibit A.

We have touched this topic before. Chris Granger has a long appeal for the software community to embrace human-centered design with a particular emphasis on empathy for newcomers. See Eve Tackling a Giant