28 Mar 2025

feedJavaScript Weekly

The tale of a bizarre bug encountered in Google Docs

#​729 - March 28, 2025

Read on the Web

JavaScript Weekly

⭐ 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!

Jacob Voytko

Next.js's Recent Middleware Security Woes - Last weekend, a new version of Next.js landed to resolve a security vulnerability that could allow middleware to be bypassed. Self-hosted Next.js deployments need to be upgraded immediately. The news led to many responses including deep dives into the vulnerability and criticism of how it was all handled.

Lee Robinson (Vercel)

IN BRIEF:

RELEASES:

πŸ“’ Articles & Tutorials

Writing a Tiny Undo/Redo Stack in JavaScript - You might prefer to lean upon an established approach (using Immer patches perhaps), but if you want to implement something small yourself, this might help.

Julik Tarkhanov

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.

Darius Mercadier (V8)

Which AI Model Is Best for Fixing Unit Test Errors? Claude, O3-Mini, GPT-4o? - Better context wins every time. Wallaby provides AI with test coverage and runtime values to debug smarter. MCP support coming soon.

Wallaby Team sponsor

Mission jQuery Zero: How FreeAgent Removed jQuery From Its App - Despite popular developer sentiment, jQuery's prevalence on the Web continues to be significant but "sometimes legends need to retire".

Colin Gemmell

β–Ά 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.)

Dominik Dorfmeister (TkDodo)

Deploying a Next.js App to Production on Any Server - A popular article from last year that's been updated for 2025 and Next.js 15.

Kamrannetic

πŸ”’ Protect Against AI Bots, Fraud, and Abuse in Real Time - WorkOS Radar protects your app with advanced device fingerprinting - stop fake signups, free tier abuse, bot attacks and brute force attempts today.

WorkOS sponsor

πŸ“„ Expressing Japanese Grammar in the TypeScript Type System - A curious project out of left field. Yifeng Wang

πŸ“„ Directives: A Core Feature of the Angular Toolkit Vyacheslav Borodin

πŸ“„ You Should Know This Before Choosing Next.js Eduardo BouΓ§as

πŸ›  Code & Tools

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.

Microsoft

Lexical 0.29: An Easy-to-Extend Text Editor Framework from Meta - A text editor framework built by Meta with extensibility, accessibility, and cross platform support in mind (there's even a Swift variant for iOS). There's a live playground if you want to give it a try.

Meta / Facebook

πŸ”Ž Fuzzball: Fuzzy String Matching Library - To tackle those cases where what's typed isn't quite what's wanted. There's a neat tree-themed Web-based demo.

Nolan

πŸ“° Classifieds

Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by 1000s of orgs, including Dropbox, Lattice, Bilt Rewards and many more.

πŸ“Š Jspreadsheet - Lightweight JS data grid with Excel-like controls. Create rich web spreadsheets fast. Try it now.

πŸ“’ Elsewhere

A quick roundup of other interesting updates and useful resources from across the broader developer landscape:

28 Mar 2025 12:00am GMT

21 Mar 2025

feedJavaScript Weekly

The Rsdoctor will see you now

#​728 - March 21, 2025

Read on the Web

JavaScript Weekly

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).

Kyle Gill

IN BRIEF:

RELEASES:

πŸ“’ Articles & Tutorials

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.

Manvar and Raina (Docker)

The Great ESLint v9 Migration Adventure: A Developer's Survival Guide - "Let's just say… I've seen things. I hit all the bumps, took all the wrong turns, and somehow made it to the other side-so you don't have to."

Yacine Kharoubi

πŸ”’ Protect Against AI Bots, Fraud, and Abuse in Real Time - WorkOS Radar protects your app with advanced device fingerprinting - stop fake signups, free tier abuse, bot attacks and brute force attempts today.

WorkOS sponsor

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.

Kitson Kelly

πŸ“„ Training AI to Uncover Malicious JavaScript Intent and Make the Web Safer Cejuela and Zheng (Cloudflare)

πŸ“„ Lazy Load Background Images with the IntersectionObserver API Anna Monus

πŸ“„ Web Components vs. Framework Components: What's the Difference? Gabriel Shoyombo

πŸ“„ Detecting Browser Zoom Changes in JavaScript Kirupa Chinnathambi

πŸ“„ Making a Browser Based Game With Vanilla JS and CSS Eoin McGrath

πŸ“„ Deno Shows Us There's a Better Way Mac Chaffee

πŸ›  Code & Tools

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.

Konva

Typist 8.0: Tiptap-Based Rich Text Editor Component - Simple and opinionated. You can try several examples linked in the sidebar. Well suited for basic rich text situations like writing comments or messages and has a single-line mode. GitHub repo.

Doist

PeanoScript: TypeScript But It's a Theorem Prover - An experimental proof assistant for Peano arithmetic based on TypeScript syntax.

mjgrzymek

  • Gridstack.js 11.5 - Build responsive interactive dashboards quickly.

  • Repomix 0.3 - Pack an entire repository into a single, AI-friendly file.

  • DOCX 9.3 - Generate .docx / Word files from JavaScript.

  • πŸ–ΌοΈ Parvus 3.0 - Dependency-free image lightbox control.

  • BlockNote 0.26 - 'Notion-style' block-based editor.

  • πŸ€– wllama 2.3 - WebAssembly binding for llama.cpp.

  • Pixi.js 8.9 - Fast, flexible 2D WebGL renderer.

πŸ“° Classifieds

🎹 STRICH: Add blazing fast and reliable 1D/2D Barcode Scanning to your web apps. Free demo app and 30-day trial available.

Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by 1000s of orgs, including Dropbox, Lattice, Bilt Rewards and many more.

πŸ“Š Jspreadsheet - Lightweight JS data grid with Excel-like controls. Create rich web spreadsheets fast. Try it now.

πŸ“’ Elsewhere

A quick roundup of other interesting updates and useful resources from across the broader developer landscape:

21 Mar 2025 12:00am GMT

14 Mar 2025

feedJavaScript Weekly

Can you understand this JavaScript?

#​727 - March 14, 2025

Read on the Web

JavaScript Weekly

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!

Anders Hejlsberg (Microsoft)

πŸ’‘ Dr. Axel Rauschmayer takes a closer look at the details behind the port.

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:

πŸ“’ Articles & Tutorials

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.

Lee Robinson

How The New York Times Migrated from Enzyme to React Testing Library - A thorough look at the technical challenges and strategies the NYT used to perform a piecemeal upgrade of its React testing approach without disrupting either end users or other developers.

Felipe BuenaΓ±o (NYT Open Team)

Which AI Model Is Best for Fixing Unit Test Errors? Claude, o3-mini, GPT-4o? - Better context wins every time. Wallaby enters the chat to give AI what it needs - test coverage and runtime values - to debug smarter.

Wallaby Team sponsor

How ECMAScript Engines Optimize Your Variables - From the authors of the Boa JS Rust-powered JavaScript engine.

Boa Developers

πŸ“„ 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

πŸ“„ Using Intl.DurationFormat to Format Time Durations with Locale Support Trevor I. Lasn

πŸ“„ Learn Zod So You Can Trust Your Data and Your Types Diana MacDonald

πŸ“„ 10 Hidden Gems in Angular That You Should Use IE 33

πŸ“„ Underrated Angular Features Armen Vardanyan

πŸ›  Code & Tools

Refractor 5.0: Robust Virtual Syntax Highlighting using Prism - Wraps the powerful Prism syntax highlighter to output objects instead of an HTML string so you can manipulate and render it as you wish (e.g. in a VDOM or at the terminal). Lowlight, by the same author, offers the same functionality but backed by highlight.js.

Titus Wormer

svg2pdf.js: SVG to PDF Conversion in the Browser - There's an online playground to give you a feel for what it can do.

yWorks GmbH

πŸ”’ Protect Against AI Bots, Fraud, and Abuse in Real Time - WorkOS Radar protects your app with advanced device fingerprinting - stop fake signups, free tier abuse, bot attacks and brute force attempts today.

WorkOS sponsor

⌘K: A Fast, Composable, Unstyled 'Command Menu' Control - The home page includes some neat examples in a variety of styles. GitHub repo. Needs React 18+.

Paco Coursey

πŸ”Ž 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.

  • <css-doodle> 0.42 - Web component for drawing patterns with CSS.

  • Faker 9.6 - Generate fabricated data to your heart's content.

  • Choices 11.1 - Configurable select box/text input plugin.

  • πŸ•’ Spacetime 7.8 - Lightweight timezone library.

  • Ink 5.2 - Use React to build CLI apps.

πŸ“° Classifieds

Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by 1000s of orgs, including Dropbox, Lattice, Bilt Rewards and many more.

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:

14 Mar 2025 12:00am GMT

17 Jul 2024

feedOfficial jQuery Blog

Second Beta of jQuery 4.0.0

Last February, we released the first beta of jQuery 4.0.0. We're now ready to release a second, and we expect a release candidate to come soonβ„’. This release comes with a major rewrite to jQuery's testing infrastructure, which removed all deprecated or under-supported dependencies. But the main change that warranted a second beta was a … Continue reading β†’

17 Jul 2024 2:03pm GMT

17 Apr 2024

feedOfficial jQuery Blog

Upgrading jQuery: Working Towards a Healthy Web

jQuery's influence on the web will always be evident. When it was first introduced in 2006, jQuery became a fundamental tool for web developers almost immediately. It simplified JavaScript programming, making it easier to manipulate HTML documents, handle events, perform animations, and much more. Since then, it has played and continues to play a major … Continue reading β†’

17 Apr 2024 5:00pm GMT

06 Feb 2024

feedOfficial jQuery Blog

jQuery 4.0.0 BETA!

jQuery 4.0.0 has been in the works for a long time, but it is now ready for a beta release! There's a lot to cover, and the team is excited to see it released. We've got bug fixes, performance improvements, and some breaking changes. We removed support for IE<11 after all! Still, we expect disruption … Continue reading β†’

06 Feb 2024 4:43pm GMT