#​740 — June 13, 2025

Read on the Web

Together with  Palette

JavaScript Weekly

The State of React and the Community in 2025 — React continues to be a major dependency in the JavaScript world but recent innovations have led to much discussion about how it should move forward. Redux maintainer Mark Erikson gives an overview of React’s development over time, what led to some of its innovations, and dispels some ‘FUD and confusion’ about where it's headed.

Mark Erikson

💡 While we cover the biggest React stories in JavaScript Weekly, React Status is our weekly newsletter dedicated to React, so check it out for more depth.

How Notion Cut Typing Latency By 15% — Stop guessing why your web app is slow. Palette’s production JS profiler tells you why, down to the line of code. Get started for free today.

Palette sponsor

Announcing Oxlint 1.0: The Super Fast Linter — First appearing just 18 months ago, Oxlint has made an impact by being an incredibly fast Rust-powered linter for JavaScript and TypeScript, boasting a 50~100x performance improvement over ESLint while still having support for hundreds of its rules. Now, it’s gone stable.

Boshen Chen and Cameron Clark

pnpm 10.12 Introduces an Experimental Global Virtual Storepnpm has long been prized for its speed and efficiency over npm. v10.12 takes things further introducing a ‘global virtual store’ that node_modules symlinks to, enabling projects to share dependencies without them being installed numerous times.

Sarah Gooding (Socket)

IN BRIEF:

RELEASES:

📖  Articles and Videos

Suppressions of Suppressions — If you’re using a linter to keep your code clean, you may have silenced rules that feel too strict or irrelevant. But those suppressions can bury serious bugs. Dan Abramov argues for adding a rule to forbid disabling your most critical checks.

Dan Abramov

How JavaScript Was Written Back in the Day — It’s not the earliest JavaScript, but Trevor looks back at code written in the 2006-2015 pre-ES6 era.

Trevor I. Lasn

The Only Test Runner Fully Integrated with AI Agents — Wallaby upgrades your AI agent to an expert debugging partner with runtime data, coverage, execution paths, runtime dependencies and real-time insights.

Wallaby Team sponsor

Native Hot Module Reloading in Node via Module Hooks — A clever use of module hooks to implement ‘hot module’ functionality natively and efficiently.

Immaculata

📺 Don't Use JSON.parse & JSON.stringify – Jack points out some of these functions’ shortcomings and possible workarounds. Jack Herrington

📄 How ESLint Language Plugins Enhance DSL Usability Nicholas C. Zakas

📄 Things to Avoid in JavaScript – A reminder of some basics. Suren Enfiajyan

📄 Angular 20 Might Seem Boring — 6 Reasons It’s Not Yan Sun

🛠 Code & Tools

npmgraph: A Tool to Visualize npm Module Dependencies — Give this Web-based tool one or more npm package names (or even your package.json file) and you can see a visualization of the dependency graphs for those packages, including where they intersect. Packages can be colored by various criteria (such as number of maintainers) and you can download SVGs of the graphs.

Kieffer, Brigante, et al.

Jest 30: Faster, Leaner, and Better JS Testing — A ‘noticeably faster’ release of this popular testing framework, adding improved ESM and TypeScript support, performance improvements and more. Upgrade docs here.

Zaytsev & Nakazawa

Sync Clerk User Data to Supabase in Real Time with Webhooks — Stop polling and start syncing. This guide shows how to stream Clerk user updates into Supabase with ease.

Clerk sponsor

🍊 Orange ORM: An Active Record ORM for JavaScript and TypeScript — A powerful ORM for Node, Bun and Deno, supporting both TypeScript and JavaScript, and both CommonJS and ESM. It follows an Active Record-style querying approach, is well documented, and certainly worth a look if working with most of the popular SQL databases.

Lars-Erik Roald

Vue Equipment: A Toolkit for Nuxt and Vue.js — A collection of ready-to-use plugins and composables for building modern web apps with both Vue and Nuxt. Explained here.

Magic as a Service

🌓 DarkModeJS 2.0: A Utility Package for Managing Dark Mode — Uses the matchMedia API and the prefers-color-scheme media query to fire functions whenever a user is in dark mode (or changes the mode).

Assortment

🕹️ Odyc.js: A JS Library for Pixel Games/Stories — Has a bit of a 8-bit Game Boy Color vibe to it. You can create games, and try some examples, in this online playground.

Charles Cailleteau

  • 🤖 Midscene.js 0.18 – Let AI and JavaScript be your browser operator.

  • Acorn 8.15 – Small, fast, JavaScript-based JavaScript parser.

  • xo 1.1 – Opinionated but configurable ESLint wrapper.

  • Mocha 11.6 – Test framework for Node & browsers.

  • JsBarcode 3.12 – Barcode generation library.

📰 Classifieds

"Change is just a merge away" - ✨ Automate code reviews with Infinitcode AITry free now.


🎹 STRICH: Add blazing fast and reliable 1D/2D Barcode Scanning to your web apps. Free demo app and 30-day trial available.


Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by Dropbox, Wiz, Lattice, Bilt Rewards, etc.

👀  Fun, fun, fun..

Here's a selection of things from the broader ecosystem this week: