On NPM you can find such packages:
- @ublitzjs/core (THIS repo)
- @ublitzjs/logger (colorful console)
- @ublitzjs/static (send files)
- @ublitzjs/payload (handling POST-like requests)
- @ublitzjs/router (OpenAPI-like router for simple orientation)
- @ublitzjs/openapi
- @ublitzjs/dev-comments (Tool for removing CODE BETWEEN /*_START_DEV_*/ and /*_END_DEV_*/ comments)
npm install "@ublitzjs/core"
Or with bun. Or whatever.
Supports CJS and ESM in ALL packages
It is acclaimed, that Express.js, Fastify, and other frameworks are built to be very extensible and developer-friendly. It is enough to download needed packages, put them as middlewares, which handle everything behind the scenes, and do your own job.
But the "speed" of creating your app comes from so-called "abstractions". Their versatility is often considered an "overkill" and they usually overwhelm the RAM and slow down your app. Most people, however, still prefer "rapid typing" over speed of execution, under which I mean uWebSocket.js (which actually handles websockets AND http requests)
Though it IS performant, it handles only core features. Now there are solutions like "hyper-express", "ultimate-express", "uwebsockets-express", but they are just abstractions, created to be somehow faster then express, but hide the most important (and difficult) aspects of uWS.
This library is different. It doesn't take care of everything, but rather helps you do it yourself, using utilities.