From 5a5515f2f4b7708ae2495d9e708b22244e60c714 Mon Sep 17 00:00:00 2001 From: creations Date: Wed, 26 Mar 2025 10:40:05 -0400 Subject: [PATCH] add api template, no ejs --- package.json | 4 ---- src/helpers/ejs.ts | 26 -------------------------- src/routes/index.ts | 19 ++++++++++++------- src/views/index.ejs | 8 -------- types/ejs.d.ts | 3 --- 5 files changed, 12 insertions(+), 48 deletions(-) delete mode 100644 src/helpers/ejs.ts delete mode 100644 src/views/index.ejs delete mode 100644 types/ejs.d.ts diff --git a/package.json b/package.json index 8240d4f..a07273c 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "devDependencies": { "@eslint/js": "^9.23.0", "@types/bun": "^1.2.6", - "@types/ejs": "^3.1.5", "@typescript-eslint/eslint-plugin": "^8.28.0", "@typescript-eslint/parser": "^8.28.0", "eslint": "^9.23.0", @@ -26,8 +25,5 @@ }, "peerDependencies": { "typescript": "^5.8.2" - }, - "dependencies": { - "ejs": "^3.1.10" } } diff --git a/src/helpers/ejs.ts b/src/helpers/ejs.ts deleted file mode 100644 index 6b03dd0..0000000 --- a/src/helpers/ejs.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { renderFile } from "ejs"; -import { resolve } from "path"; - -export async function renderEjsTemplate( - viewName: string | string[], - data: EjsTemplateData, - headers?: Record, -): Promise { - let templatePath: string; - - if (Array.isArray(viewName)) { - templatePath = resolve("src", "views", ...viewName); - } else { - templatePath = resolve("src", "views", viewName); - } - - if (!templatePath.endsWith(".ejs")) { - templatePath += ".ejs"; - } - - const html: string = await renderFile(templatePath, data); - - return new Response(html, { - headers: { "Content-Type": "text/html", ...headers }, - }); -} diff --git a/src/routes/index.ts b/src/routes/index.ts index 9204e19..76e5c37 100644 --- a/src/routes/index.ts +++ b/src/routes/index.ts @@ -1,17 +1,22 @@ -import { renderEjsTemplate } from "@helpers/ejs"; - const routeDef: RouteDef = { method: "GET", accepts: "*/*", - returns: "text/html", + returns: "application/json", }; -async function handler(): Promise { - const ejsTemplateData: EjsTemplateData = { - title: "Hello, World!", +async function handler(request: ExtendedRequest): Promise { + const endPerf: number = Date.now(); + const perf: number = endPerf - request.startPerf; + + const { query, params } = request; + + const response: Record = { + perf, + query, + params, }; - return await renderEjsTemplate("index", ejsTemplateData); + return Response.json(response); } export { handler, routeDef }; diff --git a/src/views/index.ejs b/src/views/index.ejs deleted file mode 100644 index e8f6e0b..0000000 --- a/src/views/index.ejs +++ /dev/null @@ -1,8 +0,0 @@ - - - - - -

hello

- - diff --git a/types/ejs.d.ts b/types/ejs.d.ts deleted file mode 100644 index 486a4a4..0000000 --- a/types/ejs.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -interface EjsTemplateData { - [key: string]: string | number | boolean | object | undefined | null; -}