---
title: "Format JavaScript as the Romans do?"
publication: "JavaScript Weekly"
issue: 584
published_at: "2022-04-08"
canonical_url: "https://javascriptweekly.com/issues/584"
---

Plus ShadowRealms, JS testing best practices, and Raymond Chen says hi. |        

#​584 — April 8, 2022 

[Unsubscribe](https://javascriptweekly.com/leave/*|UID|*)|[Read on the Web](https://javascriptweekly.com/issues/584)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/kxct0tcmu4bnvgnwd6ri.jpg)](https://rome.tools/blog/2022/04/05/rome-formatter-release)  

Veni, vidi, formatae! [Announcing Rome Formatter: Super Fast JavaScript Formatting](https://rome.tools/blog/2022/04/05/rome-formatter-release) — [Rome](https://rome.tools/) is an ambitious project that sets out to replace a _lot_ of JS tools in one hit. But Rome _wasn’t_ [built in a day,](https://en.wikipedia.org/wiki/Rome_wasn%27t_built_in_a_day) so they’re unveiling their take on _Prettier_-esque code formatting first. You can use it from the CLI but they’re recommending [this VS Code extension](https://marketplace.visualstudio.com/items?itemName=rome.rome) primarily as a way to get a taste. 

Rome Team   

[Writing Redux Reducers in Rust](https://fiberplane.dev/blog/writing-redux-reducers-in-rust/) — We often cover how Rust is worming its way into numerous JavaScript areas (e.g. Rome, above!) but this is an interesting one: using Rust to write complex functions that are compiled down to WASM and used in a React/Redux app. 

Arend van Beelen   [![\](https://copm.s3.amazonaws.com/be5fdd30.png)](https://wallabyjs.com?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) 

[Wallaby.js: 15x Faster JavaScript/jest Testing and Debugging](https://wallabyjs.com?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) — Wallaby runs your tests immediately as you type, with runtime values, errors and code coverage displayed in real-time right next to your code. Features have been designed specifically for testing, including [new smart start](https://wallabyjs.com/docs/intro/smart-start.html?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) which only runs test files you are currently working on. 

Wallaby.js sponsor   

[JavaScript & Node Testing Best Practices: 2022 Edition](https://github.com/goldbergyoni/javascript-testing-best-practices) — Fifty best practices divided into categories (_testing, backend, frontend, etc._) complete with simple examples. We first linked to this 2½ years ago, but a new edition is now out, updated for 2022 standards and with translations in seven other languages including Chinese, Spanish and French. 

Yoni Goldberg   

[Announcing RedwoodJS 1.0 and $1M Funding](https://tom.preston-werner.com/2022/04/04/redwood-v1-and-funding.html) — Tom, formerly a co-founder of GitHub, announces the 1.0 release of [RedwoodJS](https://redwoodjs.com/), a full-stack framework perhaps originally best associated with the [Jamstack](https://jamstack.org/) but is essentially a React and GraphQL-powered framework for building whatever apps you’d like. 

Tom Preston-Werner   

[🇺🇦 Devs For Ukraine: An Online Event to Support Ukraine](https://www.devsforukraine.io/) — Well known names including Addy Osmani, Cassidy Williams, Dan Abramov, and Sandi Metz are coming together on April 25-26 with some great (online) talks to help raise funds for Ukraine-related causes. 

Remote   

**IN BRIEF:** 

- The British government has removed jQuery as a dependency from its [gov.uk](https://www.gov.uk/) frontend apps – Matt Hobbs [shows off how this improves performance](https://twitter.com/TheRealNooshu/status/1509487050122276864) significantly.
- If you use AWS Lambda for running serverless functions, you can now get [direct HTTPS URLs](https://aws.amazon.com/blogs/aws/announcing-aws-lambda-function-urls-built-in-https-endpoints-for-single-function-microservices/) for triggering functions, rather than having to use API Gateway. _Serverless Framework_ [already supports them](https://www.serverless.com/blog/aws-lambda-function-urls-with-serverless-framework)too. (_→ [via Serverless Status](https://serverless.email)_)
- [Node 12.22.12 (LTS)](https://nodejs.org/en/blog/release/v12.22.12/) is out and it's the _last Node 12 ever_ 👋 [Node 17.9.0 (Current)](https://nodejs.org/en/blog/release/v17.9.0/) is also out, but is a minor release.
- [Almost a third of the top 35 npm packages remain at risk](https://thenewstack.io/almost-1-3-of-top-npm-accounts-arent-protected-with-2fa/) due to a lack of 2FA use by associated accounts.
- A developer makes the argument that [JavaScript is safer for programming with integers than modern C](https://hikari.noyu.me/blog/2022-04-01-javascript-is-a-safer-language-for-integer-programming-than-c.html) – it's no April Fool. 

**RELEASES:** 

[Astro 1.0 Beta](https://astro.build/blog/astro-1-beta-release/)
 [React Native 0.68](https://reactnative.dev/blog/2022/03/30/version-068)
 [Mapbox GL JS 2.8](https://github.com/mapbox/mapbox-gl-js) – Fast maps in the browser.
 [Swiper 8.1](https://swiperjs.com/) – Powerful mobile touch slider.
 [Danfo 1.1](https://danfo.jsdata.org/) – Pandas-inspired data processing lib.
 [Cucumber.js 8.0](https://github.com/cucumber/cucumber-js) – BDD for JavaScript.
 [pkg 5.6.0](https://github.com/vercel/pkg/releases/tag/5.6.0) – Package Node apps into executables.    

💻 Jobs  

[Fullstack Developer](https://grnh.se/321efe8f3us) — Konrad is hiring Fullstack developers to join our team in building products for the world’s most exciting companies. 
Konrad Group   

[Senior JavaScript Developer (Warsaw or Remote)](https://ckeditor.com/join-us/?utm_source=jsweekly&utm_medium=paid&utm_campaign=recruitment) — Open Source rich text editor used by millions of users around the world. Strong focus on code quality. Join the CKEditor team. 
CKEditor   

[JavaScript Developer at X-Team (Remote)](https://x-team.com/remote-javascript-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=cooperpress-js&utm_content=js) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more. 
X-Team   

[Find JavaScript Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-javascriptweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired    

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/o2bjuftpps5ykd7s1z0u.jpg)](https://2ality.com/2022/04/shadow-realms.html)   

[ShadowRealms: An ECMAScript Proposal for a Better `eval()`](https://2ality.com/2022/04/shadow-realms.html) — Sat at stage 3, the fantastically named [ShadowRealm API](https://github.com/tc39/proposal-shadowrealm) proposal lays out a new way to execute arbitrary JS code within a separate context to the current one. 

Dr. Axel Rauschmayer   

[The Problems with JavaScript Begin with JavaScript](https://www.feroot.com/ultimate-guide-to-javascript-security/?utm_campaign=JavaScript%20Security%20Campaign&utm_source=Advertisement&utm_medium=Newsletter-Sponsored-Link&utm_term=JS-weekly&utm_content=JS-Sec-ebook) — We love JS because of its flexibility and ease of use, but we ignore its security vulnerabilities. Get the guide on how to start with JavaScript security. 

Feroot sponsor   

[How TypeScript's Compiler Compiles](https://www.huy.rocks/everyday/04-01-2022-typescript-how-the-compiler-compiles) — Short and sweet but the diagrams are fab. 

Huy Tran   

[The Ultimate Guide on Creating Customizable Angular Components](https://t.co/PiNYXijFQe) — Covers lots of areas including best practices, anti-patterns, global styles, mixins, CSS variable usage, and more. 

Kevin Kreuzer   

[How to Test Component Interactions with Storybook](https://storybook.js.org/blog/test-component-interactions-with-storybook/) — A walk through a component testing workflow when you want to simulate and verify user behavior. 

Varun Vachhar   

▶[Postlight Podcast: For Technology Leaders Solving Tough Problems](https://postlight.com/podcast?utm_source=cooperpress&utm_medium=email&utm_campaign=editaudio) 

Postlight sponsor   

[How Are Windows Runtime GUIDs Represented in JavaScript?](https://devblogs.microsoft.com/oldnewthing/20220404-00/?p=106430) — It's a small thing, but it's not often Microsoft's code archaeologist ([his blog is packed with Windows trivia](https://devblogs.microsoft.com/oldnewthing/)) mentions JavaScript. 

Raymond Chen (Microsoft)   

[A Built-in Test Runner is Coming to Node and Why You Should Care](https://fusebit.io/blog/node-testing-comes-to-core/) 
Shehzad Akbar   

[Build Your Own Markdown Editor with React and Codemirror 6](https://0xsuk.com/posts/2022-03-25-build-your-own-markdown-editor-with-react.js-and-codemirror-6/) 
0xsuk  

🛠 Code & Tools  

⭐️ [React Libraries to Use in 2022](https://www.robinwieruch.de/react-libraries/) — The React ecosystem is so extensive that we even have [a separate newsletter for React stuff](https://react.statuscode.com/) and when it comes to libraries, the problem is one of too much choice, not too little, so an opinionated list like this can come in handy. 

Robin Wieruch   

[AgnosticUI: A Component Library for Numerous Frameworks](https://www.agnosticui.com/) — A set of components currently supporting React, Vue 3, Svelte and Angular, but you can make them work from vanilla JavaScript too. [Some examples](https://developtodesign.com/agnosticui-examples). 

Rob Levin   

[Preview.js: Preview UI Components Instantly in Your IDE](https://previewjs.com/) — Namely, VS Code or JetBrain IDEs, out of the box. Compatible with components built for React and Vue. 

Zenc Labs Pty   

[Keep Up with the Latest in Startups, Tech, & Programming in Just 5 Min](https://tldr.tech/signup?utm_source=jsw0408) — TLDR is a daily newsletter with links and TLDRs of the most interesting stories in startups 🚀, tech 📱, and coding 💻 

TLDR Newsletter sponsor   

[JSZip 3.9: Create, Read and Edit .zip Archive Files](https://stuk.github.io/jszip/) — A simple and elegant API. The homepage is pretty cool as it has a live demo and a handy how-to. Or you can just go for the [GitHub repo](https://github.com/Stuk/jszip). 

Stuart Knightley   

[article-parser: Node Library to Extract Articles from Web Pages](https://github.com/ndaidong/article-parser) — Give this a URL and, fingers crossed, you can get some useful content back. [Live demo.](https://demos.pwshub.com/article-parser) You may not be surprised to know [Readability](https://github.com/mozilla/readability) is used under the hood to make most of this work :-) 

Dong Nguyen   

[Cornerstone.js: Libraries to Build Web-Based Medical Imaging Apps](https://www.cornerstonejs.org/) 
Open Health Imaging Foundation   

[rc-collapse: A Collapsing Content/Accordion Component for React](https://github.com/react-component/collapse) 
react-component  

📥 Reader Submissions  

- Cory Brown is happy to stir up a little controversy when he explains [why he avoids `async`/`await`](https://uniqname.medium.com/why-i-avoid-async-await-7be98014b73e) – it certainly provoked a lot of comments.
- Antonio Villagra De La Cruz wanted to submit his entire blog but given one of today's featured items, we thought we'd pick [Optimizing a JS library with WebAssembly - a failed attempt](https://www.antoniovdlc.me/optimising-a-javascript-library-with-webassembly-a-failed-attempt/) to link :-)
- The folks over at Cypress (best known as a Web testing tool) launched a four-course curriculum on [Real World Testing with Cypress](https://www.cypress.io/blog/2022/03/28/real-world-testing-with-cypress/) – all open source too.
- Maksim Balabash collected together just [some of the npm supply chain issues](https://dev.to/maksimbalabash/how-to-respond-to-growing-supply-chain-security-risks-1d83) over the past year into one place.
- Pete Matsy sent in [Reliable Webhook](https://www.reliablewebhook.com/), a GUI-based tool for debugging webhooks. It's billed as 'charityware' with donations encouraged to the _Come Back Alive_ fund for Ukraine.         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/peterc) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
