Initial scaffold: pnpm workspace monorepo with backend + frontend
- Backend: Express + WebSocket proxy (tsx watch, strict TS, ESM) - Frontend: React 19 + Vite + Monaco + Tailwind v4 + Tauri v2 - pnpm workspace at root for single-install workflow - AGENTS.md with architectural constraints and commands - Removed Tauri greet demo, added minimal App shell - No external database, Git-as-Database philosophy
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import { createServer } from "http";
|
||||
import { WebSocketServer } from "ws";
|
||||
|
||||
const PORT = Number(process.env.PORT) || 4000;
|
||||
|
||||
const server = createServer((_req, res) => {
|
||||
res.writeHead(200, { "Content-Type": "application/json" });
|
||||
res.end(JSON.stringify({ status: "ok", service: "typst-leaf-backend" }));
|
||||
});
|
||||
|
||||
const wss = new WebSocketServer({ server });
|
||||
|
||||
wss.on("connection", (ws) => {
|
||||
console.log("WebSocket client connected");
|
||||
|
||||
ws.on("message", (data) => {
|
||||
console.log("Received:", data.toString());
|
||||
});
|
||||
|
||||
ws.on("close", () => {
|
||||
console.log("WebSocket client disconnected");
|
||||
});
|
||||
});
|
||||
|
||||
server.listen(PORT, () => {
|
||||
console.log(`Backend running on http://localhost:${PORT}`);
|
||||
});
|
||||
Reference in New Issue
Block a user