@cwagner22/react-router-hono
Version:
React Router Hono Server
2 lines • 1.45 kB
JavaScript
import {a}from'./chunk-QKAROXF7.js';import {serve}from'@hono/node-server';import {serveStatic}from'@hono/node-server/serve-static';import {logger}from'hono/logger';import {networkInterfaces}from'node:os';import {env}from'node:process';var p=(s,i=false)=>async(t,e)=>{if(!t.req.path.match(/\.[a-zA-Z0-9]+$/)||t.req.path.endsWith(".data"))return e();await e(),t.res.ok&&t.res.headers.set("cache-control",`public, max-age=${s}${i?", immutable":""}`);},L=async(s={})=>{let i=env.NODE_ENV=="test"?"development":env.NODE_ENV,t=i=="production",e={port:Number(env.PORT)||3e3,listeningListener:o=>{console.log(`\u{1F680} Server started on port ${o.port}`);let r=Object.values(networkInterfaces()).flat().find(l=>String(l?.family).includes("4")&&!l?.internal)?.address,c=env.SERVE_PATH?env.SERVE_PATH:"";console.log(`[resolid-hono-server] http://localhost:${o.port}${c}${r&&` (http://${r}:${o.port})`}`);},...s,defaultLogger:s.defaultLogger??!t},d=await a(i,{configure:async o=>{if(t){let r=`${import.meta.env.RESOLID_BUILD_DIR}/client`;o.use(`/${import.meta.env.RESOLID_ASSETS_DIR}/*`,p(60*60*24*365,true),serveStatic({root:r})),o.use("*",p(60*60),serveStatic({root:r}));}else o.use("*",p(60*60),serveStatic({root:"./public"}));e.defaultLogger&&o.use("*",logger()),await e.configure?.(o);},getLoadContext:e.getLoadContext,honoOptions:e.honoOptions});return t&&serve({...d,port:e.port},e.listeningListener),d};
export{p as cache,L as createHonoNodeServer};