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.
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:
Surfin' Safari? Apple's WWDC25 event this week saw numerous developments that aren't 'liquid glass' related, including a look at what's new in Safari 26 (beta) including support for pattern modifiers in RegExp objects.
H3 v2 Beta – Cross-runtime Web standards focused HTTP server framework.
Node.js v24.2 (Current) – import.meta.main is a new boolean value available in ES modules that tells you if the current module was the entry point of the current process.
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.
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.
🍊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.
GitHub's remote MCP server is now in public preview. It enables AI agents and tools to access live GitHub context and work with various concepts like issues and pull requests.
🖊️ 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.
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 :-)
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).
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.
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.
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.
▶ 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.
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.)
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.
Simon Willison writes about how GitHub Issues works really well as a personal notebook for taking notes, linking them together, and generally organizing whatever sort of information you want. It doesn't have to just be for code projects.
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.
▶ 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.
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.
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.
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.
Here's a selection of things from the broader ecosystem this week:
Google's I/O event took place this week and ▶️ its 'developer keynote' was a highlight, particularly when Addy Osmani showed off some of the latest Chrome DevTools fun (starting at about 30 minutes in).
Microsoft has unveiled a new Postgres extension for VS Code that brings IntelliSense completion to SQL, GitHub Copilot integration, a visual way to explore your schemas, and more.
🤖 Anthropic has unveiled its new Claude 4 models. The Claude family of LLMs are quite heavily used by modern coding agents, as well as Claude's own now-generally-available Claude Code tool.
The Glitch platform, a popular way to build and host Node-backed webapps, is shutting down its app hosting functionality – it seems uncertain quite what Glitch will or won't be after July.