UNPKG

@mcansh/remix-fastify

Version:

Fastify server request handler for Remix and React Router

37 lines (34 loc) 1.65 kB
const require_plugins = require('./plugins-B2SMtsK6.cjs'); const fastify_plugin = require_plugins.__toESM(require("fastify-plugin")); const __react_router_node = require_plugins.__toESM(require("@react-router/node")); const react_router = require_plugins.__toESM(require("react-router")); //#region src/servers/react-router.ts /** * Returns a request handler for Fastify that serves the response using Remix. */ function createReactRouterRequestHandler({ build, getLoadContext, mode = process.env.NODE_ENV }) { let handleRequest = (0, react_router.createRequestHandler)(build, mode); return async (request, reply) => { let remixRequest = createReactRouterRequest(request, reply); let loadContext = await getLoadContext?.(request, reply); let response = await handleRequest(remixRequest, loadContext); return require_plugins.sendResponse(reply, response); }; } function createReactRouterRequest(request, reply) { return require_plugins.createRequest(request, reply, __react_router_node.createReadableStreamFromReadable); } //#endregion //#region src/plugins/react-router.ts const reactRouterFastify = (0, fastify_plugin.default)(async (fastify, options) => { let plugin = require_plugins.createPlugin(fastify, options, "virtual:react-router/server-build", createReactRouterRequestHandler); await plugin(); }, { name: "@mcansh/remix-fastify", fastify: "^3.29.0 || ^4.0.0 || ^5.0.0" }); //#endregion exports.createReactRouterRequestHandler = createReactRouterRequestHandler; exports.createRequestHandler = createReactRouterRequestHandler; exports.reactRouterFastify = reactRouterFastify; //# sourceMappingURL=react-router.cjs.map