Rsdoctor 1.0: An Analyzer for Rspack and Webpack — A one-stop, intelligent build analyzer making it easier to identify bottlenecks and optimize performance. It’s part of the same family of tools as Rspack (a Rust-powered web bundler) but is fully webpack compatible. If you’ve ever asked why your build times are too long, this is for you.
ByteDance Inc.
💡 In other Rust-powered JavaScript tooling news, the Oxlint JavaScript linter is now in beta. Imagine ESLint, but it runs in seconds on large codebases (indeed, it can process Microsoft's VS Code repo in under a second).
Add Excel-like Spreadsheet Functionality to Your JavaScript Apps — SpreadJS is the industry-leading JavaScript spreadsheet for adding advanced spreadsheet features to your enterprise apps. Build finance, analysis, budget, and other apps. Excel I/O, 500+ calc functions, tables, charts, and more. View demos now.
SpreadJS from MESCIUS inc sponsor
📉How We Made Our Rich Text Editor Load Faster — CKEditor is a long-standing, full featured GPL and commercially licensed rich text editor but its complexity can come with a performance cost. In this two part series (part two here), the CKEditor team digs into how they’ve recently significantly boosted its performance.
Szymon Cofalik (CKEditor)
Next.js vs TanStack — An incisive essay from a developer who’s had enough of the Next.js approach and has found solace in the approach offered by the increasingly capable TanStack collection of tools (as well as Vite).
The Node.js TSC has voted to stop distributing Corepack with future versions of Node. Corepack was originally introduced as a way to manage other package managers.
🛠️ Make Bookmarklets is a handy tool for turning JavaScript into bookmarklet code that you can use directly in a browser bookmark.
RELEASES:
Parcel v2.14.0 – The zero-config bundler adds a new CLI to scaffold apps, first-class MDX support, and beta support for React Server Components.
Ionic 8.5 – Cross-platform JS app development platform.
How to Build a Snake AI Game with Docker and TensorFlow.js — You’ve probably heard about people ‘vibe coding’ games by letting LLMs do the coding work, but what if you want to build a game yourself that has neural network powered elements? TensorFlow.js offers one solution that you could just as easily adapt to non-gaming contexts.
React Trends in 2025 — Each year Robin does a post giving his opinion on what trends he sees arising over the next year. Last year, he put his money on Astro, RSCs, Vercel, and Biome – this year he points at React Server Components, shadcn/ui, TanStack Start, React Router, and more.
Robin Wieruch
Build a Custom RAG AI Agent with TypeScript and Jupyter — Deno, Ollama, and a few different AI models come together in this tutorial for storing document embeddings in a vector store and querying them for use in a basic agent.
Introducing Motion for Vue — Motion is a popular and powerful animation library most commonly associated with React, but now there’s a new Vue flavor and it’s feature complete, too.
Matt Perry (Motion)
Reveal.js 5.2: The HTML Presentation Framework — Brings elegant presentations to anyone with a Web browser. v5.2 adds the ability to trigger ‘lightboxes’ where viewers can see images and videos in a way where they stand out more.
Hakim El Hattab
Introducing @clerk/agent-toolkit — Build agentic systems with support for user and organizational management. Compatible with Vercel's AI SDK and LangChain.
Clerk sponsor
Konva: A JavaScript 2D Canvas Library — The native API for Canvas elements is pretty good, but Konva is a popular abstraction that sits on top and provides a more structured way to work with shapes, styling, events, animations, and more (lots of demos with code). It also has extra integration libraries for Vue, Svelte and React.
A Perplexing JavaScript Parsing Puzzle — It looks deceptively simple – just 14 characters of JavaScript – but after working with JavaScript for 29 years, I got it wrong. A clue: it goes back to a browser-related quirk from 30 years ago..
Hillel Wayne
TypeScript's Compiler to Get 10x Faster — TypeScript has shaken up the JavaScript ecosystem in recent years with an increasing number of developers relying on its strong typing and added structure. TypeScript’s compiler isn’t particularly fast, though, but the TypeScript team at Microsoft are changing that by porting it to Go!
Build a Secure Project Management — Learn a security-first approach to building web applications by building a secure project management platform with Next.js.
Clerk sponsor
IN BRIEF:
Node.js v20.19.0 (LTS) is a notable release for a maintenance branch of Node as an exception has been made to the maintenance policy for backporting require(esm) support, which is now enabled by default.
The latest version of Chrome (and preview versions of Firefox and Safari) support two new HTML attributes, command and commandfor, for adding declarative actions to HTML buttons without directly requiring JavaScript.
RELEASES:
Nuxt 3.16 – Popular Vue meta-framework. Now with a new create-nuxt tool for starting projects.
Bun 1.2.5 – Now with much better Node-API compatibility, CSRF generation and verification, plus numerous perf improvements and fixes.
Building APIs with Next.js — A detailed, official introduction to the concepts behind using Next.js’ App Router and route handlers to build public APIs you can expose to web, mobile, and third-party clients.
📄 Use Cases for the Document Picture-in-Picture API – A way to open a floating, always-on-top window (‘picture-in-picture’) that can display arbitrary HTML content. Chrome only, though. Jad Joubran
🔎Node Modules Inspector — A tool that runs pnpm inside your browser, “installs” a package, then analyzes its dependencies. This can be useful for analyzing packages you already use, but also for simplifying your own projects, as 11ty’s Zach Leatherman did here.
Anthony Fu
PGlite: Run Postgres in WebAssembly — PGlite packages a WASM build of Postgres into a TypeScript library that can be run directly from Node.js (or Bun, Deno, and even the browser) and it’s only a few megabytes in size.
ElectricSQL / Neon
Gleam 1.9 – Type-safe functional programming language that targets both the Erlang VM and JavaScript runtime.
Current PDF setup slowing you down? Try Nutrient's PDF SDK — it's used by IBM, SAP, DocuSign and countless others to open, edit, and customize with ease across platforms.
👀 Give your eyes a break! MonoLisa is a font optimized for developers. Try now.
📢 Elsewhere
A quick roundup of some of other interesting updates or useful resources in the broader developer landscape:
A Report on How the Web is Really Using JavaScript — Each year, the HTTP Archive puts together the Web Almanac, a report on the ‘state of the Web’. The JavaScript section has just gone live and goes into depth on how much JS we’re using (or failing to use!), the popularity of TypeScript, loading methods, Web Worker use, and, yes, jQuery still leads the way!
Build Dynamic Forms with a JSON-Powered White-Label Form Builder — Create fully customizable, JSON-driven forms in your JavaScript app with SurveyJS. Our drag-and-drop form-building UI component integrates seamlessly with React, Angular, Vue 3, and vanilla JS, plus has no backend restrictions. Perfect for form-heavy apps.
JavaScript Fatigue Strikes Back — A developer with ‘a decade away’ from writing JavaScript returns to find that one thing hasn’t changed: “Choosing the right JavaScript framework is hard, man.”
Allen Pike
Dr. Axel's 'Sales Pitch' for TypeScript — As one of JavaScript’s most esteemed writers, if Dr. Axel can’t convince you of the value of TypeScript, who could?
Reimplementing Crossy Road in JavaScript — Two well put together tutorials so far covering reimplementing Crossy Road with either Three.js or React Three Fiber. In both written or video form.
TanStack Form v1.0: Headless, Type-Safe Form State Management — A type-safe, framework agnostic (React, Vue, Angular, Solid and Lit are all supported out of the box), headless and isomorphic way to create and work with forms, with this v1.0 release over two years in the making. If you already use things like Formik or React Hook Form and are wondering how it differs, here’s a comparison table.
📈 Perspective 3.4 – Streaming data viz and analytics component. The core is written in C++ and compiled to WebAssembly. The homepage shows it off well.
Happy DOM 17.3 – Cross-runtime JS implementation of a web browser sans UI.
Meet Harmony - An open source library for composing consistent and highly performant platforms from independent business features.
🏎️ Cut Integration Time – CarsXE’s API ensures minimal setup and faster deployment for your project. Learn more.
Working with in-app PDFs can be frustrating. Try Nutrient’s PDF SDK which handles problems effortlessly, so you don’t have to spend time fixing them. Used by ~1 billion end users in more than 150 different countries.
📢 Elsewhere
A quick roundup of some of other interesting updates or useful resources in the broader developer landscape:
🗓️ endoflife.date is a handy, updated source of 'end-of-life' dates for hundreds of open source projects, including Angular, Node.js, and Vue. A great resource.
Dive into WebGPU is a fantastic four part series on using the Web's most modern graphics API for creating striking visual effects.
FerretDB 2.0 is an interesting open source MongoDB alternative built on top of Postgres.
✏️ Whenever we include more than a few links about TypeScript, we get complaints from people who don't like it. We get that, we love you folks, and we're aware. TypeScript isn't our main focus but we do cover it, including critical pieces. That in mind, prepare yourself for our top feature... but the rest of the issue is mostly JavaScript, promise! 😅 __ Peter Cooper, your editor
Functional JavaScript First Steps, v2 — A friendly, practical introduction to functional programming fundamentals in JavaScript. Learn the power of the pure function while exploring functional programming paradigms.
Frontend Masters sponsor
Bun v1.2.3 and v1.2.4 Released — The rapid pace of progress on the JavaScriptCore-based runtime is only increasing. v1.2.3 pushes frontend dev server features (run bun ./index.html and all the bundling is done for you). bun init can now be used to create a new React project. Meanwhile, Bun 1.2.4 builds macOS apps 60% faster and macOS executables can now be code signed.
Jarred Sumner et al.
What is TypeScript? An Overview for JavaScript Programmers — You may have noticed esteemed JavaScript developer and author Dr. Axel has been on a TypeScript odyssey recently. Here he does a good job at boiling down the what (rather than the ‘why’) of TypeScript. A handy primer on what’s going on, even if you don’t plan to use it, since you'll end up interacting with it somewhere..
Windows 95 in Electron is, unsurprisingly, Windows 95 running in an Electron app! v4.0 adds Office 95 and IE 5.5 for some (limited) browsing of the Web.
Next.js 15.2 – Now with a redesigned debugging experience and experimental support for React's new View Transitions API and using the Node.js runtime in middleware.
Astro 5.4 – Now with remote image optimization and experimental responsive image support in Markdown.
ESLint v9.21.0 – Now with a --ext CLI option to lint files with a particular extension.
React Libraries for 2025 — Each year, prolific React blogger Robin updates his post covering his opinionated list of essential React ecosystem libraries. He covers a lot of angles from project creation and package management through to state management, animation, form creation, auth, and i18n.
Robin Wieruch
Turbocharging V8 with Mutable Heap Numbers — The V8 team uses the JetStream2 benchmark suite to investigate performance issues and has implemented a new optimization yielding not just a 2.5x improvement in the async-fs benchmark but in other areas too.
Subverting Control with Weak References — A weak reference differs from a normal reference in that it doesn’t prevent a referenced object from being garbage collected. Most modern JS runtimes support them and James shows how they can be useful.
Svelvet 11: Build Node-Based UIs with Svelte — A mature Svelte component library for creating interactive node-based UIs and diagrams. v11 adds the ability to toggle between ‘snap grid’ and freeform modes for manipulating elements. (There’s a live demo at the bottom of the homepage.)
Random: Seedable Random Number Generator — You’ve got Math.random but this library takes things a few steps further with easy ways to create random values of various types and using different distributions (e.g. normal distribution, Bernoulli, Poisson, Pareto and Weibull).