Skip to main content

Lumenize Package Changes

· 3 min read
Larry Maccherone
Founder Lumenize and Transformation.dev

Alongside the Lumenize Mesh beta announcement, we're making several package changes. Here's what moved, what's new, and what to update.

Summary

PackageChange
@lumenize/meshNew (beta)
@lumenize/authNew (beta)
@lumenize/debugNew as a standalone package (GA)
@lumenize/fetchNew (beta) — mesh plugin for Worker-to-DO communication
@lumenize/utilsRenamed to @lumenize/routing — update imports
@lumenize/proxy-fetchDeprecated — use @lumenize/mesh + @lumenize/fetch
@lumenize/rpcDeprecated — use @lumenize/mesh for production

@lumenize/utils renamed to @lumenize/routing

Over time, everything in @lumenize/utils that wasn't routing-related moved to other packages (@lumenize/testing got the Browser class and WebSocket shim; other utilities found homes elsewhere). What remained was routeDORequest and CORS support — purely routing functionality.

The package name now matches its contents.

To migrate:

npm uninstall @lumenize/utils
npm install @lumenize/routing

Then update your imports:

// Before
import { routeDORequest } from '@lumenize/utils';

// After
import { routeDORequest } from '@lumenize/routing';

@lumenize/rpc deprecated

@lumenize/rpc was designed for browser-to-DO RPC over WebSockets, but it had no built-in authentication or access control — fine for testing, risky for production. Lumenize Mesh takes the good parts of RPC (structured clone serialization, operation chaining) and adds required auth, fine-grained access control, identity propagation, and browser clients as full mesh peers.

If you use @lumenize/rpc for testing: No change needed. @lumenize/testing depends on @lumenize/rpc internally and will continue to work.

If you use @lumenize/rpc in production: Migrate to @lumenize/mesh. The Getting Started Guide covers the setup.

@lumenize/debug — new as a standalone package

@lumenize/debug is structured debug logging designed to feed Cloudflare's observability dashboard in a format that lets you query for exactly the log entries you need. It also auto-detects Cloudflare Workers, Node.js, and browser environments — use debug('namespace') and it works everywhere. See the docs for details.

@lumenize/fetch — new

@lumenize/fetch is a mesh plugin that offloads external API calls from your DO to a Worker entrypoint — so the fetch runs on CPU billing, not DO wall-clock billing. Fire-and-forget from the DO's perspective: the result arrives via continuation, with an alarm-based guarantee that your handler always sees a response or failure. Only worth the added complexity when your average fetch takes longer than 5 seconds. See the docs for architecture and failure mode details.

Questions?

Join us on Discord or open an issue on GitHub.