QR Code
OWT Web Services       http://owtweb.com
[Skip to Content]

Industry News

03/27/2025





















#​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






  • Axios 0.30 – Long-standing, promise-based isomorphic HTTP client.




  • Solito 4.4 – React Native + Next.js. Now supporting Next.js 15.




  • InversifyJS 7.2 – Inversion of control container for JavaScript.




  • jscodeshift 17.3 – JavaScript codemod toolkit from Facebook.




  • Verdaccio 6.1 – Lightweight Node.js private proxy registry.









📰 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:












03/20/2025





















#​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 FasterCKEditor 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 VueMotion 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:











03/13/2025





















#​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:
















03/06/2025





















#​726 — March 7, 2025

Read on the Web





JavaScript Weekly








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!


HTTP Archive






Lynx: A Fresh Way to Build Apps from Web TechnologiesLynx is a new set of tools for building JavaScript-powered native and Web apps that draws inspiration from React Native but aims to be more modular and flexible (and eventually framework agnostic). It comes from, and is used by, TikTok, and comes with its own QuickJS-based JavaScript engine.


Xuan Huang and the Lynx Team






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.


SurveyJS sponsor






Announcing TypeScript 5.8 — Four months in the making, TypeScript 5.8 lands with a strong Node focus. You can now use require() for ES modules in the nodenext module, there’s a new node18 module for developers who want to keep targeting Node 18, and most notably there’s now an --erasableSyntaxOnly option to ensure no TypeScript-only runtime semantics can be used.


Microsoft




IN BRIEF:





RELEASES:




📒 Articles & Tutorials








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?


Dr. Axel Rauschmayer






Instrument, Monitor, Fix: A Hands-On Debugging Class — Join us for a hands-on session where you’ll build it, watch it break, debug it, and go from “no idea what’s wrong” to fixing issues.


Sentry sponsor






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.


Hunor Márton Borbély






Node Just Added TypeScript Support. What Does That Mean for Deno? — The Deno team, who went all in on TypeScript from day one, reflects on the continued increase in levels of support for TypeScript in Node and how their approaches differ.


Andy Jiang and Ryan Dahl




📄 Creating an Image Comparison Slider in 6 Lines of JavaScript Muffin Man


📄 Is Biome Ready to Replace Prettier and ESLint? Nicolas Pendon


📄 Speeding Up the JS Ecosystem with Rust and JavaScript Plugins Marvin Hagemeister


📄 JavaScript Best Practice: Use return await Tamás Sallai



🛠 Code & Tools








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.


Tanner Linsley






PDFSlick 2.2: View and Interact with PDF Documents — A full-featured PDF viewer for React, Solid, Svelte and other JS apps. Built on top of PDF.js, it uses Zustand to provide a reactive store for documents. Demo.


Vancho Stojkov






🔒 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






Electron App Boilerplate with Modern Dependencies — A basic template app that uses React 19, Tailwind CSS 4, shadcn/ui, Electron Vite, Biome, and includes a GitHub Actions release workflow.


Dalton Menezes






Fable: A F# to JavaScript Compiler — If you fancy F#’s flavor of almost-entirely-functional development, this could be for you. GitHub repo.


Fable






React Data Table: Responsive Dynamic Table Component — Simple and clean, but flexible. Includes features like column sorting and pagination out of the box. Lots of demos and code examples. GitHub repo.


John Betancur






  • 🖼️ Cropper.js 2.0 – JavaScript image cropping control. There's an online playground where you get a feel for all its features.




  • 📈 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.




  • EasyMDE 2.20 – A simple Markdown editor control. Demo.




  • LogTape 0.9 – Simple logging library for all major JS runtimes.









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



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: