// the find
expressjs/express
Fast, unopinionated, minimalist web framework for node.
Express is the original Node.js HTTP framework — a thin layer over Node's `http` module that adds routing, middleware chaining, and response helpers. It's for developers who want to wire things together themselves rather than have a framework make decisions for them. At 69k stars it's effectively infrastructure at this point.
Middleware model is dead simple and predictable — `(req, res, next)` has aged well and every Node developer already knows it. Test suite is extensive with both unit and acceptance tests covering real example apps, not just happy paths. V5 finally ships async error handling without needing wrapper hacks — uncaught promise rejections in route handlers now propagate to error middleware correctly. Genuinely small surface area: the core is six files in `lib/`, easy to read end-to-end in an afternoon.
No built-in TypeScript support — you're on `@types/express` and the type definitions have historically lagged or diverged from runtime behavior. No opinion on project structure, validation, auth, or database access means every Express codebase looks different, which is a maintenance problem at scale. The router has no native support for async/await error propagation in v4 (the majority of production installs) — a single `throw` in an async handler silently hangs the request unless you wrap every handler. express-generator scaffolding is a separate package that hasn't kept pace and still generates a CommonJS v4 project by default.