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

#​614 — November 11, 2022

Read on the Web

Together with  Frontend Masters logo

JavaScript Weekly

Rome v10: Rust-Powered JS Linting and Formatting — A project founded by the original creator of Babel 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 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.

A Complete TypeScript Learning Path — 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? — You can go a long time without feeling the need for generators. 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 — The performance oriented React-based framework (that isn’t Next.js) takes a leap forward with the Slice API 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’.

Josh Johnson (Gatsby Team)

IN BRIEF:

  • Get ready to spruce up your READMEs with GitHub Blocks: 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, concluded a panel of framework creators at Jamstack Conf this week.

  • The results from Vercel's Jamstack Community Survey 2022 are out. Serverless, React, and Next.js all saw huge popularity. (Via JAMstacked)

  • A look at the state of IPFS in relation to JavaScript. (IPFS is a large distributed peer-to-peer storage system and protocol.)

RELEASES:

📅 Register for Unblock 2022 - A CI/CD Conference by Buildkite

Buildkite sponsor

📒 Articles & Tutorials

The 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) but Temporal is a (stage 3) proposal to bring a modern date/time API into play.

Vlad Mihet

Creating 'Fluffy Trees' with Three.js — If you want to make something very pretty with JavaScript and GLSL shaders this weekend.

Michael Dougall

Node.js Security Best Practices — 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 — 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 — 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) — A warm-hearted enumeration of React’s positive qualities from the folks at Fly.io. An interesting angle is the author is the creator of Elixir’s Phoenix framework which itself borrows ideas from React.

Chris McCord (Fly.io)

How to Dedupe 28 Million Strings with JavaScript? — 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 — Jack explains this well.
Jack Herrington

Using TypeScript with Node.js
Robin Wieruch

Using Web Components with Next (or Any SSR Framework)
Adam Rackis

Exploring Bun’s Built-In React Boilerplate
Mayank Choubey

Mocking a Class with Jest: Two Ways to Make It Easier
Geshan Manandhar

🛠 Code & Tools

Trix 2.0: A Rich WYSIWYG Editor for the Web — 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.

Basecamp

Riot.js 7.1: A Simple and Elegant Component-Based UI Library — 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.

Riot.js

Integrate a Scheduling Widget to Your App in Less Than a Day — 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 — 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.

Wojciech Maj

safe-json-value 1.9: For When JSON Serialization Should Never Fail — 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 — 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, linting.

Alex Sergey

💻 Jobs

UX EngineerStimulus 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) 🇵🇱 — 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) — Build interfaces for an AI-powered research assistant that makes knowledge workers smarter. TypeScript, React, GraphQL.
Heyday

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.
Hired

n