fix: compatibility with zod v4 and zod-openapi v5 #185
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As requested in #158
componentsschema mergingThe problems with the existing implementation are:
zod@v3.x.xwith/v4imports is not truly compatible withzod@v4.x.x.standard-openapimesses up the zod@v4 schema and isn't needed,zod-openapican handle it.id, notref.mergeComponentsObjectsstep empties out thecomponentsobject.I tried to address everything in this PR mainly for illustrative purposes; we wouldn't want a fix for
@standard-community/standard-openapito be a patch inhono-openapi.Additionally my solution to test the 2 version combinations of zod+zod-openapi doesn't seem robust, but I found no other sane way to do this. I tried various pnpm workarounds, as well as vitest module mocking and even a custom vite plugin, with no success. I hope there's a better way.