eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.38 kB
JavaScript
import{EVE_SVELTEKIT_SERVICE_PREFIX,normalizeOrigin,normalizeRoutePrefix}from"./routing.js";import{EVE_BASE_URL_ENV,resolveSharedEveDevServer}from"./dev-server.js";import{ensureEveVercelJson}from"./vercel-json.js";import{EVE_ROUTE_PREFIX}from"#protocol/routes.js";import{isAbsolute,resolve}from"node:path";function resolveApplicationRoot(e,t){return t===void 0||t.length===0?e:isAbsolute(t)?t:resolve(e,t)}function mergeProxyConfig(e,t){return{...e,[EVE_ROUTE_PREFIX]:{changeOrigin:!0,target:t}}}async function resolveEveDevProxyTarget(e){let n=process.env[EVE_BASE_URL_ENV]?.trim();return n&&n.length>0?normalizeOrigin(n):(await resolveSharedEveDevServer(e)).origin}function eveSvelteKit(e={}){let t=process.cwd(),r=resolveApplicationRoot(t,e.eveRoot),i=normalizeRoutePrefix(e.servicePrefix??`/_eve_internal/eve`),a=e.configureVercelJson!==!1;return{name:`eve:sveltekit`,async config(n,o){if(t=n.root===void 0?process.cwd():resolve(process.cwd(),n.root),r=resolveApplicationRoot(t,e.eveRoot),a&&o.command===`build`&&await ensureEveVercelJson({appRoot:r,eveBuildCommand:e.eveBuildCommand??`eve build`,servicePrefix:i,svelteKitRoot:t}),o.command!==`serve`)return{};let s=await resolveEveDevProxyTarget(r);return o.isPreview?{preview:{proxy:mergeProxyConfig(n.preview?.proxy,s)}}:{server:{proxy:mergeProxyConfig(n.server?.proxy,s)}}}}}export{EVE_SVELTEKIT_SERVICE_PREFIX,eveSvelteKit};