📖Exploring JavaScript (ES2025 Edition) — Dr. Axel is back with his latest book covering all things relating to modern JavaScript at the language level (think built-in data types, modularity, how objects, classes and promises work, etc.). As with all of Axel's books, it’s available to buy but also to read online in HTML form for free. He’s also produced a set of flashcards to help you learn language features in both HTML and Anki forms.
Dr. Axel Rauschmayer
💡 The two sets of flashcards (including API flashcards) are worth a look on their own as you'll almost certainly learn/remember something useful looking through them.
Biome v2: The First Type-Aware Linter That Doesn't Require tsc — Boasts being the first JavaScript and TypeScript linter that doesn’t require the TypeScript compiler, while still offering type-aware linting rules. There’s a lot to enjoy here, including initial support for linter plugins and improved monorepo support, though note that Vue and Svelte templates aren’t yet supported.
Bun v1.2.16 – The high performance JS runtime adds support for returning files for routes via Bun.serve, along with a slew of bugfixes and Node compatibility improvements.
Astro 5.10 – The content-driven JS framework makes its responsive images feature stable, and adds a new experimental feature: live content collections.
ESLint v9.29.0 – Now supports the syntax used for explicit resource management (using and await using).
▶ Compiling JavaScript Ahead-of-Time — The creator of the Porffor JavaScript compiler talks about the various ways to make JavaScript faster to execute, before digging into Porffor’s approach.
Oliver Medhurst
Using await at the Top Level in ES Modules — Top-level await is supported in all modern browsers and in Node.js (beyond v16) in .mjs files or .js files specified as modules.
React Native 0.80 Released — React Native 0.80 lands with React 19.1, a new opt-in set of stricter TypeScript types, and experimental support for prebuilt dependencies on iOS to speed up builds. The legacy architecture is now officially 'frozen', with warnings for APIs slated for future removal.
react-searchable-dropdown: A Customizable Dropdown Component — A modern, accessible, and customizable dropdown component that supports large datasets with virtualization, lets users create new options, works with both simple and complex data, and is easy to style and extend. GitHub repo.
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.