🥚 A Good Friday, if you celebrate Easter at all. We're taking a little break but didn't want to take the entire week off, so we have a slimline issue for you today :-) We'll be back to full service next Friday! __ Peter Cooper, your editor
It's worth following Rob Palmer if you want to keep up to date with TC39 goings-on as he's always sharing the latest news.
Plug & Play Image Editor For Your Web App — Save yourself the headache of building an image editor. Import the pintura module, give it an image source, and instantly get features like cropping, rotating, resizing, and annotation. Need help? Support has you covered. Try it for free today.
Dan Abramov is back with JSX Over The Wire, a fantastic meditation on the evolution of passing data and behavior between servers and clients and how things could get even better.
🤖 Microsoft's Burke Holland ▶️ shows off VS Code's new 'agent mode' feature which really makes Copilot far more powerful and a fine alternative to dedicated AI-powered editors. I've been using it a lot this week.
Astro 5.7 – The popular content framework gains an experimental fonts API, its sessions API is now stable, and there's support for using local SVG files as components.
WebStorm 2025.1 – JetBrains' JavaScript IDE – fresh with big AI, Angular, monorepo, and Next.js enhancements.
tldts 7.0 – URL parsing library to extract domains, subdomains, suffixes, etc.
A Flowing WebGL Gradient, Deconstructed — Even if you don’t want to render a neat plasma-style effect on the Web, this is a wonderfully deep exploration of the math and technology behind doing so using simple GLSL code that could be easily understood by any JavaScript developer.
Advanced React in the Wild — A round-up of case studies showing how five different engineering teams have pushed React to the limit in production and their real-world wins in areas like performance, Core Web Vitals, caching, and more. A lot to enjoy here.
Addy Osmani and Hassan Djirdeh
📺 Building Single Page Apps with SvelteKit – And not only that, you can create SvelteKit apps in a single HTML file that can run without a Web server. (15 minutes) Stanislav Khromov
Next.js Fundamentals, v4 — Master Next.js with Scott Moss. Learn React Server Components, Server Actions, dynamic routing, authentication, caching, and edge functions. Create a modern React app, deploy it to Vercel, and level up your skills.
Frontend Masters sponsor
Node.js Testing Best Practices — A detailed guide to modern testing in Node from a group of developers who know all about it. It’s on GitHub, but essentially written like a free book covering over 50 battle-tested tips covering areas as diverse as the ‘Testing Diamond’, testing microservices, and simulating flaky networks.
Goldberg, Salomon, and Gluskin
IN BRIEF:
There's speculation that the npm registry may have wiped all access tokens. If you're having problems, the status update recommends creating new tokens while they attempt to restore them.
Comparing Tauri and Electron for Building Desktop Apps — Electron is a natural choice for building JS and HTML-powered cross-platform desktop apps but numerous alternatives have appeared like Neutralinojs and the Rust-based Tauri. This post does a good job of quickly showing how Tauri differs and why you might choose it.
Next.js 15.3: Now Including Turbopack Builds — The popular React framework now includes alpha support for using Turbopack for much faster production builds (especially if you have lots of cores available), community support for Rspack, and new navigation hooks.
The Vercel / Next.js Team
Chrono 2.8: A Natural Language Date Parser — Give it a string like “today”, “last Friday”, “2 weeks from now”, or even an entire date and time, and it’ll come up with a date object to suit.
Tired of hearing about TypeScript? Why not experiment with programming in PostScript and running games on your printer?
Minimal CSS-only Blurry Image Placeholders is an article showing off a very clever technique for using CSS to dynamically create blurry image placeholders prior to an image loading in.
Mozilla's Simon Pieters tells us that default styles for H1 elements are changing and browsers are starting to roll out changes in default styles for nested section headings.
Bare: A New Lightweight Runtime for Modular JS Apps — Imagine something like Node.js but really stripped back: bare, if you will. Like Node, it’s built on top of V8 and libuv (though it's designed to support multiple JavaScript engines) but Bare’s approach is to provide as little as possible (a module system, addon system, and thread support) and then rely upon userland modules that can evolve independently of Bare itself. It’s an interesting idea – more details here.
AG Grid: The Best JavaScript Data Grid In The World — Create high-performance data grids with our open-source library, trusted by 90% of the Fortune 500. Add advanced features like Integrated Charting, Grouping, Pivoting and more with a few lines of code. Supports React, Angular and Vue. Try for free.
AG Grid sponsor
React 19.1 Released — The headline feature is Owner Stacks, a dev-only feature to track which components are responsible for rendering other components. 19.1 also brings fixes, small additions (like support for streaming in edge environments), a new API for prerendering RSCs on the server, and enhanced Suspense support.
Could JavaScript Have Synchronous await? — Dr. Axel reflects on the problems around async code being different to synchronous code and ways around the limitations faced. What could the consequences of a synchronous await be?
JavaScript's Missing Link? Wasp Offers a Full Stack Solution — A look at what the Wasp team is trying to do building a full-stack webapp framework around React, Node, and Prisma. It’s a powerful option if you’re looking for a more traditional-feeling full-stack approach.
TinyBase v6.0: A Reactive Data Store for Local-First Apps — We’re huge fans of this powerful reactive data store that can be used as the entire backend for many types of app. v6.0 adds no new functionality but brings React 19 support and goes ESM-only. Check out the homepage for more.
✉️ Don't forget we have two other JavaScript related newsletters if you work with Node.js or React: Node Weekly and React Status respectively.
📢 Elsewhere
A quick roundup of other interesting updates and useful resources from across the broader developer landscape:
If you fancy writing a blog post that could make it into JavaScript Weekly, checking out How to Write Blog Posts that Developers Read by Michael Lynch isn't a bad idea.. :-) (Then hit reply and tell us about it!)
⭐The State of Vue.js Report 2025 — Created with the support of the Vue and Nuxt teams, this is no mere collection of statistics and charts (though there’s plenty of both) but a thorough update on the state of both projects and an interview with Evan You on Vue (and Vite's) latest developments. Essential reading for any Vue, Vite, or Nuxt user and a one-stop shop for understanding Vue and Nuxt as they stand right now.
Monterail
Master Chrome's DevTools — Join Jon Kuperman for this video course diving into Chrome's DevTools. You'll go beyond console.log(), learning how to inspect, debug, and audit your web apps — tracking performance, identifying bottlenecks, making performance gains, and more. Level up your DevTools skills.
Frontend Masters sponsor
War Story: The Hardest Bug I Ever Debugged — A former engineer on the Google Docs team tells the tale of a bizarre error that afflicted Google Docs out of the blue about ten years ago. It’s a gnarly one and was only solved due to his swift access to V8’s engineers. If you’ve ever spent hours digging into a bug, you’ll feel glad you weren’t dealing with this one!
🤖 If you haven't checked out Google's Gemini AI tool recently (or ever), it now supports generating HTML, JavaScript, and React code in a 'canvas' mode for building components on the fly.
🤖 MCP Node.js Debugger is an attempt to make Node's debugger more accessible to third-party AI coding tools (such as Cursor or Claude Code).
Land Ahoy: Leaving the Sea of Nodes — A deeply technical post from a core member of the V8 JavaScript engine team that explains the limitations of Turbofan, one of V8’s optimizing compilers. If you don’t care for the internals of how your JavaScript is compiled and run, just be assured the V8 team is working to make it run even faster.
▶ React Query API Design: Lessons Learned — You might know Dominik for all his work on React Query, TanStack Router, and his epic React Query - The Bad Parts series. Here, he walks us through the design choices made while building React Query and shares lessons and mistakes valuable to anyone building their own libraries. (30 minutes.)
Babylon.js 8.0: Microsoft's JavaScript 3D Engine — 8.0 adds support for improved ‘image based lighting’ and ‘area lights’ for environmental lighting and shadows, extra control of the render pipeline, and a new lightweight viewer. And, as always, they have ▶️ a short video showing it all off.
Microsoft
🤖An MCP Server for Playwright and Browser Automation — MCP (Model Context Protocol) servers enable certain LLM-based agents (such as Claude, Claude Code, and Cursor) to perform actions on a system outside of their usual sandbox. This new project from Microsoft enables such LLMs to interact with browsers via Playwright.