routed_node 0.1.0
routed_node: ^0.1.0 copied to clipboard
Node.js host transport for Routed — IncomingMessage/ServerResponse adapters on RequestAdapter/ResponseAdapter/ServerTransport.
Unreleased #
- Fix D1 metadata decoding for Cloudflare's snake_case
rows_readandrows_writtenfields. - Added host-neutral Cloudflare bindings for Request
cfmetadata, the Cache API, R2 buckets, Queue producers, and Worker service bindings. - Added host-neutral Cloudflare bindings for Container instances and
Container-backed Durable Object controls, Workflow instances, and Secrets
Store reads. Worker bindings are also available through
env.worker(...), including HTTP Fetch and RPC calls. - Added Node runtime coverage for Cloudflare cache, R2 streaming objects, queue metrics, service-binding responses, Container controls, Workflow lifecycle operations, and Secrets Store reads.
- Expanded host integrations for Bun, Deno, Vercel, and Netlify while keeping the portable request/response boundary consistent across runtimes.
- Added listener WebSocket bridging and runtime capability reporting.
- Fetch-host failures now return a generic public error while retaining the diagnostic details for internal logging.
- Added the Cloudflare-specific
cloudflare.dartbinding surface for Worker environments, KV, D1, Durable Objects, alarms, and SQLite SQL storage. - Added an end-to-end Cloudflare usage example covering D1, KV, and SQLite-backed Durable Objects.
- Added Routed-owned Cloudflare request and response wrappers so application
code does not need
package:webordart:js_interop. - Added text and JSON helpers for buffered Durable Object responses.
- Added host-neutral Durable Object
WebSocketPair, hibernation socket methods, and message/close/error callback forwarding.
0.1.0 #
- Initial Node.js host transport for Routed.
- Preferred value edge:
portableRequestFromNode,writePortableResponseToNode,dispatchNodeExchange→Engine.handlePortable. - Stream-sink path:
NodeRequestAdapter/NodeResponseAdapter/NodeHttpConnectionforEngine.handleConnection. NodeServerTransport+serveNodebind via Nodehttp.createServer(JS interop; stubbed on the Dart VM).- Sample API project under
example/api(JSON items API, VM smoke,serveNodeentry +index.cjsNode bootstrap).