config(config) {
				router = config.router;
				app = config.app;

				if (!router || !app) {
					throw new Error("Missing router or app");
				}

				return {
					define: {
						"import.meta.env.MANIFEST": `globalThis.MANIFEST`,
						"import.meta.env.ROUTER_NAME": JSON.stringify(router.name),
						"import.meta.env.ROUTER_TYPE": JSON.stringify(router.type),
						"import.meta.env.ROUTER_HANDLER": JSON.stringify(router.handler),
						"import.meta.env.CWD": JSON.stringify(router.root),
						"import.meta.env.SERVER_BASE_URL": JSON.stringify(
							app.config.server.baseURL ?? "",
						),
						"import.meta.env.ROUTERS": JSON.stringify(
							app.config.routers.map((router) => router.name),
						),
						"process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV),
						"import.meta.env.DEVTOOLS": config.dev?.devtools
							? JSON.stringify(config.dev.devtools)
							: `false`,
						"import.meta._asyncContext": JSON.stringify(
							app.config.server.experimental?.asyncContext,
						),
					},
				};
			}
@type {import("../app.js").App | undefined}