Today’s issue: JamStack never dies, Next.js vs. Legolas, and declassifying the CIA files on type validation.
Welcome to #377.
Me after discovering a way to use RSC without Next.js
Ok, technically you can – but not in spirit. That’s because Parcel v2.14 just added (beta) support for React Server Components.
But isn’t Parcel a bundler, not a framework? Yes, and that’s what makes it interesting. Parcel is now the first non-framework tool to support RSCs, giving you low-level building blocks instead of a fully baked setup. You can use it to build your own custom framework from scratch, or to gradually sprinkle server components into your existing apps without a major rewrite.
Parcel also makes it easy to incrementally adopt RSCs, whether you want to server-render them at request time or statically render them to HTML at build time. That means you can try out different RSC patterns without having to pledge your fealty to the triangle kingdom fully commit to Next.js.
Let’s take a closer look:
Parcel integrates server and client code into a single module graph, enabling dynamic imports, environment-aware code splitting, and the magical use client
and use server
directives.
Unlike framework-based RSC implementations, Parcel gives you full control over routing, when and how RSCs load, how client resources load, how server actions are called, how client assets load, and more.
It helps you avoid classic performance issues in client-rendered React apps, like network waterfalls, by rendering HTML as part of your app’s initial request.
Bottom Line: It’s great to see another tenant move into RSC Towers and finally add some much needed diversity to the neighborhood. Just remember to practice safe bundling and I’m sure we’ll all get along just fine.
![]() ![]() ![]() ![]() |
CodePush on April 1st
Microsoft is shutting down App Center and CodePush on March 31st, so you might be screwed concerned if you use it for sending over-the-air updates.
Thankfully, Expo is here to save your bacon (again). Their EAS Update service provides a seamless migration from CodePush to give you OTA updates with powerful DX features:
Control exactly which users get each update, so you can smoothly roll out new features and send out critical updates immediately.
Send app previews to your team’s devices in seconds – EAS bundles your app, hosts it for your team, and provides a QR code they can scan to see changes.
Expo’s CI/CD platform can replace all other App Center functionality and lets you automate all your cross-platform app builds.
Check out the migration doc – and continue sending OTA updates with confidence.
They released this Frontend Testing Best Practices Guide to teach you everything you need to learn about creating and maintaining reliable frontend tests.
What is this code doing?
const friends = ['Aliyah', 'Alex', 'Ben', 'Cassidy', 'Carlos']
const { length, 0: first, [length - 1]: last } = friends
Kyle Gill wrote an article comparing TanStack Router vs. Next.js. It’s almost as fair and unbiased as the essay I wrote in 6th grade where I compared “Legolas vs. that giant elephant full of stinky Orcs.”
The Clerk team wrote about how to enhance data-driven decisions for your product by increasing visibility into user behavior. [sponsored]
Matthew Perry quietly just dropped some of the biggest Vue news of the year with the release of Motion for Vue – the project’s oldest open ticket.
Valibot v1.0 just came out and it just so happens to only weigh 1kb. Is that a coincidence or a conspiracy? I guess we’ll have to wait 50 years for the CIA to release their files on it to know for sure.
Greg Sarjeant wrote about building an authorized RAG chatbot with Oso, Supabase, and OpenAI.
Bolt just announced the largest hackathon ever, with over $1 million in prizes. Some are calling it “the Beast Games of vibe coding”, but I think we need to see a few more contestants start crying before I’m willing to give it that title.
Tanner Linsley announced that Netlify is now the official deployment partner for TanStack. Does this mean that JamStack was actually TanStack all along?
The Lynx team shared their 2025 roadmap.
Rsdoctor just released v1.0 of their build analyzer that’s tailored for the Rspack ecosystem.
Marco Rogers wrote a post called The Frontend Treadmill. But personally, I like to think of it as a never-ending hamster wheel that’s helping to power an extractive ecosystem where investors profit off the free labor of open-source contributors until they profitably replace us all with AI. It’s just a little more uplifting that way.
const friends = ['Aliyah', 'Alex', 'Ben', 'Cassidy', 'Carlos']
const { length, 0: first, [length - 1]: last } = friends
console.log(first) // Aliyah
console.log(last) // Carlos
Since arrays are just objects with numeric keys and a length
property, we can use destructuring and computed property names in order to grab the first and last elements in any array. Kind of worthless, but kind of cool.