UNPKG

@mcansh/remix-fastify

Version:

Fastify server request handler for Remix and React Router

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