@cwagner22/react-router-hono
Version:
React Router Hono Server
1 lines • 1.77 kB
JavaScript
import y from'esbuild';import {readFile,writeFile}from'node:fs/promises';import {join}from'node:path';import {env,exit}from'node:process';var k=(r,i)=>{let t=Array.isArray(i)?i.filter(e=>!["react-router","react-router-dom","@react-router/architect","@react-router/cloudflare","@react-router/dev","@react-router/express","@react-router/node","@react-router/serve"].includes(e)):i;return Object.keys(r).filter(e=>t===void 0||t===true?false:t.includes(e)).reduce((e,n)=>(e[n]=r[n]??"",e),{})},x=async(r,i,t,e)=>{let n={name:r.name,type:r.type,scripts:{postinstall:r.scripts?.postinstall??""},dependencies:t,engines:{node:`${e}.x`}};await writeFile(i,JSON.stringify(n,null,2),"utf8");},j=async(r,i,t,e,n,c,u,d,p,s,g)=>{console.log(`Bundle Server file for ${u}...`);let a=JSON.parse(await readFile(d,"utf8")),l=k({...a.dependencies},p);await x(a,join(t,"package.json"),l,s);let f=join(t,"server.mjs");return await y.build({outfile:f,entryPoints:[join(r,i)],alias:{"virtual:react-router/server-build":e},define:{"process.env.NODE_ENV":"'production'","import.meta.env.RESOLID_BUILD_DIR":`'${n}'`,"import.meta.env.RESOLID_ASSETS_DIR":`'${c}'`,"import.meta.env":JSON.stringify(env)},banner:{js:"import { createRequire } from 'module';const require = createRequire(import.meta.url);"},platform:"node",target:`node${s}`,format:"esm",external:["vite",...Object.keys(l)],bundle:true,charset:"utf8",legalComments:"none",minify:false,loader:{".aac":"file",".css":"file",".eot":"file",".flac":"file",".gif":"file",".jpeg":"file",".jpg":"file",".mp3":"file",".mp4":"file",".ogg":"file",".otf":"file",".png":"file",".svg":"file",".ttf":"file",".wav":"file",".webm":"file",".webp":"file",".woff":"file",".woff2":"file",...g||{}}}).catch(m=>{console.error(m),exit(1);}),f};export{j as a};