astahmer / typed-openapi

Generate a headless Typescript API client from an OpenAPI spec
https://typed-openapi-web.vercel.app/
195 stars 24 forks source link

Feature request: Option for generating schema only #3

Open ChilloManiac opened 1 year ago

ChilloManiac commented 1 year ago

Hi

I'm working on an API where we write do api-spec-first development. Currently we are manually creating the schemas using Zod and keeping them aligned. This tool seems promising, but the generated EndpointSchema and ApiClient is unneeded, it would be neat if there was a flag to only generate the schemas.

astahmer commented 1 year ago

got it, I see the point.

that's why there are some comments, so that you can just find their start/end index and remove what's in between comments like

so, for example, if you just want to keep the schemas + endpoint definitions, you can do something like:

const schemasOnlyFile = generated.slice(0, generated.indexOf("// <EndpointByMethod>"))

also, if you just want the schemas with a runtime, without even the endpoints definitions, you should directly use the tool that is used internally: https://github.com/sinclairzx81/typebox-codegen see the live online demo here https://sinclairzx81.github.io/typebox-workbench/

the-ult commented 9 months ago

The comments are usefull. But it would be great if the generated code wouldn't need any altering.

Is it possible to add an option to skip the APIClient and/OR Endpoints?

The difference with typebox-codegen seems like that's only typescript -> runtime.. Instead of OpenAPI -> runtime, like this great library.

astahmer commented 9 months ago

feel free to send a PR that adds an option / CLI flag for that

the-ult commented 9 months ago

I'll see/hope to make some time in the near future and see if I can contribute. (bit to busy atm I'm afraid)