From 5a5515f2f4b7708ae2495d9e708b22244e60c714 Mon Sep 17 00:00:00 2001
From: creations <creations@creations.works>
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<string, string | number | boolean>,
-): Promise<Response> {
-	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<Response> {
-	const ejsTemplateData: EjsTemplateData = {
-		title: "Hello, World!",
+async function handler(request: ExtendedRequest): Promise<Response> {
+	const endPerf: number = Date.now();
+	const perf: number = endPerf - request.startPerf;
+
+	const { query, params } = request;
+
+	const response: Record<string, unknown> = {
+		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 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-</head>
-<body>
-	<h1> hello </h1>
-</body>
-</html>
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;
-}
-- 
GitLab