Today’s issue: A Tailwind plugin for American literature enthusiasts, Astro’s term sheet, and celebrating Wasm’s 10th anniversary with some constructive criticism.
Welcome to #410.
Long ago, the four JavaScript frameworks used to live in harmony
It’s been a big month for Nuxt. First, their parent company got acquired by open-source Daddy Warbucks, and last week they announced Nuxt 4.0 – their first major release in 2.5 years.
But unlike that v3 release, which featured a full rewrite of the entire framework, Nuxt 4 introduces significantly fewer changes that are mostly focused on improving the developer experience:
Cleaner project structure – All application code now lives in an app/
directory by default, which should help keep your app faster and more organized.
Smarter data fetching – useAsyncData
and useFetch
work better now, multiple components using the same key now share their data automatically, and you get more control over when cached data gets used.
Better TypeScript support – Nuxt now creates separate TS projects for your app code, server code, shared/
folder, and builder code. This should allow for better autocomplete, more accurate type inference, and fewer confusing errors.
Faster CLI – Thanks to faster cold starts, automatic reuse of the v8 compile cache, native file watching, and socket-based communication between the CLI and Vite dev server.
Bottom Line: The Nuxt team is calling this a “hype-free” major release that’s focused on providing some noticeable DX wins, while still allowing developers to upgrade from Nuxt 3 with minimal effort.
But now that they have the Vercel war chest behind them, it’ll be interesting to see if the Nuxt team starts to take some bigger swings on more experimental features to try and woo a new crowd of developers.
![]() ![]() ![]() ![]() |
Watching my AI app hallucinate slop to all my users
Testing genAI apps is a nightmare. Outputs are non-deterministic, edge cases are infinite, and the underlying models are constantly changing and causing regressions.
QA Wolf can fix that. They build, run, and maintain a new breed of tests designed specifically for genAI apps:
Input validity tests – Throw every input variation you can think of (lengths, file types, weird characters) and make sure your app doesn’t implode
Model performance tests – Track response time under load and optimize GPU + memory usage, without setting your cloud bill on fire
Output consistency tests – Catch regressions and make sure users aren’t getting wildly different results from similar prompts
Schedule a personalized demo to learn how QA Wolf can handle your genAI testing, without burning through your tokens.
Their engineers are hosting a free workshop next week on How to automatically debug issues using Seer (Sentry’s new AI agent) alongside the Sentry MCP and other tools.
function addOneMonth(date) {
const newDate = new Date(date);
newDate.setMonth(newDate.getMonth() + 1);
if (newDate.getDate() !== date.getDate()) {
newDate.setDate(0);
}
return newDate;
}
const today = new Date(2024, 10, 17); // October 17, 2024
const oneMonthFromToday = addOneMonth(today);
console.log(oneMonthFromToday);
Andy Wingo wrote an article called WebAssembly: Yes, but for What? that celebrates Wasm’s 10th anniversary by detailing its wins and losses so far, and predicting where it’ll go in the next 2-3 years. I did the exact same thing to my nephew to celebrate his 10th birthday this month.
The Expert Guide to Next.js Performance Optimization 2025 is a free, 10-chapter ebook filled with real-life examples and open-source libraries to help you fix bottlenecks and boost performance in enterprise-scale Next.js apps. [sponsored]
The React team just released new docs about React Compiler, and all React course creators threatened to glue their hands to the Mona Lisa in protest.
Google’s Open Source Security Team just announced OSS Rebuild, a new project that aims to reduce supply chain attacks by giving security teams powerful data to avoid compromise, without burdening upstream maintainers 🙏.
PulpMiner converts any webpage into a realtime JSON API by using an AI-powered scraper. It was the #2 Product of the Day on Product Hunt and is a lot easier to use than other data extraction tools. [sponsored]
Astro 5.12 comes with TOML support for content loaders, experimental raw environment values, and a new term sheet from Vercel – just kidding (I think).
hoakley wrote this brief history of primary coding languages for the Apple ecosystem.
fluent-state is a proxy-based React hook for deeply nested, reactive state.
Can your coding agent run long commands and plan its next move? Warp’s can – and it just beat Claude Code by 20% on Terminal-Bench. Their team wrote about how they pulled it off here. [sponsored]
Vue Bits is a collection of 80+ animated Vue components that sounds suspiciously close to Cool Bits. I’d hate to get my lawyer (who also happens to handle trademark law for a company called Oracle) involved 🧐.
Daniel Friyia wrote about How to build 2D game-style physics with Matter.js and React Native Skia
daisyUI released v5.0 of its component library for Tailwind CSS that always keeps a green light on at the end of its dock to symbolize how Gatsby’s hopes and dreams (and indeed the American dream itself) can feel so close but still just out of reach.
Months are 0 indexed in JavaScript. So, new Date(2024, 10, 17)
is actually November 17, 2024. When we add one month to that date, we get December 17, 2024.
function addOneMonth(date) {
const newDate = new Date(date);
newDate.setMonth(newDate.getMonth() + 1);
if (newDate.getDate() !== date.getDate()) {
newDate.setDate(0);
}
return newDate;
}
const today = new Date(2024, 9, 17); // October 17, 2024
const oneMonthFromToday = addOneMonth(today);
console.log(oneMonthFromToday);