Reference

Adapters

Deployment adapters live under @reckona/mreact-router/adapters/*. They turn the built .mreact output into a runtime-specific request handler or static export.

When to use this page

Use this page when connecting build output to an HTTP server, Cloudflare Worker, AWS Lambda entrypoint, generic edge runtime, or static hosting export.

Adapter imports

import { createNodeRequestHandler } from "@reckona/mreact-router/adapters/node";
import { createCloudflareRequestHandler } from "@reckona/mreact-router/adapters/cloudflare";
import { createAwsLambdaRequestHandler } from "@reckona/mreact-router/adapters/aws-lambda";
import { createEdgeRequestHandler } from "@reckona/mreact-router/adapters/edge";
import { exportStaticApp } from "@reckona/mreact-router/adapters/static";

Runtime map

  • Node servers and containers use createNodeRequestHandler().
  • Cloudflare Workers and Pages advanced mode use createCloudflareRequestHandler() or generated Pages packaging output.
  • AWS Lambda HTTP API, Function URLs, and streaming variants use the AWS Lambda adapter.
  • Generic Fetch-compatible runtimes can use the edge adapter.
  • Static hosting uses exportStaticApp() after building a prerenderable app.

Minimal Node server

import { createServer } from "node:http";
import { createNodeRequestHandler } from "@reckona/mreact-router/adapters/node";

const handler = await createNodeRequestHandler({ outDir: ".mreact" });

createServer(handler).listen(Number(process.env.PORT ?? 3000));

Static export

import { exportStaticApp } from "@reckona/mreact-router/adapters/static";

await exportStaticApp({
  outDir: ".mreact",
  exportDir: "dist",
});

API reference: Node adapter, Cloudflare adapter, AWS Lambda adapter, Edge adapter, and Static adapter.