initial commit

This commit is contained in:
René Schober
2026-03-13 06:23:06 +01:00
commit 4e34270786
314 changed files with 37280 additions and 0 deletions

55
apps/server/.gitignore vendored Normal file
View File

@@ -0,0 +1,55 @@
# prod
dist/
/build
/out/
# dev
.yarn/
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions
.vscode/*
!.vscode/launch.json
!.vscode/*.code-snippets
.idea/workspace.xml
.idea/usage.statistics.xml
.idea/shelf
.wrangler
.alchemy
/.next/
.vercel
prisma/generated/
# deps
node_modules/
/node_modules
/.pnp
.pnp.*
# env
.env*
.env.production
!.env.example
.dev.vars
# logs
logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
# misc
.DS_Store
*.pem
# local db
*.db*
# typescript
*.tsbuildinfo
next-env.d.ts

27
apps/server/package.json Normal file
View File

@@ -0,0 +1,27 @@
{
"name": "server",
"type": "module",
"main": "src/index.ts",
"scripts": {
"build": "tsdown",
"check-types": "tsc -b",
"compile": "bun build --compile --minify --sourcemap --bytecode ./src/index.ts --outfile server",
"dev": "bun run --hot src/index.ts",
"start": "bun run dist/index.mjs"
},
"dependencies": {
"@haushaltsApp/auth": "workspace:*",
"@haushaltsApp/db": "workspace:*",
"@haushaltsApp/env": "workspace:*",
"better-auth": "catalog:",
"dotenv": "catalog:",
"hono": "^4.8.2",
"zod": "catalog:"
},
"devDependencies": {
"@haushaltsApp/config": "workspace:*",
"@types/bun": "catalog:",
"tsdown": "^0.16.5",
"typescript": "^5"
}
}

26
apps/server/src/index.ts Normal file
View File

@@ -0,0 +1,26 @@
import { auth } from "@haushaltsApp/auth";
import { env } from "@haushaltsApp/env/server";
import { Hono } from "hono";
import { cors } from "hono/cors";
import { logger } from "hono/logger";
const app = new Hono();
app.use(logger());
app.use(
"/*",
cors({
origin: env.CORS_ORIGIN,
allowMethods: ["GET", "POST", "OPTIONS"],
allowHeaders: ["Content-Type", "Authorization"],
credentials: true,
}),
);
app.on(["POST", "GET"], "/api/auth/*", (c) => auth.handler(c.req.raw));
app.get("/", (c) => {
return c.text("OK");
});
export default app;

13
apps/server/tsconfig.json Normal file
View File

@@ -0,0 +1,13 @@
{
"extends": "@haushaltsApp/config/tsconfig.base.json",
"compilerOptions": {
"composite": true,
"outDir": "dist",
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
},
"jsx": "react-jsx",
"jsxImportSource": "hono/jsx"
}
}

View File

@@ -0,0 +1,9 @@
import { defineConfig } from "tsdown";
export default defineConfig({
entry: "./src/index.ts",
format: "esm",
outDir: "./dist",
clean: true,
noExternal: [/@haushaltsApp\/.*/],
});