This week feels like a snapshot of the Front end in late 2025. JavaScript is officially 30, React is patching a critical RSC security hole, TypeScript 7 is taking shape under the "Corsa" codename, and TanStack is back with a new AI SDK that aims to be your single interface to many providers. On the platform side, Bun is heading to Anthropic; NPM publish workflows are getting much-needed security hardening, and there is even a performance dive into how quickly browsers chew through base64 data.
CSS and HTML get a complete seasonal treatment. There is a sharp critique of CSS-in-JS bloat, a handy CSS quality analyser, and an extremely clear guide to grid template areas that makes layout feel almost like drawing. Variable fonts come to the rescue of the irradiation illusion so your dark mode type can gain weight without a layout shift, while a trio of advent calendars from Svelte, CSS and HTMHell bring daily tips, tricks and anti-patterns.
Rounding things out, there is a thoughtful look at upcoming native masonry layouts and what they finally let you drop from your dependency tree, plus a deep dive into why some HTML documents become enormous and what to avoid when they do. For dessert, there is a catalogue of real-world dark patterns and an experiment in spec-driven development with agents that raises as many questions as it answers about how we want to build software. Happy reading!
Let’s hope we don’t need to wait another 30 years to get freedom for JavaScript https://javascript.tm/letter
“A powerful, open-source AI SDK with a unified interface across multiple providers”
It feels like every other week I have posts about new TanStack features, and here is another one:
https://tanstack.com/ai/latest
https://devblogs.microsoft.com/typescript/progress-on-typescript-7-december-2025/
“For a typical SPA or CSR-focused app today, use React 19.2.1 and do not enable experimental/advanced RSC features until your stack’s maintainers have shipped and documented fixes for CVE‑2025‑55182.”
https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
https://www.zachleat.com/web/npm-security
https://bun.com/blog/bun-joins-anthropic
This time, no coding challenges, but rather tips and insights daily.
https://advent.sveltesociety.dev/2025
However, if you want some challenge, then here is AdventJS
https://lemire.me/blog/2025/11/29/how-fast-can-browsers-process-base64-data/
“What was once the web’s biggest advantage — lightweight rendering — is now being sabotaged by overzealous abstraction.”
https://thenewstack.io/css-in-js-the-great-betrayal-of-frontend-sanity/
Really good one to check your website for CSS quality
https://www.projectwallace.com/
A super easy way to explain how to use grid template areas.
https://webkit.org/blog/17620/grid-how-grid-template-areas-offer-a-visual-solution-for-your-code/
The article will show how to change font weight without shifting the layout.
1 | |
2 | |
3 | |
https://nerdy.dev/adjust-perceived-typepace-weight-for-dark-mode-without-layout-shift
https://cssadventcalendar.dev/
An eye follows your cursor and all that without JavaScript.
https://codepen.io/9am/pen/oNVKOKB
https://www.htmhell.dev/adventcalendar/
The author wrote an excellent overview of how we used web technologies, how they improved, and what Masonry will help build without additional libraries.
https://www.smashingmagazine.com/2025/12/masonry-things-you-wont-need-library-anymore/
The post describes interesting findings on large HTML documents and why some of them become bloated, and what not to do to avoid that.
https://calendar.perfplanet.com/2025/exploring-large-html-documents-on-the-web/
Collection of dark patterns on the web. Amazon's Audible is an absolute winner in my eyes. To cancel them, you must enjoy playing detective and click many buttons (if you can find them) until you exit the subscription. https://hallofshame.design/collection/
Fascinating experiment building an app by using the SDD approach with Agents, and how far you can get. However, a more critical question is whether this is the best approach at all.