esdecode
Component library

Roam — Fetch-Native Router for Bun, Deno, Workers & Node

No ratings
|0 Sales|by Driftless Systems|v1.0.0
Roam — Fetch-Native Router for Bun, Deno, Workers & Node screenshot 1
1 / 2

Preview and demo

Status: unchecked. Availability checks are not a security guarantee.

0
Sales
Rating
0
Reviews

Description

Roam is a tiny, fetch-native HTTP router. Register routes and router.fetch(request) returns a Response — exactly the shape Bun, Deno and Cloudflare Workers expect. A small adapter runs the same router on Node. Zero runtime dependencies, TypeScript-first.

Highlights

  • One router, four runtimes: Bun.serve, Deno.serve, Workers export default, Node adapter.
  • Web-standard Request/Response — no lock-in, no polyfills.
  • :param & * wildcard patterns compiled to regex.
  • Typed context (params, query, state) with json/text/html/redirect helpers.
  • Onion middleware, group() & mount(), automatic 404/405 (with Allow).
  • Zero dependencies; ESM + .d.ts; trivially testable.

Features

Fetch-native: router.fetch(request) => Response
Runs on Bun, Deno, Cloudflare Workers & Node
Web-standard Request/Response, no polyfills
:param and * wildcard routing (regex-compiled)
Typed context + json/text/html/redirect helpers
Onion middleware, group() and mount()
Automatic 404 and 405 with Allow header
Node adapter (roam/node) for node:http
Zero dependencies, ESM + type declarations
node:test suite + per-runtime examples

Requirements

  • TypeScript 5+
  • Bun, Deno, a Workers project, or Node 18+
  • Any ESM-capable toolchain

Changelog

**v1.0.0** (Latest) - Initial release - Fetch-native router with params, wildcards, middleware, groups - Bun/Deno/Workers/Node targets; node:test suite

Frequently Asked Questions

Which runtimes does Roam support out of the box?

Roam works natively on Bun, Deno, and Cloudflare Workers by calling router.fetch(request), since all three runtimes expose a fetch-style handler that expects a standard Request and returns a Response. A dedicated Node adapter (roam/node) lets you run the exact same router on Node's node:http server without any code changes to your routes.

Does Roam require any external dependencies or polyfills?

No — Roam has zero runtime dependencies and relies entirely on the Web-standard Request and Response APIs that Bun, Deno, and Cloudflare Workers provide natively. No polyfills are needed on those runtimes; the Node adapter bridges the gap for Node without pulling in third-party packages.

What routing patterns does Roam support?

Roam supports named parameters (e.g. :param) and wildcard segments (*), both of which are compiled to regular expressions at registration time for fast matching. There is no support for arbitrary custom regex patterns beyond these two constructs, keeping the API simple and predictable.

What is included in the package — TypeScript types, examples, tests?

The package ships as ESM with bundled TypeScript declaration files (.d.ts), so you get full type safety and autocompletion without a separate @types install. It also includes a node:test suite and per-runtime example files covering Bun, Deno, Cloudflare Workers, and Node so you can get started immediately.

How does middleware work, and can I scope routes into groups or sub-apps?

Roam uses an onion (layered) middleware model where each middleware can run logic before and after the next handler in the chain. You can organise routes with group() for shared prefixes or middleware, and mount() to attach an entirely separate router instance as a sub-application.

How are 404 Not Found and 405 Method Not Allowed responses handled?

Roam automatically returns a 404 response when no route matches the request path, and a 405 response when the path matches but the HTTP method does not. The 405 response includes a correctly populated Allow header listing the methods that are registered for that path.

Technical requirements

  • See the detailed requirements in the product description below.

What is included

  • Component library package with full downloadable files
  • Product listing and product page guidance
  • Product files ready for self-hosting or integration
  • 10 listed features
  • Changelog included on the product page

Who is this product for

  • Buyers who need a component library rather than a custom build from scratch
  • Teams shopping within Deno & Bun
  • Use cases aligned with bun, deno, cloudflare workers, router

License and usage

  • Regular license for one end product where end users are not charged for access to the item itself
  • Extended license for one end product where end users can be charged
  • Verify the exact usage rights on the selected license before deployment or client handoff
  • Keep the purchase record and license certificate for future verification

Updates and support

  • 6 months of seller support included
  • Review the seller support scope before purchasing.
  • Recent changes are visible in the product changelog
  • Use the changelog to confirm ongoing maintenance before rollout

Technical details

Current version
1.0.0
Last updated
Jul 11, 2026
License options
Regular, Extended
Support period
6 months of seller support included

Marketplace review

Content review process

No completed marketplace review record is available for this product.

This is not a full penetration test or a guarantee that the product is vulnerability-free.

License comparison

A license is tied to one end product, not strictly to one domain. Development, staging, and the final production domain may belong to the same licensed deployment.

UseRegular LicenseExtended License
Source code modification
Own project use
One client project
One production deployment
Development and staging
Paid SaaS or paid user access
Multiple unrelated client projects
Redistribute source code
Resell source code
Read the full license terms →

License FAQ

Can I modify the source code?

Yes, under both licenses.

Can I use the script for a client?

Yes, for one client end product.

Can I install it on a staging domain?

Yes. Development and staging may belong to the licensed deployment.

Do I need another license for another client?

Yes, each unrelated client end product needs its own license.

Can I use it for a paid SaaS?

Yes, with an Extended License.

Can I resell the source code?

No. Standalone redistribution or resale is prohibited.

Is a license limited strictly to one domain?

No. It is tied to one end product, which may use development, staging, and production domains.

$20.00

For one end product — free to end users

Price$16.00
VAT 23%$3.68
Rounding adjustment$0.32
Total$20.00
Instant digital download
Review scope shown below
Recent product changes listed in the changelog
6 months of seller support included

Item Details

Last Update
July 11, 2026
Published
June 9, 2026
Version
1.0.0
Category
Deno & Bun
Sales
0
Reviews
No reviews

Share This Item

License Info

Regular License — Use in one end product which end users are not charged for.

Extended License — Use in one end product which end users can be charged for.

Verify a license key →