const ASTRO_APP_ID = "virtual:astro:app"; const RESOLVED_ASTRO_APP_ID = "\0" + ASTRO_APP_ID; const ASTRO_DEV_SERVER_APP_ID = "astro:server-app"; function vitePluginApp() { let command; return [ { name: "astro:app", configResolved(config) { command = config.command; }, resolveId: { filter: { id: new RegExp(`^${ASTRO_APP_ID}$`) }, handler() { return RESOLVED_ASTRO_APP_ID; } }, load: { filter: { id: new RegExp(`^${RESOLVED_ASTRO_APP_ID}$`) }, handler() { const entrypoint = command === "serve" ? "astro/app/entrypoint/dev" : "astro/app/entrypoint/prod"; const code = `export { createApp } from '${entrypoint}';`; return { code }; } } }, { name: "astro:server-app", resolveId: { filter: { id: new RegExp(`^${ASTRO_DEV_SERVER_APP_ID}$`) }, handler() { const url = new URL("./createAstroServerApp.js", import.meta.url); return this.resolve(url.toString()); } } } ]; } export { ASTRO_DEV_SERVER_APP_ID, vitePluginApp };