From 4b607df970eab3afce2ab8f6f11834fcb71ddd5d Mon Sep 17 00:00:00 2001 From: Ethan Niser Date: Wed, 13 Sep 2023 23:55:19 -0500 Subject: [PATCH] uno + rename folders --- bun.lockb | Bin 68244 -> 122464 bytes package.json | 12 ++++++++---- public/example.txt | 0 src/{views => components}/base.tsx | 2 +- src/{views => components}/todos.tsx | 2 +- src/context/index.ts | 2 +- src/{model/store => db}/index.ts | 4 ++-- src/db/schemas/index.ts | 1 + src/{model/todo.ts => db/schemas/todos.ts} | 0 src/{model/store => db}/seed.ts | 0 src/main.tsx | 6 +++--- src/model/schema.ts | 1 - src/{controllers => services}/todos.tsx | 6 +++--- src/{lib => utils}/index.ts | 0 uno.config.ts | 10 ++++++++++ 15 files changed, 30 insertions(+), 16 deletions(-) delete mode 100644 public/example.txt rename src/{views => components}/base.tsx (87%) rename src/{views => components}/todos.tsx (96%) rename src/{model/store => db}/index.ts (77%) create mode 100644 src/db/schemas/index.ts rename src/{model/todo.ts => db/schemas/todos.ts} (100%) rename src/{model/store => db}/seed.ts (100%) delete mode 100644 src/model/schema.ts rename src/{controllers => services}/todos.tsx (92%) rename src/{lib => utils}/index.ts (100%) create mode 100644 uno.config.ts diff --git a/bun.lockb b/bun.lockb index ecc15ecf9b97fee9a6d9ad63e973bef38701c5a4..335734e298d87435f10cc4c9a646b8e6b5a48f91 100755 GIT binary patch literal 122464 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�EGjzCp#BecXgR0#D)#yZt7An=W$Fo95INndBIhiMI&im1XR^oaLS~1U-ex z!>nOoSO;x}XER#YiOL=db&O)=F_IRP|G1JWEliYqyQ$3M{h451}8ln0NE13E~8m1cpCXC^0b`Zg zgtig~S+?eLR&n!`f^#N*#)T7Y$3IZd1d}vu37>rjc$kK~fMjAXy@~(-@!$UdjUDIF delta 12535 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 L?l0Gz ` THE BETH STACK - + ${children} diff --git a/src/views/todos.tsx b/src/components/todos.tsx similarity index 96% rename from src/views/todos.tsx rename to src/components/todos.tsx index ec83cba..7d912bf 100644 --- a/src/views/todos.tsx +++ b/src/components/todos.tsx @@ -1,4 +1,4 @@ -import type { Todo } from "../model/todo"; +import type { Todo } from "../db/todo"; import Html from "@kitajs/html"; export function TodoItem({ content, completed, id }: Todo) { diff --git a/src/context/index.ts b/src/context/index.ts index 216dfb6..37382c5 100644 --- a/src/context/index.ts +++ b/src/context/index.ts @@ -2,7 +2,7 @@ import { Elysia } from "elysia"; import { logger } from "@bogeychan/elysia-logger"; import pretty from "pino-pretty"; import { config } from "../config"; -import { db } from "../model/store"; +import { db } from "../db"; import "@kitajs/html/htmx"; const stream = pretty({ diff --git a/src/model/store/index.ts b/src/db/index.ts similarity index 77% rename from src/model/store/index.ts rename to src/db/index.ts index c157797..d39739b 100644 --- a/src/model/store/index.ts +++ b/src/db/index.ts @@ -1,7 +1,7 @@ import { drizzle } from "drizzle-orm/libsql"; import { createClient } from "@libsql/client"; -import * as schema from "../schema"; -import { config } from "../../config"; +import * as schema from "./schemas"; +import { config } from "../config"; const client = createClient({ url: config.env.DATABASE_URL!, diff --git a/src/db/schemas/index.ts b/src/db/schemas/index.ts new file mode 100644 index 0000000..c97aa6b --- /dev/null +++ b/src/db/schemas/index.ts @@ -0,0 +1 @@ +export { todos } from "./todos"; diff --git a/src/model/todo.ts b/src/db/schemas/todos.ts similarity index 100% rename from src/model/todo.ts rename to src/db/schemas/todos.ts diff --git a/src/model/store/seed.ts b/src/db/seed.ts similarity index 100% rename from src/model/store/seed.ts rename to src/db/seed.ts diff --git a/src/main.tsx b/src/main.tsx index 308c88e..7a7b205 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,15 +1,15 @@ import { Elysia } from "elysia"; import { swagger } from "@elysiajs/swagger"; import { staticPlugin } from "@elysiajs/static"; -import { todosController } from "./controllers/todos"; -import { BaseHtml } from "./views/base"; +import { todosController } from "./services/todos"; +import { BaseHtml } from "./components/base"; import Html from "@kitajs/html"; const app = new Elysia({ name: "@app/main", }) // .use(swagger()) - // .use(staticPlugin()) + .use(staticPlugin()) .use(todosController) .get("/", ({ html }) => html( diff --git a/src/model/schema.ts b/src/model/schema.ts deleted file mode 100644 index 2c98c6d..0000000 --- a/src/model/schema.ts +++ /dev/null @@ -1 +0,0 @@ -export { todos } from "./todo"; diff --git a/src/controllers/todos.tsx b/src/services/todos.tsx similarity index 92% rename from src/controllers/todos.tsx rename to src/services/todos.tsx index ed0f9ac..4f6df12 100644 --- a/src/controllers/todos.tsx +++ b/src/services/todos.tsx @@ -1,9 +1,9 @@ import Elysia, { t } from "elysia"; import { ctx } from "../context"; -import { insertTodoSchema, todos } from "../model/todo"; -import { TodoItem, TodoForm, TodoList } from "../views/todos"; +import { insertTodoSchema, todos } from "../db/schemas/todos"; +import { TodoItem, TodoForm, TodoList } from "../components/todos"; import Html from "@kitajs/html"; -import { db } from "../model/store"; +import { db } from "../db"; import { eq } from "drizzle-orm"; export const todosController = new Elysia({ diff --git a/src/lib/index.ts b/src/utils/index.ts similarity index 100% rename from src/lib/index.ts rename to src/utils/index.ts diff --git a/uno.config.ts b/uno.config.ts new file mode 100644 index 0000000..f84f4a4 --- /dev/null +++ b/uno.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from "unocss"; + +export default defineConfig({ + cli: { + entry: { + patterns: ["src/**/*.{ts,tsx}"], + outFile: "public/dist/unocss.css", + }, + }, +});