Plus pnpm gets even more efficient, and the state of the React community. |
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 |
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. A writeup of a vulnerability found in OpenPGP.js. Matteo Collina gives us a public service announcement around the end-of-life of some recent Node.js versions and some tips on upgrading to v22. Gleam is an easy to read/write language targeting both Erlang and JS runtimes. The big news is that Gleam compiled to JS is now 30% faster. |
RELEASES: 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. Visual Studio Code May 2025 – Big enhancements to MCP support, but VS Code extensions can now also use ES modules. Deno 2.3.6, Rollup v4.43, Jasmine 5.8, Vue DevTools v7 for Firefox |
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 |
📺 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 |
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. |
🍊 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 |
🤖 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. |
Here's a selection of things from the broader ecosystem this week: The billionth repo on GitHub (be warned, it has a mildly NSFW name) has just been created to much celebration. Shopify explains its work on making import maps easier to use, including work on shims, the HTML spec, and encouraging browser developers to implement improvements. 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. You may recall the TypeScript team is porting the TypeScript compiler to Go to take advantage of both native compilation speedups and Go's concurrency features. John Reilly and Ashley Claymore explain why Go is a 'pragmatic choice' for this project. | |