DenisFrezzato / hyper-ts

Type safe middleware architecture for HTTP servers
https://denisfrezzato.github.io/hyper-ts/
MIT License
391 stars 18 forks source link

Production ready? #20

Open yornaath opened 5 years ago

yornaath commented 5 years ago

Would you the author @gcanti estimate that this framework is production-ready?

It looks very promising and as I have already implemented query and body parsing using io-ts and other parts of my app using fp-ts this seems like the perfect fit.

gcanti commented 5 years ago

hyper-ts is an experimental middleware architecture for HTTP servers written in TypeScript

@gorillatron definitely not production-ready (monthly downloads), not much feedback so far.

mlegenhausen commented 5 years ago

It seems I am one of the main users of hyper-ts so far I can tell you

Performance?

Performance was never a concern I have to take in account in the projects I use hyper-ts for so I can say nothing about that aspect. But I would argue that express is the biggest bottleneck and fp-ts (this framework is based on) is benchmarked, so you can take a look into it.

Breaking types in upcoming typescript versions?

Who knows? But these problems have all typescript based frameworks. hyper-ts had already two breaking iterations but the concepts are still the same and projects with strict typings are much easier to upgrade than without. I think the api is about to stabilise cause of the experience made with fp-ts@2.

Your ability to maintain this project?

This project can be overlooked and understand very quickly it just adds the Middleware monad with some utility functions. No fancy stuff to find here which is a good thing! In generell everybody can contribute and @gcanti is an excellent maintainer of his projects since years.

Caveats for usage?

Haven't found anything so far. The framework has a high quality but experience is key cause there isn't that much guidance how you should setup a project with hyper-ts like in express or koa etc. But feel free to ask.

kylegoetz commented 3 years ago

I rewrote a production backend using hyper-ts, and it passes all my unit tests (and honestly it lacks the bugs that I spotted in the current backend), but haven't pulled the trigger on committing it to a testing branch in the central repo. I'll have to decide soon because there's about to be a number of endpoints I need to write, and it'd be nice to write them functionally and with typesafety instead of imperatively.