u/realdeepnull

Angular OpenAPI generator with only resource() and fetch() — looking for testers

Hey everyone,

I’m building an open source package called ng-openapi-signals:

https://www.npmjs.com/package/ng-openapi-signals

It generates Angular API clients from an OpenAPI specification, using resource() and fetch().

Why I built it:

I wanted an OpenAPI generator that produces code I would actually enjoy using in a modern Angular app: typed, readable, signal-friendly, and not overloaded with abstractions.

It can be useful if you want to focus more on pure Signal-based logic in your Angular application and prefer not to structure your API layer around the traditional Angular request patterns anymore.

A lot of existing generators are great and very feature-rich, but for my own projects I wanted something smaller and more focused. The idea is to generate simple Angular-first clients that work nicely with newer Angular APIs.

The current focus is:

  • Angular-friendly generated clients
  • Request state handled through resource()
  • Requests executed with fetch()
  • Strong typing from the OpenAPI schema
  • Readable generated code
  • Minimal boilerplate in the application
  • A lightweight API that is easy to understand
  • A good fit for apps that want to lean more into Signals

Since this is still early, I’d love to get feedback from Angular developers who use OpenAPI, Swagger, generated clients, or Signals.

I’m especially interested in:

  • Does the generated API feel useful in real projects?
  • Does the resource() approach make sense for your use cases?
  • Would this fit apps where you want to focus mostly on Signal-based logic?
  • Are there OpenAPI specs where the output breaks or feels awkward?
  • What features would you expect before using something like this?
  • How does the DX compare to what you currently use?

I expect there to be bugs and missing features, so any feedback, issues, feature requests, or contributions would be really appreciated.

Thanks for your time!

reddit.com
u/realdeepnull — 16 hours ago