---
title: "Rome wasn't rewritten in a day"
publication: "JavaScript Weekly"
issue: 614
published_at: "2022-11-11"
canonical_url: "https://javascriptweekly.com/issues/614"
---

Plus a look at generator functions, a better API for dates, and growing some fluffy trees. |        

#​614 — November 11, 2022 

[Read on the Web](https://javascriptweekly.com/issues/614)  

Together with [![Frontend Masters logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_300,h_70/e_make_transparent/co_white,e_outline:5/nk0tfdvalivacz8rw7rt.png)](https://frontendmasters.com/learn/typescript/?utm_source=javascriptweekly&utm_medium=email&utm_content=typescript)  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/diqsng6gre4qzf9gfeue.jpg)](https://rome.tools/blog/2022/11/08/rome-10/)   

[Rome v10: Rust-Powered JS Linting and Formatting](https://rome.tools/blog/2022/11/08/rome-10/) — A project founded by the [original creator of Babel](https://podcast.babeljs.io/rome/) naturally provokes interest. Rome’s ambitious mission is to unify all the frontend dev tools you’d need into one, and formatting and linting is where they’ve started with this curiously numbered release. _Shouldn't it should be Rome X?_😁 

The Rome Team   

**Editorial note:** _"Oh no, another tool!"_ I hear you cry. Despite its youth, Rome already has some compelling points in its favor, including [rich diagnostics](https://rome.tools/blog/2022/11/08/rome-10/#rich-and-comprehensible-diagnostics) that not only drill into _what_ is wrong with your code, but _why_ it's wrong. It will be fantastic to see this sort of tooling advance further.  [![\](https://copm.s3.amazonaws.com/fc4f77e9.jpg)](https://frontendmasters.com/learn/typescript/?utm_source=javascriptweekly&utm_medium=email&utm_content=typescript) 

[A Complete TypeScript Learning Path](https://frontendmasters.com/learn/typescript/?utm_source=javascriptweekly&utm_medium=email&utm_content=typescript) — Many teams are introducing types to their Web and Node.js apps with TypeScript. Over four courses going from the fundamentals through to production, let Mike North bring you up to speed with TypeScript's power and capabilities for writing more robust code. 

Frontend Masters sponsor   

[Why Would Anyone Need Generator Functions?](https://jrsinclair.com/articles/2022/why-would-anyone-need-javascript-generator-functions/) — You can go a long time without feeling the need for [generators.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*) So, you may wonder, what are they good for? While they may not be _essential,_ they _do_ have utility and can change how you approach certain problems. James cracks out the chocolate biscuits to explain. 

James Sinclair   

[Gatsby 5.0: The Fastest Gatsby Yet](https://www.gatsbyjs.com/blog/gatsby-5/) — The performance oriented React-based framework (that _isn’t_ Next.js) takes a leap forward with the [Slice API](https://www.gatsbyjs.com/docs/reference/built-in-components/gatsby-slice/) for speeding up common updates across a site, partial hydration (beta), a new `Script` component for loading scripts, incremental builds and deploys, and more. This release follows Gatsby’s fresh pitch as a [‘reactive site generator’](https://www.gatsbyjs.com/blog/re-introducing-gatsby-a-reactive-site-generator/). 

Josh Johnson (Gatsby Team)   

**IN BRIEF:** 

- Get ready to spruce up your `README`s with [GitHub Blocks](https://blocks.githubnext.com/): dynamic components you'll be able to add to your README to include demos, live stats, search features, comparison tables, etc.
- Overwhelmed by the constant influx of new frameworks? [It's a good thing](https://thenewstack.io/jamstack-panel-multiple-javascript-frameworks-are-a-good-thing/), concluded a panel of framework creators at Jamstack Conf this week.
- [The results](https://jamstack.org/survey/2022/) from Vercel's **Netlify's** _(thanks to Cassidy Williams for the correction!)_ _Jamstack Community Survey 2022_ are out. Serverless, React, and Next.js all saw huge popularity. (_→ [Via JAMstacked](https://jamstack.email/issues/68)_)
- A look at [the state of IPFS](https://blog.ipfs.tech/state-of-ipfs-in-js/) in relation to JavaScript. ([IPFS](https://en.wikipedia.org/wiki/InterPlanetary_File_System) is a large distributed peer-to-peer storage system and protocol.)   

**RELEASES:** 

- [Parcel 2.8](https://parceljs.org/blog/v2-8-0/)
 ↳ Zero-config build tool. Quite a big release with a brand new bundling algorithm and improved automatic code splitting.
- [Node.js 19.0.1, 18.12.1, 16.18.1 and 14.21.1](https://nodejs.org/en/blog/vulnerability/november-2022-security-releases/)
- [Hapi 21](https://github.com/hapijs/hapi) – 'Batteries included' Node framework.
- [pnpm 7.15](https://github.com/pnpm/pnpm/releases/tag/v7.15.0) – Fast, space efficient package manager.   

📅 [Register for Unblock 2022 - A CI/CD Conference by Buildkite](https://buildkite.com/unblock?utm_campaign=CPress&utm_source=ppc&utm_medium=Q4-JavaScript&utm_term=Unblock&utm_content=Sign-up) 

Buildkite sponsor  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sd4pjzuq8gm7q02xvane.jpg)](https://vladmihet.hashnode.dev/temporal-api-javascript-dates-but-better)  

[The Temporal API: JavaScript Dates, but Better](https://vladmihet.hashnode.dev/temporal-api-javascript-dates-but-better) — Working with dates in JavaScript is clunky enough for there to be a whole ecosystem of libraries to make it easier (e.g. [Moment.js](https://momentjs.com/)) but `Temporal` is [a (stage 3) proposal](https://tc39.es/proposal-temporal/docs/) to bring a modern date/time API into play. 

Vlad Mihet   

[Creating 'Fluffy Trees' with Three.js](https://douges.dev/blog/threejs-trees-1) — If you want to make something very pretty with JavaScript and GLSL shaders this weekend. 

Michael Dougall   

[Node.js Security Best Practices](https://nodejs.org/en/docs/guides/security/) — A new official document from the Node.js team providing guidelines on securing your Node apps by looking at what the main threats are and how to mitigate them. 

Node.js Project   

▶[A Podcast for Candid Chats on Product, Business & Leadership](https://postlight.com/podcast?utm_source=cooperpress&utm_medium=email&utm_campaign=editaudio) — Join Postlight leaders & guests as they discuss topics like running great meetings & creating solid product launches. 

The Postlight Podcast sponsorpodcast   

[Migrating from Monaco Editor to CodeMirror](https://about.sourcegraph.com/blog/migrating-monaco-codemirror) — The folks at Sourcegraph share what they gained in switching their in-browser code editor to what could _arguably_ be considered a less modern option. 

Kling and Dorfman   

[A Love Letter to React (from the Creator of Phoenix)](https://fly.io/blog/love-letter-react/) — A warm-hearted enumeration of React’s positive qualities from the folks at [Fly.io](https://fly.io). An interesting angle is the author is the creator of Elixir’s [Phoenix framework](https://www.phoenixframework.org/) which itself borrows ideas from React. 

Chris McCord (Fly.io)   

[How to Dedupe 28 Million Strings with JavaScript?](https://stackoverflow.com/q/74329830/3951) — Fun question (and answers) on Stack Overflow. This task isn’t exactly a great fit for either JavaScript or its runtimes, but there’s always a way. 

Stack Overflow   

⚠️ [▶️ A Next.js 13 Warning: An Easy Infinite Loop Mistake](https://www.youtube.com/watch?v=zwQs4wXr9Bg) — Jack explains this well. 
Jack Herrington   

[Using TypeScript with Node.js](https://www.robinwieruch.de/typescript-node/) 
Robin Wieruch   

[Using Web Components with Next (or Any SSR Framework)](https://css-tricks.com/using-web-components-with-next-or-any-ssr-framework/) 
Adam Rackis   

[Exploring Bun’s Built-In React Boilerplate](https://medium.com/deno-the-complete-reference/react-boilerplate-with-bun-36808ee0bfaf) 
Mayank Choubey   

[Mocking a Class with Jest: Two Ways to Make It Easier](https://meticulous.ai/blog/mocking-a-javascript-class-with-jest-two-ways-to-make-it-easier/) 
Geshan Manandhar  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/k65oznrnq6emoi5p5zao.jpg)](https://trix-editor.org/)  

[Trix 2.0: A Rich WYSIWYG Editor for the Web](https://trix-editor.org/) — A WYSIWYG editor developed by the folks at 37signals (known as the birthplace of Ruby on Rails). It’s used in Basecamp so is about as stress tested as you can get. [GitHub repo](https://github.com/basecamp/trix). 

Basecamp   

[Riot.js 7.1: A Simple and Elegant Component-Based UI Library](https://riot.js.org/) — An interesting alternative UI library that might click with you. It’s designed to offer you _“everything you wished"_ the native web components API looked like. [GitHub repo](https://github.com/riot/riot). 

Riot.js   

[Integrate a Scheduling Widget to Your App in Less Than a Day](https://www.bryntum.com/products/scheduler-pro/?aw=jswkly20221103) — Extensive API offering a high level of customization. Seamless integration into React, Angular, Vue, or vanilla JS apps. 

Bryntum sponsor   

[React Calendar 4.0: The 'Ultimate' Calendar for Your React App](https://projects.wojtekmaj.pl/react-calendar/) — A popular, simple-styled calendar component for React apps, focused mostly on letting users pick dates. Note that you’ll need to be on React 16.8+ to use v4.0 though. [GitHub repo](https://github.com/wojtekmaj/react-calendar). 

Wojciech Maj   

[safe-json-value 1.9: For When JSON Serialization Should Never Fail](https://github.com/ehmicky/safe-json-value) — Prevents `JSON.serialize()` from throwing an exeception, changing types, or otherwise transforming values unexpectedly, because sometimes you need that sort of reassurance. 

ehmicky   

[Rockpack 3.0: An Alternative React App Builder](https://github.com/AlexSergey/rockpack) — Like _Create React App_ Rockpack's goal is to keep project setup time low, but it holds some different opinions around how far to go and packs in many ideas like server side rendering and, [now](https://github.com/AlexSergey/rockpack/releases/tag/3.0.0), linting. 

Alex Sergey   

- [WaveSurfer.js 6.4](https://github.com/katspaugh/wavesurfer.js)
 ↳ Navigable waveforms atop Web Audio & Canvas. ([Demos.](https://wavesurfer-js.org/examples/))
- [Kosko 3.0](https://kosko.dev/blog/2022/11/06/kosko-3.0/)
 ↳ Organize Kubernetes manifests in JavaScript.
- [Marked 4.2.2](https://github.com/markedjs/marked)
 ↳ Perf-focused Markdown parser and compiler. ([Demo.](https://marked.js.org/demo/))
- [React Bootstrap 2.6](https://react-bootstrap.github.io/) — Bootstrap 5 components for React.
- [React Tooltip 4.5](https://github.com/ReactTooltip/react-tooltip) – A tooltip component, surprisingly. ([Demo.](https://reacttooltip.github.io/react-tooltip/))
- [Strapi 4.5](https://strapi.io/blog/announcing-strapi-v4.5) – Popular Node-based headless CMS.
- [Nest.js 9.2](https://nestjs.com/) – Server-side Node.js framework.     

💻 Jobs  

[UX Engineer](https://www.stimulus.com/jobs/1b111606-78e4-4c4b-b7a1-472439bbc5ec) — [Stimulus](https://www.stimulus.com/jobs) is a social platform started by Sticker Mule to show what's possible if your mission is to increase human happiness. Join our engineering team. 
Stimulus   

[Senior JavaScript/TypeScript Developer (Remote or Warsaw) 🇵🇱](https://cksource.com/careers/?utm_source=jsweekly&utm_medium=email&utm_campaign=nov11#senior-javascript-typescript-developer) — Take the next step in your career and help us migrate CKEditor 5 to TypeScript! Develop the software used by millions of users 🌎 
CKEDITOR   

[Senior Frontend Engineer (San Francisco)](https://links.heyday.xyz/frontend-engineer-jd) — Build interfaces for an AI-powered research assistant that makes knowledge workers smarter. TypeScript, React, GraphQL. 
Heyday   

[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           

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

'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
