fix: re-add implicitly-filtered schemas in collectOperations#3791
fix: re-add implicitly-filtered schemas in collectOperations#3791mrlubos merged 2 commits intohey-api:mainfrom
Conversation
|
|
|
@sbs44 is attempting to deploy a commit to the Hey API Team on Vercel. A member of the Team first needs to authorize it. |
|
Reviewed PR #3791 — approved with no issues. The fix correctly aligns Task list (5/5 completed)
|
🦋 Changeset detectedLatest commit: 3316682 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
TL;DR — When Key changes
Summary | 3 files | 2 commits | base: Re-add implicitly-filtered schemas in
|
There was a problem hiding this comment.
Reviewed — no issues found.
The fix correctly aligns collectOperations's schema case with the sibling pattern used in collectParameters, collectRequestBodies, and collectResponses. The adaptation from the for-loop/finalSet.delete pattern to the .some()/return boolean pattern is sound — return true (skip operation) for explicit excludes, schemas.add(dependency); return false (keep operation, re-add schema) for implicitly-filtered schemas.
The other namespace cases (body, parameter, response) in collectOperations don't need the same treatment because their sets are already fully resolved with re-addition logic by the time collectOperations runs. Test covers the exact scenario described in the issue.
Task list (5/5 completed)
- Read the PR diff
- Read the source files for full context
- Verify fix aligns with sibling functions
- Review test coverage
- Submit review
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3791 +/- ##
==========================================
+ Coverage 39.75% 39.80% +0.04%
==========================================
Files 530 530
Lines 19462 19467 +5
Branches 5795 5791 -4
==========================================
+ Hits 7738 7748 +10
+ Misses 9491 9487 -4
+ Partials 2233 2232 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
@hey-api/codegen-core
@hey-api/json-schema-ref-parser
@hey-api/nuxt
@hey-api/openapi-ts
@hey-api/shared
@hey-api/spec-types
@hey-api/types
@hey-api/vite-plugin
commit: |

Problem
When
parser.filters.deprecated: falseis set,collectOperationssilently drops non-deprecated operations whose transitive dependencies include a deprecated schema (e.g. viaoneOfunions in response types).Fixes #3790
Root Cause
collectOperationstreats a missing schema dependency as fatal:Its siblings (
collectParameters,collectRequestBodies,collectResponses) instead re-add implicitly-filtered schemas:Fix
Align
collectOperationswith the sibling pattern:Consistency fix, not a behavior change.
Impact
On Apple's App Store Connect OpenAPI spec, 48 non-deprecated operations disappear from the output... including
apps_getCollection,apps_getInstance, andappStoreVersions_createInstance. The triggering deprecated schemas sit insideincludedfieldoneOfunions (standard JSON:API pattern).