// /// import { ABC, CorsMW, LoggerMW, Path } from "./deps.ts"; import config from "./config.ts"; const port = config?.api?.port || 8000; const app = new ABC.Application(); app.use(LoggerMW.logger({})); app.use(CorsMW.cors({})); // app.static("/public", "./public"); const MIMEDB = { ".css": "text/css", ".json": "application/json", ".js": "application/javascript", ".gz": "applcation/gzip", ".ico": "image/x-icon", ".png": "image/png", ".svg": "image/svg+xml", ".xml": "application/xml", }; app.get("/public/*path", async (ctx) => { const filePath = Path.join("./public", ctx.params.path); console.log(filePath); ctx.blob( await Deno.open(filePath, { read: true }), (MIMEDB as any)[Path.extname(filePath)] ); }); import api from "./http/api.ts"; api(app.group("/api")); import raw from "./http/raw.ts"; raw(app.group("/raw")); import intellisense from "./http/intellisense.ts"; intellisense(app.group("/.well-known")); import view from "./http/views.ts"; view(app); // function logNode(router: Node, indent = 0) { // trees.map((tree) => { // console.log("Path:", tree.path); // tree.children?.forEach((node) => logNode(node, indent + 3)); // }); // } // const trees = Object.values(app.router) as Node[]; // trees.forEach(logNode); import render from "./renderer.tsx"; app.renderer = { render: render, }; app.start({ port }); console.log("Running server at http://0.0.0.0:" + port); console.log("Open at http://127.0.0.1:" + port);