Discover plugins at boot (todo §2); scan plugins/, import + validate each plugin.ts default export, fail loud on bad plugin/conflict

This commit is contained in:
2026-06-16 12:11:04 +02:00
parent 0ebe8144c2
commit ca3f6ba8ce
5 changed files with 171 additions and 5 deletions

View File

@@ -1,8 +1,12 @@
import { createApp } from "./app.ts";
import { loadConfig } from "./config.ts";
import { discoverPlugins } from "./discovery.ts";
const config = loadConfig(); // validates the env (incl. enforced secrets) — fails loud at boot
const plugins = await discoverPlugins(); // scans plugins/, validates — fails loud on a bad plugin (router wiring is next §2)
console.log(`Discovered ${plugins.length} plugin(s)${plugins.length ? `: ${plugins.map((p) => p.id).join(", ")}` : ""}`);
const server = createApp({ cache: config.cacheTemplates }).listen(config.port, () => {
console.log(`Listening on http://localhost:${config.port}`);
});