13 Jun 2025

feedJavaScript Weekly

Everybody's gone lintin'

#​740 - June 13, 2025

Read on the Web

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 Store - pnpm 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 AI: Try 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:

13 Jun 2025 12:00am GMT

06 Jun 2025

feedJavaScript Weekly

TC39 advances numerous proposals at latest meeting

#​739 - June 6, 2025

Read on the Web

πŸ–ŠοΈ I was meant to be traveling this week. My plans changed, but I'd planned for a shorter issue, so enjoy the bitesize take! Back to full service next week. :-)
__
Peter Cooper, your editor

JavaScript Weekly

⚑ Announcing Rolldown-Vite - Rolldown is a fast Rust-based JavaScript bundler designed to eventually be used by the equally fast Vite build tool - now it's a reality. It's a drop-in replacement too, and early adopters are reporting huge build time reductions. Try it now before it becomes the default.

Evan You

TC39 Advances Several Proposals at Latest Meeting - Coverage of what happened at last week's meeting of the folks working on the ECMAScript spec whose decisions influence what becomes everyday JavaScript (eventually). Array.fromAsync, Error.isError, and explicit resource management all move to stage 4, among other things.

Sarah Gooding

CodeRabbit's Free AI Code Reviews in IDE - VS Code, Cursor, Windsurf - Code Rabbit brings AI code reviews to VS Code, Cursor & Windsurf. Get line-by-line reviews, one-click fixes & codebase-aware feedback - all free in your IDE. Seamlessly integrates with git workflows. Install the extension & start reviewing!

CodeRabbit sponsor

WebStatus.dev: Now with More Data, Deeper Insights, and a Clearer Path to Baseline - Google's Web Platform Status site lets us query and track various web platform features and the browsers that support them. It's had a big update recently.

Kadir Topal (Google)

IN BRIEF:

RELEASES:

πŸ“– Articles and Videos

A JavaScript Developer's Guide to Go - Go is a popular, fast language most commonly used for backend work, and this is a good primer targeted at JavaScript developers keen to learn more about it.

Prateek Surana

πŸ’‘ If you get into Go, we also publish Go Weekly, a newsletter just like JavaScript Weekly but for Go developers :-)

document.currentScript is More Useful Than I Thought - "Every so often, I stumble across a well-established JavaScript API in the browser that I probably should've known about years ago."

Alex MacArthur

β–Ά Talks from Svelte Summit Spring 2025 - The Svelte team recently promised to release the talk videos from its recent Svelte Summit event, and there are already 12 to enjoy here. ▢️ What Svelte Promises by Rich Harris, Svelte's creator, is the obvious entry point.

Svelte Society

πŸ’‘ If videos aren't your thing, the Svelte team has also published a monthly update of what's new in Svelte, as of June 2025.

πŸ“„ Write More Reliable JavaScript with Optional Chaining - It might?.be?.a?.good?.idea Matt Smith

πŸ“„ How Imports Work in React Server Components Dan Abramov

πŸ“„ Intercepting Network Requests in Chrome Extensions rxliuli

πŸ“„ The Ingredients of a Productive Monorepo Sean Gillespie

πŸ›  Code & Tools

php-node: A Way to Seamlessly Bring PHP to Node.js - A neat idea, even if you don't like PHP. It's a native module for Node that lets you run PHP apps within the Node environment. Why? For migrating legacy apps, building hybrid PHP/JS apps, or Node apps that simply need to call out to PHP for some reason (WordPress, maybe, as shown here).

Matteo Collina et al.

Learn How to Monetize Your SaaS with Clerk Billing - Clerk Billing makes SaaS subscriptions easy - no custom UI, no webhooks. Learn how to set it up in this guide.

Clerk sponsor

Storybook 9: The UI Component Workshop - The popular one-stop tool for working on, and testing, frontend UI components gets a big update in terms of testing. Storybook Test offers interaction, visual, and accessibility testing, complete with a 'watch mode' for testing whenever you save, whether you're working with React, Svelte, Next.js, React Native, and more.

Michael Shilman

πŸ–οΈ Beachpatrol: A CLI Tool to Automate Your Everyday Web Browser - A higher level way to use Playwright on macOS or Linux to control a regular non-headless browser instance. It's essentially an approach where you still want a visible browser you can use in a normal way but with added automation possibilities.

Sebastian Carlos

06 Jun 2025 12:00am GMT

30 May 2025

feedJavaScript Weekly

How Remix is shaking things up

#​738 - May 30, 2025

Read on the Web

JavaScript Weekly

Wake Up, Remix! Everything's Changing.. - Big news from the Remix camp this week. About a year ago, Remix and React Router merged together reflecting their shared goals and code, but now it's all change again. React Router is now basically what Remix originally intended to be, and so 'Remix' is rebooting as a model-first, low-dependency, Web API-centric full-stack framework built on Preact. It'll no longer be a 'React framework' per se.

Michael Jackson and Ryan Florence

πŸ•’ The Upcoming Temporal API and What Problems It Will Solve - The Temporal API has been cooking for many years now as a new way to work with dates and times in JavaScript. It's just been enabled in Firefox 139 by default and sure to come to more runtimes ASAP. Here's why it matters and what it offers.

Suren Enfiajyan

CodeRabbit's Free AI Code Reviews in IDE - VS Code, Cursor, Windsurf - Code Rabbit brings AI code reviews to VS Code, Cursor & Windsurf. Get line-by-line reviews, one-click fixes & codebase-aware feedback - all free in your IDE. Seamlessly integrates with git workflows. Install the extension & start reviewing!

CodeRabbit sponsor

Announcing Angular v20 - A big release for the Google backed framework where a lot of the more recent experimental features (like signals and incremental hydration) have received a lot of polish and been promoted as stable. There are new experimental APIs too, including resource streaming and httpResource for making HTTP requests with a signal-based reactive API.

Minko Gechev

πŸ’‘ While the official release post (above) is packed with content, you might appreciate this brief magic-themed roundup of what's new in Angular 20.

IN BRIEF:

RELEASES:

πŸ“– Articles

Why Are 2025/05/28 and 2025-05-28 Different Days in JavaScript? - An interesting 'Wat'-like moment in just the first few lines of this post, which Brandon decided to dig into and explain.

Brandon Dong

β–Ά Modern Performance Debugging in Chrome DevTools - Paul shares a look at the reimagined Chrome DevTools Performance panel, showing off new features, how they work, and how to use them to make performance gains.

Paul Irish

Build an LMS SaaS App from Scratch - Learn to build a production-ready AI SaaS using Next.js with auth, billing, and an AI voice agent.

Clerk sponsor

React, Visualized: A Visual Exploration of React Concepts - The creators of a React course have updated their popular visual explainer of numerous core React concepts to cover React 19 and features like actions, transitions, and Server Components too.

Tyler McGinnis et al.

β–Ά The 3 Ways JavaScript Frameworks Render the DOM - The creator of the SolidJS framework looks at the different approaches frameworks take to render what they produce. A good look under the hood that isn't too complex. (16 minutes.)

Ryan Carniato

Build a Blog with Angular in Under 30 Minutes Using Analog - Analog is a meta-framework for Angular (think along the lines of Next.js or Nuxt).

Peter Mbanugo

Your React Meta-Framework Feels Broken, Here's Why - "Sometimes you've got to burn it all down, start from ash, and rebuild from first principles. This is what we did with RedwoodSDK."

Redwood Team

πŸ“„ No Server, No Database: Smarter Related Posts in Astro with Transformers.js Alexander Opalic

πŸ“„ A Thought on JavaScript 'Proof of Work' Anti-Scraper Systems Chris Siebenmann

πŸ“„ Multithreading in JavaScript with Web Workers Badmus Kola

πŸ›  Code & Tools

Svelte Flow 1.0: Create Node-Based UIs and Diagrams in Svelte - From the creators of the similar React Flow comes a customizable Svelte component for building node-based editors and interactive diagrams. Want examples?

webkid GmbH

Cap: A Lightweight, Modern Open Source CAPTCHA Alternative - This solution boasts a method called "proof-of-work" which attempts to make automated CAPTCHA solving more expensive. It uses a Web Component and you can try out a few demos here. GitHub repo.

Cap

Enterprise Requirements Slowing You Down? There's a Better Way - WorkOS lets devs ship SSO, SCIM, audit logs & more-fast. Trusted by industry-leading teams like OpenAI, Vercel & Plaid.

WorkOS sponsor

Google Gen AI SDK for TypeScript and JavaScript v1 - Why let Python developers have all the fun? Now you can harness the full power of Google's Gemini API (and Vertex platform) from Node.js too.

Google

ReactJust: Server Components Without a Framework - If, for some reason, you don't want to adopt a full-scale framework like Next.js or React Router to use or experiment with RSCs, this 'vanilla RSC' approach could be of interest.

almadoro

πŸ“° Classifieds

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

How Notion's engineering team tackled viral user growth to run PostgreSQL at scale on Amazon RDS with pganalyze.

πŸ‘€ Elsewhere..

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

30 May 2025 12:00am GMT

23 May 2025

feedJavaScript Weekly

A timeline of JavaScript's history

#​737 - May 23, 2025

Read on the Web

JavaScript Weekly

A Brief History of JavaScript - JavaScript (originally named LiveScript) turns thirty years old this year and the Deno team has put together a fantastic timeline-based tour of how much things have progressed from its first appearance in Netscape Navigator, through offshoots like JScript, standardization, and the introduction of Node.js, all the way through to the modern day.

The Deno Team

2x-40x Faster Docker Builds with Blacksmith - With a one-line code change, Blacksmith can make your Docker builds incremental by mounting your Docker layer cache into your GitHub Actions runner. Blacksmith is used by 600+ companies like Ashby, Clerk, and Mintlify.

Blacksmith sponsor

⚑ Announcing TypeScript Native Previews - Earlier this year, Anders Hejlsberg teased a 10x faster TypeScript through efforts being made to port the TypeScript compiler to Go, enabling it to be compiled and run natively, as well as take advantage of more concurrency. The good news is you can now give it a.. go for yourself.

Microsoft

β–Ά An Introduction to JavaScript Frameworks - The creator of SolidJS has put together a tight 11-minute video boiling down the different approaches taken by React, Angular, Vue, Svelte, and Solid. Dense, but a great way to get a lay of the land.

Ryan Carniato

IN BRIEF:

RELEASES:

πŸ“– Articles

β–Ά What's New in Angular - Two members of the Angular team presented a session at this week's Google I/O event on the latest updates to the Angular framework in anticipation of the eventual release of Angular 20 next Thursday.

Chasanoff and Thompson (Google)

ESLint v9.0: A Retrospective - It's been a year since ESLint v9.0 landed as the first major release in a few years. It enabled the new flat-config system by default and the rollout didn't go as smoothly as hoped. This retrospective breaks down the full story and shares the lessons learned.

Nicholas C. Zakas

Getting Started with Clerk Billing - Learn how to build a complete billing experience with Clerk and Stripe, no custom UI or webhooks required.

Clerk sponsor

Six Ways Slack, Notion, and VS Code Improved Electron App Performance - An experienced Electron app developer shares a guide to Electron performance optimization and how to get the most out of your apps.

Amila Welihinda

πŸ“„ How the at() Method Makes Array Indexing Easier Matt Smith

πŸ“„ Styling Console Text in Node.js Dr. Axel Rauschmayer

πŸ“„ Authenticating JavaScript WebSockets Steven Waterman

πŸ›  Code & Tools

Defuddle: Extract the Main Content from Web Pages - Strips extraneous clutter from HTML in order to leave only the primary content for you to format or use as you wish. Essentially a modern implementation of the ideas behind Mozilla's Readability. There's an online demo if you want to give it a try.

Steph Ango

snapDOM: Captures DOM Nodes as Images - A fast and accurate DOM-to-image capture mechanism to capture any HTML element as a scalable SVG image, preserving styles, fonts, background images, etc.

ZumerLab

AI-Powered Code Reviews for JavaScript Teams - CodeRabbit helps you ship cleaner JavaScript by reviewing every PR with AI that understands your codebase.

CodeRabbit sponsor

ForesightJS: Predictive Mouse Intent Library - An interesting concept, with the entire page acting as a demo of sorts. The idea is to decrease latency by prefetching data or pages as soon as you think a user might be heading in that direction. Your mileage may vary and it's less useful for touch devices.

ForesightJS, Inc.

Astra: A New JavaScript-to-EXE Compiler for Windows - Boasts "a new approach to compiling" JavaScript applications for a single executable experience on Windows only (for now).

QwertyCodeQC

Crosspost: A JS Utility for Posting Across Multiple Social Networks - Currently supports eight different services including Bluesky, X, Mastodon, and LinkedIn.

Nicholas C. Zakas

Rockpack 6.0: An Alternative React App Starter - A tool aiming to get React project setup time as low as possible, complete with server side rendering support, bundling, linting and testing. v6.0 updates everything for React 19. GitHub repo.

Alex Sergey

πŸ“° Classifieds

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

Build a professional design system in less than a day, using Hope AI, new model by Bit.Cloud. Enjoy reusable UI components ready for import.

πŸ‘€ Elsewhere..

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

23 May 2025 12:00am GMT

17 Jul 2024

feedOfficial jQuery Blog

Second Beta of jQuery 4.0.0

Last February, we released the first beta of jQuery 4.0.0. We're now ready to release a second, and we expect a release candidate to come soonβ„’. This release comes with a major rewrite to jQuery's testing infrastructure, which removed all deprecated or under-supported dependencies. But the main change that warranted a second beta was a … Continue reading β†’

17 Jul 2024 2:03pm GMT

17 Apr 2024

feedOfficial jQuery Blog

Upgrading jQuery: Working Towards a Healthy Web

jQuery's influence on the web will always be evident. When it was first introduced in 2006, jQuery became a fundamental tool for web developers almost immediately. It simplified JavaScript programming, making it easier to manipulate HTML documents, handle events, perform animations, and much more. Since then, it has played and continues to play a major … Continue reading β†’

17 Apr 2024 5:00pm GMT

06 Feb 2024

feedOfficial jQuery Blog

jQuery 4.0.0 BETA!

jQuery 4.0.0 has been in the works for a long time, but it is now ready for a beta release! There's a lot to cover, and the team is excited to see it released. We've got bug fixes, performance improvements, and some breaking changes. We removed support for IE<11 after all! Still, we expect disruption … Continue reading β†’

06 Feb 2024 4:43pm GMT

28 Aug 2023

feedOfficial jQuery Blog

jQuery 3.7.1 Released: Reliable Table Row Dimensions

jQuery 3.7.1 has been released! This release fixes a regression from jQuery 3.6.0 that resulted in rounded dimensions for <tr /> elements in Chrome and Safari. Also, a (mostly) internal Sizzle method, jQuery.find.tokenize that was on the jQuery object was accidentally removed when we removed Sizzle in jQuery 3.7.0. That method has been restored. As … Continue reading β†’

28 Aug 2023 1:40pm GMT

11 May 2023

feedOfficial jQuery Blog

jQuery 3.7.0 Released: Staying in Order

jQuery 3.7.0 is now available! This release has it all: bug fixes, a new method, and a performance improvement! We even dropped our longtime selector engine: Sizzle. Or, I should say, we moved it into jQuery. jQuery no longer depends on Sizzle as a separate project, but has instead dropped its code directly into jQuery … Continue reading β†’

11 May 2023 6:38pm GMT

08 Mar 2023

feedOfficial jQuery Blog

jQuery 3.6.4 Released: Selector Forgiveness

If you've been following along with recent jQuery releases, we have been working on how to address the recent addition of some new selectors in browsers, especially :has. jQuery 3.6.3 settled on the strategy of using native CSS.supports to determined whether a selector should be passed directly to querySelectorAll or instead go through jQuery's selector … Continue reading β†’

08 Mar 2023 3:52pm GMT

20 Dec 2022

feedOfficial jQuery Blog

jQuery 3.6.3 Released: A Quick Selector Fix

Last week, we released jQuery 3.6.2. There were several changes in that release, but the most important one addressed an issue with some new selectors introduced in most browsers, like :has(). We wanted to release jQuery 3.6.3 quickly because an issue was reported that revealed a problem with our original fix. More details on that … Continue reading β†’

20 Dec 2022 9:35pm GMT

13 Dec 2022

feedOfficial jQuery Blog

jQuery 3.6.2 Released!

You probably weren't expecting another release so soon, but jQuery 3.6.2 has arrived! The main impetus for this release was the introduction of some new selectors in Chrome. More on that below. As usual, the release is available on our cdn and the npm package manager. Other third party CDNs will probably have it soon … Continue reading β†’

13 Dec 2022 3:13pm GMT

26 Aug 2022

feedOfficial jQuery Blog

jQuery 3.6.1 Maintenance Release

jQuery 3.6.1 has been released! It's been a while since our previous release. We were looking at fixing some elusive edge cases related to focus and blur, but we never quite got the fix right. If there's any area of jQuery that's hard to change, it's likely related to focus somehow. We're leaving those as-is … Continue reading β†’

26 Aug 2022 5:55pm GMT

07 Oct 2021

feedOfficial jQuery Blog

jQuery maintainers continue modernization initiative with deprecation of jQuery Mobile

By: Michal Golebiowski-Owczarek, Felix Nagel, and the jQuery team Editor's Note: the following blog post was originally published to the OpenJS Foundation Blog. jQuery maintainers are continuing to modernize its overall project that still is one of the most widely deployed JavaScript libraries today. The team announced that the cross-platform jQuery Mobile project under its … Continue reading β†’

07 Oct 2021 3:22pm GMT