---
title: "The Rsdoctor will see you now"
publication: "JavaScript Weekly"
issue: 728
published_at: "2025-03-21"
canonical_url: "https://javascriptweekly.com/issues/728"
---

Plus Motion comes to Vue, React trends for 2025, and implementing a neural network with TensorFlow.js. |        

#​728 — March 21, 2025 

[Read on the Web](https://javascriptweekly.com/issues/728)  

Together with [![Mescius\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_454,h_111/e_make_transparent/co_white,e_outline:7/iwtw1igi5mjsbp1jqfn5.png)](https://developer.mescius.com/spreadjs?utm_source=CooperPress&utm_medium=JavaScript-Weekly&utm_campaign=SpreadJS-JS-Weekly-Primary-Sponsor-March-2025)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/stbsfgtjijlz4udozs74.jpg)](https://rsdoctor.dev/blog/release/release-note-1_0)  

[Rsdoctor 1.0: An Analyzer for Rspack and Webpack](https://rsdoctor.dev/blog/release/release-note-1_0) — 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](https://rspack.dev/) (a Rust-powered web bundler) but is fully [webpack](https://webpack.js.org/) 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.](https://socket.dev/blog/oxlint-now-in-beta-with-500-built-in-rules-2X-faster-javascript-linting) Imagine ESLint, but it runs in seconds on large codebases (indeed, it can process Microsoft's VS Code repo in _under_ a second).  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/4d3971b0.png)](https://developer.mescius.com/spreadjs?utm_source=CooperPress&utm_medium=JavaScript-Weekly&utm_campaign=SpreadJS-JS-Weekly-Primary-Sponsor-March-2025) 

[Add Excel-like Spreadsheet Functionality to Your JavaScript Apps](https://developer.mescius.com/spreadjs?utm_source=CooperPress&utm_medium=JavaScript-Weekly&utm_campaign=SpreadJS-JS-Weekly-Primary-Sponsor-March-2025) — 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](https://ckeditor.com/blog/how-we-made-our-rich-text-editor-load-faster-part-1/) — [CKEditor](https://github.com/ckeditor/ckeditor5) 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](https://ckeditor.com/blog/how-we-made-our-rich-text-editor-load-faster-part-2/)), the CKEditor team digs into how they’ve recently significantly boosted its performance. 

Szymon Cofalik (CKEditor)   

[Next.js vs TanStack](https://www.kylegill.com/essays/next-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:** 

- [This automatically updated runtime compatibility table](https://runtime-compat.unjs.io/) lets you see how/if different server-side JavaScript runtimes support different APIs.
- 💬 If you'd like to hang out on Discord and chat with other Node.js developers, there's [now an official Node.js Discord server.](https://nodejs.org/en/blog/announcements/official-discord-launch-announcement)
- [The Node.js TSC has voted](https://socket.dev/blog/node-js-tsc-votes-to-stop-distributing-corepack) to stop distributing Corepack with future versions of Node. Corepack was originally introduced as a way to manage other package managers.
- 🛠️ [Make Bookmarklets](https://make-bookmarklets.com/) is a handy tool for turning JavaScript into bookmarklet code that you can use directly in a browser bookmark.   

**RELEASES:** 

- [Parcel v2.14.0](https://parceljs.org/blog/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](https://ionic.io/blog/announcing-ionic-8-5) – Cross-platform JS app development platform.
- 📊 [Billboard.js 3.15.0](https://netil.medium.com/billboard-js-3-15-0-release-container-based-resizing-enhanced-regions-e8b3f0ed2e88) – D3-powered JS chart library.
- [React Router 7.4](https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v740)  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/bpezamign3j4kydzf1pj.jpg)](https://www.docker.com/blog/leveraging-docker-with-tensorflow/)  

[How to Build a Snake AI Game with Docker and TensorFlow.js](https://www.docker.com/blog/leveraging-docker-with-tensorflow/) — 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](https://www.tensorflow.org/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](https://www.neoxs.me/blog/migration-to-eslint-v9) — _“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](https://workos.com/radar?utm_source=cpjs&utm_medium=newsletter&utm_campaign=q12025) — 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](https://www.robinwieruch.de/react-trends/) — 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](https://deno.com/blog/build-custom-rag-ai-agent) — 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](https://blog.cloudflare.com/how-we-train-ai-to-uncover-malicious-javascript-intent-and-make-web-surfing-safer/) Cejuela and Zheng (Cloudflare) 

📄 [Lazy Load Background Images with the IntersectionObserver API](https://www.debugbear.com/blog/lazy-load-background-images-intersection-observer) Anna Monus 

📄 [Web Components vs. Framework Components: What’s the Difference?](https://www.smashingmagazine.com/2025/03/web-components-vs-framework-components/) Gabriel Shoyombo 

📄 [Detecting Browser Zoom Changes in JavaScript](https://www.kirupa.com/javascript/detecting_browser_zoom_changes.htm) Kirupa Chinnathambi 

📄 [Making a Browser Based Game With Vanilla JS and CSS](https://www.sitepoint.com/browser-game-with-vanilla-js-and-css/) Eoin McGrath 

📄 [Deno Shows Us There's a Better Way](https://www.macchaffee.com/blog/2025/deno/) Mac Chaffee  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/k6tkkuzdkas2xwc10fks.jpg)](https://motion.dev/blog/introducing-motion-for-vue)  

[Introducing _Motion for Vue_](https://motion.dev/blog/introducing-motion-for-vue) — [Motion](https://motion.dev/) 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](https://revealjs.com/) — Brings elegant presentations to anyone with a Web browser. [v5.2](https://github.com/hakimel/reveal.js/releases/tag/5.2.0) 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`](https://go.clerk.com/AYolc99) — 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](https://konvajs.org/) — 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](https://konvajs.org/docs/sandbox.html)). It also has extra integration libraries for [Vue](https://konvajs.org/docs/vue/index.html), [Svelte](https://konvajs.org/docs/svelte/index.html) and [React.](https://konvajs.org/docs/react/index.html) 

Konva   

[Typist 8.0: Tiptap-Based Rich Text Editor Component](https://typist.doist.dev/?path=/docs/readme--docs) — 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.](https://github.com/Doist/typist) 

Doist   

[PeanoScript: TypeScript But It's a Theorem Prover](https://peanoscript.mjgrzymek.com/tutorial) — An experimental proof assistant for [Peano arithmetic](https://en.wikipedia.org/wiki/Peano_axioms) based on TypeScript syntax. 

mjgrzymek   

- [Gridstack.js 11.5](https://gridstackjs.com/) – Build responsive interactive dashboards quickly.
- [Repomix 0.3](https://github.com/yamadashy/repomix) – Pack an entire repository into a single, AI-friendly file.
- [DOCX 9.3](https://github.com/dolanmiu/docx/releases/tag/9.3.0) – Generate .docx / Word files from JavaScript.
- 🖼️ [Parvus 3.0](https://github.com/deoostfrees/Parvus) – Dependency-free image lightbox control.
- [BlockNote 0.26](https://github.com/TypeCellOS/BlockNote/releases/tag/v0.26.0) – 'Notion-style' block-based editor.
- 🤖 [wllama 2.3](https://github.com/ngxson/wllama) – WebAssembly binding for`llama.cpp`.
- [Pixi.js 8.9](https://github.com/pixijs/pixijs/releases/tag/v8.9.0) – Fast, flexible 2D WebGL renderer.      

📰 Classifieds   

🎹 [STRICH](https://strich.io/?ref=js-weekly): 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](https://www.meticulous.ai?utm_source=javascript_weekly&utm_campaign=march21st). Relied on by 1000s of orgs, including Dropbox, Lattice, Bilt Rewards and many more. 

--- 

📊 [Jspreadsheet](https://jspreadsheet.com?utm_source=newsletter&utm_medium=classified&utm_campaign=JavaScriptWeekly) – Lightweight JS data grid with Excel-like controls. Create rich web spreadsheets fast. [Try it now](https://jspreadsheet.com?utm_source=newsletter&utm_medium=classified&utm_campaign=JavaScriptWeekly).     

📢 Elsewhere  

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

- John Tuckner took a look at [the murky world of buying browser extensions for 'fun and profit.'](https://secureannex.com/blog/buying-browser-extensions/)
- If you're using VS Code and GitHub Copilot, did you know [you can ask Copilot about VS Code's own features?](https://devblogs.microsoft.com/visualstudio/find-the-ide-features-you-need-with-github-copilot-and-search/)
- Ever wondered what's involved in [building a container image from _scratch_?](https://danishpraka.sh/posts/build-a-container-image-from-scratch/)
- A look at [building a Lisp interpreter in 66 lines of JavaScript.](https://intercaetera.com/posts/lisp-in-js/)
- ["As an engineer, I’d rather be called stupid than stay silent."](https://shiftmag.dev/asking-questions-engineering-career-advice-4895/)         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
