A 2022 take on TodoMVC in plain JS

May 6, 2022 By Mark Otto Off

Ryan Dahl on ‘JavaScript Containers’ — Ryan, originally known for Node and now Deno, thinks about JavaScript as being a universal scripting language and how the JS sandbox acts as a sort of high level version of the traditional Linux container and will only become more important in the next few years.

Ryan Dahl

Wallaby.js: 15x Faster JavaScript/Jest Testing and Debugging — Wallaby runs your tests immediately as you type, with runtime values, errors and code coverage displayed in real-time right next to your code. Most popular testing frameworks are supporting, including the recently released Jest v28.


Why I Don’t Miss ReactNot a call to drop React, a declaration of it being ‘dead’, or that all frameworks are useless, but the author went from using React every day to not using it at all, and had a more pleasant time than he was expecting.

Jack Franklin

But.. it’s not all bad news for React, Anthony Trama and his team loved Ember but moved to React and they’re even happier for it.


  • TodoMVC is a long standing project showing how a ToDo app can be built in numerous frameworks. But what about no framework? Marc Grabanski shows us TodoMVC in vanilla JS in 2022.

  • I’m seeing a lot of library and tool releases explicitly dropping Node 12 support in their latest versions, so if you’re still using Node 12 anywhere, upgrade ASAP (or, at least, take a lot of care when updating dependencies).

  • Node 18.1.0 has been released and includes a new test running feature on the CLI: node --test (Be sure to see Node Weekly for more on Node.)


pnpm 7.0 – Efficiency-focused npm alternative.
Mocha 10.0 – JS test framework.
ShareDB 3.0 – OT-based realtime JSON database.
Cucumber.js 8.2 – BDD / plain language testing.
npm 8.9.0

Frontend Developer — Konrad is hiring Frontend developers to join our team in building products for the world’s most exciting companies.
Konrad Group

Find JavaScript Jobs with Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It’s free for job-seekers.

📒 Articles & Tutorials

Porting Zelda Classic to the Web — I’m unsure whether to be impressed or depressed that such a fascinating and deeply technical article about putting a game on the Web doesn’t contain a single line of JavaScript, despite JS related advanced being what made this all possible, but this is a great piece of work. If you prefer playing to reading, though, the end result is here.

Connor Clark

How To Build a Modal Dialog as a Web Component“Write once and run everywhere, so to speak, or at least that was my lofty aspiration. Good news. It is indeed possible to build a modal with rich interaction that only requires authoring HTML to use.”

Nathan Smith

▶  The Stack of The Future — Considering Kent works at Remix, you might not be surprised that Remix is at the heart of this 😉

Kent C Dodds

🛠 Code & Tools

🐍 We’re Not Python Weekly But We’ve Still Got Some Python Stuff for You Anyway

JSPyBridge 1.0: A Bridge Between Node and Python — A work in progress but offers the ability to go either way – run Python from Node, or run Node from Python ‘with a native feel.’ “Unlike other bridges, you may notice you’re not just writing Python code in JavaScript, or vice-versa. You can operate on objects on the other side of the bridge as if the objects existed on your side.”


Pyscript: Run Python in Your HTML — A framework for creating Python apps in the browser by way of HTML. You get bi-directional communication with JavaScript, too. Unsurprisingly, WebAssembly is what does the heavy lifting and makes this all possible. More background here.

Anaconda Inc.