Server-side JavaScript consolidated sharply on Friday. Ryan Dahl — creator of Node.js, then of Deno — announced that the entire Deno team is joining Cloudflare, and that Deno's own runtime is being wound down.

The plan, published simultaneously on the Deno and Cloudflare blogs, is concrete. The Deno runtime gets one more year of monthly releases containing bug fixes and security updates; after that, Deno Land ends development of the runtime. The code stays open source, and the team explicitly invites others to continue it. Deno Deploy, the hosted service, keeps running for six months before shutting down, with migration support for paying customers moving to Cloudflare Workers. JSR, Deno's TypeScript-first package registry, survives, with its infrastructure moving to Cloudflare. rusty_v8 support continues, aimed at eventual integration into workerd.

What Cloudflare is really taking on is an escape hatch. workerd, the Workers runtime, has been open source for years, but Kenton Varda — Workers' creator — admits in the joint post that its Durable Objects support only ever worked in single-instance mode: fine for local testing, useless in production. Cloudflare's real Durable Object routing was built for hundreds of locations and depends on services no self-hoster could reproduce.

The missing half came from Deno's side. celld, a Rust implementation of the Workers programming model Dahl built this year, makes a distributed application need only many celld instances and one object-storage bucket. Cloudflare and Dahl are now merging celld's ideas back into workerd, with Dahl and Bert Belder leading the work. Varda's stated ambition is to use it to run an instance of Cloudflare OS at home.

Financial terms were not disclosed. The practical fallout for developers is a roughly one-year runway on the Deno runtime, a six-month clock on Deno Deploy, and a Workers programming model that may finally be portable to your own hardware. Dahl also frames the move around AI: Durable Objects, he argues, are a natural fit for agent harnesses, bundling cheap serverless execution, persistent state, WebSockets and a plain JavaScript interface.