Express JavaScript API sucks, so meebo
Posted by medvedevil 16 hours ago
Comments
Comment by medvedevil 16 hours ago
Express is the most popular Node.js framework but it was created before TypeScript existed.
APIs are contracts. So why are Express contracts written in invisible ink?
Meaning: - req.body → could be literally anything - res.json() → returns whatever you hand it - TypeScript → just shrugs and says: any
So I built Meebo to fix this.
const router = TypedRouter(express.Router());
const schema = z.object({ id: z.number() })
router.post("/users", { response: schema }, (req, res) => { res.json({ id: 1 }); <--- this is now validated and typed });
You get: - Real TypeScript types from your Zod schemas - Runtime validation on every request - Auto-generated Swagger UI